Report deployment
Report deployment status for one or more pull requests. Accepts normal personal or system API keys with write access and access to the repository workspace. Only deployed and failed statuses are accepted. Each new event is notified independently, without a cross-environment completion gate. Send requests to your own workspace origin. Idempotency keys are scoped per repository/PR, independent of the API key: retries with the same key do not record or notify again. Reuse a key only for the same event.
Report deployment status for one or more pull requests. Accepts normal personal or system API keys with write access and access to the repository workspace. Only deployed and failed statuses are accepted. Each new event is notified independently, without a cross-environment completion gate. Send requests to your own workspace origin. Idempotency keys are scoped per repository/PR, independent of the API key: retries with the same key do not record or notify again. Reuse a key only for the same event.
bearerAuthAuthorizationBearer <token>API key authentication. Use your API key as the bearer token.
owner*stringGitHub repository owner.
^[^/\s]+$repo*stringGitHub repository name.
^[^/\s]+$Idempotency-Key*stringStable event ID, deduplicated per repository/PR across retries and credential rotation. Trimmed before the length check.
1 <= length <= 200application/json- body
Unknown properties are rejected. String values are trimmed before length limits are checked.
pull_request_numbers*array<>Pull requests the deployment applies to. Values must be unique.
1 <= items <= 500status*Deployments.DeploymentStatus"deployed""failed"environment?stringOptional caller-defined environment, shown in notifications and never a completion gate. Omission uses the storage key default.
1 <= length <= 200error?|Optional deployment failure details.
length <= 2000occurred_at?stringWhen the deployment transition occurred. Defaults to receipt time.
date-timeThe event was recorded, or was already recorded with the same idempotency key. Slack delivery is asynchronous and best effort.
application/json- response
data*curl -X POST 'https://your-org.inspect.com/api/public/v1/repositories/string/string/deployments' \ -H 'Idempotency-Key: string' \ -H 'Content-Type: application/json' \ -d '{ "pull_request_numbers": [ 1 ], "status": "deployed"}'{ "data": { "repository": "string", "pull_request_numbers": [ 1 ] }}