Get API key by ID
Returns details for a single API key. The raw secret is never returned — only the public key prefix and metadata.
Authorization
bearer In: header
Path Parameters
Response Body
application/json
curl -X GET "https://<api-host>/v1/api-keys/string"{
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"tenantId": "f97df110-f4de-492e-8849-4a6af68026b0",
"livemode": true,
"owner": {
"type": "merchant",
"merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
"tenantId": "f97df110-f4de-492e-8849-4a6af68026b0"
},
"environment": "test",
"keyType": "public",
"inboundFormat": "miracle_native",
"publicKey": "string",
"name": "string",
"status": "active",
"permissions": [
"string"
],
"ipAllowlist": [
"string"
],
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": null,
"revokedAt": "string",
"rotatedFromKeyId": "398ea6c9-3802-4188-a0cb-054a865227fd",
"createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",
"createdByType": "user"
}
}List API keys
Returns a paginated list of API keys visible to the caller, always in the caller's mode. Filters: `status`, `merchantId`, `createdBy`, `livemode` (a different mode yields an empty page). Uses cursor-based pagination — pass `cursor` from a previous response to fetch the next page. Default page size is 20, maximum 100. Raw secrets are never included.
List permissions grantable on a new API key
Returns the permission codes a key of `ownerType` may carry when the caller issues it: the owner-layer set (merchant keys: merchant layer; tenant keys: operator layer) intersected with the caller's own permissions. A create request whose `permissions` stay inside this list passes both permission checks.