Skip to content

POST /api/v1/account/api-keys

Operation: createApiKey.

Create API key (self, step-up)

Label, expiry and explicit renter/host scopes. Secret revealed once; only hash stored. No admin scopes or key-based MFA bypass.

POST https://amplerun-api.spiry.org/api/v1/account/api-keys

Use the credential and scope required by this operation. For programmatic renter/host calls: Authorization: Bearer $AMPLERUN_API_KEY. A host-agent signature or other specialized proof is required where the description specifies it.

NameLocationPresenceTypeDescription
Idempotency-KeyheaderRequiredUUIDUUID scoped to authenticated principal, route and canonical request hash.

Required body.

FieldTypePresenceDescription
labelstringRequired
expires_atRfc3339UtcOptional
scopesarray of “renter” / “host”Required
{
"type": "object",
"additionalProperties": false,
"required": [
"label",
"scopes"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"expires_at": {
"$ref": "#/components/schemas/Rfc3339Utc"
},
"scopes": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"enum": [
"renter",
"host"
]
}
}
}
}

API key created; secret returned exactly once.

application/json

{
"allOf": [
{
"$ref": "#/components/schemas/ApiKeyView"
},
{
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"type": "string",
"pattern": "^ark_",
"description": "The API key. Store it now; it is not shown again."
}
}
}
]
}

Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.

application/json

FieldTypePresenceDescription
errorobjectRequired
{
"$ref": "#/components/schemas/ErrorEnvelope"
}

Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.

Terminal window
curl --request POST 'https://amplerun-api.spiry.org/api/v1/account/api-keys' \
--header "Authorization: Bearer $AMPLERUN_API_KEY"

Schema definitions · Download OpenAPI · Authentication · Errors and recovery

Official AmpleRun documentation · Contract v3 · Generated from the API contract · Revision 52fe29de · Open AmpleRun · View Markdown · For agents