> For the complete documentation index, see [llms.txt](https://docs.indicio.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.indicio.tech/developer/indicio-proven-r/api-reference/status-list.md).

# Status List

Endpoints for managing status lists

## Query status list definitions.

> Retrieves the status lists, filtered by supported credential ID or status purpose.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/defs":{"get":{"summary":"Query status list definitions.","description":"Retrieves the status lists, filtered by supported credential ID or status purpose.","tags":["Status List"],"parameters":[{"in":"query","name":"status_purpose","schema":{"type":"string"},"description":"Filter by status purpose."}],"responses":{"200":{"description":"Successfully retrieved the status list definition.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"404":{"description":"Status list definitions not found"},"500":{"description":"Internal server error"}}}}}}
```

## Post a status list definition.

> Post a status list definition.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/defs":{"post":{"summary":"Post a status list definition.","description":"Post a status list definition.","tags":["Status List"],"parameters":[{"in":"query","name":"publish","schema":{"type":"boolean"},"description":"If true, publish status list on creation at the did:indy provided in `publication.did`. False by default."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status_purpose":{"type":"string","description":"The purpose of the status. Defaults to \"revocation\"."},"status_message":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}},"status_size":{"type":"integer","description":"The size of the status in bits."},"shard_size":{"type":"integer","description":"The size of a shard, between 1 and list_size."},"list_size":{"type":"integer","description":"Number of entries in status list, minimum 131072"},"publication":{"type":"object","properties":{"did":{"type":"string"}}}}}}}},"responses":{"200":{"description":"Successfully created a status list definition.","content":{"application/json":{"schema":{"type":"object","properties":{"publication":{"type":"object","properties":{"published":{"type":"boolean","description":"Whether the status list was published"},"did":{"type":"string","description":"did where the list has been published"},"status_type":{"type":"string","description":"format in which the list has been published"}}}}}}}},"500":{"description":"Internal server error"}}}}}}
```

## Get a status list definition by ID.

> Retrieve the status list.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/defs/{id}":{"get":{"summary":"Get a status list definition by ID.","description":"Retrieve the status list.","tags":["Status List"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Identifier of the status list definition to retrieve."}],"responses":{"200":{"description":"Successfully retrieved the status list definition.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The status list definition ID."}}}}}}},"404":{"description":"Status list not found"},"500":{"description":"Internal server error"}}}}}}
```

## Delete a status list definition by ID.

> Delete the status list.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/defs/{id}":{"delete":{"summary":"Delete a status list definition by ID.","description":"Delete the status list.","tags":["Status List"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Identifier of the status list definition to delete."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recursive_delete":{"type":"boolean","description":"Delete all underlying status list and entries recursively."}}}}}},"responses":{"200":{"description":"Successfully removed the status list definition.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The status list definition ID."}}}}}}},"404":{"description":"Status list not found"},"500":{"description":"Internal server error"}}}}}}
```

## Get a status list credential by credential exchange ID.

> Delete the status list.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/entries/{credential_exchange_id}":{"get":{"summary":"Get a status list credential by credential exchange ID.","description":"Delete the status list.","tags":["Status List"],"parameters":[{"in":"path","name":"credential_exchange_id","required":true,"schema":{"type":"string"},"description":"Identifier of the credential."}],"responses":{"200":{"description":"Successfully retrieved the status list credential.","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"integer","description":"The status list number."},"index":{"type":"integer","description":"The status list index."},"status":{"type":"string","description":"The status bitstring."},"assigned":{"type":"boolean","description":"Status assigned."}}}}}},"404":{"description":"Credential not found"},"500":{"description":"Internal server error"}}}}}}
```

## Update a status list credential's status.

> Update a status list credential's status.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/entries/revoke/{credential_exchange_id}":{"patch":{"summary":"Update a status list credential's status.","description":"Update a status list credential's status.","tags":["Status List"],"parameters":[{"in":"path","name":"credential_exchange_id","required":true,"schema":{"type":"string"},"description":"Identifier of the credential."},{"in":"query","name":"update","required":false,"schema":{"type":"boolean"},"description":"Whether to automatically update the published status list after revocation. True by default."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"The status bitstring."}}}}}},"responses":{"200":{"description":"Successfully retrieved the status list credential.","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"integer","description":"The status list number."},"index":{"type":"integer","description":"The status list index."},"status":{"type":"string","description":"The status bitstring."},"assigned":{"type":"boolean","description":"Status assigned."}}}}}},"404":{"description":"Credential not found"},"500":{"description":"Internal server error"}}}}}}
```

## Update multiple status list credentials' statuses at a time.

> Update multiple status list credentials' status at a time.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/entries/batch-revoke":{"patch":{"summary":"Update multiple status list credentials' statuses at a time.","description":"Update multiple status list credentials' status at a time.","tags":["Status List"],"parameters":[{"in":"query","name":"update","required":false,"schema":{"type":"boolean"},"description":"Whether to automatically update the published status list after revocation. True by default."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"credential_exchange_id":{"type":"string","description":"Identifier of the credential."},"status":{"type":"string","description":"The status bitstring."}}}}}}},"responses":{"200":{"description":"Successfully retrieved the status list credential.","content":{"application/json":{"schema":{"array":null,"items":{"type":"object","properties":{"list":{"type":"integer","description":"The status list number."},"index":{"type":"integer","description":"The status list index."},"status":{"type":"string","description":"The status bitstring."},"assigned":{"type":"boolean","description":"Status assigned."}}}}}}},"404":{"description":"Credential not found"},"500":{"description":"Internal server error"}}}}}}
```

## Publish a status list definition.

> Publish a status list definition.

```json
{"openapi":"3.0.0","info":{"title":"Proven API","version":"1.0.0"},"tags":[{"name":"Status List","description":"Endpoints for managing status lists"}],"servers":[{"url":"https://proven-4-2-test.proven.indicio.tech"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}}},"paths":{"/api/v1/status-list/defs/{def_id}/publish":{"put":{"summary":"Publish a status list definition.","description":"Publish a status list definition.","tags":["Status List"],"parameters":[{"in":"path","name":"def_id","required":true,"schema":{"type":"string"},"description":"Identifier of the status list definition."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"did":{"type":"string","description":"DID."},"verification_method":{"type":"string","description":"Verification method."},"status_type":{"type":"string","description":"Status Type."}}}}}},"responses":{"200":{"description":"Successfully published the status list definition.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Status list not found"},"500":{"description":"Internal server error"}}}}}}
```


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.indicio.tech/developer/indicio-proven-r/api-reference/status-list.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
