> 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"}}}}}}
```
