# Status Lists

## Create an unencrypted StatusList2021 or BitstringStatusList credential status list.

> This endpoint creates an unencrypted StatusList2021 or BitstringStatusList credential status list. The StatusList is published as a DID-Linked Resource on ledger. As input, it can can take input parameters needed to create the status list via a form, or a pre-assembled status list in JSON format. Status lists can be created as either encrypted or unencrypted.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusCreateUnencryptedRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusCreateBody"}]},"CredentialStatusCreateBody":{"allOf":[{"type":"object","required":["did","statusListName"],"properties":{"did":{"description":"DID of the StatusList2021 or BitstringStatusList publisher.","type":"string","format":"uri"},"statusListName":{"description":"The name of the StatusList2021 or BitstringStatusList DID-Linked Resource to be created.","type":"string"},"length":{"description":"The length of the status list to be created. The default and minimum length is 131072 which is 16kb.","type":"integer","minimum":0,"exclusiveMinimum":true,"default":131072},"encoding":{"description":"The encoding format of the StatusList2021 or BitstringStatusList (only base64url supported) DiD-Linked Resource to be created.","type":"string","default":"base64url","enum":["base64url","hex"]},"statusListVersion":{"description":"Optional field to assign a human-readable version in the StatusList2021 or BitstringStatusList DID-Linked Resource.","type":"string"},"statusSize":{"description":"Only for BitstringStatusList: bits per credential, used to support multiple status in same list.","type":"integer","minimum":1},"credentialCategory":{"description":"Category of credentials this status list is for.","type":"string","enum":["credential","accreditation"]},"statusMessages":{"description":"Only for BitstringStatusList (Mandatory if statusSize > 1): Message explaining each bit","type":"array","items":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}},"ttl":{"description":"Only for BitstringStatusList: Time to Live in Miliseconds (not expiry).","type":"integer","minimum":1000}}},{"$ref":"#/components/schemas/AlsoKnownAs"}]},"AlsoKnownAs":{"type":"object","properties":{"alsoKnownAs":{"type":"array","description":"Optional field to assign a set of alternative URIs where the DID-Linked Resource can be fetched from.","items":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"URI where the DID-Linked Resource can be fetched from. Can be any type of URI (e.g., DID, HTTPS, IPFS, etc.)"},"description":{"type":"string","description":"Optional description of the URI."}}}}}},"CredentialStatusCreateUnencryptedResult":{"allOf":[{"type":"object","properties":{"created":{"type":"boolean"}}},{"$ref":"#/components/schemas/CredentialStatusUnencryptedResult"}]},"CredentialStatusUnencryptedResult":{"type":"object","properties":{"resource":{"type":"object","properties":{"StatusList2021":{"type":"object","properties":{"encodedList":{"type":"string"},"type":{"type":"string"},"validFrom":{"type":"string","format":"date-time"}}},"metadata":{"type":"object","properties":{"type":{"type":"string"},"encoding":{"type":"string"},"encrypted":{"type":"boolean"}}}}},"resourceMetadata":{"type":"object"}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/create/unencrypted":{"post":{"tags":["Status Lists"],"summary":"Create an unencrypted StatusList2021 or BitstringStatusList credential status list.","description":"This endpoint creates an unencrypted StatusList2021 or BitstringStatusList credential status list. The StatusList is published as a DID-Linked Resource on ledger. As input, it can can take input parameters needed to create the status list via a form, or a pre-assembled status list in JSON format. Status lists can be created as either encrypted or unencrypted.","parameters":[{"in":"query","name":"listType","description":"The type of Status List.","required":true,"schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusPurpose","description":"The purpose of the status list.\n- For StatusList2021: Single value (revocation or suspension)\n- For BitstringStatusList: Can accept multiple values as array of strings\n\nOnce this is set, it cannot be changed. A new status list must be created to change the purpose.\n","required":true,"schema":{"oneOf":[{"type":"string","enum":["revocation","suspension"]},{"type":"array","items":{"type":"string","enum":["revocation","suspension","message","refresh"]}}]}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CredentialStatusCreateUnencryptedRequest"}},"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusCreateUnencryptedRequest"}}}},"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusCreateUnencryptedResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## Create an encrypted StatusList2021 or BitstringStatusList credential status list.

