---
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 body

- CreateVerificationManagement
  - `accepted_issuer_dids` string[], nullable — 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[], nullable — 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
  - `configuration_override` ConfigurationOverrideDto — Override for Verifier configuration to be use for this one verification
    - `external_url` string, nullable — 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, nullable — Override to be used in clientId instead of environment variable VERIFIER_DID
    - `verification_method` string, nullable — 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, nullable — ID of the key in the HSM
    - `key_pin` string, nullable — The pin which protects the key in the hsm, if any. Note that this only the key pin, not hsm password or partition pin.
    - `client_metadata` object, nullable — Optional overrides for individual fields of the client_metadata embedded in the signed authorization request JWT. Keys follow the OID4VP client_metadata naming conventions, including locale-tagged variants (e.g. "client_name#en", "client_name#de-CH", "logo_uri"). Values present here take precedence over the values read from the configured client-metadata-file.
  - `dcql_query` DcqlQueryDto, required — 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'.
      - `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[], nullable — 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
      - `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>.
    - `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'.
  - `verification_purpose` VerificationPurpose
    - `scope` string, required — Unique scope identifier for this specific query, e.g. 'com.example.age_verification'
    - `purpose_name` object, required — Localized purpose names (max 50 chars per value). Key is language tag (e.g. 'de-ch'). Must contain a 'default' key with a non-blank value.
    - `purpose_description` object, required — Localized purpose descriptions (max 500 chars per value). Key is language tag (e.g. 'de-ch'). Must contain a 'default' key with a non-blank value.

## Response `200`

Verification created

## Other responses

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

---

[API](https://skmtc.net/swiyu/apis/verifier-api.md) · [All operations](https://skmtc.net/swiyu/apis/verifier-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/swiyu/verifier-api/versions/7217acac713d/schema)
