import requests
url = "https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/approvals/{approval_id}/portability-pull-requests"
payload = { "action_key": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({action_key: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/approvals/{approval_id}/portability-pull-requests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/approvals/{approval_id}/portability-pull-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action_key": "<string>"
}
'{
"approval_id": "<string>",
"action": {
"key": "<string>",
"kind": "stack",
"subject": "<string>",
"title": "<string>",
"tool": "<string>",
"permission": "<string>",
"is_cluster_scoped": true,
"bound_parameters": {},
"free_parameters": [
"<string>"
],
"is_value_included": true
},
"claimed_at": "2023-11-07T05:31:56Z",
"operation_id": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Open an approved portability pull request
Claims one approved portability pull request action under a plan-level Launch Plan approval, once, and queues the operation that opens it on the application’s own repository: the adapter pull request of a dependency the approver moved to needs-portability-pr, or the next.config pull request of a Vercel source. Refused unless the approval is the caller’s own, unexpired and unrevoked, the application’s live Launch Plan still hashes as approved, the action is an approved portability pull request not yet claimed, and the caller still holds applications.write. The operation renders the change from the newest App Contract at the plan’s commit and opens it through the setup write guard; when Ankra cannot make the change with confidence it fails with the reason a person has to, verbatim. Ankra records the pull request for the PR shepherd and never merges it. Audited, refusals included.
import requests
url = "https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/approvals/{approval_id}/portability-pull-requests"
payload = { "action_key": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({action_key: '<string>'})
};
fetch('https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/approvals/{approval_id}/portability-pull-requests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/org/applications/{application_id}/launch-plan/approvals/{approval_id}/portability-pull-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action_key": "<string>"
}
'{
"approval_id": "<string>",
"action": {
"key": "<string>",
"kind": "stack",
"subject": "<string>",
"title": "<string>",
"tool": "<string>",
"permission": "<string>",
"is_cluster_scoped": true,
"bound_parameters": {},
"free_parameters": [
"<string>"
],
"is_value_included": true
},
"claimed_at": "2023-11-07T05:31:56Z",
"operation_id": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The approved action the caller is about to perform.
Response
The claimed action and the operation that opens the pull request
An approved portability pull request action, claimed once, and the operation that opens the pull request. The operation's result names the pull request, or the reason a person has to make the change.
One action of an approved list (schema ankra.launch-plan-approval/v1, enginekit/launchplan): its stable key (kind:subject), the AI tool that performs it (empty when no tool can yet), the permission its approver had to hold and a claimant must still hold, and the tool parameters a matching call must carry.
Show child attributes
Show child attributes