> For the complete documentation index, see [llms.txt](https://docs.toolkit.equs.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.toolkit.equs.ai/api/control-api/issuer.md).

# Issuer

## Get Issuers

> Get paginated Issuers

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetIssuersResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/GetIssuerResponse"}},"pagination":{"$ref":"#/components/schemas/PaginationData"}},"required":["items","pagination"]},"GetIssuerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Issuer unique ID"},"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for this issuer when presenting issued credentials.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"didMethod":{"type":"string","description":"DID method associated with DID of the Issuer.","enum":["did:web"]},"status":{"type":"string","description":"Current status of the issuer.","enum":["active","deactivated"]},"batchSize":{"type":"number","description":"OID4VCI batch size for this Issuer. 1 means batch issuance is off. Any greater value is the number of Credentials a Wallet may request at once."},"createdAt":{"format":"date-time","type":"string","description":"Date and time the issuer was created."}},"required":["id","name","didMethod","status","batchSize","createdAt"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"PaginationData":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}},"required":["page","limit"]}}},"paths":{"/api/v1/issuers":{"get":{"description":"Get paginated Issuers","operationId":"IssuerController_getIssuers_api/v1","parameters":[{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"default":"date","type":"string","enum":["name","status","date"]}},{"name":"order","required":false,"in":"query","description":"Sort direction","schema":{"default":"asc","type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"When Issuers are retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIssuersResponse"}}}}},"summary":"Get Issuers","tags":["Issuer"]}}}}
```

## Create Issuer

> Create new Issuer

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"CreateIssuerRequest":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for this Issuer when presenting issued credentials.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"didMethod":{"type":"string","description":"DID method used to generate the DID for this issuer.","enum":["did:web"]},"batchSize":{"type":"number","minimum":1,"maximum":100,"default":1,"description":"How many Credentials a Wallet may request in one Credential Request. 1 disables batch issuance. Any greater value enables it at that size."}},"required":["name","didMethod"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"CreateIssuerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Issuer unique ID"}},"required":["id"]}}},"paths":{"/api/v1/issuers":{"post":{"description":"Create new Issuer","operationId":"IssuerController_createIssuer_api/v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIssuerRequest"}}}},"responses":{"201":{"description":"When Issuer is created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIssuerResponse"}}}},"400":{"description":"When the issuer name already exists."},"409":{"description":"When the Tenant already owns its maximum number of Issuers."}},"summary":"Create Issuer","tags":["Issuer"]}}}}
```

## Get Issuer

> Get Issuer by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetIssuerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Issuer unique ID"},"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for this issuer when presenting issued credentials.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"didMethod":{"type":"string","description":"DID method associated with DID of the Issuer.","enum":["did:web"]},"status":{"type":"string","description":"Current status of the issuer.","enum":["active","deactivated"]},"batchSize":{"type":"number","description":"OID4VCI batch size for this Issuer. 1 means batch issuance is off. Any greater value is the number of Credentials a Wallet may request at once."},"createdAt":{"format":"date-time","type":"string","description":"Date and time the issuer was created."}},"required":["id","name","didMethod","status","batchSize","createdAt"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]}}},"paths":{"/api/v1/issuers/{id}":{"get":{"description":"Get Issuer by ID","operationId":"IssuerController_getIssuer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When Issuer is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIssuerResponse"}}}},"404":{"description":"When no issuer exists with such id."}},"summary":"Get Issuer","tags":["Issuer"]}}}}
```

## Update Issuer

> Update Issuer by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"UpdateIssuerRequest":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for this issuer when presenting issued credentials.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"batchSize":{"type":"number","minimum":1,"maximum":100,"description":"How many Credentials a Wallet may request in one Credential Request. 1 disables batch issuance. Any greater value enables it at that size. Omit to keep the current value."}},"required":["name"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"UpdateIssuerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Issuer unique ID"},"name":{"type":"string","description":"Display name of the issuer."},"logo":{"description":"Logo displayed for this issuer when presenting issued credentials.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"didMethod":{"type":"string","description":"DID method associated with DID of the Issuer.","enum":["did:web"]},"status":{"type":"string","description":"Current status of the issuer.","enum":["active","deactivated"]},"batchSize":{"type":"number","description":"OID4VCI batch size for this Issuer. 1 means batch issuance is off. Any greater value is the number of Credentials a Wallet may request at once."},"createdAt":{"format":"date-time","type":"string","description":"Date and time the issuer was created."}},"required":["id","name","didMethod","status","batchSize","createdAt"]}}},"paths":{"/api/v1/issuers/{id}":{"put":{"description":"Update Issuer by ID","operationId":"IssuerController_updateIssuer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIssuerRequest"}}}},"responses":{"200":{"description":"When Issuer is updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIssuerResponse"}}}},"400":{"description":"When the issuer name already exists."},"404":{"description":"When no issuer exists with such id."}},"summary":"Update Issuer","tags":["Issuer"]}}}}
```