> This endpoint creates an encrypted StatusList2021 or BitstringStatusList credential status list. The StatusList is published as a DID-Linked Resource on ledger. As input, it can can take input parameters needed to create the status list via a form, or a pre-assembled status list in JSON format. Status lists can be created as either encrypted or unencrypted.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusCreateEncryptedFormRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusCreateBody"},{"$ref":"#/components/schemas/CredentialStatusEncryptedPaymentConditionsBody"},{"type":"object","required":["feePaymentAddress","feePaymentAmount","feePaymentWindow"]}]},"CredentialStatusCreateBody":{"allOf":[{"type":"object","required":["did","statusListName"],"properties":{"did":{"description":"DID of the StatusList2021 or BitstringStatusList publisher.","type":"string","format":"uri"},"statusListName":{"description":"The name of the StatusList2021 or BitstringStatusList DID-Linked Resource to be created.","type":"string"},"length":{"description":"The length of the status list to be created. The default and minimum length is 131072 which is 16kb.","type":"integer","minimum":0,"exclusiveMinimum":true,"default":131072},"encoding":{"description":"The encoding format of the StatusList2021 or BitstringStatusList (only base64url supported) DiD-Linked Resource to be created.","type":"string","default":"base64url","enum":["base64url","hex"]},"statusListVersion":{"description":"Optional field to assign a human-readable version in the StatusList2021 or BitstringStatusList DID-Linked Resource.","type":"string"},"statusSize":{"description":"Only for BitstringStatusList: bits per credential, used to support multiple status in same list.","type":"integer","minimum":1},"credentialCategory":{"description":"Category of credentials this status list is for.","type":"string","enum":["credential","accreditation"]},"statusMessages":{"description":"Only for BitstringStatusList (Mandatory if statusSize > 1): Message explaining each bit","type":"array","items":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}},"ttl":{"description":"Only for BitstringStatusList: Time to Live in Miliseconds (not expiry).","type":"integer","minimum":1000}}},{"$ref":"#/components/schemas/AlsoKnownAs"}]},"AlsoKnownAs":{"type":"object","properties":{"alsoKnownAs":{"type":"array","description":"Optional field to assign a set of alternative URIs where the DID-Linked Resource can be fetched from.","items":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"URI where the DID-Linked Resource can be fetched from. Can be any type of URI (e.g., DID, HTTPS, IPFS, etc.)"},"description":{"type":"string","description":"Optional description of the URI."}}}}}},"CredentialStatusEncryptedPaymentConditionsBody":{"type":"object","properties":{"feePaymentAddress":{"description":"The cheqd/Cosmos payment address where payments to unlock the encrypted StatusList2021 or BitstringStatusList DID-Linked Resource need to be sent.","type":"string"},"feePaymentAmount":{"description":"Amount in CHEQ tokens to unlock the encrypted StatusList2021 or BitstringStatusList DID-Linked Resource.","type":"number","minimum":0,"exclusiveMinimum":true,"default":20},"feePaymentWindow":{"description":"Time window (in minutes) within which the payment to unlock the encrypted StatusList2021 or BitstringStatusList DID-Linked Resource is considered valid.","type":"number","minimum":0,"exclusiveMinimum":true,"default":10}}},"CredentialStatusCreateEncryptedJsonRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusCreateBody"},{"$ref":"#/components/schemas/CredentialStatusEncryptedPaymentConditionsJson"},{"type":"object","required":["paymentConditions"]}]},"CredentialStatusEncryptedPaymentConditionsJson":{"type":"object","properties":{"paymentConditions":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusEncryptedPaymentConditionsBody"}]}}},"CredentialStatusCreateEncryptedResult":{"allOf":[{"type":"object","properties":{"created":{"type":"boolean"}}},{"$ref":"#/components/schemas/CredentialStatusEncryptedResult"}]},"CredentialStatusEncryptedResult":{"type":"object","properties":{"resource":{"type":"object","properties":{"StatusList2021":{"type":"object","properties":{"encodedList":{"type":"string"},"type":{"type":"string"},"validFrom":{"type":"string","format":"date-time"}}},"metadata":{"type":"object","properties":{"type":{"type":"string"},"encoding":{"type":"string"},"encrypted":{"type":"boolean"},"encryptedSymmetricKey":{"type":"string"},"paymentConditions":{"type":"array","items":{"type":"object","properties":{"feePaymentAddress":{"type":"string"},"feePaymentAmount":{"type":"string"},"intervalInSeconds":{"type":"number"},"type":{"type":"string"}}}}}},"resourceMetadata":{"type":"object"},"symmetricKey":{"type":"string"}}}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/create/encrypted":{"post":{"tags":["Status Lists"],"summary":"Create an encrypted StatusList2021 or BitstringStatusList credential status list.","description":"This endpoint creates an encrypted StatusList2021 or BitstringStatusList credential status list. The StatusList is published as a DID-Linked Resource on ledger. As input, it can can take input parameters needed to create the status list via a form, or a pre-assembled status list in JSON format. Status lists can be created as either encrypted or unencrypted.","parameters":[{"in":"query","name":"listType","description":"The type of Status List.","required":true,"schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusPurpose","description":"The purpose of the status list.\n- For StatusList2021: Single value (revocation or suspension)\n- For BitstringStatusList: Can accept multiple values as array of strings\n\nOnce this is set, it cannot be changed. A new status list must be created to change the purpose.\n","required":true,"schema":{"oneOf":[{"type":"string","enum":["revocation","suspension"]},{"type":"array","items":{"type":"string","enum":["revocation","suspension","message","refresh"]}}]}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CredentialStatusCreateEncryptedFormRequest"}},"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusCreateEncryptedJsonRequest"}}}},"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusCreateEncryptedResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## POST /credential-status/update/unencrypted

