> 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/integration-api/reissuance.md).

# Reissuance

\[Experimental]

## \[Experimental] Preview credentials for reissuance

> List the holder's credentials with their reissuance eligibility status.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Integration API Documentation","version":"0.1.2"},"tags":[{"name":"Reissuance","description":"[Experimental]"}],"security":[{"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."}},"schemas":{"GetReissuancePreviewResponseItem":{"type":"object","properties":{"uriId":{"type":"string","description":"Credential offer unique ID"},"eligible":{"type":"boolean","description":"Whether the offer is currently eligible for reissuance."},"issuerName":{"type":"object","description":"Name of the issuer that issued the original credential, if still available.","nullable":true},"vcSchemaName":{"type":"object","description":"Name of the VC schema used for the original credential, if still available.","nullable":true},"reason":{"type":"string","description":"Reason the offer is not eligible for reissuance. Null when eligible.","enum":["tenant_inactive","issuer_inactive","schema_outdated","vc_expired","vc_revoked","no_data"],"nullable":true}},"required":["uriId","eligible","issuerName","vcSchemaName","reason"]}}},"paths":{"/api/v1/reissuance/preview":{"get":{"description":"List the holder's credentials with their reissuance eligibility status.","operationId":"ReissuanceController_getPreview_api/v1","parameters":[{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}}],"responses":{"200":{"description":"List of credentials with their reissuance eligibility status.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GetReissuancePreviewResponseItem"}}}}},"401":{"description":"Missing or invalid step-up token."}},"summary":"[Experimental] Preview credentials for reissuance","tags":["Reissuance"]}}}}
```

## \[Experimental] Start a reissuance

> Create a reissuance session with pre-authorized credential offers for the selected credentials.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Integration API Documentation","version":"0.1.2"},"tags":[{"name":"Reissuance","description":"[Experimental]"}],"security":[{"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."}},"schemas":{"CreateReissuanceRequest":{"type":"object","properties":{"uriIds":{"description":"Unique identifiers (uriId) of the previously issued offers to reissue.","type":"array","items":{"type":"string"}}},"required":["uriIds"]},"CreateReissuanceResponse":{"type":"object","properties":{"sessionId":{"type":"string","description":"Reissuance session unique ID"},"offers":{"description":"Offers created as part of this reissuance session.","type":"array","items":{"$ref":"#/components/schemas/CreateReissuanceOfferResponseItem"}}},"required":["sessionId","offers"]},"CreateReissuanceOfferResponseItem":{"type":"object","properties":{"uriId":{"type":"string","description":"Credential offer unique ID"},"params":{"type":"object","description":"OID4VCI credential offer parameters."},"byValue":{"type":"string","description":"Credential offer deep link encoding the offer payload by value."},"byReference":{"type":"string","description":"Credential offer deep link referencing the offer by URI."},"txCode":{"type":"string","description":"Transaction code the holder must present to redeem the offer."}},"required":["uriId","params","byValue","byReference","txCode"]}}},"paths":{"/api/v1/reissuance":{"post":{"description":"Create a reissuance session with pre-authorized credential offers for the selected credentials.","operationId":"ReissuanceController_initReissuance_api/v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReissuanceRequest"}}}},"responses":{"201":{"description":"Reissuance session created with pre-authorized credential offers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReissuanceResponse"}}}},"400":{"description":"Invalid request body."},"401":{"description":"Missing or invalid step-up token."},"404":{"description":"One or more credential offers not found."},"409":{"description":"When one or more credential offers are not eligible for reissuance."}},"summary":"[Experimental] Start a reissuance","tags":["Reissuance"]}}}}
```

## \[Experimental] Get a reissuance session

> Return the current state of a reissuance session.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Integration API Documentation","version":"0.1.2"},"tags":[{"name":"Reissuance","description":"[Experimental]"}],"security":[{"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."}},"schemas":{"GetReissuanceSessionResponse":{"type":"object","properties":{"id":{"type":"string","description":"Reissuance session unique ID"},"state":{"type":"string","description":"Current state of the reissuance session."},"totalCount":{"type":"number","description":"Total number of offers included in the reissuance session."},"succeededCount":{"type":"number","description":"Number of offers successfully reissued so far."},"failedCount":{"type":"number","description":"Number of offers that failed to be reissued so far."},"expiresAt":{"type":"object","description":"Date and time the reissuance session expires at. Null when it never expires.","nullable":true},"items":{"description":"Reissued offers created as part of this session.","type":"array","items":{"$ref":"#/components/schemas/GetReissuanceSessionResponseItem"}}},"required":["id","state","totalCount","succeededCount","failedCount","expiresAt","items"]},"GetReissuanceSessionResponseItem":{"type":"object","properties":{"offerUriId":{"type":"string","description":"Credential offer unique ID"}},"required":["offerUriId"]}}},"paths":{"/api/v1/reissuance/sessions/{id}":{"get":{"description":"Return the current state of a reissuance session.","operationId":"ReissuanceController_getSession_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Reissuance session unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Current reissuance session state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetReissuanceSessionResponse"}}}},"401":{"description":"Missing or invalid step-up token."},"404":{"description":"Reissuance session not found."}},"summary":"[Experimental] Get a reissuance session","tags":["Reissuance"]}}}}
```


---

# 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/integration-api/reissuance.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.