## Activate Issuer

> Activate Issuer by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"ActivateIssuerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Issuer unique ID"},"status":{"type":"string","description":"Status of the issuer after activation.","enum":["active","deactivated"]}},"required":["id","status"]}}},"paths":{"/api/v1/issuers/{id}/activate":{"post":{"description":"Activate Issuer by ID","operationId":"IssuerController_activateIssuer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When Issuer is activated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateIssuerResponse"}}}},"404":{"description":"When no issuer exists with such id."}},"summary":"Activate Issuer","tags":["Issuer"]}}}}
```

## Deactivate Issuer

> Deactivate Issuer by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"DeactivateIssuerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Issuer unique ID"},"status":{"type":"string","description":"Status of the issuer after deactivation.","enum":["active","deactivated"]}},"required":["id","status"]}}},"paths":{"/api/v1/issuers/{id}/deactivate":{"post":{"description":"Deactivate Issuer by ID","operationId":"IssuerController_deactivateIssuer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When Issuer is deactivated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeactivateIssuerResponse"}}}},"404":{"description":"When no issuer exists with such id."}},"summary":"Deactivate Issuer","tags":["Issuer"]}}}}
```

## Get Issuer Authorization Server config

> Get the external Authorization Server configuration of an Issuer (redacted).

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetIssuerAuthorizationServerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Authorization server configuration unique ID"},"url":{"type":"string","description":"Authorization Server issuer identifier (RFC 8414); the token `iss` must equal it"},"jwksUri":{"type":"string","description":"JWKS endpoint of the Authorization Server. JWKS is the only supported token-validation method."},"allowedAudiences":{"description":"Audiences accepted in the token `aud`. At least one must match; an empty list skips the check.","type":"array","items":{"type":"string"}},"scope":{"type":"string","description":"The single OAuth2 scope this issuer serves for every credential configuration"},"createdAt":{"format":"date-time","type":"string","description":"Date and time the authorization server configuration was created."},"updatedAt":{"format":"date-time","type":"string","description":"Date and time the authorization server configuration was last updated."}},"required":["id","url","jwksUri","allowedAudiences","scope","createdAt","updatedAt"]}}},"paths":{"/api/v1/issuers/{id}/authorization-server":{"get":{"description":"Get the external Authorization Server configuration of an Issuer (redacted).","operationId":"IssuerController_getAuthorizationServer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When the Authorization Server configuration is retrieved (secrets redacted).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetIssuerAuthorizationServerResponse"}}}},"404":{"description":"When no issuer exists with such id, or the issuer has no Authorization Server configuration."}},"summary":"Get Issuer Authorization Server config","tags":["Issuer"]}}}}
```

## Upsert Issuer Authorization Server config

> Create or replace the external Authorization Server configuration of an Issuer. Returns 201 on create, 200 on replace. Secrets are write-only.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"UpsertIssuerAuthorizationServerRequest":{"type":"object","properties":{"url":{"type":"string","description":"Authorization Server issuer identifier (RFC 8414): advertised in `authorization_servers` AND the value the token `iss` must equal."},"jwksUri":{"type":"string","description":"JWKS endpoint of the Authorization Server. JWKS is the only supported token-validation method."},"allowedAudiences":{"description":"Audiences accepted in the token `aud`. At least one must match; an empty list skips the check.","type":"array","items":{"type":"string"}},"scope":{"type":"string","description":"The OAuth2 scope registered for this issuer at the Authorization Server. An issuer serves ONE scope across every credential configuration; it is applied to the served metadata on upsert. Must be unique among issuers registered at the same Authorization Server."}},"required":["url","jwksUri","allowedAudiences","scope"]},"UpsertIssuerAuthorizationServerResponse":{"type":"object","properties":{"id":{"type":"string","description":"Authorization server configuration unique ID"},"url":{"type":"string","description":"Authorization Server issuer identifier (RFC 8414); the token `iss` must equal it"},"jwksUri":{"type":"string","description":"JWKS endpoint of the Authorization Server. JWKS is the only supported token-validation method."},"allowedAudiences":{"description":"Audiences accepted in the token `aud`. At least one must match; an empty list skips the check.","type":"array","items":{"type":"string"}},"scope":{"type":"string","description":"The single OAuth2 scope this issuer serves for every credential configuration"},"createdAt":{"format":"date-time","type":"string","description":"Date and time the authorization server configuration was created."},"updatedAt":{"format":"date-time","type":"string","description":"Date and time the authorization server configuration was last updated."}},"required":["id","url","jwksUri","allowedAudiences","scope","createdAt","updatedAt"]}}},"paths":{"/api/v1/issuers/{id}/authorization-server":{"put":{"description":"Create or replace the external Authorization Server configuration of an Issuer. Returns 201 on create, 200 on replace. Secrets are write-only.","operationId":"IssuerController_upsertAuthorizationServer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertIssuerAuthorizationServerRequest"}}}},"responses":{"200":{"description":"When an existing Authorization Server configuration is replaced.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertIssuerAuthorizationServerResponse"}}}},"201":{"description":"When the Authorization Server configuration is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertIssuerAuthorizationServerResponse"}}}},"400":{"description":"When the configuration is incoherent (method/params mismatch, invalid URLs)."},"404":{"description":"When no issuer exists with such id, or the issuer has no Authorization Server configuration."}},"summary":"Upsert Issuer Authorization Server config","tags":["Issuer"]}}}}
```