> Update an existing unencrypted StatusList2021 or BitstringStatusList credential status list.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusUpdateUnencryptedRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusUpdateBody"}]},"CredentialStatusUpdateBody":{"type":"object","required":["did","statusListName","indices"],"properties":{"did":{"description":"DID of the StatusList2021 publisher.","type":"string","format":"uri"},"statusListName":{"description":"The name of the StatusList2021 DID-Linked Resource to be updated.","type":"string"},"indices":{"description":"List of credential status indices to be updated. The indices must be in the range of the status list.","type":"array","items":{"type":"integer","minimum":0,"exclusiveMinimum":false}},"statusListVersion":{"description":"Optional field to assign a human-readable version in the StatusList2021 DID-Linked Resource.","type":"string"}}},"CredentialStatusUpdateUnencryptedResult":{"allOf":[{"type":"object","properties":{"updated":{"type":"boolean"}}},{"oneOf":[{"$ref":"#/components/schemas/RevocationResult"},{"$ref":"#/components/schemas/SuspensionResult"},{"$ref":"#/components/schemas/UnsuspensionResult"}]},{"$ref":"#/components/schemas/CredentialStatusUnencryptedResult"}]},"RevocationResult":{"properties":{"revoked":{"type":"boolean"}}},"SuspensionResult":{"properties":{"suspended":{"type":"boolean"}}},"UnsuspensionResult":{"properties":{"unsuspended":{"type":"boolean"}}},"CredentialStatusUnencryptedResult":{"type":"object","properties":{"resource":{"type":"object","properties":{"StatusList2021":{"type":"object","properties":{"encodedList":{"type":"string"},"type":{"type":"string"},"validFrom":{"type":"string","format":"date-time"}}},"metadata":{"type":"object","properties":{"type":{"type":"string"},"encoding":{"type":"string"},"encrypted":{"type":"boolean"}}}}},"resourceMetadata":{"type":"object"}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/update/unencrypted":{"post":{"tags":["Status Lists"],"summary":"Update an existing unencrypted StatusList2021 or BitstringStatusList credential status list.","parameters":[{"in":"query","name":"listType","description":"The type of Status List.","required":true,"schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusAction","description":"The update action to be performed on the unencrypted status list, can be revoke, suspend, reinstate or custom states","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CredentialStatusUpdateUnencryptedRequest"}},"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusUpdateUnencryptedRequest"}}}},"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusUpdateUnencryptedResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## POST /credential-status/update/encrypted

