---
title: "Creates a new verification process with the given attributes"
method: POST
path: "/management/api/verifications"
tags: ["Verifier Management API"]
---

# Creates a new verification process with the given attributes

`POST /management/api/verifications`

## Request

- Base URL: `https://astra-vz-verifier-service-d.apps.p-szb-ros-shrd-npr-01.cloud.admin.ch`
- URL: `https://astra-vz-verifier-service-d.apps.p-szb-ros-shrd-npr-01.cloud.admin.ch/management/api/verifications`
- Auth: none declared

## Request body

- CreateVerificationManagement
  - `accepted_issuer_dids` string[]: List of dids from issuers whose credentials are accepted for this verification. Will be evaluated before trust anchor. If not specified and no trust anchor specified all dids are trusted.
  - `trust_anchors` TrustAnchor[]: List of trust anchor dids from the trust registry. This is an alternative to specifying accepted issuer dids, if these dids have a trust statement. All dids trusted by the trust anchor are accepted. If not specified, trust statements will not be used for this verification.
    - `did` string, required
    - `trust_registry_uri` string, required: URI of the trust registry to be used for finding the trust anchor. For the example value the trust anchor would be searched at https://trust-reg.trust-infra.swiyu-int.admin.ch/api/v1/truststatements/{trust_anchor_did}
  - `jwt_secured_authorization_request` boolean: Toggle whether the request-object is available as plain object oras jwt object signed by the verifier as additional security measure
  - `response_mode` 'direct_post' | 'direct_post.jwt': Supported response_mode as defined in OID4VP
  - `presentation_definition` PresentationDefinition
    - `id` string: A unique ID for the desired context. Can be any String, but using a UUID is recommended.
    - `name` string: (Optional) If present human-friendly string intended to constitute a distinctive designation of the Presentation Definition
    - `purpose` string: (Optional) Purpose for which the presentation definition is requested and used for
    - `format` object: (Optional) If present object with one or more properties matching the registered Claim Format.
    - `input_descriptors` InputDescriptor[], required: Input Descriptors are objects used to describe the information a Verifier requires of a Holder
      - `id` string, required: (Mandatory) unique string with no conflict with another id in the Presentation Definition
      - `name` string: (Optional) If present human-friendly name which describes the target field
      - `purpose` string: (Optional) Purpose for which the data is requested
      - `format` object: (Optional) If present object with one or more properties matching the registered Claim Format
      - `constraints` Constraint, required
        - `id` string: (Optional) unique string with no conflict with another id in the Presentation Definition
        - `name` string: (Optional) If present human-friendly name which describes the target field
        - `purpose` string: (Optional) Purpose for which the data is requested
        - `format` object: (Optional) If present object with one or more properties matching the registered Claim Format
        - `fields` Field[], required: Selection which properties are requested of the holder
          - `path` string[], required: (Mandatory) Array of one or more JSONPath string expressions
          - `id` string: (Optional) If present value MUST be a string that is unique
          - `name` string: (Optional) If present human-friendly name which describes the target field
          - `purpose` string: (Optional) If present describes purpose for which the field is requested
          - `filter` Filter
            - `type` string: (Optional) If present value MUST be 'string'
            - `const` string: (Optional) If present value MUST be a string / no pattern
  - `configuration_override` ConfigurationOverrideDto: Override for Verifier configuration to be use for this one verification
    - `external_url` string: Override for the EXTERNAL_URL - the url the wallet should call, to fetch the request object and send the verification response to.
    - `verifier_did` string: Override to be used in clientId instead of environment variable VERIFIER_DID
    - `verification_method` string: Override for DID_VERIFICATION_METHOD, the id of the public key in the did document. Most often the full did and a unique id after #
    - `key_id` string: ID of the key in the HSM
    - `key_pin` string: The pin which protects the key in the hsm, if any. Note that this only the key pin, not hsm password or partition pin.
  - `dcql_query` DcqlQueryDto: Represents the Digital Credentials Query Language (DCQL) query according to https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6 **⚠️ Not yet implemented**
    - `credentials` DcqlCredentialDto[], required: A non-empty array of Credential Queries that specify the requested Credentials. According to OpenID for Verifiable Presentations 1.0, Section 6, property 'credentials'.
      - `id` string, required: A string identifying the Credential in the response and, if provided, the constraints in credential_sets. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the Authorization Request, the same id MUST NOT be present more than once. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'id'.
      - `format` string, required: A string that specifies the format of the requested Credential. Valid Credential Format Identifier values are defined in Appendix B. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'format'.
      - `multiple` boolean: A boolean which indicates whether multiple Credentials can be returned for this Credential Query. If omitted, the default value is false. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'multiple'.
      - `meta` DcqlCredentialMetaDto, required: Represents metadata parameters within a Credential Query according to https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6.1
        - `type_values` array[]: For W3C Verifiable Credentials: A non-empty array of arrays of strings that specifies allowed values for the 'type' of the requested Verifiable Credential. According to OpenID for Verifiable Presentations 1.0, Appendix B.1.1, property 'type_values'.
          - string[]
        - `vct_values` string[]: For IETF SD-JWT VC: A non-empty array of strings that specifies allowed values for the type of the requested Verifiable Credential. According to OpenID for Verifiable Presentations 1.0, Appendix B.3.5, property 'vct_values'.
        - `doctype_value` string: For ISO mdoc: A string that specifies an allowed value for the 'doctype' of the requested Verifiable Credential. It MUST be a valid doctype identifier. According to OpenID for Verifiable Presentations 1.0, Appendix B.2.3, property 'doctype_value'.
      - `claims` DcqlClaimDto[]: An optional non-empty array of Claims Query objects, specifying individual claims. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'claims'.
        - `id` string: REQUIRED if claim_sets is present in the Credential Query; OPTIONAL otherwise. A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_), or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.
        - `path` unknown[], required: The path to the claim within the credential. According to OpenID for Verifiable Presentations 1.0, Section 6.3, property 'path'.https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#claims_path_pointer
          - unknown
        - `values` unknown[]: OPTIONAL. A non-empty array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match exactly for at least one of the elements in the array. Details of the processing rules are defined in Section 6.4.1.
          - unknown
      - `claim_sets` array[]: An optional non-empty array containing arrays of identifiers for elements in claims that specifies which combinations of claims for the Credential are requested. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'claim_sets'.
        - string[]
      - `require_cryptographic_holder_binding` boolean: A boolean indicating if cryptographic holder binding is required. If true, the Wallet MUST return a Verifiable Presentation of a Verifiable Credential. If false, a Verifiable Credential without Holder Binding MAY be returned. If omitted, the default is to require cryptographic holder binding. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'require_cryptographic_holder_binding'. Also referenced in Appendix B.1. See <a href="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6.1">Section 6.1</a> and <a href="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-w3c-verifiable-credentials">Appendix B.1</a>.
      - `trusted_authorities` DcqlTrustedAuthoritiesDto[]: An optional non-empty array of Trusted Authorities Query objects. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'trusted_authorities'.
        - `type` string, required: A string uniquely identifying the type of information about the issuer trust framework. According to OpenID for Verifiable Presentations 1.0, Section 6.1.1, property 'type'.
        - `values` string[], required: A non-empty array of strings, where each string (value) contains information specific to the used Trusted Authorities Query type that allows the identification of an issuer, a trust framework, or a federation that an issuer belongs to. According to OpenID for Verifiable Presentations 1.0, Section 6.1.1, property 'values'.
    - `credential_sets` DcqlCredentialSetDto[]: An optional non-empty array of Credential Set Queries that specifies additional constraints on which of the requested Credentials to return. According to OpenID for Verifiable Presentations 1.0, Section 6, property 'credential_sets'.
      - `options` array[], required: A non-empty array, where each value in the array is a list of Credential Query identifiers representing one set of Credentials that satisfies the use case. According to OpenID for Verifiable Presentations 1.0, 6.2 Credential Set Query, property 'options'.
        - string[]
      - `required` boolean: A boolean indicating if this credential set is required. (default is true)According to OpenID for Verifiable Presentations 1.0, 6.2. Credential Set Query, property 'required'.

