| base-url | Verhub instance URL, e.g. https://verhub.example.com. An /api/v1 suffix is optional. | yes | — |
| api-key | Verhub API key with the `versions:write` scope. Store it as a repository secret. | yes | — |
| project-key | Target project key on the Verhub instance. | yes | — |
| github-token | Token used to read the release (title, notes, assets) from the GitHub API. The default workflow token is enough for public repos and for private repos with `contents: read`. | no | ${{ github.token }} |
| release-tag | Which GitHub release to publish: a tag such as `v1.2.3`, or `latest` for the newest published release (prereleases included). Defaults to the tag of the triggering event. | no | — |
| fetch-release | Read the release from the GitHub API instead of relying on the event payload. Keep this on when GitHub generates your release notes. Default: true. | no | true |
| version | Display version. Defaults to the release tag (or pushed tag) with any leading `v` stripped. | no | — |
| comparable-version | Version used for ordering and update rules, e.g. 1.2.3, 1.2.3-beta or 1.2.3-rc.2. Derived from `version` when omitted. | no | — |
| title | Version title (max 128 chars). Defaults to the GitHub release name. | no | — |
| content | Release notes (max 4096 chars). Defaults to the GitHub release body. | no | — |
| download-url | Primary download URL (absolute, http/https). | no | — |
| download-links | JSON array of download links: [{"url": "...", "name": "...", "platform": "..."}]. Max 32 entries. | no | — |
| include-release-assets | Append the GitHub release assets to `download-links`. Default: false. | no | false |
| is-latest | Mark as the project's latest version. `auto` (default) means: true unless the version is a preview. | no | auto |
| is-preview | Mark as a preview release. `auto` (default) means: true when the GitHub release is a prerelease, or when the version carries a prerelease suffix. | no | auto |
| is-milestone | Mark as a milestone version. Default: false. | no | false |
| is-deprecated | Mark as deprecated, forcing clients on this version to update. Default: false. | no | false |
| platform | Single client platform: ios, android, windows, mac or web. | no | — |
| platforms | Comma-separated client platforms, e.g. `windows, mac`. Max 8. | no | — |
| published-at | Publish time as a UNIX timestamp (seconds) or an ISO-8601 date. Defaults to the GitHub release publish time, and then to the server's clock. | no | — |
| custom-data | Arbitrary JSON object stored alongside the version. | no | — |
| on-conflict | What to do when the version already exists: `fail` (default) or `skip`, which makes re-runs a no-op. | no | fail |
| dry-run | Validate the inputs and print the request body without calling Verhub. Default: false. | no | false |
| timeout-ms | Per-request timeout in milliseconds. Default: 30000. | no | 30000 |
| max-retries | Retries for timeouts and 5xx/429 responses. Default: 2. | no | 2 |