> Update an existing encrypted StatusList2021 or BitstringStatusList credential status list.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusUpdateEncryptedFormRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusUpdateBody"},{"type":"object","required":["symmetricKey"],"properties":{"symmetricKey":{"description":"The symmetric key used to encrypt the StatusList2021 DID-Linked Resource.","type":"string"}}},{"$ref":"#/components/schemas/CredentialStatusEncryptedPaymentConditionsBody"}]},"CredentialStatusUpdateBody":{"type":"object","required":["did","statusListName","indices"],"properties":{"did":{"description":"DID of the StatusList2021 publisher.","type":"string","format":"uri"},"statusListName":{"description":"The name of the StatusList2021 DID-Linked Resource to be updated.","type":"string"},"indices":{"description":"List of credential status indices to be updated. The indices must be in the range of the status list.","type":"array","items":{"type":"integer","minimum":0,"exclusiveMinimum":false}},"statusListVersion":{"description":"Optional field to assign a human-readable version in the StatusList2021 DID-Linked Resource.","type":"string"}}},"CredentialStatusEncryptedPaymentConditionsBody":{"type":"object","properties":{"feePaymentAddress":{"description":"The cheqd/Cosmos payment address where payments to unlock the encrypted StatusList2021 or BitstringStatusList DID-Linked Resource need to be sent.","type":"string"},"feePaymentAmount":{"description":"Amount in CHEQ tokens to unlock the encrypted StatusList2021 or BitstringStatusList DID-Linked Resource.","type":"number","minimum":0,"exclusiveMinimum":true,"default":20},"feePaymentWindow":{"description":"Time window (in minutes) within which the payment to unlock the encrypted StatusList2021 or BitstringStatusList DID-Linked Resource is considered valid.","type":"number","minimum":0,"exclusiveMinimum":true,"default":10}}},"CredentialStatusUpdateEncryptedJsonRequest":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusUpdateBody"},{"type":"object","required":["symmetricKey"],"properties":{"symmetricKey":{"description":"The symmetric key used to encrypt the StatusList2021 DID-Linked Resource.","type":"string"}}},{"$ref":"#/components/schemas/CredentialStatusEncryptedPaymentConditionsJson"}]},"CredentialStatusEncryptedPaymentConditionsJson":{"type":"object","properties":{"paymentConditions":{"allOf":[{"$ref":"#/components/schemas/CredentialStatusEncryptedPaymentConditionsBody"}]}}},"CredentialStatusUpdateEncryptedResult":{"allOf":[{"type":"object","properties":{"updated":{"type":"boolean"}}},{"oneOf":[{"$ref":"#/components/schemas/RevocationResult"},{"$ref":"#/components/schemas/SuspensionResult"},{"$ref":"#/components/schemas/UnsuspensionResult"}]},{"$ref":"#/components/schemas/CredentialStatusEncryptedResult"}]},"RevocationResult":{"properties":{"revoked":{"type":"boolean"}}},"SuspensionResult":{"properties":{"suspended":{"type":"boolean"}}},"UnsuspensionResult":{"properties":{"unsuspended":{"type":"boolean"}}},"CredentialStatusEncryptedResult":{"type":"object","properties":{"resource":{"type":"object","properties":{"StatusList2021":{"type":"object","properties":{"encodedList":{"type":"string"},"type":{"type":"string"},"validFrom":{"type":"string","format":"date-time"}}},"metadata":{"type":"object","properties":{"type":{"type":"string"},"encoding":{"type":"string"},"encrypted":{"type":"boolean"},"encryptedSymmetricKey":{"type":"string"},"paymentConditions":{"type":"array","items":{"type":"object","properties":{"feePaymentAddress":{"type":"string"},"feePaymentAmount":{"type":"string"},"intervalInSeconds":{"type":"number"},"type":{"type":"string"}}}}}},"resourceMetadata":{"type":"object"},"symmetricKey":{"type":"string"}}}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/update/encrypted":{"post":{"tags":["Status Lists"],"summary":"Update an existing encrypted StatusList2021 or BitstringStatusList credential status list.","parameters":[{"in":"query","name":"listType","description":"The type of Status List.","required":true,"schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusAction","description":"The update action to be performed on the encrypted status list, can be revoke, suspend or reinstate","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CredentialStatusUpdateEncryptedFormRequest"}},"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusUpdateEncryptedJsonRequest"}}}},"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusUpdateEncryptedResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## Check a StatusList2021 or BitstringStatusList index for a given Verifiable Credential.

