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