## Response `200`

Verification created

- ManagementResponse
  - `id` string, uuid
  - `request_nonce` string
  - `state` 'PENDING' | 'SUCCESS' | 'FAILED'
  - `presentation_definition` PresentationDefinition
    - `id` string: A unique ID for the desired context. Can be any String, but using a UUID is recommended.
    - `name` string: (Optional) If present human-friendly string intended to constitute a distinctive designation of the Presentation Definition
    - `purpose` string: (Optional) Purpose for which the presentation definition is requested and used for
    - `format` object: (Optional) If present object with one or more properties matching the registered Claim Format.
    - `input_descriptors` InputDescriptor[], required: Input Descriptors are objects used to describe the information a Verifier requires of a Holder
      - `id` string, required: (Mandatory) unique string with no conflict with another id in the Presentation Definition
      - `name` string: (Optional) If present human-friendly name which describes the target field
      - `purpose` string: (Optional) Purpose for which the data is requested
      - `format` object: (Optional) If present object with one or more properties matching the registered Claim Format
      - `constraints` Constraint, required
        - `id` string: (Optional) unique string with no conflict with another id in the Presentation Definition
        - `name` string: (Optional) If present human-friendly name which describes the target field
        - `purpose` string: (Optional) Purpose for which the data is requested
        - `format` object: (Optional) If present object with one or more properties matching the registered Claim Format
        - `fields` Field[], required: Selection which properties are requested of the holder
          - `path` string[], required: (Mandatory) Array of one or more JSONPath string expressions
          - `id` string: (Optional) If present value MUST be a string that is unique
          - `name` string: (Optional) If present human-friendly name which describes the target field
          - `purpose` string: (Optional) If present describes purpose for which the field is requested
          - `filter` Filter
            - `type` string: (Optional) If present value MUST be 'string'
            - `const` string: (Optional) If present value MUST be a string / no pattern
  - `dcql_query` DcqlQueryDto: Represents the Digital Credentials Query Language (DCQL) query according to https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6 **⚠️ Not yet implemented**
    - `credentials` DcqlCredentialDto[], required: A non-empty array of Credential Queries that specify the requested Credentials. According to OpenID for Verifiable Presentations 1.0, Section 6, property 'credentials'.
      - `id` string, required: A string identifying the Credential in the response and, if provided, the constraints in credential_sets. The value MUST be a non-empty string consisting of alphanumeric, underscore (_) or hyphen (-) characters. Within the Authorization Request, the same id MUST NOT be present more than once. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'id'.
      - `format` string, required: A string that specifies the format of the requested Credential. Valid Credential Format Identifier values are defined in Appendix B. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'format'.
      - `multiple` boolean: A boolean which indicates whether multiple Credentials can be returned for this Credential Query. If omitted, the default value is false. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'multiple'.
      - `meta` DcqlCredentialMetaDto, required: Represents metadata parameters within a Credential Query according to https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6.1
        - `type_values` array[]: For W3C Verifiable Credentials: A non-empty array of arrays of strings that specifies allowed values for the 'type' of the requested Verifiable Credential. According to OpenID for Verifiable Presentations 1.0, Appendix B.1.1, property 'type_values'.
          - string[]
        - `vct_values` string[]: For IETF SD-JWT VC: A non-empty array of strings that specifies allowed values for the type of the requested Verifiable Credential. According to OpenID for Verifiable Presentations 1.0, Appendix B.3.5, property 'vct_values'.
        - `doctype_value` string: For ISO mdoc: A string that specifies an allowed value for the 'doctype' of the requested Verifiable Credential. It MUST be a valid doctype identifier. According to OpenID for Verifiable Presentations 1.0, Appendix B.2.3, property 'doctype_value'.
      - `claims` DcqlClaimDto[]: An optional non-empty array of Claims Query objects, specifying individual claims. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'claims'.
        - `id` string: REQUIRED if claim_sets is present in the Credential Query; OPTIONAL otherwise. A string identifying the particular claim. The value MUST be a non-empty string consisting of alphanumeric, underscore (_), or hyphen (-) characters. Within the particular claims array, the same id MUST NOT be present more than once.
        - `path` unknown[], required: The path to the claim within the credential. According to OpenID for Verifiable Presentations 1.0, Section 6.3, property 'path'.https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#claims_path_pointer
          - unknown
        - `values` unknown[]: OPTIONAL. A non-empty array of strings, integers or boolean values that specifies the expected values of the claim. If the values property is present, the Wallet SHOULD return the claim only if the type and value of the claim both match exactly for at least one of the elements in the array. Details of the processing rules are defined in Section 6.4.1.
          - unknown
      - `claim_sets` array[]: An optional non-empty array containing arrays of identifiers for elements in claims that specifies which combinations of claims for the Credential are requested. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'claim_sets'.
        - string[]
      - `require_cryptographic_holder_binding` boolean: A boolean indicating if cryptographic holder binding is required. If true, the Wallet MUST return a Verifiable Presentation of a Verifiable Credential. If false, a Verifiable Credential without Holder Binding MAY be returned. If omitted, the default is to require cryptographic holder binding. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'require_cryptographic_holder_binding'. Also referenced in Appendix B.1. See <a href="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#section-6.1">Section 6.1</a> and <a href="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-w3c-verifiable-credentials">Appendix B.1</a>.
      - `trusted_authorities` DcqlTrustedAuthoritiesDto[]: An optional non-empty array of Trusted Authorities Query objects. According to OpenID for Verifiable Presentations 1.0, Section 6.1, property 'trusted_authorities'.
        - `type` string, required: A string uniquely identifying the type of information about the issuer trust framework. According to OpenID for Verifiable Presentations 1.0, Section 6.1.1, property 'type'.
        - `values` string[], required: A non-empty array of strings, where each string (value) contains information specific to the used Trusted Authorities Query type that allows the identification of an issuer, a trust framework, or a federation that an issuer belongs to. According to OpenID for Verifiable Presentations 1.0, Section 6.1.1, property 'values'.
    - `credential_sets` DcqlCredentialSetDto[]: An optional non-empty array of Credential Set Queries that specifies additional constraints on which of the requested Credentials to return. According to OpenID for Verifiable Presentations 1.0, Section 6, property 'credential_sets'.
      - `options` array[], required: A non-empty array, where each value in the array is a list of Credential Query identifiers representing one set of Credentials that satisfies the use case. According to OpenID for Verifiable Presentations 1.0, 6.2 Credential Set Query, property 'options'.
        - string[]
      - `required` boolean: A boolean indicating if this credential set is required. (default is true)According to OpenID for Verifiable Presentations 1.0, 6.2. Credential Set Query, property 'required'.
  - `wallet_response` ResponseData
    - `error_code` 'credential_invalid' | 'jwt_expired' | 'invalid_format' | 'credential_expired' | 'missing_nonce' | 'unsupported_format' | 'credential_revoked' | 'credential_suspended' | 'holder_binding_mismatch' | 'credential_missing_data' | 'unresolvable_status_list' | 'public_key_of_issuer_unresolvable' | 'client_rejected' | 'issuer_not_accepted' | 'authorization_request_object_not_found' | 'authorization_request_missing_error_param' | 'verification_process_closed' | 'invalid_presentation_definition' | 'malformed_credential' | 'presentation_submission_constraint_violated' | 'invalid_presentation_submission' | 'invalid_scope' | 'invalid_request' | 'invalid_client' | 'vp_formats_not_supported' | 'invalid_presentation_definition_uri' | 'invalid_presentation_definition_reference' | 'jwt_premature' | 'invalid_token_status_list': | Value | Description | |---------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------| | credential_invalid | The credential presented during validation was deemed invalid.<br>This is a general purpose code if none of the other codes apply. | | jwt_expired | During the verification process an expired jwt was used. | | jwt_premature | During the verification process a not yet valid jwt was used. | | missing_nonce | During the verification process a nonce was missing. | | invalid_format | The data send in the verification process used an invalid format. | | credential_expired | The credential presented during validation was expired. | | unsupported_format | The credential presented during validation was in an unsupported format. | | credential_revoked | The credential presented during validation was revoked. | | credential_suspended | The credential presented during validation was suspended. | | credential_missing_data | The credential presented during validation does not contain the required fields. | | unresolvable_status_list | The credential presented during validation contains a status list which cannot be reached during validation. | | public_key_of_issuer_unresolvable | The credential presented during validation was issued by an entity that does not provide the public key at the time of verification. | | issuer_not_accepted | The credential presented during validation was issued by an entity that is not in the list of allowed issuers. | | malformed_credential | The credential presented during validation isnt valid according to the format specification in question | | holder_binding_mismatch | The holder has provided invalid proof that the credential is under their control. | | client_rejected | The holder rejected the verification request. | | issuer_not_accepted | The issuer of the vc was not in the allow-list given in the verificaiton request. | | authorization_request_missing_error_param | During the verification process a required parameter (eg.: vp_token, presentation) was not provided in the request. | | authorization_request_object_not_found | The requested verification process cannot be found. | | verification_process_closed | The requested verification process is already closed. | | invalid_presentation_definition | The provided credential presentation was invalid. | | presentation_submission_constraint_violated | The presentation submission provided violated at least one constraint defined in the presentation definition | | invalid_presentation_submission | The presentation submission couldn't be deserialized and is therefore invalid | | invalid_scope | Requested scope value is invalid, unknown or malformed | | invalid_request | Various issues with the request | | invalid_client | client_metadata parameter exists, but the Wallet recognizes Client Identifier and knows metadata associated with it, Verifier's pre-registered metadata has been found based on the Client Identifier, but client_metadata parameter is also present | | vp_formats_not_supported | The Wallet doesn't support any of the formats requested by the Verifier | | invalid_presentation_definition_uri | Presentation Definition URI can't be reached | | invalid_presentation_definition_reference | Presentation Definition URI can be reached, but the presentation_definition cannot be found there |
    - `error_description` string
    - `credential_subject_data` object
  - `verification_url` string
  - `verification_deeplink` string

## Other responses

- `400`: Bad Request. The request body is not valid

## Changes

- **2026-04-17** `07f55530c3bc`: 1 warning
  - added the new `invalid_token_status_list` enum value to the `wallet_response/error_code` response property for the response status `200`
- **2026-04-17** `09f9d38e5544`: 15 breaking, 9 info
  - request property `response_mode` was restricted to a list of enum values
  - the `presentation_definition/format/additionalProperties/kb-jwt_alg_values` request property's minItems was increased to `1`
  - the `presentation_definition/format/additionalProperties/sd-jwt_alg_values` request property's minItems was increased to `1`
  - the `presentation_definition/input_descriptors/items/constraints/fields` request property's minItems was increased to `1`
  - …20 more

[Operation history](https://skmtc.dev/swiyu/apis/verifier-api-2/changes/management/api/verifications/post.md)

---

[API](https://skmtc.dev/swiyu/apis/verifier-api-2.md) - [All operations](https://skmtc.dev/swiyu/apis/verifier-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/swiyu/apis/verifier-api-2/revisions/07f55530c3bc?raw)