> This endpoint checks a StatusList2021 or BitstringStatusList index for a given Verifiable Credential and reports whether it is revoked or suspended. It offers a standalone method for checking an index without passing the entire Verifiable Credential or Verifiable Presentation.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusCheckRequest":{"type":"object","required":["did","statusListName"],"properties":{"did":{"description":"DID of the StatusList2021 publisher.","type":"string","format":"uri"},"statusListName":{"description":"The name of the StatusList2021 DID-Linked Resource to be checked.","type":"string"},"index":{"description":"Credential status index to be checked for revocation or suspension.","type":"integer","minimum":0,"exclusiveMinimum":false},"indices":{"description":"List of credential status indices to be checked for revocation or suspension.","type":"array","items":{"type":"integer"}},"indexRangeStart":{"description":"Start of the credential status index range to be checked for revocation or suspension.","type":"integer"},"indexRangeEnd":{"description":"End of the credential status index range to be checked for revocation or suspension.","type":"integer"},"statusListCredential":{"description":"Optional Resolvable DID URL of the BitstringStatusList credential to be checked.","type":"string"},"statusSize":{"description":"Optional size of the BitstringStatusList.","type":"number","default":2},"statusMessage":{"description":"Array of status messages for each bit in the BitstringStatusList.","type":"array"},"makeFeePayment":{"description":"Automatically make fee payment (if required) based on payment conditions to unlock encrypted StatusList2021 or BitstringStatusList DID-Linked Resource.","type":"boolean","default":true}}},"CredentialStatusCheckResult":{"oneOf":[{"$ref":"#/components/schemas/CredentialStatusCheckRevocationResult"},{"$ref":"#/components/schemas/CredentialStatusCheckSuspensionResult"}]},"CredentialStatusCheckRevocationResult":{"type":"object","properties":{"checked":{"type":"boolean"},"revoked":{"type":"boolean"}}},"CredentialStatusCheckSuspensionResult":{"type":"object","properties":{"checked":{"type":"boolean"},"suspended":{"type":"boolean"}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/check":{"post":{"tags":["Status Lists"],"summary":"Check a StatusList2021 or BitstringStatusList index for a given Verifiable Credential.","description":"This endpoint checks a StatusList2021 or BitstringStatusList index for a given Verifiable Credential and reports whether it is revoked or suspended. It offers a standalone method for checking an index without passing the entire Verifiable Credential or Verifiable Presentation.","parameters":[{"in":"query","name":"listType","description":"The type of Status List.","required":true,"schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusPurpose","description":"The purpose of the status list. Can be either revocation or suspension.","required":true,"schema":{"type":"string","enum":["revocation","suspension","message","refresh"]}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CredentialStatusCheckRequest"}},"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusCheckRequest"}}}},"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusCheckResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## GET /credential-status/search

