# Create a Status List

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


---

# 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/status-lists/create.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.
