postman-cs/Postman API Onboarding

Full Postman onboarding in one step: workspace bootstrap, repo sync, and optional Insights linking. Part of the Postman API Onboarding suite.

View on GitHub

Trust Signals

Scorecard Score
Scorecard 4–6scored Jun 12, 2026
Maintenance Recency
Activelast commit Jul 10, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: postman-cs/postman-api-onboarding-action@1d98cabaae6c0ff26ea3983cd4d4a0cc0a2b0833 # v2.0.1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
workspace-idExisting Postman workspace ID.no
spec-idExisting Postman spec ID.no
baseline-collection-idExisting baseline collection ID.no
smoke-collection-idExisting smoke collection ID.no
contract-collection-idExisting contract collection ID.no
sync-examplesWhether linked spec/collection relations should enable example syncing.notrue
collection-sync-modeCollection lifecycle policy (refresh or version). Default refresh ensures tracked collections stay in sync with the spec.norefresh
spec-sync-modeSpec lifecycle policy (update or version).noupdate
release-labelOptional release label for versioned specs and collections. When omitted during versioned sync, derived from GitHub tag or branch metadata.no
monitor-idExisting smoke monitor ID. When set, the action validates and reuses this monitor instead of creating a new one.no
mock-urlExisting mock server URL. When set, the action validates and reuses this mock instead of creating a new one.no
monitor-cronCron expression for monitor scheduling (e.g. '0 */6 * * *'). When empty, the monitor is created disabled and triggered to run once per workflow invocation (and once on every subsequent run).no""
generate-ci-workflowWhether to generate the CI workflow file.notrue
ci-workflow-pathPath to write the generated CI workflow file.no.github/workflows/ci.yml
ci-runner-osRunner operating system for the generated CI workflow. Use windows for native PowerShell Azure DevOps CI.nolinux
project-nameService project name used across bootstrap and repo sync phases.yes
domainBusiness domain used for governance assignment.no
domain-codeShort domain code used in workspace naming.no
governance-groupPostman governance workspace group name. Overrides the postman-governance-group repository custom property and domain mapping.no
requester-emailRequester email used for workspace membership.no
workspace-admin-user-idsComma-separated workspace admin user ids.no
workspace-team-idNumeric sub-team ID for org-mode workspace creation. Required by the Postman API when the PMAK's team is scoped under an organization.no
spec-urlHTTPS URL to the OpenAPI document to bootstrap. Provide either spec-url or spec-path.no
spec-pathRepo-root-relative path to the local spec file. Used for repo metadata generation and, when spec-url is not provided, as the spec source for bootstrap (read directly from the checked-out workspace).no
spec-files-jsonOptional content-free JSON inventory of multi-file definition members from discovery (schemaVersion 1). Empty by default. When set, inventory root must equal spec-path. Cannot be combined with spec-url. Not a directory mode — companions are listed explicitly; file content is never embedded. Forwarded to bootstrap only when spec-url is empty.no""
breaking-change-modeOpenAPI breaking-change comparison mode passed through to bootstrap (off, pr-native, baseline-only, or previous-spec).nooff
breaking-baseline-spec-pathRepo-root-relative baseline OpenAPI spec path used by bootstrap baseline-only mode and pr-native fallback.no
breaking-rules-pathRepo-root-relative openapi-changes rules file passed through to bootstrap. Missing files are ignored.nochanges-rules.yaml
breaking-target-refOptional target branch or git ref override for bootstrap pr-native breaking-change comparisons.no
breaking-summary-pathOptional markdown breaking-change report path. Defaults to a bootstrap runner-temp file.no""
breaking-log-pathOptional raw breaking-change log path. Defaults to a bootstrap runner-temp file.no""
environments-jsonJSON array of environment slugs to materialize.no["prod"]
system-env-map-jsonJSON map of environment slug to system environment id.no{}
environment-uids-jsonJSON map of environment slug to existing Postman environment UID. When provided, repo-sync reuses these environments instead of creating new ones.no{}
governance-mapping-jsonJSON map of business domain to governance group name.no{}
env-runtime-urls-jsonJSON map of environment slug to runtime base URL.no{}
postman-api-keyPostman API key (PMAK). Threaded to the wrapped actions to mint and re-mint the access token and to authenticate the Postman CLI logins (bootstrap spec lint, repo-sync generated-CI collection run). Individually optional; at least one of postman-api-key or postman-access-token is required.no
postman-access-tokenPostman access token (x-access-token). Primary credential threaded to the wrapped actions; every Postman asset operation runs through the access-token gateway. Mint it with postman-resolve-service-token-action. Individually optional; at least one of postman-api-key or postman-access-token is required.no
insights-postman-api-keyHuman-user Postman API key (PMAK) for Insights. Required with insights-postman-access-token only when enable-insights is true; do not use the service-account suite key.no
insights-postman-access-tokenHuman-user session access token for Insights. Required with insights-postman-api-key only when enable-insights is true; do not use a service-token mint.no
credential-preflightCredential identity preflight policy forwarded to bootstrap and repo sync. warn (default) logs a note and continues when postman-api-key and postman-access-token resolve to different parent orgs; enforce fails the run on that condition before any workspace is created.nowarn
branch-strategyBranch-aware sync strategy. v2 preserves legacy by default; the future v3 major will default to publish-gate after its release gates close.nolegacy
canonical-branchExplicit canonical branch. Defaults to the GitHub event repository default branch for non-legacy strategies.no
channelsComma-separated channel map, for example develop=DEV, staging=STAGE, release/*=RC.no
preview-ttlSliding preview retention TTL in days, forwarded to repo-sync.no30
postman-team-idExplicit Postman team ID override for org-mode integration calls.no
postman-regionPostman data residency region for public API and Postman CLI calls. One of us or eu.nous
postman-stackPostman stack profile. Use prod for Marketplace workflows; EU data residency requires prod.noprod
github-tokenGitHub token used for repo variables and generated commits.no
gh-fallback-tokenFallback GitHub token for variable and workflow-file APIs.no
repo-write-modeRepo mutation mode for generated assets and workflow files. One of none, commit-only, or commit-and-push.nocommit-and-push
current-refExplicit ref override for detached checkout push semantics.no
committer-nameCommit author name for generated sync commits.noPostman
committer-emailCommit author email for generated sync commits.nosupport@postman.com
enable-insightsWhether to enable Postman Insights.nofalse
skip-built-in-testsWhen 'true', skip the built-in smoke and contract Postman CLI test run and JUnit artifact upload that normally happen inside this action. Set this to 'true' when the caller workflow needs to perform additional post-onboarding setup (e.g. bearer-token injection, mTLS bootstrap, vault-hydrated secrets, dynamic env enrichment) before the smoke and contract suites can authenticate successfully, and will run the tests itself afterward. Default 'false' preserves existing behavior for all current callers. nofalse
cluster-nameInsights cluster name passed to the downstream Insights onboarding step.no
integration-backendAdvanced/internal. Integration backend used to coordinate onboarding phases; leave unset to use the default.no
org-modeWhether the Postman team uses org-mode. When true, x-entity-team-id is included on integration calls. Non-org teams must omit this header.nofalse
ssl-client-certBase64-encoded PEM client certificate for mTLS. Passed through to repo-sync for CI workflow generation.no
ssl-client-keyBase64-encoded PEM client private key. Passed through to repo-sync.no
ssl-client-passphrasePassphrase for encrypted private key. Passed through to repo-sync.no
ssl-extra-ca-certsBase64-encoded PEM additional CA certificates. Passed through to repo-sync.no
namedescription
integration-backendResolved integration backend for the onboarding run.
workspace-idPostman workspace ID.
workspace-urlPostman workspace URL.
spec-idUploaded Postman spec ID.
collections-jsonJSON summary of generated collections.
breaking-change-statusOpenAPI breaking-change check status from bootstrap.
breaking-change-summary-jsonJSON summary of the OpenAPI breaking-change check from bootstrap.
environment-uids-jsonJSON map of environment slug to Postman environment uid.
mock-urlMock server URL.
monitor-idSmoke monitor ID.
repo-sync-summary-jsonJSON summary of repo materialization and workspace sync planning.
commit-shaCommit SHA produced by repo-write-mode.
sync-statusBranch-aware sync status, including skipped-branch-gate for credential-free gated runs.
spec-version-urlRead-only URL for the canonical Spec Hub version finalized by repo-sync.
bootstrap-outcomeGitHub Actions runner outcome for the bootstrap step.
repo-sync-outcomeGitHub Actions runner outcome for the repo sync step.
insights-outcomeGitHub Actions runner outcome for the Insights onboarding step.
insights-statusInsights onboarding status (success, not-found, error, or empty if insights disabled).
insights-verification-tokenTeam verification token for Insights DaemonSet configuration.
insights-application-idInsights application binding ID.
insights-discovered-service-idDiscovered service ID from Insights agent.
insights-discovered-service-nameDiscovered service name from Insights agent.
insights-collection-idInsights API Catalog collection ID.