Approve an action run
PATCH/v1/actions/runs/:run_id/approval
This route allows you to approve or decline a request to execute an action that requires approval.
To learn more about manual approval for actions, check out the documentation.
Request
Parameters (JSON)
{
"parameters": [
{
"schema": {
"type": "string",
"enum": [
"v1",
"v2"
]
},
"in": "query",
"name": "version",
"required": false,
"description": "Specifies the API version to use. Please use `v2` for the latest version of the API."
},
{
"schema": {
"type": "string"
},
"in": "path",
"name": "run_id",
"required": true,
"description": "The identifier of the action run."
}
]
}Request body schema (JSON)
{
"title": "Body",
"body": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"DECLINE",
"APPROVE"
]
},
"description": {
"type": "string",
"description": "A description and/or reason for the given status."
}
},
"additionalProperties": false,
"required": [
"status"
]
}
}
},
"required": true
}
}Responses
- 201
- 401
- 404
- 413
- 422
OK
Default Response
A resource with the provided identifier was not found
Request body is too large (limit is 1MiB)
The json provided does not match the route's schema
Responses (JSON)
{
"responses": {
"201": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"properties": {
"ok": {
"enum": [
true
]
},
"run": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"blueprint": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"icon": {
"type": [
"string",
"null"
]
},
"deleted": {
"type": "boolean"
}
},
"required": [
"identifier"
]
},
"entity": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"icon": {
"type": [
"string",
"null"
]
},
"deleted": {
"type": "boolean"
}
},
"required": [
"identifier"
]
},
"action": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"icon": {
"type": [
"string",
"null"
]
},
"deleted": {
"type": "boolean"
}
},
"required": [
"identifier"
]
},
"properties": {
"type": "object"
},
"rawProperties": {
"type": "object"
},
"endedAt": {
"type": "string",
"format": "date-time"
},
"source": {
"type": [
"string",
"object"
]
},
"requiredApproval": {
"type": [
"boolean",
"object"
],
"properties": {
"type": {
"type": "string",
"enum": [
"ALL",
"ANY"
]
}
},
"required": [
"type"
]
},
"status": {
"type": "string"
},
"statusLabel": {
"type": [
"string",
"null"
]
},
"link": {
"type": [
"array",
"string"
],
"items": {
"type": "string"
}
},
"summary": {
"type": "string"
},
"approval": {
"type": [
"object",
"null"
],
"properties": {
"description": {
"type": "string"
},
"userId": {
"type": [
"string",
"null"
]
},
"impersonatedUserId": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
}
}
},
"payload": {
"type": [
"object",
"null"
],
"properties": {
"type": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"agent": {
"type": "boolean"
},
"synchronized": {
"type": "boolean"
},
"method": {
"type": "string"
},
"headers": {
"type": "object",
"properties": {
"RUN_ID": {
"type": "string"
}
}
},
"body": {
"type": "object",
"properties": {
"port_context": {
"type": "object",
"properties": {
"runId": {
"type": "string"
}
}
}
}
}
}
},
"response": {
"type": [
"string",
"array",
"object"
],
"items": {}
},
"pendingExecution": {
"type": "boolean"
},
"claimedUntil": {
"type": "string",
"format": "date-time"
},
"installationId": {
"type": "string"
},
"createdBy": {
"type": "string"
},
"impersonatedBy": {
"type": "string"
},
"impersonatedUserId": {
"type": "string"
},
"updatedBy": {
"type": "string"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"action",
"properties",
"requiredApproval",
"source",
"status"
]
}
},
"required": [
"ok"
],
"additionalProperties": false,
"description": "OK"
}
}
}
},
"401": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"properties": {
"ok": {
"const": false
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok",
"error"
],
"additionalProperties": false
}
}
}
},
"404": {
"description": "A resource with the provided identifier was not found",
"content": {
"application/json": {
"schema": {
"properties": {
"ok": {
"const": false
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok",
"error",
"message"
],
"additionalProperties": false,
"description": "A resource with the provided identifier was not found"
}
}
}
},
"413": {
"description": "Request body is too large (limit is 1MiB)",
"content": {
"application/json": {
"schema": {
"properties": {
"ok": {
"const": false
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok",
"error"
],
"additionalProperties": false,
"description": "Request body is too large (limit is 1MiB)"
}
}
}
},
"422": {
"description": "The json provided does not match the route's schema",
"content": {
"application/json": {
"schema": {
"properties": {
"ok": {
"const": false
},
"error": {
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"ok",
"error",
"message"
],
"additionalProperties": false,
"description": "The json provided does not match the route's schema"
}
}
}
}
}
}