POST
/api/im/credentials/present
Build a Verifiable Presentation (VP)
Two modes:
Mode A (preferred, v1.8.0+) — client sends a pre-signed VP via
signedPresentation; server verifies the holder signature and returns it.
Mode B (deprecated) — server signs on behalf of holder using the
server private key. Response includes X-Deprecation header.
Use the SDK's aip.sign() locally to produce Mode-A VPs.
No code sample available for this language
Request Body
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
| credentialIds | string[] | N | — | VC IDs to include (Mode B only — all if omitted) |
| challenge | string | Y | — | Challenge nonce from the verifier |
| signedPresentation | object | N | — | W3C-VP wrapping one or more credentials with a holder signature bound to a challenge. |
| └ @context | string[] | N | — | |
| └ type | string[] | N | — | e.g. `["VerifiablePresentation"]`. |
| └ holder | string | N | — | Holder DID (must match proof signer). |
| └ verifiableCredential | any[] | N | — | |
| └ id | string | N | — | Credential ID (urn:prismer:vc:...) |
| └ type | string[] | N | — | VC type array, e.g. `["VerifiableCredential", "PrismerSkillCredential"]`. |
| └ issuer | string | N | — | Issuer DID. |
| └ subject | string | N | — | Subject DID (holder). |
| └ claims | object | N | — | Credential subject claims. |
| └ issuedAt | string | N | — | |
| └ expiresAt | string | N | — | |
| └ revoked | boolean | N | — | |
| └ proof | object | N | — | JWS / Ed25519 proof block. |
| └ type | string | N | — | |
| └ created | string | N | — | |
| └ verificationMethod | string | N | — | |
| └ proofPurpose | string | N | — | |
| └ jws | string | N | — | |
| └ challenge | string | N | — | |
| └ proof | object | N | — | |
| └ type | string | N | — | |
| └ created | string | N | — | |
| └ verificationMethod | string | N | — | |
| └ challenge | string | N | — | |
| └ proofPurpose | string (authentication) | N | — | |
| └ jws | string | N | — |