Skip to main content
POST
cURL

Authorizations

Authorization
string
header
required

JWT Bearer token obtained from authentication. Pass as: Authorization: Bearer

Path Parameters

agentId
required

Agent identifier

Pattern: ^[0-9a-z]+$

Body

application/json

Input for issuing a verifiable credential to an agent (master key). Platform verification events (email OTP, phone provisioning, Stripe checkout) auto-issue AnimaEmailVerified/AnimaOwnerBound, AnimaPhoneVerified, and AnimaPaymentCapable; those types (plus AnimaKYBCompleted) derive the agent card's public verification.level and are platform-reserved — issuing them here returns 403. This endpoint issues the org-attestation types (AnimaAddressVerified, AnimaTrustScore), recorded with metadata.source=api, distinct from the platform's source=platform-auto.

type
enum<string>
required

Credential type to issue

Available options:
AnimaEmailVerified,
AnimaPhoneVerified,
AnimaAddressVerified,
AnimaKYBCompleted,
AnimaPaymentCapable,
AnimaOwnerBound,
AnimaTrustScore
claims
object

Additional claims for the credential subject (the subject id is always the agent's DID)

expiresInSeconds
integer

Optional credential lifetime in seconds (omit for non-expiring)

Required range: 0 <= x <= 315360000

Response

200 - application/json

OK

A Verifiable Credential record

id
string
required
agentId
string
required
orgId
string
required
type
string
required
jwtVc
string
required
issuerDid
string
required
subjectDid
string
required
issuedAt
string
required
expiresAt
string | null
required
revoked
boolean
required
revokedAt
string | null
required
revocationIndex
number | null
required
metadata
object | null
required
createdAt
string
required
updatedAt
string
required