## Delete Issuer Authorization Server config

> Remove the external Authorization Server configuration — the Issuer falls back to pre-auth-only.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}}},"paths":{"/api/v1/issuers/{id}/authorization-server":{"delete":{"description":"Remove the external Authorization Server configuration — the Issuer falls back to pre-auth-only.","operationId":"IssuerController_deleteAuthorizationServer_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Issuer unique ID","schema":{"type":"string"}}],"responses":{"204":{"description":"When the Authorization Server configuration is removed (issuer falls back to pre-auth-only)."},"404":{"description":"When no issuer exists with such id, or the issuer has no Authorization Server configuration."}},"summary":"Delete Issuer Authorization Server config","tags":["Issuer"]}}}}
```

## Get VC Schemas

> Get paginated VC Schemas

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVcSchemasResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VcSchemaResponseItem"}},"pagination":{"$ref":"#/components/schemas/PaginationData"}},"required":["items","pagination"]},"VcSchemaResponseItem":{"type":"object","properties":{"id":{"type":"string","description":"VC schema unique ID"},"vcSchemaVersionId":{"type":"string","description":"Latest VC schema version unique ID"},"version":{"type":"number","description":"Version number of the VC schema."},"name":{"type":"string","description":"Display name of the VC schema."},"description":{"type":"object","description":"Human-readable description of the VC schema."},"issuers":{"description":"Identifiers of the issuers allowed to issue credentials of this schema.","type":"array","items":{"type":"string"}},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"object","description":"Background color used when rendering the credential."},"textColor":{"type":"object","description":"Text color used when rendering the credential."},"expiration":{"type":"object","description":"Number of seconds after issuance until the credential expires."},"public":{"type":"boolean","description":"Determines whether or not VC Schema can be used for VP flow by other tenants"},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"used":{"type":"boolean","description":"Determines whether the VC schema has already been used in issuance flow.","default":false},"createdAt":{"format":"date-time","type":"string","description":"Date and time the VC schema was created."},"versionCreatedAt":{"format":"date-time","type":"string","description":"Date and time this version of the VC schema was created."},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["id","vcSchemaVersionId","version","name","issuers","public","format","bindMethod","credSignAlgs","proofSignAlgs","assurance","claimDefs","used","createdAt","versionCreatedAt"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]},"PaginationData":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}},"required":["page","limit"]}}},"paths":{"/api/v1/vc-schemas":{"get":{"description":"Get paginated VC Schemas","operationId":"VcSchemaController_getVcSchemas_api/v1","parameters":[{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"default":"date","type":"string","enum":["name","date"]}},{"name":"order","required":false,"in":"query","description":"Sort direction","schema":{"default":"asc","type":"string","enum":["asc","desc"]}},{"name":"issuerId","required":false,"in":"query","description":"Issuer unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When VC Schemas are retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVcSchemasResponse"}}}}},"summary":"Get VC Schemas","tags":["Issuer"]}}}}
```