> Fetch StatusList2021 or BitstringStatusList DID-Linked Resource based on search criteria.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusListSearchResult":{"allOf":[{"type":"object","properties":{"found":{"type":"boolean"}}},{"oneOf":[{"$ref":"#/components/schemas/CredentialStatusUnencryptedResult"},{"$ref":"#/components/schemas/CredentialStatusEncryptedResult"}]}]},"CredentialStatusUnencryptedResult":{"type":"object","properties":{"resource":{"type":"object","properties":{"StatusList2021":{"type":"object","properties":{"encodedList":{"type":"string"},"type":{"type":"string"},"validFrom":{"type":"string","format":"date-time"}}},"metadata":{"type":"object","properties":{"type":{"type":"string"},"encoding":{"type":"string"},"encrypted":{"type":"boolean"}}}}},"resourceMetadata":{"type":"object"}}},"CredentialStatusEncryptedResult":{"type":"object","properties":{"resource":{"type":"object","properties":{"StatusList2021":{"type":"object","properties":{"encodedList":{"type":"string"},"type":{"type":"string"},"validFrom":{"type":"string","format":"date-time"}}},"metadata":{"type":"object","properties":{"type":{"type":"string"},"encoding":{"type":"string"},"encrypted":{"type":"boolean"},"encryptedSymmetricKey":{"type":"string"},"paymentConditions":{"type":"array","items":{"type":"object","properties":{"feePaymentAddress":{"type":"string"},"feePaymentAmount":{"type":"string"},"intervalInSeconds":{"type":"number"},"type":{"type":"string"}}}}}},"resourceMetadata":{"type":"object"},"symmetricKey":{"type":"string"}}}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/search":{"get":{"tags":["Status Lists"],"summary":"Fetch StatusList2021 or BitstringStatusList DID-Linked Resource based on search criteria.","parameters":[{"in":"query","name":"did","description":"The DID of the issuer of the status list.","required":true,"schema":{"type":"string"}},{"in":"query","name":"listType","description":"The type of Status List.","required":true,"schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusPurpose","description":"The purpose of the status list. Can be either revocation or suspension.","required":true,"schema":{"type":"string","enum":["revocation","suspension"]}},{"in":"query","name":"statusListName","description":"The name of the Status List DID-Linked Resource.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusListSearchResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## GET /credential-status/list

