{"meta":{"title":"Pontos de extremidade da API REST para status de implantação","intro":"Use a API REST para gerenciar status de implantação.","product":"API REST","breadcrumbs":[{"href":"/pt/rest","title":"API REST"},{"href":"/pt/rest/deployments","title":"Implantações"},{"href":"/pt/rest/deployments/statuses","title":"Status da implantação"}],"documentType":"article"},"body":"# Pontos de extremidade da API REST para status de implantação\n\nUse a API REST para gerenciar status de implantação.\n\n\n> [!NOTE]\n> Most endpoints use `Authorization: Bearer <YOUR-TOKEN>` and `Accept: application/vnd.github+json` headers, plus `X-GitHub-Api-Version: 2026-03-10`. Curl examples below omit these standard headers for brevity.\n\n\n## List deployment statuses\n\n```\nGET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\n```\n\nUsers with pull access can view deployment statuses for a deployment:\n\n\n### Parameters\n\n\n#### Headers\n\n\n- **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n\n\n#### Path and query parameters\n\n- **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n- **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n- **`deployment_id`** (integer) (required)\n  deployment_id parameter\n\n- **`per_page`** (integer)\n  The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"\n  Default: `30`\n\n- **`page`** (integer)\n  The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"\n  Default: `1`\n\n\n\n\n\n\n### HTTP response status codes\n\n\n- **200** - OK\n\n\n- **404** - Resource not found\n\n\n\n\n### Code examples\n\n\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/deployments/DEPLOYMENT_ID/statuses\n```\n\n**Response schema (Status: 200):**\n\nArray of `Deployment Status`:\n  * `url`: required, string, format: uri\n  * `id`: required, integer, format: int64\n  * `node_id`: required, string\n  * `state`: required, string, enum: `error`, `failure`, `inactive`, `pending`, `success`, `queued`, `in_progress`\n  * `creator`: required, any of:\n    * **null**\n    * **Simple User**\n      * `name`: string or null\n      * `email`: string or null\n      * `login`: required, string\n      * `id`: required, integer, format: int64\n      * `node_id`: required, string\n      * `avatar_url`: required, string, format: uri\n      * `gravatar_id`: required, string or null\n      * `url`: required, string, format: uri\n      * `html_url`: required, string, format: uri\n      * `followers_url`: required, string, format: uri\n      * `following_url`: required, string\n      * `gists_url`: required, string\n      * `starred_url`: required, string\n      * `subscriptions_url`: required, string, format: uri\n      * `organizations_url`: required, string, format: uri\n      * `repos_url`: required, string, format: uri\n      * `events_url`: required, string\n      * `received_events_url`: required, string, format: uri\n      * `type`: required, string\n      * `site_admin`: required, boolean\n      * `starred_at`: string\n      * `user_view_type`: string\n  * `description`: required, string, default: `\"\"`, maxLength: 140\n  * `environment`: string, default: `\"\"`\n  * `target_url`: required, string, format: uri, default: `\"\"`\n  * `created_at`: required, string, format: date-time\n  * `updated_at`: required, string, format: date-time\n  * `deployment_url`: required, string, format: uri\n  * `repository_url`: required, string, format: uri\n  * `environment_url`: string, format: uri, default: `\"\"`\n  * `log_url`: string, format: uri, default: `\"\"`\n  * `performed_via_github_app`: any of:\n    * **null**\n    * **GitHub app**\n      * `id`: required, integer\n      * `slug`: string\n      * `node_id`: required, string\n      * `client_id`: string\n      * `owner`: required, one of:\n        * **Simple User**\n          * `name`: string or null\n          * `email`: string or null\n          * `login`: required, string\n          * `id`: required, integer, format: int64\n          * `node_id`: required, string\n          * `avatar_url`: required, string, format: uri\n          * `gravatar_id`: required, string or null\n          * `url`: required, string, format: uri\n          * `html_url`: required, string, format: uri\n          * `followers_url`: required, string, format: uri\n          * `following_url`: required, string\n          * `gists_url`: required, string\n          * `starred_url`: required, string\n          * `subscriptions_url`: required, string, format: uri\n          * `organizations_url`: required, string, format: uri\n          * `repos_url`: required, string, format: uri\n          * `events_url`: required, string\n          * `received_events_url`: required, string, format: uri\n          * `type`: required, string\n          * `site_admin`: required, boolean\n          * `starred_at`: string\n          * `user_view_type`: string\n        * **Enterprise**\n          * `description`: string or null\n          * `html_url`: required, string, format: uri\n          * `website_url`: string or null, format: uri\n          * `id`: required, integer\n          * `node_id`: required, string\n          * `name`: required, string\n          * `slug`: required, string\n          * `created_at`: required, string or null, format: date-time\n          * `updated_at`: required, string or null, format: date-time\n          * `avatar_url`: required, string, format: uri\n      * `name`: required, string\n      * `description`: required, string or null\n      * `external_url`: required, string, format: uri\n      * `html_url`: required, string, format: uri\n      * `created_at`: required, string, format: date-time\n      * `updated_at`: required, string, format: date-time\n      * `permissions`: required, object, additional properties: string:\n        * `issues`: string\n        * `checks`: string\n        * `metadata`: string\n        * `contents`: string\n        * `deployments`: string\n      * `events`: required, array of string\n      * `installations_count`: integer\n\n\n\n\n\n## Create a deployment status\n\n```\nPOST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses\n```\n\nUsers with push access can create deployment statuses for a given deployment.\nOAuth app tokens and personal access tokens (classic) need the repo_deployment scope to use this endpoint.\n\n\n### Parameters\n\n\n#### Headers\n\n\n- **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n\n\n#### Path and query parameters\n\n- **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n- **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n- **`deployment_id`** (integer) (required)\n  deployment_id parameter\n\n\n\n\n#### Body parameters\n\n- **`state`** (string) (required)\n  The state of the status. When you set a transient deployment to inactive, the deployment will be shown as destroyed in GitHub.\n  Can be one of: `error`, `failure`, `inactive`, `in_progress`, `queued`, `pending`, `success`\n\n- **`target_url`** (string)\n  The target URL to associate with this status. This URL should contain output to keep the user updated while the task is running or serve as historical information for what happened in the deployment.\nNote\n\nIt's recommended to use the log_url parameter, which replaces target_url.\n  Default: ``\n\n- **`log_url`** (string)\n  The full URL of the deployment's output. This parameter replaces target_url. We will continue to accept target_url to support legacy uses, but we recommend replacing target_url with log_url. Setting log_url will automatically set target_url to the same value. Default: \"\"\n  Default: ``\n\n- **`description`** (string)\n  A short description of the status. The maximum description length is 140 characters.\n  Default: ``\n\n- **`environment`** (string)\n  Name for the target deployment environment, which can be changed when setting a deploy status. For example, production, staging, or qa. If not defined, the environment of the previous status on the deployment will be used, if it exists. Otherwise, the environment of the deployment will be used.\n\n- **`environment_url`** (string)\n  Sets the URL for accessing your environment. Default: \"\"\n  Default: ``\n\n- **`auto_inactive`** (boolean)\n  Adds a new inactive status to all prior non-transient, non-production environment deployments with the same repository and environment name as the created status's deployment. An inactive status is only added to deployments that had a success state. Default: true\n\n\n\n\n\n### HTTP response status codes\n\n\n- **201** - Created\n\n\n- **422** - Validation failed, or the endpoint has been spammed.\n\n\n\n\n### Code examples\n\n\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/deployments/DEPLOYMENT_ID/statuses \\\n  -d '{\n  \"environment\": \"production\",\n  \"state\": \"success\",\n  \"log_url\": \"https://example.com/deployment/42/output\",\n  \"description\": \"Deployment finished successfully.\"\n}'\n```\n\n**Response schema (Status: 201):**\n\n* `url`: required, string, format: uri\n* `id`: required, integer, format: int64\n* `node_id`: required, string\n* `state`: required, string, enum: `error`, `failure`, `inactive`, `pending`, `success`, `queued`, `in_progress`\n* `creator`: required, any of:\n  * **null**\n  * **Simple User**\n    * `name`: string or null\n    * `email`: string or null\n    * `login`: required, string\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `avatar_url`: required, string, format: uri\n    * `gravatar_id`: required, string or null\n    * `url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `followers_url`: required, string, format: uri\n    * `following_url`: required, string\n    * `gists_url`: required, string\n    * `starred_url`: required, string\n    * `subscriptions_url`: required, string, format: uri\n    * `organizations_url`: required, string, format: uri\n    * `repos_url`: required, string, format: uri\n    * `events_url`: required, string\n    * `received_events_url`: required, string, format: uri\n    * `type`: required, string\n    * `site_admin`: required, boolean\n    * `starred_at`: string\n    * `user_view_type`: string\n* `description`: required, string, default: `\"\"`, maxLength: 140\n* `environment`: string, default: `\"\"`\n* `target_url`: required, string, format: uri, default: `\"\"`\n* `created_at`: required, string, format: date-time\n* `updated_at`: required, string, format: date-time\n* `deployment_url`: required, string, format: uri\n* `repository_url`: required, string, format: uri\n* `environment_url`: string, format: uri, default: `\"\"`\n* `log_url`: string, format: uri, default: `\"\"`\n* `performed_via_github_app`: any of:\n  * **null**\n  * **GitHub app**\n    * `id`: required, integer\n    * `slug`: string\n    * `node_id`: required, string\n    * `client_id`: string\n    * `owner`: required, one of:\n      * **Simple User**\n        * `name`: string or null\n        * `email`: string or null\n        * `login`: required, string\n        * `id`: required, integer, format: int64\n        * `node_id`: required, string\n        * `avatar_url`: required, string, format: uri\n        * `gravatar_id`: required, string or null\n        * `url`: required, string, format: uri\n        * `html_url`: required, string, format: uri\n        * `followers_url`: required, string, format: uri\n        * `following_url`: required, string\n        * `gists_url`: required, string\n        * `starred_url`: required, string\n        * `subscriptions_url`: required, string, format: uri\n        * `organizations_url`: required, string, format: uri\n        * `repos_url`: required, string, format: uri\n        * `events_url`: required, string\n        * `received_events_url`: required, string, format: uri\n        * `type`: required, string\n        * `site_admin`: required, boolean\n        * `starred_at`: string\n        * `user_view_type`: string\n      * **Enterprise**\n        * `description`: string or null\n        * `html_url`: required, string, format: uri\n        * `website_url`: string or null, format: uri\n        * `id`: required, integer\n        * `node_id`: required, string\n        * `name`: required, string\n        * `slug`: required, string\n        * `created_at`: required, string or null, format: date-time\n        * `updated_at`: required, string or null, format: date-time\n        * `avatar_url`: required, string, format: uri\n    * `name`: required, string\n    * `description`: required, string or null\n    * `external_url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `created_at`: required, string, format: date-time\n    * `updated_at`: required, string, format: date-time\n    * `permissions`: required, object, additional properties: string:\n      * `issues`: string\n      * `checks`: string\n      * `metadata`: string\n      * `contents`: string\n      * `deployments`: string\n    * `events`: required, array of string\n    * `installations_count`: integer\n\n\n\n\n\n## Get a deployment status\n\n```\nGET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}\n```\n\nUsers with pull access can view a deployment status for a deployment:\n\n\n### Parameters\n\n\n#### Headers\n\n\n- **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n\n\n#### Path and query parameters\n\n- **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n- **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n- **`deployment_id`** (integer) (required)\n  deployment_id parameter\n\n- **`status_id`** (integer) (required)\n\n\n\n\n\n\n### HTTP response status codes\n\n\n- **200** - OK\n\n\n- **404** - Resource not found\n\n\n\n\n### Code examples\n\n\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/deployments/DEPLOYMENT_ID/statuses/STATUS_ID\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [Create a deployment status](#create-a-deployment-status)."}