## Create VC Schema

> Create new VC Schema

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"CreateVcSchemaRequest":{"type":"object","properties":{"name":{"type":"string","description":"Display name of the VC schema."},"description":{"type":"string","description":"Human-readable description of the VC schema."},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"string","description":"Background color used when rendering the credential."},"textColor":{"type":"string","description":"Text color used when rendering the credential."},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"expiration":{"type":"number","description":"Number of seconds after issuance until the credential expires."},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"],"default":"low"},"public":{"type":"boolean","description":"Determines whether or not VC Schema can be used for VP flow by other tenants.","default":false},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"issuers":{"description":"Identifiers of the issuers allowed to issue credentials of this schema.","type":"array","items":{"type":"string"}},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["name","format","bindMethod","credSignAlgs","proofSignAlgs","claimDefs","issuers"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]},"CreateVcSchemaResponse":{"type":"object","properties":{"id":{"type":"string","description":"VC schema unique ID"},"vcSchemaVersionId":{"type":"string","description":"VC schema version unique ID"}},"required":["id","vcSchemaVersionId"]}}},"paths":{"/api/v1/vc-schemas":{"post":{"description":"Create new VC Schema","operationId":"VcSchemaController_createVcSchema_api/v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVcSchemaRequest"}}}},"responses":{"201":{"description":"When VC Schema is created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVcSchemaResponse"}}}},"400":{"description":"- When one or more Issuer IDs do not exist.\n- When one or more Issuers are inactive.\n- When the VC Schema name already exists."}},"summary":"Create VC Schema","tags":["Issuer"]}}}}
```

## Get VC Schema

> Get paginated VC Schema versions by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVcSchemaVersionsResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VcSchemaResponseItem"}},"pagination":{"$ref":"#/components/schemas/PaginationData"}},"required":["items","pagination"]},"VcSchemaResponseItem":{"type":"object","properties":{"id":{"type":"string","description":"VC schema unique ID"},"vcSchemaVersionId":{"type":"string","description":"Latest VC schema version unique ID"},"version":{"type":"number","description":"Version number of the VC schema."},"name":{"type":"string","description":"Display name of the VC schema."},"description":{"type":"object","description":"Human-readable description of the VC schema."},"issuers":{"description":"Identifiers of the issuers allowed to issue credentials of this schema.","type":"array","items":{"type":"string"}},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"object","description":"Background color used when rendering the credential."},"textColor":{"type":"object","description":"Text color used when rendering the credential."},"expiration":{"type":"object","description":"Number of seconds after issuance until the credential expires."},"public":{"type":"boolean","description":"Determines whether or not VC Schema can be used for VP flow by other tenants"},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"used":{"type":"boolean","description":"Determines whether the VC schema has already been used in issuance flow.","default":false},"createdAt":{"format":"date-time","type":"string","description":"Date and time the VC schema was created."},"versionCreatedAt":{"format":"date-time","type":"string","description":"Date and time this version of the VC schema was created."},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["id","vcSchemaVersionId","version","name","issuers","public","format","bindMethod","credSignAlgs","proofSignAlgs","assurance","claimDefs","used","createdAt","versionCreatedAt"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]},"PaginationData":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}},"required":["page","limit"]}}},"paths":{"/api/v1/vc-schemas/{uuid}/versions":{"get":{"description":"Get paginated VC Schema versions by ID","operationId":"VcSchemaController_getVcSchemaVersions_api/v1","parameters":[{"name":"uuid","required":true,"in":"path","description":"VC schema unique ID","schema":{"type":"string"}},{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}},{"name":"sortBy","required":false,"in":"query","description":"Field to sort by","schema":{"default":"date","type":"string","enum":["version","date"]}},{"name":"order","required":false,"in":"query","description":"Sort direction","schema":{"default":"asc","type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"When VC Schema Versions are retrieved successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GetVcSchemaVersionsResponse"}}}}},"404":{"description":"When no VC Schema exists with such id."}},"summary":"Get VC Schema","tags":["Issuer"]}}}}
```

## Get VC Schema - Latest Version

> Get latest version of VC Schema by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVcSchemaResponse":{"type":"object","properties":{"id":{"type":"string","description":"VC schema unique ID"},"vcSchemaVersionId":{"type":"string","description":"Latest VC schema version unique ID"},"version":{"type":"number","description":"Version number of the VC schema."},"name":{"type":"string","description":"Display name of the VC schema."},"description":{"type":"object","description":"Human-readable description of the VC schema."},"issuers":{"description":"Identifiers of the issuers allowed to issue credentials of this schema.","type":"array","items":{"type":"string"}},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"object","description":"Background color used when rendering the credential."},"textColor":{"type":"object","description":"Text color used when rendering the credential."},"expiration":{"type":"object","description":"Number of seconds after issuance until the credential expires."},"public":{"type":"boolean","description":"Determines whether or not VC Schema can be used for VP flow by other tenants"},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"used":{"type":"boolean","description":"Determines whether the VC schema has already been used in issuance flow.","default":false},"createdAt":{"format":"date-time","type":"string","description":"Date and time the VC schema was created."},"versionCreatedAt":{"format":"date-time","type":"string","description":"Date and time this version of the VC schema was created."},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["id","vcSchemaVersionId","version","name","issuers","public","format","bindMethod","credSignAlgs","proofSignAlgs","assurance","claimDefs","used","createdAt","versionCreatedAt"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]}}},"paths":{"/api/v1/vc-schemas/{uuid}":{"get":{"description":"Get latest version of VC Schema by ID","operationId":"VcSchemaController_findOne_api/v1","parameters":[{"name":"uuid","required":true,"in":"path","description":"VC schema unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When VC Schema is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVcSchemaResponse"}}}},"404":{"description":"When no VC Schema exists with such id."}},"summary":"Get VC Schema - Latest Version","tags":["Issuer"]}}}}
```

## Update VC Schema

> Update VC Schema by ID. If VC Schema current version has been used to create Credential Offers or VP Schemas, then new VC Schema Version will be created. Otherwise, current version will be updated

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"UpdateVcSchemaRequest":{"type":"object","properties":{"description":{"type":"string","description":"Human-readable description of the VC schema."},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"string","description":"Background color used when rendering the credential."},"textColor":{"type":"string","description":"Text color used when rendering the credential."},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"expiration":{"type":"number","description":"Number of seconds after issuance until the credential expires."},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"],"default":"low"},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["format","bindMethod","credSignAlgs","proofSignAlgs","claimDefs"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]},"UpdateVcSchemaResponse":{"type":"object","properties":{"id":{"type":"string","description":"VC schema unique ID"},"vcSchemaVersionId":{"type":"string","description":"Latest VC schema version unique ID"},"version":{"type":"number","description":"Version number of the VC schema."},"name":{"type":"string","description":"Display name of the VC schema."},"description":{"type":"object","description":"Human-readable description of the VC schema."},"issuers":{"description":"Identifiers of the issuers allowed to issue credentials of this schema.","type":"array","items":{"type":"string"}},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"object","description":"Background color used when rendering the credential."},"textColor":{"type":"object","description":"Text color used when rendering the credential."},"expiration":{"type":"object","description":"Number of seconds after issuance until the credential expires."},"public":{"type":"boolean","description":"Determines whether or not VC Schema can be used for VP flow by other tenants"},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"used":{"type":"boolean","description":"Determines whether the VC schema has already been used in issuance flow.","default":false},"createdAt":{"format":"date-time","type":"string","description":"Date and time the VC schema was created."},"versionCreatedAt":{"format":"date-time","type":"string","description":"Date and time this version of the VC schema was created."},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["id","vcSchemaVersionId","version","name","issuers","public","format","bindMethod","credSignAlgs","proofSignAlgs","assurance","claimDefs","used","createdAt","versionCreatedAt"]}}},"paths":{"/api/v1/vc-schemas/{uuid}":{"put":{"description":"Update VC Schema by ID. If VC Schema current version has been used to create Credential Offers or VP Schemas, then new VC Schema Version will be created. Otherwise, current version will be updated","operationId":"VcSchemaController_updateVcSchema_api/v1","parameters":[{"name":"uuid","required":true,"in":"path","description":"VC schema unique ID","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVcSchemaRequest"}}}},"responses":{"200":{"description":"When VC Schema is updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVcSchemaResponse"}}}},"404":{"description":"When no VC Schema exists with such id."}},"summary":"Update VC Schema","tags":["Issuer"]}}}}
```

## Delete VC Schema

> Delete VC Schema by ID

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}}},"paths":{"/api/v1/vc-schemas/{uuid}":{"delete":{"description":"Delete VC Schema by ID","operationId":"VcSchemaController_deleteVcSchema_api/v1","parameters":[{"name":"uuid","required":true,"in":"path","description":"VC schema unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When VC Schema is deleted successfully."},"404":{"description":"When no VC Schema exists with such id."},"409":{"description":"When VC Schema is in use."}},"summary":"Delete VC Schema","tags":["Issuer"]}}}}
```

## Get VC Schema - Specific Version

> Get VC Schema Version by ID and version

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVcSchemaVersionResponse":{"type":"object","properties":{"id":{"type":"string","description":"VC schema unique ID"},"vcSchemaVersionId":{"type":"string","description":"Latest VC schema version unique ID"},"version":{"type":"number","description":"Version number of the VC schema."},"name":{"type":"string","description":"Display name of the VC schema."},"description":{"type":"object","description":"Human-readable description of the VC schema."},"issuers":{"description":"Identifiers of the issuers allowed to issue credentials of this schema.","type":"array","items":{"type":"string"}},"logo":{"description":"Logo displayed for credentials issued under this schema.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"object","description":"Background color used when rendering the credential."},"textColor":{"type":"object","description":"Text color used when rendering the credential."},"expiration":{"type":"object","description":"Number of seconds after issuance until the credential expires."},"public":{"type":"boolean","description":"Determines whether or not VC Schema can be used for VP flow by other tenants"},"format":{"type":"string","description":"Credential format used for VC schema.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithm to sign credentials.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithm for proof.","items":{"type":"string","enum":["EdDSA","ES256"]}},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"claimDefs":{"description":"Claim definitions describing the schema of the credential.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"used":{"type":"boolean","description":"Determines whether the VC schema has already been used in issuance flow.","default":false},"createdAt":{"format":"date-time","type":"string","description":"Date and time the VC schema was created."},"versionCreatedAt":{"format":"date-time","type":"string","description":"Date and time this version of the VC schema was created."},"dedicatedDid":{"type":"string","description":"Dedicated DID type used to bind credentials of this schema.","enum":["KycDid"]}},"required":["id","vcSchemaVersionId","version","name","issuers","public","format","bindMethod","credSignAlgs","proofSignAlgs","assurance","claimDefs","used","createdAt","versionCreatedAt"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]}}},"paths":{"/api/v1/vc-schemas/{uuid}/{version}":{"get":{"description":"Get VC Schema Version by ID and version","operationId":"VcSchemaController_getVcSchemaVersion_api/v1","parameters":[{"name":"uuid","required":true,"in":"path","description":"VC schema unique ID","schema":{"type":"string"}},{"name":"version","required":true,"in":"path","description":"Version number of the VC schema.","schema":{"type":"number"}}],"responses":{"200":{"description":"When VC Schema Version is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVcSchemaVersionResponse"}}}},"404":{"description":"When no VC Schema exists with such id."}},"summary":"Get VC Schema - Specific Version","tags":["Issuer"]}}}}
```

