> For the complete documentation index, see [llms.txt](https://docs.toolkit.equs.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.toolkit.equs.ai/api/web-wallet-api/credential.md).

# Credential

## Get VCs

> Get paginated VCs

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Web Custodial Wallet Documentation","version":"0.1.2"},"tags":[{"name":"Credential","description":""}],"security":[{"user":[]},{"agent":[]},{"user":[]}],"components":{"securitySchemes":{"user":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder user. `users` realm token with `principal_type=user`. Authorize one bearer scheme at a time."},"agent":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder's AI agent. `users` realm token with `principal_type=agent`. Authorize one bearer scheme at a time."}},"schemas":{"GetCredentialsResponse":{"type":"object","properties":{"items":{"description":"Page of credentials matching the query.","type":"array","items":{"$ref":"#/components/schemas/GetCredentialsResponseItem"}},"nextUrl":{"type":"object","description":"URL to fetch the next page of results, or null when there is no next page."}},"required":["items","nextUrl"]},"GetCredentialsResponseItem":{"type":"object","properties":{"id":{"type":"string","description":"Credential unique ID"},"issued":{"format":"date-time","type":"string","description":"Date and time the credential was issued."},"expires":{"type":"object","description":"Date and time the credential expires, if any."},"name":{"type":"string","description":"Name of the VC schema used to issue the credential."},"version":{"type":"string","description":"Version of the VC schema used to issue the credential."},"status":{"type":"string","description":"Current status of the credential.","enum":["active","expired","revoked"]},"metadata":{"description":"Issuer and credential type metadata.","allOf":[{"$ref":"#/components/schemas/GetOfferMetadata"}]},"payload":{"type":"string","description":"Raw SD-JWT VC payload of the credential."}},"required":["id","issued","expires","name","version","status","metadata","payload"]},"GetOfferMetadata":{"type":"object","properties":{"issuer":{"description":"Metadata of the issuer that issued the credential.","allOf":[{"$ref":"#/components/schemas/IssuerMetadata"}]},"credDef":{"description":"Metadata describing the credential type/definition.","allOf":[{"$ref":"#/components/schemas/CredDefMetadata"}]}},"required":["issuer","credDef"]},"IssuerMetadata":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for the issuer.","allOf":[{"$ref":"#/components/schemas/Logo"}]}}},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"CredDefMetadata":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the credential type."},"logo":{"description":"Logo displayed for this credential type.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"description":{"type":"string","description":"Human-readable description of the credential type."},"backgroundColor":{"type":"string","description":"Background color used to render the credential card, as a hex value."},"textColor":{"type":"string","description":"Text color used to render the credential card, as a hex value."}}}}},"paths":{"/api/v1/credentials":{"get":{"description":"Get paginated VCs","operationId":"CredentialController_getCredentials_api/v1","parameters":[{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"default":"date","type":"string","enum":["date"]}},{"name":"order","required":false,"in":"query","description":"Sort direction","schema":{"default":"asc","type":"string","enum":["asc","desc"]}},{"name":"offset","required":false,"in":"query","description":"Number of items to skip before starting to collect the result set.","schema":{"default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","description":"Maximum number of items to return.","schema":{"default":10,"type":"number"}},{"name":"status","required":false,"in":"query","description":"Filter credentials by one or more statuses.","schema":{"type":"array","items":{"type":"string","enum":["active","expired","revoked"]}}}],"responses":{"200":{"description":"When Credentials are retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCredentialsResponse"}}}},"400":{"description":"When one or more credential definition names could not be successfully parsed."}},"summary":"Get VCs","tags":["Credential"]}}}}
```

## Get VC

> Get VC by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Web Custodial Wallet Documentation","version":"0.1.2"},"tags":[{"name":"Credential","description":""}],"security":[{"user":[]},{"agent":[]},{"user":[]}],"components":{"securitySchemes":{"user":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder user. `users` realm token with `principal_type=user`. Authorize one bearer scheme at a time."},"agent":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder's AI agent. `users` realm token with `principal_type=agent`. Authorize one bearer scheme at a time."}},"schemas":{"GetCredentialResponse":{"type":"object","properties":{"overview":{"description":"Summary information about the credential.","allOf":[{"$ref":"#/components/schemas/GetCredentialOverview"}]},"details":{"description":"Claims contained in the credential.","type":"array","items":{"$ref":"#/components/schemas/GetCredentialClaims"}},"advancedMetadata":{"description":"Advanced technical metadata about the credential.","allOf":[{"$ref":"#/components/schemas/GetCredentialAdvancedMetadata"}]}},"required":["overview","details","advancedMetadata"]},"GetCredentialOverview":{"type":"object","properties":{"id":{"type":"string","description":"Credential unique ID in the Vault"},"issued":{"format":"date-time","type":"string","description":"Date and time the credential was issued."},"expires":{"type":"object","description":"Date and time the credential expires, if any."},"name":{"type":"string","description":"Name of the VC schema used to issue the credential."},"version":{"type":"string","description":"Version of the VC schema used to issue the credential."},"status":{"type":"string","description":"Current status of the credential.","enum":["active","expired","revoked"]},"metadata":{"description":"Issuer and credential type metadata.","allOf":[{"$ref":"#/components/schemas/GetOfferMetadata"}]},"payload":{"type":"string","description":"Raw SD-JWT VC payload of the credential."}},"required":["id","issued","expires","name","version","status","metadata","payload"]},"GetOfferMetadata":{"type":"object","properties":{"issuer":{"description":"Metadata of the issuer that issued the credential.","allOf":[{"$ref":"#/components/schemas/IssuerMetadata"}]},"credDef":{"description":"Metadata describing the credential type/definition.","allOf":[{"$ref":"#/components/schemas/CredDefMetadata"}]}},"required":["issuer","credDef"]},"IssuerMetadata":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for the issuer.","allOf":[{"$ref":"#/components/schemas/Logo"}]}}},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"CredDefMetadata":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the credential type."},"logo":{"description":"Logo displayed for this credential type.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"description":{"type":"string","description":"Human-readable description of the credential type."},"backgroundColor":{"type":"string","description":"Background color used to render the credential card, as a hex value."},"textColor":{"type":"string","description":"Text color used to render the credential card, as a hex value."}}},"GetCredentialClaims":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the claim."},"path":{"description":"Path of the claim within the credential, as an array of segment keys.","type":"array","items":{"type":"string"}},"value":{"type":"string","description":"Value of the claim."},"items":{"description":"Nested claims, when this claim is a group of sub-claims.","type":"array","items":{"$ref":"#/components/schemas/GetCredentialClaims"}}},"required":["name"]},"GetCredentialAdvancedMetadata":{"type":"object","properties":{"subject":{"type":"string","description":"DID of the credential subject (holder)."},"issuer":{"type":"string","description":"DID of the issuer that signed the credential."},"signingAlgorithm":{"type":"string","description":"Algorithm used to sign the credential."},"format":{"type":"string","description":"Credential format identifier."},"statusList":{"description":"Status list reference used to check revocation of the credential.","allOf":[{"$ref":"#/components/schemas/CredentialStatusList"}]}},"required":["subject","issuer","signingAlgorithm","format","statusList"]},"CredentialStatusList":{"type":"object","properties":{"idx":{"type":"number","description":"Index of the credential's entry within the status list."},"uri":{"type":"string","description":"URI of the status list credential."}},"required":["idx","uri"]}}},"paths":{"/api/v1/credentials/{id}":{"get":{"description":"Get VC by ID","operationId":"CredentialController_getCredential_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Credential unique ID in the Vault","schema":{"type":"string"}}],"responses":{"200":{"description":"When Credential is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCredentialResponse"}}}},"400":{"description":"When one or more credential definition names could not be successfully parsed."},"404":{"description":"When credential is not found."}},"summary":"Get VC","tags":["Credential"]}}}}
```

