Issue a purpose-bound credential reference
import requests
url = "https://platform.ankra.app/org/service-admission/credential-grants"
payload = {
"family_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_digest": "<string>",
"input_name": "<string>"
}
headers = {
"cookie": "ankra_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {cookie: 'ankra_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({
family_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
value_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
package_digest: '<string>',
input_name: '<string>'
})
};
fetch('https://platform.ankra.app/org/service-admission/credential-grants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/org/service-admission/credential-grants \
--header 'Content-Type: application/json' \
--cookie ankra_session= \
--data '
{
"family_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_digest": "<string>",
"input_name": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_digest": "<string>",
"input_name": "<string>",
"mode": "hosted",
"created_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z"
}Services
Issue a purpose-bound credential reference
Requires the applications rollout and live organisation membership. Metadata reads require applications.read; writes require applications.write, intersected with live PAT scope. Browser mutations require CSRF. No secret values or store paths are returned; all responses are no-store. This registry operation does not connect or restart a workload. Each issue creates an independently revocable reference. At most 128 active grants per family bounds rotation work.
POST
/
org
/
service-admission
/
credential-grants
Issue a purpose-bound credential reference
import requests
url = "https://platform.ankra.app/org/service-admission/credential-grants"
payload = {
"family_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_digest": "<string>",
"input_name": "<string>"
}
headers = {
"cookie": "ankra_session=",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {cookie: 'ankra_session=', 'Content-Type': 'application/json'},
body: JSON.stringify({
family_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
value_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
package_digest: '<string>',
input_name: '<string>'
})
};
fetch('https://platform.ankra.app/org/service-admission/credential-grants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/org/service-admission/credential-grants \
--header 'Content-Type: application/json' \
--cookie ankra_session= \
--data '
{
"family_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_digest": "<string>",
"input_name": "<string>"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"value_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"package_digest": "<string>",
"input_name": "<string>",
"mode": "hosted",
"created_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z"
}Authorizations
Browser session. Mutations also require X-Ankra-CSRF.
Body
application/json
The exact retained value, or the zero UUID to use the active value.
Pattern:
^sha256:[a-f0-9]{64}$Pattern:
^[A-Z][A-Z0-9_]{0,62}$Available options:
hosted, customer, existing