## Get VC Schema Templates

> Get the paginated list of EQUS-curated VC Schema Templates, optionally filtered by category. A template is a starting point for creating a VC Schema, never a constraint on what may be issued.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVcSchemaTemplatesResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/VcSchemaTemplateResponseItem"}},"pagination":{"$ref":"#/components/schemas/PaginationData"}},"required":["items","pagination"]},"VcSchemaTemplateResponseItem":{"type":"object","properties":{"id":{"type":"string","description":"VC Schema Template unique ID"},"version":{"type":"number","description":"Version of the credential shape this template represents."},"category":{"type":"string","description":"Registry category grouping related templates, such as identity or AML."},"name":{"type":"string","description":"Default display name, which the operator may change before creating a VC Schema."},"description":{"type":"string","description":"Human-readable description of the credential shape."},"format":{"type":"string","description":"Credential format the template is defined for.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithms the credential may be signed with.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithms the holder proof may be signed with.","items":{"type":"string","enum":["EdDSA","ES256"]}},"claimDefs":{"description":"Claim definitions describing the credential the template produces.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"expiration":{"type":"number","description":"Number of seconds after issuance until the credential expires."},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"logo":{"description":"Logo displayed for credentials issued under this template.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"string","description":"Background color used when rendering the credential."},"textColor":{"type":"string","description":"Text color used when rendering the credential."}},"required":["id","version","category","name","description","format","bindMethod","credSignAlgs","proofSignAlgs","claimDefs"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]},"PaginationData":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}},"required":["page","limit"]}}},"paths":{"/api/v1/vc-schema-templates":{"get":{"description":"Get the paginated list of EQUS-curated VC Schema Templates, optionally filtered by category. A template is a starting point for creating a VC Schema, never a constraint on what may be issued.","operationId":"VcSchemaTemplateController_getVcSchemaTemplates_api/v1","parameters":[{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}},{"name":"category","required":false,"in":"query","description":"Registry category to filter the templates by.","schema":{"type":"string"}}],"responses":{"200":{"description":"When VC Schema Templates are retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVcSchemaTemplatesResponse"}}}},"503":{"description":"When the template capability is disabled, or the registry cannot be retrieved and no cached copy is held."}},"summary":"Get VC Schema Templates","tags":["Issuer"]}}}}
```

## Get VC Schema Template

> Get a single VC Schema Template, including its claim definitions, by its registry identifier.

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Issuer","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVcSchemaTemplateResponse":{"type":"object","properties":{"id":{"type":"string","description":"VC Schema Template unique ID"},"version":{"type":"number","description":"Version of the credential shape this template represents."},"category":{"type":"string","description":"Registry category grouping related templates, such as identity or AML."},"name":{"type":"string","description":"Default display name, which the operator may change before creating a VC Schema."},"description":{"type":"string","description":"Human-readable description of the credential shape."},"format":{"type":"string","description":"Credential format the template is defined for.","enum":["SdJwtVc"]},"bindMethod":{"type":"array","description":"Cryptographic binding methods supported for holder key binding.","items":{"type":"string","enum":["JWK"]}},"credSignAlgs":{"type":"array","description":"Algorithms the credential may be signed with.","items":{"type":"string","enum":["EdDSA","ES256"]}},"proofSignAlgs":{"type":"array","description":"Algorithms the holder proof may be signed with.","items":{"type":"string","enum":["EdDSA","ES256"]}},"claimDefs":{"description":"Claim definitions describing the credential the template produces.","type":"array","items":{"$ref":"#/components/schemas/VcSchemaClaimDefs"}},"expiration":{"type":"number","description":"Number of seconds after issuance until the credential expires."},"assurance":{"type":"string","description":"Level of assurance required for the credential subject data.","enum":["low","high"]},"logo":{"description":"Logo displayed for credentials issued under this template.","allOf":[{"$ref":"#/components/schemas/Logo"}]},"bgColor":{"type":"string","description":"Background color used when rendering the credential."},"textColor":{"type":"string","description":"Text color used when rendering the credential."}},"required":["id","version","category","name","description","format","bindMethod","credSignAlgs","proofSignAlgs","claimDefs"]},"VcSchemaClaimDefs":{"type":"object","properties":{"path":{"minItems":1,"description":"Path segments identifying the claim within the credential subject.","type":"array","items":{"type":"string","maxLength":100,"minLength":1}},"name":{"type":"string","maxLength":100,"description":"Human-readable display name of the claim."},"dataType":{"enum":["Text","Decimal","Integer","Boolean","DateTime","Date","Time","Array","Display"],"type":"string","description":"Data type of the claim value. Defaults to Text, or to Display when the claim has nested claims."},"mandatory":{"type":"boolean","default":true,"description":"Indicates whether the claim must always be included when issuing a credential."}},"required":["path","name"]},"Logo":{"type":"object","properties":{"uri":{"type":"string","format":"uri","description":"Publicly accessible URL of the logo image."},"altText":{"type":"string","description":"Alternative text describing the logo, used for accessibility."}},"required":["uri"]}}},"paths":{"/api/v1/vc-schema-templates/{id}":{"get":{"description":"Get a single VC Schema Template, including its claim definitions, by its registry identifier.","operationId":"VcSchemaTemplateController_findOne_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"VC Schema Template unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When the VC Schema Template is retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVcSchemaTemplateResponse"}}}},"404":{"description":"When no published VC Schema Template uses such id."},"503":{"description":"When the template capability is disabled, or the registry cannot be retrieved and no cached copy is held."}},"summary":"Get VC Schema Template","tags":["Issuer"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.toolkit.equs.ai/api/control-api/issuer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