## Delete VC

> Delete VC by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Web Custodial Wallet Documentation","version":"0.1.2"},"tags":[{"name":"Credential","description":""}],"security":[{"user":[]},{"agent":[]},{"user":[]}],"components":{"securitySchemes":{"user":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder user. `users` realm token with `principal_type=user`. Authorize one bearer scheme at a time."},"agent":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder's AI agent. `users` realm token with `principal_type=agent`. Authorize one bearer scheme at a time."}}},"paths":{"/api/v1/credentials/{id}":{"delete":{"description":"Delete VC by ID","operationId":"CredentialController_deleteCredential_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Credential unique ID in the Vault","schema":{"type":"string"}},{"name":"sendNotification","required":false,"in":"query","description":"Whether to notify the issuer that the credential was deleted.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"When Credential is deleted successfully."},"404":{"description":"When credential is not found."}},"summary":"Delete VC","tags":["Credential"]}}}}
```

## Get VC's VP history

> Get VC's VP history by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Web Custodial Wallet Documentation","version":"0.1.2"},"tags":[{"name":"Credential","description":""}],"security":[{"user":[]},{"agent":[]},{"user":[]}],"components":{"securitySchemes":{"user":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder user. `users` realm token with `principal_type=user`. Authorize one bearer scheme at a time."},"agent":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Holder's AI agent. `users` realm token with `principal_type=agent`. Authorize one bearer scheme at a time."}},"schemas":{"GetCredentialVpHistoryResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/GetCredentialVpHistoryResponseItem"}},"pagination":{"$ref":"#/components/schemas/PaginationData"}},"required":["items","pagination"]},"GetCredentialVpHistoryResponseItem":{"type":"object","properties":{"presentedAt":{"type":"string","description":"Date and time the credential was presented."},"sharedData":{"description":"Claims shared with the verifier during this presentation.","type":"array","items":{"$ref":"#/components/schemas/SharedData"}},"verifier":{"description":"Metadata of the verifier the credential was presented to.","allOf":[{"$ref":"#/components/schemas/GetActionHistoryVerifierMetadata"}]}},"required":["presentedAt","sharedData","verifier"]},"SharedData":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the shared claim."},"path":{"description":"Path of the shared claim within the credential, as an array of segment keys.","type":"array","items":{"type":"string"}}},"required":["name","path"]},"GetActionHistoryVerifierMetadata":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the verifier."},"logo":{"description":"Logo displayed for the verifier that produced this history entry.","allOf":[{"$ref":"#/components/schemas/Logo"}]}},"required":["name"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"PaginationData":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}},"required":["page","limit"]}}},"paths":{"/api/v1/credentials/{id}/vp-history":{"get":{"description":"Get VC's VP history by ID","operationId":"CredentialController_getCredentialVpHistory_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Credential unique ID","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"default":"date","type":"string","enum":["date"]}},{"name":"order","required":false,"in":"query","description":"Sort direction","schema":{"default":"desc","type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"When Credentials VP history are retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCredentialVpHistoryResponse"}}}},"404":{"description":"When credential is not found."}},"summary":"Get VC's VP history","tags":["Credential"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.toolkit.equs.ai/api/web-wallet-api/credential.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