> List StatusList2021 or BitstringStatusList DID-Linked Resources created by the customer.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"ListCredentialStatusRecordsResult":{"type":"object","properties":{"total":{"type":"number"},"records":{"type":"array","items":{"$ref":"#/components/schemas/CredentialStatusRecordResult"}}}},"CredentialStatusRecordResult":{"type":"object","properties":{"statusListId":{"type":"string","description":"Unique identifier for the status registry"},"statusListName":{"type":"string","description":"Name of the status list resource"},"uri":{"type":"string","description":"DID URL of the status list resource"},"issuerId":{"type":"string","format":"uri","description":"DID of the issuer"},"previousUri":{"type":"string","nullable":true,"description":"Link to previous registry in the chain (for FULL registries)"},"nextUri":{"type":"string","nullable":true,"description":"Link to next registry in the chain (STANDBY registry)"},"listType":{"type":"string","description":"Type of status list (StatusList2021Revocation, StatusList2021Suspension, BitstringStatusListCredential)"},"storageType":{"type":"string","enum":["cheqd","ipfs","dock","paradym"],"description":"Storage provider for the status list"},"encrypted":{"type":"boolean","description":"Whether the status list is encrypted"},"credentialCategory":{"type":"string","enum":["credential","accreditation"],"description":"Category of credentials this status list is for"},"size":{"type":"integer","description":"Maximum capacity of the status list (total number of indices)"},"writeCursor":{"type":"integer","description":"Current write cursor position (last assigned index)"},"state":{"type":"string","enum":["ACTIVE","STANDBY","FULL"],"description":"Current state of the registry"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the registry was created"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the registry was last updated"},"sealedAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the registry was sealed (marked as FULL)"},"statusPurpose":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Status purpose or list of status purposes"},"deprecated":{"type":"boolean","description":"Whether the registry is deprecated"}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/list":{"get":{"tags":["Status Lists"],"summary":"List StatusList2021 or BitstringStatusList DID-Linked Resources created by the customer.","parameters":[{"in":"query","name":"did","description":"The DID of the issuer of the status list.","schema":{"type":"string"}},{"in":"query","name":"listType","description":"The type of Status List.","schema":{"type":"string","enum":["StatusList2021","BitstringStatusList"]}},{"in":"query","name":"statusListName","description":"The name of the Status List DID-Linked Resource.","schema":{"type":"string"}},{"in":"query","name":"state","description":"The state of the Status List DID-Linked Resource.","schema":{"type":"string","enum":["ACTIVE","STANDBY","FULL"]}},{"in":"query","name":"credentialCategory","description":"Filter status lists by credential category assigned for.","schema":{"type":"string","enum":["credential","accreditation"]}},{"in":"query","name":"deprecated","description":"Filter status lists by deprecated status.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCredentialStatusRecordsResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```

## GET /credential-status/list/{statusListId}

> Fetch StatusList2021 or BitstringStatusList DID-Linked Resource based on search criteria.

```json
{"openapi":"3.0.0","info":{"title":"cheqd Studio API for cheqd network","version":"2.0.0"},"tags":[{"name":"Status Lists"}],"servers":[{"url":"https://studio-api.cheqd.net","description":"Main (production) server"},{"url":"https://studio-api-staging.cheqd.net","description":"Staging server for testing"},{"url":"http://localhost:3000","description":"Local server for testing"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{"CredentialStatusRecordResult":{"type":"object","properties":{"statusListId":{"type":"string","description":"Unique identifier for the status registry"},"statusListName":{"type":"string","description":"Name of the status list resource"},"uri":{"type":"string","description":"DID URL of the status list resource"},"issuerId":{"type":"string","format":"uri","description":"DID of the issuer"},"previousUri":{"type":"string","nullable":true,"description":"Link to previous registry in the chain (for FULL registries)"},"nextUri":{"type":"string","nullable":true,"description":"Link to next registry in the chain (STANDBY registry)"},"listType":{"type":"string","description":"Type of status list (StatusList2021Revocation, StatusList2021Suspension, BitstringStatusListCredential)"},"storageType":{"type":"string","enum":["cheqd","ipfs","dock","paradym"],"description":"Storage provider for the status list"},"encrypted":{"type":"boolean","description":"Whether the status list is encrypted"},"credentialCategory":{"type":"string","enum":["credential","accreditation"],"description":"Category of credentials this status list is for"},"size":{"type":"integer","description":"Maximum capacity of the status list (total number of indices)"},"writeCursor":{"type":"integer","description":"Current write cursor position (last assigned index)"},"state":{"type":"string","enum":["ACTIVE","STANDBY","FULL"],"description":"Current state of the registry"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the registry was created"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the registry was last updated"},"sealedAt":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the registry was sealed (marked as FULL)"},"statusPurpose":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Status purpose or list of status purposes"},"deprecated":{"type":"boolean","description":"Whether the registry is deprecated"}}},"InvalidRequest":{"description":"A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}},"UnauthorizedError":{"description":"Access token is missing or invalid","type":"object","properties":{"error":{"type":"string"}}},"InternalError":{"description":"An internal error has occurred. Additional state information plus metadata may be available in the response body.","type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/credential-status/list/{statusListId}":{"get":{"tags":["Status Lists"],"summary":"Fetch StatusList2021 or BitstringStatusList DID-Linked Resource based on search criteria.","parameters":[{"in":"path","name":"statusListId","description":"The statusListId of the status list.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The request was successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialStatusRecordResult"}}}},"400":{"$ref":"#/components/schemas/InvalidRequest"},"401":{"$ref":"#/components/schemas/UnauthorizedError"},"500":{"$ref":"#/components/schemas/InternalError"}}}}}}
```


---

# Agent Instructions: 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.cheqd.io/product/api-reference/combined/status-lists.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.
