{
  "openapi": "3.0.4",
  "info": {
    "title": "Trinsic API",
    "version": "v1",
    "x-swaggerexclude": "External"
  },
  "servers": [
    {
      "url": "https://api.trinsic.id",
      "description": "Production server"
    },
    {
      "url": "https://api.eu.trinsic.id",
      "description": "Production server (EU data residency preview)"
    }
  ],
  "paths": {
    "/api/v1/providers": {
      "get": {
        "tags": [
          "Providers"
        ],
        "summary": "List Providers",
        "description": "List all identity providers available to your Organization, including their license status.",
        "operationId": "ListProviders",
        "parameters": [
          {
            "name": "licensed",
            "in": "query",
            "description": "Filter by license status. If not specified, returns all providers.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ListProvidersResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListProvidersResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListProvidersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/providers/{providerId}": {
      "get": {
        "tags": [
          "Providers"
        ],
        "summary": "Get Provider",
        "description": "Get a single identity provider by ID, including its license status.",
        "operationId": "GetProvider",
        "parameters": [
          {
            "name": "providerId",
            "in": "path",
            "description": "The ID of the provider to retrieve",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetProviderResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetProviderResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetProviderResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/valpha/redirect-uris": {
      "get": {
        "tags": [
          "RedirectUris"
        ],
        "summary": "List Redirect URIs",
        "description": "List registered Redirect URIs for the authenticated environment",
        "operationId": "List",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Number of pages of uris to return.",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the list to be returned. Accepted range from 1 to 100",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ListRedirectUrisResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListRedirectUrisResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListRedirectUrisResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "RedirectUris"
        ],
        "summary": "Add Redirect URI",
        "description": "Add a new redirect uri to the authenticated environment.",
        "operationId": "Add",
        "requestBody": {
          "description": "Request for uri to add to the environment. Must be absolute, not relative. Wildcard \"*\" accepted.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AddRedirectUriRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AddRedirectUriRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AddRedirectUriRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AddRedirectUriResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddRedirectUriResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddRedirectUriResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/valpha/redirect-uris/{id}": {
      "delete": {
        "tags": [
          "RedirectUris"
        ],
        "summary": "Delete Redirect URI",
        "description": "Delete a redirect uri from the environment.",
        "operationId": "Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the redirect uri to delete.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}/attachments/{attachmentId}/get": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get Attachment",
        "description": "Fetch an Attachment's contents.",
        "operationId": "GetAttachment",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "description": "The ID of the Session to fetch the Attachment from",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The ID of the Attachment to fetch",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GetAttachmentRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GetAttachmentRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GetAttachmentRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/verification-profiles/{verificationProfileId}/sessions": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List Sessions",
        "description": "List Sessions created for a specific Verification Profile",
        "operationId": "ListSessions",
        "parameters": [
          {
            "name": "verificationProfileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "OrderBy",
            "in": "query",
            "description": "The field by which sessions should be ordered",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SessionOrdering"
                }
              ],
              "example": "Created",
              "x-enumDescriptions": {
                "Created": "Order sessions by their creation date",
                "Updated": "Order sessions by the date their state last changed",
                "State": "Order sessions by their state"
              }
            },
            "example": "Created"
          },
          {
            "name": "OrderDirection",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/OrderDirection"
                }
              ],
              "example": "Descending",
              "x-enumDescriptions": {
                "Ascending": "",
                "Descending": ""
              }
            },
            "example": "Descending"
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "The number of items to return per page -- must be between `1` and `50`",
            "schema": {
              "maximum": 50,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 50
            },
            "example": 50
          },
          {
            "name": "Page",
            "in": "query",
            "description": "The page number to return -- starts at `1`",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "example": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ListSessionsResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSessionsResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSessionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get Session",
        "description": "Get a Session by its ID",
        "operationId": "GetSession",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}/results": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get Session Results",
        "operationId": "GetSessionResult",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GetSessionResultRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GetSessionResultRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GetSessionResultRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionResultResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionResultResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSessionResultResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}/cancel": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Cancel Session",
        "description": "Cancel a Session by its ID",
        "operationId": "CancelSession",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CancelSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CancelSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CancelSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}/redact": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Redact Session",
        "description": "Redact a Session, removing all identity data from Trinsic's servers.\nEvery verification profile has a redaction period that dictates how long we will hold on to your users' PII data. Once a session falls outside the redaction cutoff date, all PII will automatically be removed from that session.\nYou can utilize this endpoint to redact a session immediately.",
        "operationId": "RedactSession",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/provider/direct": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Create Direct Provider Session",
        "description": "Verify a user's identity with a specific provider, handling additional user interaction in your own UI. \n\nSignal which kinds of user interactions your UI can handle using the `Capabilities` field. \n\nIf `FallbackToHostedUi` is `true`, Trinsic's hosted UI will automatically be invoked to handle any capabilities you do not support.",
        "operationId": "CreateDirectProviderSession",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateDirectProviderSessionRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateDirectProviderSessionRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateDirectProviderSessionRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDirectProviderSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDirectProviderSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDirectProviderSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}/step/refresh": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Refresh Step Content",
        "description": "Refreshes the content of a Step for a Direct Provider Session.",
        "operationId": "RefreshStepContent",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RefreshStepContentRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RefreshStepContentRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RefreshStepContentRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RefreshStepContentResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefreshStepContentResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RefreshStepContentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/{sessionId}/native-challenge/submit": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Submit Native Challenge Response",
        "description": "Submits the response from a Native Challenge (e.g., mDL exchange via DC API) and processes the results.",
        "operationId": "SubmitNativeChallengeResponse",
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SubmitNativeChallengeResponseRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SubmitNativeChallengeResponseRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SubmitNativeChallengeResponseRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitNativeChallengeResponseResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitNativeChallengeResponseResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitNativeChallengeResponseResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/provider/hosted": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Create Hosted Provider Session",
        "description": "Verify a user's identity with a specific provider, using Trinsic-hosted UI for providers which require additional user interaction.",
        "operationId": "CreateHostedProviderSession",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateHostedProviderSessionRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateHostedProviderSessionRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateHostedProviderSessionRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateHostedProviderSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateHostedProviderSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateHostedProviderSessionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sessions/providers/recommend": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Recommend Providers",
        "description": "Recommend providers for a specific user session.\nYou can filter based on health (default=online) and specify country and subdivision information.\nTrinsic will use the phone number and IP address, if provided, to deduce the country and subdivision of the user and use that info for filtering the providers.",
        "operationId": "RecommendProviders",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RecommendProvidersRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RecommendProvidersRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RecommendProvidersRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendProvidersResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendProvidersResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendProvidersResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/valpha/verification-profiles": {
      "get": {
        "tags": [
          "VerificationProfiles"
        ],
        "summary": "List Verification Profiles",
        "description": "List the verification profiles for the current organization and environment.",
        "operationId": "ListVerificationProfiles",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "",
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Size of the list to be returned. Accepted range from 1 to 100",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerificationProfilesResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerificationProfilesResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVerificationProfilesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "VerificationProfiles"
        ],
        "summary": "Create Verification Profile",
        "description": "Creates a new verification profile within your organization.",
        "operationId": "CreateVerificationProfile",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "Alias",
                  "BrandName"
                ],
                "type": "object",
                "properties": {
                  "Alias": {
                    "maxLength": 255,
                    "minLength": 1,
                    "type": "string",
                    "description": "An alias of the verification profile shown to developers and administrators."
                  },
                  "BrandName": {
                    "maxLength": 2500,
                    "minLength": 1,
                    "type": "string",
                    "description": "The brand name of the verification profile shown to end-users."
                  },
                  "PrimaryColor": {
                    "maxLength": 7,
                    "minLength": 7,
                    "type": "string",
                    "description": "The primary color of the verification profile. Must be a 6-character hex string prefixed with a '#' character.\nExample: #000000"
                  },
                  "ExternalId": {
                    "maxLength": 255,
                    "type": "string",
                    "description": "A customer-defined external ID for this verification profile.\nMust be unique within your organization and be at most 255 characters long."
                  },
                  "Providers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The list of providers you'd like to select for this profile. We will not currently enable any providers."
                  },
                  "Logo": {
                    "type": "string",
                    "description": "The logo of the verification profile.",
                    "format": "binary"
                  },
                  "RedactionPeriod": {
                    "type": "string",
                    "description": "The redaction period for verification data.\nMust be between 0 and 31 days, and at least 15 minutes greater than the session expiration.\nIf not specified, defaults to 31 days.",
                    "format": "date-span"
                  },
                  "SessionExpiration": {
                    "type": "string",
                    "description": "The session expiration for verification sessions created with this profile.\nMust be between 15 minutes and 24 hours. Defaults to 1 hour if not specified.",
                    "format": "date-span"
                  },
                  "IsProductionUsage": {
                    "type": "boolean",
                    "description": "Whether this profile is for production usage. Only applicable for Live environment profiles.\nIf not specified for Live profiles, defaults to false (Demo)."
                  }
                }
              },
              "encoding": {
                "Alias": {
                  "style": "form"
                },
                "BrandName": {
                  "style": "form"
                },
                "PrimaryColor": {
                  "style": "form"
                },
                "ExternalId": {
                  "style": "form"
                },
                "Providers": {
                  "style": "form"
                },
                "Logo": {
                  "style": "form"
                },
                "RedactionPeriod": {
                  "style": "form"
                },
                "SessionExpiration": {
                  "style": "form"
                },
                "IsProductionUsage": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationProfileResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationProfileResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVerificationProfileResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/valpha/verification-profiles/{id}": {
      "get": {
        "tags": [
          "VerificationProfiles"
        ],
        "summary": "Get Verification Profile",
        "description": "Gets a specific verification profile by ID.",
        "operationId": "GetVerificationProfileById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProfileResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProfileResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProfileResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/valpha/verification-profiles/external-ids/{externalId}": {
      "get": {
        "tags": [
          "VerificationProfiles"
        ],
        "summary": "Get Verification Profile by External ID",
        "description": "Gets a specific verification profile by its customer-defined external ID.",
        "operationId": "GetVerificationProfileByExternalId",
        "parameters": [
          {
            "name": "externalId",
            "in": "path",
            "description": "Customer-defined external ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProfileResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProfileResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationProfileResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "detail": "This feature is not supported for your configuration",
                  "status": 400,
                  "traceId": "00-3fcbc632c5caaca825849d495c62d7b0-09a3500f89acbbcc-00",
                  "instance": "/api/v1/sample-request-path",
                  "errors": {
                    "PropertyName": [
                      "Specific error description for property"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Forbidden",
                  "status": 403,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                  "title": "Internal Server Error",
                  "status": 500,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AadhaarAddress": {
        "type": "object",
        "properties": {
          "careOf": {
            "type": "string",
            "description": "The address's care-of field. This indicates that mail should be delivered to an individual through another person or entity who is a known resident at the address.",
            "nullable": true,
            "example": "S/O: Priya Kumari"
          },
          "country": {
            "type": "string",
            "description": "The address's country.\n            \nThis is usually formatted as an alpha-2 country code, but localized output may instead contain the country name as written on the document.",
            "nullable": true,
            "example": "IN"
          },
          "district": {
            "type": "string",
            "description": "The address's district.",
            "nullable": true,
            "example": "Ludhiana"
          },
          "house": {
            "type": "string",
            "description": "The identifier for the house address.",
            "nullable": true,
            "example": "12"
          },
          "location": {
            "type": "string",
            "description": "The location or locality that helps identify where the address is within a city.",
            "nullable": true,
            "example": "Rajguru Nagar"
          },
          "landmark": {
            "type": "string",
            "description": "A landmark near the address.",
            "nullable": true,
            "example": "Near City Mall"
          },
          "postalCode": {
            "type": "string",
            "description": "The address's postal code.",
            "nullable": true,
            "example": "226010"
          },
          "postOffice": {
            "type": "string",
            "description": "The address's post office.",
            "nullable": true,
            "example": "Rajguru Nagar"
          },
          "state": {
            "type": "string",
            "description": "The address's state or union territory.",
            "nullable": true,
            "example": "Jammu and Kashmir"
          },
          "street": {
            "type": "string",
            "description": "The address's street name.",
            "nullable": true,
            "example": "MG Road"
          },
          "subdistrict": {
            "type": "string",
            "description": "The address's subdistrict.",
            "nullable": true,
            "example": "Ludhiana"
          },
          "villageTownCity": {
            "type": "string",
            "description": "The address's village/town/city.",
            "nullable": true,
            "example": "Malota"
          }
        },
        "description": "The structured Indian address."
      },
      "AadhaarClaims": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The full name.",
            "nullable": true,
            "example": "Rajesh Kumar"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth.\n            \nThe format is YYYY-MM-DD.",
            "format": "date",
            "nullable": true,
            "example": "1943-08-15"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual.\n            \nPossible values:\n- M (Male)\n- F (Female)\n- T (Transgender)",
            "nullable": true,
            "example": "M"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarAddress"
              }
            ],
            "description": "The structured Indian address.",
            "nullable": true,
            "example": {
              "careOf": "S/O: Priya Kumari",
              "country": "IN",
              "district": "Ahmedabad",
              "house": "12",
              "location": "Navrangpura",
              "landmark": "Near City Mall",
              "postalCode": "226010",
              "postOffice": "Navrangpura",
              "state": "Gujarat",
              "street": "Mahatma Gandhi Road",
              "subdistrict": "Vejalpur",
              "villageTownCity": "Ahmedabad"
            }
          }
        }
      },
      "AadhaarInput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The user's full name",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          }
        }
      },
      "AadhaarLanguage": {
        "type": "object",
        "properties": {
          "languageCode": {
            "type": "string",
            "description": "The language code for the localized claims.",
            "nullable": true,
            "example": "05"
          },
          "languageName": {
            "type": "string",
            "description": "The language name for the localized claims.\n            \nThis is Trinsic mapping the language from the code. The mapping comes from the spec, however, the code may not always reflect with the actual language used in the localized claims.\nUse this as a reference.\nPossible values:\n- Assamese (01)\n- Bengali (02)\n- Gujarati (05)\n- Hindi (06)\n- Kannada (07)\n- Malayalam (11)\n- Manipuri (12)\n- Marathi (13)\n- Oriya (15)\n- Punjabi (16)\n- Tamil (20)\n- Telugu (21)\n- Urdu (22)",
            "nullable": true,
            "readOnly": true,
            "example": "Gujarati"
          }
        },
        "description": "The language used for the localized claims."
      },
      "AadhaarLocalizedClaims": {
        "type": "object",
        "properties": {
          "language": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarLanguage"
              }
            ],
            "description": "The language code for the localized claims.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The full name.",
            "nullable": true,
            "example": "રાજેશ કુમાર"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarAddress"
              }
            ],
            "description": "The structured address.",
            "nullable": true,
            "example": {
              "careOf": "પિતા: પ્રિયા કુમારી",
              "country": "ભારત",
              "district": "અમદાવાદ",
              "house": "12",
              "location": "નવરંગપુરા",
              "landmark": "સિટી મોલ પાસે",
              "postalCode": "226010",
              "postOffice": "નવરંગપુરા",
              "state": "ગુજરાત",
              "street": "મહાત્મા ગાંધી રોડ",
              "subdistrict": "વેજલપુર",
              "villageTownCity": "અમદાવાદ"
            }
          }
        }
      },
      "AddRedirectUriRequest": {
        "required": [
          "uri"
        ],
        "type": "object",
        "properties": {
          "uri": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "AddRedirectUriResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          }
        }
      },
      "Address": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "nullable": true
          },
          "line2": {
            "type": "string",
            "nullable": true
          },
          "line3": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "subdivision": {
            "type": "string",
            "description": "The subdivision code of the address.\n            \nSubdivision refers to a state, province, or other similar division of a country.\nExamples include \"CA\" for California, \"QC\" for Québec, \"MD\" for Madrid, or \"NSW\" for New South Wales.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "fullAddress": {
            "type": "string",
            "description": "The full address as a single string",
            "nullable": true
          }
        },
        "description": "Address information for an individual"
      },
      "AgeOverOutput": {
        "type": "object",
        "properties": {
          "age": {
            "type": "integer",
            "description": "The age threshold from the `age over X` claim.",
            "format": "int32",
            "nullable": true,
            "example": 21
          },
          "isOver": {
            "type": "boolean",
            "description": "Whether the individual is at least the given age.",
            "nullable": true,
            "example": true
          }
        },
        "description": "Processed result of an \"age over X\" claim present in a credential."
      },
      "AlaskaMobileIdProviderOutput": {
        "type": "object",
        "properties": {
          "mobileDriversLicense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135MobileDriversLicenseCredential"
              }
            ],
            "description": "A standard 18013-5 Mobile Driver's License credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 mDL exchange performed through Alaska Mobile ID.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `usa-alaska-mobile-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "AppleWalletDigitalIdBirthDate": {
        "type": "object",
        "properties": {
          "dateOfBirth": {
            "type": "string",
            "description": "The encoded date of birth.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "approximateMask": {
            "type": "string",
            "description": "An 8-character mask of `1`s and `0`s, where a `1` indicates that the corresponding digit in the\nbirth date (formatted as YYYYMMDD) is uncertain or unknown.\n            \nFor example, a mask of \"00000011\" indicates that the day-of-month on which the individual was born\nis not certain.",
            "nullable": true,
            "example": "00000011"
          }
        },
        "description": "A date of birth field as encoded in an Apple Wallet Digital ID credential, possibly with\nan \"approximate mask\" indicating uncertain digits."
      },
      "AppleWalletDigitalIdCredential": {
        "type": "object",
        "properties": {
          "givenNameUnicode": {
            "type": "string",
            "description": "First name(s), other name(s), or secondary identifier of the individual.\n            \nThis field uses the full UTF-8 character set and can represent any name.",
            "nullable": true,
            "example": "JOHN"
          },
          "givenNameLatin1": {
            "type": "string",
            "description": "First name(s), other name(s), or secondary identifier of the individual.\n            \nThis field uses the Latin-1 character set and is limited to names represented by the English alphabet.\nrepresented using the English alphabet.",
            "nullable": true,
            "example": "JOHN"
          },
          "familyNameUnicode": {
            "type": "string",
            "description": "Last name, surname, or primary identifier of the individual.\n            \nThis field uses the full UTF-8 character set and can represent any name.",
            "nullable": true,
            "example": "DOE"
          },
          "familyNameLatin1": {
            "type": "string",
            "description": "Last name, surname, or primary identifier of the individual.\n            \nThis field uses only the Latin-1 character set and is largely limited to names which can be\nrepresented using the English alphabet.",
            "nullable": true,
            "example": "DOE"
          },
          "sex": {
            "type": "integer",
            "description": "The individual's sex as an ISO/IEC 5218 code.\n            \nPossible values:\n- 0: Unknown\n- 1: Male\n- 2: Female\n- 9: Not Applicable",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppleWalletDigitalIdBirthDate"
              }
            ],
            "description": "The date of birth of the individual, possibly with an \"approximate mask\" indicating uncertain digits.",
            "nullable": true,
            "example": {
              "dateOfBirth": "1990-01-31"
            }
          },
          "documentNumber": {
            "type": "string",
            "description": "The document number of the underlying passport used to create the Digital ID.",
            "nullable": true,
            "example": "P1234567"
          },
          "issuingAuthorityUnicode": {
            "type": "string",
            "description": "Name or identifier of the issuing authority of the credential, using the full UTF-8 character set.\n            \nThis field's contents are arbitrary; it has no guaranteed format.",
            "nullable": true,
            "example": "US Department of State"
          },
          "issuingSubdivision": {
            "type": "string",
            "description": "ISO 3166-2 country-subdivision code for the jurisdiction that issued the credential.",
            "nullable": true,
            "example": "US-CA"
          },
          "issuingCountry": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the issuing authority's country or territory.",
            "nullable": true,
            "example": "US"
          },
          "issueDate": {
            "type": "string",
            "description": "Date when the underlying passport used to create the Digital ID was issued.",
            "format": "date",
            "nullable": true,
            "example": "2018-06-15"
          },
          "expiryDate": {
            "type": "string",
            "description": "Date when the underlying passport used to create the Digital ID expires.",
            "format": "date",
            "nullable": true,
            "example": "2028-06-15"
          },
          "ageInYears": {
            "type": "integer",
            "description": "The age of the individual, as of the issuance date of the credential.",
            "format": "int32",
            "nullable": true,
            "example": 35
          },
          "ageOver": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgeOverOutput"
            },
            "description": "Processed age-over claims returned by the credential.",
            "nullable": true,
            "example": [
              {
                "age": 18,
                "isOver": true
              },
              {
                "age": 21,
                "isOver": true
              }
            ]
          },
          "residentAddressUnicode": {
            "type": "string",
            "description": "The permanent address of the individual, using the full UTF-8 character set.\n            \nThis is only present if the underlying passport contained an address, which is uncommon.",
            "nullable": true,
            "example": "1 INFINITE LOOP"
          },
          "residentCityUnicode": {
            "type": "string",
            "description": "City of the individual's permanent address, using the full UTF-8 character set.\n            \nThis is only present if the underlying passport contained an address, which is uncommon.",
            "nullable": true,
            "example": "CUPERTINO"
          },
          "residentCityLatin1": {
            "type": "string",
            "description": "City of the individual's permanent address, using the Latin-1 character set.\n            \nThis is only present if the underlying passport contained an address, which is uncommon.",
            "nullable": true,
            "example": "CUPERTINO"
          },
          "residentPostalCode": {
            "type": "string",
            "description": "Postal code of the individual's permanent address.\n            \nThis is only present if the underlying passport contained an address, which is uncommon.",
            "nullable": true,
            "example": "95014"
          },
          "residentCountry": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the individual's permanent address.\n            \nThis is only present if the underlying passport contained an address, which is uncommon.",
            "nullable": true,
            "example": "US"
          }
        },
        "description": "An Apple Wallet Digital ID credential, with document type `org.iso.23220.photoid.1`.\n            \nThis is a passport-derived digital credential issued by Apple."
      },
      "AppleWalletInput": {
        "type": "object",
        "properties": {
          "exchangeMechanism": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlExchangeMechanism"
              }
            ],
            "description": "The exchange mechanism to use for this Apple Wallet verification.\n            \nUse `DigitalCredentialsApi` for Digital Credentials API on web, or `NativeApp` for a native iOS app.",
            "nullable": true
          },
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "**Preview feature: not suitable for production use cases**\n            \nThe raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.\n            \nNOTE: For Apple Wallet, this cannot (yet) be used with the `NativeApp` (in-app) exchange mechanism. Only the `DigitalCredentialsApi` (web) exchange mechanism supports this input.",
            "nullable": true
          }
        }
      },
      "AppleWalletProviderOutput": {
        "type": "object",
        "properties": {
          "mobileDriversLicense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135MobileDriversLicenseCredential"
              }
            ],
            "description": "A standard 18013-5 Mobile Driver's License credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "digitalId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppleWalletDigitalIdCredential"
              }
            ],
            "description": "An Apple Wallet Digital ID credential (`org.iso.23220.photoid.1`), retrieved from the individual's wallet.",
            "nullable": true
          },
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the mDL exchange performed through Apple Wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `apple-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "AttachmentInfo": {
        "required": [
          "contentType",
          "id",
          "sizeBytes",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the Attachment.\n            \nPass this to the `GetAttachment` endpoint, along with the Session ID and the `resultsAccessKey` for said Session.",
            "format": "uuid"
          },
          "type": {
            "type": "string",
            "description": "The type of the Attachment.\n            \nPossible values:\n- \"selfie\"\n- \"document_front\"\n- \"document_back\"\n- \"document_portrait\"\n- \"document_signature\"\n- \"document_scan_report\"\n            \nAdditional attachment types may be defined for specific Providers."
          },
          "contentType": {
            "type": "string",
            "description": "The MIME type of the attachment's contents; eg, \"image/jpeg\" or \"application/pdf\"."
          },
          "sizeBytes": {
            "type": "integer",
            "description": "The size in bytes of the attachment.",
            "format": "int32"
          }
        }
      },
      "AttributeAvailability": {
        "enum": [
          "Never",
          "Sometimes",
          "Always"
        ],
        "type": "string",
        "description": "Indicates when an attribute will be available in verification results.",
        "x-enumDescriptions": {
          "Never": "This attribute will never be present in verification results.",
          "Sometimes": "This attribute may or may not be present depending on the verification context.",
          "Always": "This attribute will always be present in verification results."
        }
      },
      "AudkenniProviderOutput": {
        "type": "object",
        "properties": {
          "nationalRegisterId": {
            "type": "string",
            "description": "National Register ID number (kennitala) of the individual.\n            \nOften written with a hyphen following the 6th digit (123456-1234).\nID numbers are composed of ten digits. The first six of these are the individual’s date of birth in the format DDMMYY.\nThe seventh and eighth digits are randomly chosen when the ID number is allocated, the ninth digit used to be a check digit (modulus (11) but this has been removed.\nThe tenth indicates the century of the individual’s birth: ‘9’ for 1900–1999, ‘0’ for 2000 and beyond.",
            "nullable": true,
            "example": "0101303369"
          },
          "subjectId": {
            "type": "string",
            "description": "Unique identifier for the individual across Audkenni.\n            \nIt is recommended to use this identifier instead of using the national register ID directly.",
            "nullable": true,
            "example": "2963785c-b8cc-490e-8d7e-054f7538383b"
          },
          "name": {
            "type": "string",
            "description": "The full name of the individual.",
            "nullable": true,
            "example": "Gervimaður Asía"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual as parsed from the National Register ID number.\nIs null if the date of birth could not be parsed, but should always be present",
            "format": "date",
            "nullable": true,
            "example": "1980-01-31"
          }
        },
        "description": "Exposed properties for the `audkenni` Provider which do not directly map to the normalized IdentityData model."
      },
      "AustriaHandySignaturProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          }
        },
        "description": "Exposed properties for the `a-at-handy-signatur-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "AustriaValeraEudiSandboxInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "AustriaValeraEudiSandboxProviderOutput": {
        "type": "object",
        "properties": {
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "ageVerification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiAgeVerificationCredential"
              }
            ],
            "description": "An EUDI Age Verification credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "raw18013Output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 exchange performed through Valera.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `austria-valera-eudi-sandbox` Provider which do not directly map to the normalized IdentityData model."
      },
      "BelgiumIdCardProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "nationalRegisterNumber": {
            "type": "string",
            "description": "The Belgian National Register Number (\"Rijksregisternummer\") of the verified individual.\n            \nThis is an 11-digit number in the format YYMMDDXXXCC, where:\n- YYMMDD represents the individual's date of birth (year, month, day).\n- XXX is a sequential birth number, odd for males and even for females.\n- CC is a checksum, calculated with the equation: 97 - (YYMMDDXXX mod 97)\n            \nFor births in the year 2000 or later, the digit '2' is prepended to the first 9 digits during checksum calculation.",
            "nullable": true,
            "example": "83122412413"
          }
        },
        "description": "Exposed properties for the `a-be-id-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "BoliviaCiLookupInput": {
        "type": "object",
        "properties": {
          "documentNumber": {
            "type": "string",
            "description": "The holder's CI (\"Cédula de Identidad\") number from the Bolivian identity card (\"carnet de identidad\").\nThis is the identifier assigned by the Servicio General de Identificación Personal (SEGIP) in the\nRegistro Único de Identificación (RUI). Is entirely numeric values. Any non-alphanumeric characters\n(dots, hyphens, spaces, etc.) will be stripped before lookup.\n            \nPublished regulations do not define a fixed length; digit count may vary.",
            "nullable": true,
            "example": "123456789"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The holder's date of birth. Must match the CI record.",
            "format": "date",
            "nullable": true,
            "example": "1990-03-15"
          }
        }
      },
      "BoliviaCiProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Full name as it appears on the CI (Cédula de Identidad).",
            "nullable": true,
            "example": "María Mamani"
          },
          "givenName": {
            "type": "string",
            "description": "Given name(s) of the holder as they appear on the CI (Cédula de Identidad).",
            "nullable": true,
            "example": "María"
          },
          "familyName": {
            "type": "string",
            "description": "Family name(s) of the holder (paternal and maternal) as they appear on the CI (Cédula de Identidad).",
            "nullable": true,
            "example": "Mamani"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth as recorded in official Bolivian identity records (RUI — Registro Único de Identificación).",
            "format": "date",
            "nullable": true,
            "example": "1990-03-15"
          },
          "documentNumber": {
            "type": "string",
            "description": "The CI (Cédula de Identidad) document number for the matched record.\n            \nThe document is officially called the Cédula de Identidad and is commonly called carnet or carnet de\nidentidad in Bolivia. This is the identifier assigned by the Servicio General de Identificación Personal\n(SEGIP) in the Registro Único de Identificación (RUI). The value is entirely numeric. There is no\nverification digit or other data encoded in the number.\n            \nPublished regulations do not define a fixed length; digit count may vary.",
            "nullable": true,
            "example": "123456789"
          }
        },
        "description": "Exposed properties for the `bolivia-ci-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "BrazilBiometricVerificationOutput": {
        "type": "object",
        "properties": {
          "selfieVerificationProbability": {
            "type": "string",
            "description": "The probability of the selfie verification being successful.\n            \nPossible values:\n- VeryLow\n- Low\n- High\n- VeryHigh",
            "nullable": true,
            "example": "VeryHigh"
          },
          "selfieLivenessOutcome": {
            "type": "string",
            "description": "The outcome of the selfie verification.\n            \nPossible values:\n- Real\n- Fake\n- BadQuality",
            "nullable": true,
            "example": "Real"
          },
          "databaseSelfieAvailable": {
            "type": "boolean",
            "description": "Whether the government database had biometrics available for the individual.\n            \nAlso false in some cases biometrics are available but not sufficient for selfie verification.",
            "nullable": true,
            "example": true
          },
          "selfieSimilarityPercentage": {
            "type": "number",
            "description": "Similarity match score of selfie verification.\n            \nRanges from 0.0 to 1.0.",
            "format": "double",
            "nullable": true,
            "example": 0.99
          }
        }
      },
      "BrazilCnhFacialBiometryOutput": {
        "type": "object",
        "properties": {
          "databaseFaceAvailable": {
            "type": "boolean",
            "description": "Whether the government database had facial biometrics available for comparison.",
            "nullable": true,
            "example": true
          },
          "probability": {
            "type": "string",
            "description": "Probability bucket returned by Serpro for the facial biometric comparison.\n            \nKnown values:\n- VeryLow\n- Low\n- High\n- VeryHigh",
            "nullable": true,
            "example": "VeryHigh"
          },
          "similarityScore": {
            "type": "number",
            "description": "Similarity score returned by Serpro for the facial biometric comparison.\n            \nRanges from 0.0 to 1.0, where 1.0 is a perfect match.",
            "format": "double",
            "nullable": true,
            "example": 0.99
          },
          "liveness": {
            "type": "string",
            "description": "Liveness result returned by Serpro when liveness is part of the validation response.\n            \nKnown values:\n- BAD_QUALITY: The image quality was too low for liveness validation.\n- FAKE: Liveness validation detected a presentation attack or non-live face.\n- REAL: Liveness validation detected a live face.",
            "nullable": true,
            "example": "REAL"
          }
        }
      },
      "BrazilCnhMatchField_DateOnly": {
        "required": [
          "content"
        ],
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Decoded CNH QR Code value used for this match field.",
            "format": "date",
            "example": "JOAO ALMEIDA SOUZA"
          },
          "matchValue": {
            "type": "boolean",
            "description": "Whether the decoded CNH QR Code value matched the government database.",
            "nullable": true,
            "example": true
          }
        }
      },
      "BrazilCnhMatchField_String": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Decoded CNH QR Code value used for this match field.",
            "nullable": true,
            "example": "JOAO ALMEIDA SOUZA"
          },
          "matchValue": {
            "type": "boolean",
            "description": "Whether the decoded CNH QR Code value matched the government database.",
            "nullable": true,
            "example": true
          }
        }
      },
      "BrazilCnhProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCnhMatchField_String"
              }
            ],
            "description": "Full name decoded from the CNH QR Code and whether it matched the government database.",
            "nullable": true,
            "example": {
              "content": "JOAO ALMEIDA SOUZA",
              "matchValue": true
            }
          },
          "fullNameSimilarity": {
            "type": "number",
            "description": "Similarity score for the decoded full name from the CNH QR Code.\n            \nRanges from 0.0 to 1.0, where 1.0 is an exact match.",
            "format": "double",
            "nullable": true,
            "example": 0.98
          },
          "originDocument": {
            "type": "string",
            "description": "Source identity document number/reference for the CNH record, decoded from the CNH QR Code.",
            "nullable": true,
            "example": "SSP SP 123456789"
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCnhMatchField_DateOnly"
              }
            ],
            "description": "Date of birth decoded from the CNH QR Code and whether it matched the government database.",
            "nullable": true,
            "example": {
              "content": "1990-04-15",
              "matchValue": true
            }
          },
          "motherFullName": {
            "type": "string",
            "description": "Mother's full name decoded from the CNH QR Code.",
            "nullable": true,
            "example": "MARIA ALMEIDA SOUZA"
          },
          "fatherFullName": {
            "type": "string",
            "description": "Father's full name decoded from the CNH QR Code.",
            "nullable": true,
            "example": "JOSE CARLOS SOUZA"
          },
          "category": {
            "type": "string",
            "description": "Driver license category decoded from the CNH QR Code.\n            \nKnown values:\n- A: Two- or three-wheeled motor vehicles, with or without a sidecar.\n- B: Motor vehicles outside category A up to 3,500 kg, with capacity for up to eight passengers besides the driver, and without articulation or trailer.\n- C: Category B vehicles and rigid cargo vehicles above 3,500 kg.\n- D: Category C vehicles and passenger vehicles with capacity above eight passengers besides the driver.\n- E: Category D vehicles, trailers, semi-trailers, and articulated buses.",
            "nullable": true,
            "example": "B"
          },
          "registrationNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCnhMatchField_String"
              }
            ],
            "description": "National Registry (Registro Nacional de Habilitacao) number decoded from the CNH QR Code and whether it matched the government database.\n            \nIs an 11-character ID with the format XXXXXXXXX@@:\n- XXXXXXXXX: Base characters. The value is unique to the driver for their lifetime.\n- @@: Security check digits",
            "nullable": true,
            "example": {
              "content": "12345678900",
              "matchValue": true
            }
          },
          "registrationNumberCheckDigitsValid": {
            "type": "boolean",
            "description": "Whether the National Registry number satisfies the CNH modulo-11 check digit routine.",
            "nullable": true,
            "example": true
          },
          "firstIssueDate": {
            "type": "string",
            "description": "Date when the driver was first licensed, decoded from the CNH QR Code.",
            "format": "date",
            "nullable": true,
            "example": "2010-08-19"
          },
          "observations": {
            "type": "string",
            "description": "CNH observations decoded from the QR Code.\n            \nMay include EAR for paid driving activity and one or more restriction codes:\n- A: Corrective lenses required.\n- B: Hearing prosthesis required.\n- C: Left-side accelerator required.\n- D: Automatic transmission vehicle required.\n- E: Steering-wheel grip, handle, or knob required.\n- F: Power steering vehicle required.\n- G: Manual clutch, automated clutch, or automatic transmission vehicle required.\n- H: Hand accelerator and brake required.\n- I: Dashboard control adaptations to the steering wheel required.\n- J: Dashboard control adaptations for lower limbs or other body parts required.\n- K: Gear-shift lever extension and/or fixed height/depth compensation cushions required.\n- L: Pedal extensions and floor elevation and/or fixed height/depth compensation cushions required.\n- M: Motorcycle with adapted gear-shift pedal required.\n- N: Motorcycle with adapted rear-brake pedal required.\n- O: Motorcycle with adapted front-brake handle required.\n- P: Motorcycle with adapted clutch handle required.\n- Q: Motorcycle with sidecar or tricycle required.\n- R: Scooter with sidecar or tricycle required.\n- S: Motorcycle with automated gear shifting required.\n- T: Driving on highways and high-speed roads prohibited.\n- U: Driving after sunset prohibited.\n- V: Helmet with visor and unrestricted field of vision required.\n- X: Other restrictions.",
            "nullable": true,
            "example": "EAR"
          },
          "issueCity": {
            "type": "string",
            "description": "City where the CNH was issued, decoded from the QR Code.",
            "nullable": true,
            "example": "SAO PAULO"
          },
          "issueState": {
            "type": "string",
            "description": "Brazilian state where the CNH was issued, decoded from the QR Code.\n            \nFormat is a two-letter Brazilian state abbreviation when present.",
            "nullable": true,
            "example": "SP"
          },
          "validationNumber": {
            "type": "string",
            "description": "Numeric security validation code decoded from the CNH QR Code.\n            \nThis is an 11-digit code generated from Departamento Estadual de Trânsito (State Traffic Department or DETRAN) owned data for each CNH and used to validate the document.\nThe algorithm is proprietary, so no further information is available on this number.",
            "nullable": true,
            "example": "12345678901"
          },
          "renachNumber": {
            "type": "string",
            "description": "Registro Nacional de Condutores Habilitados (RENACH) form number decoded from the CNH QR Code.\n            \nIs an 11-character ID with the format FFXXXXXXXX@:\n- FF: The issuing federation unit abbreviation. It identifies the state where the driver was licensed or last had record changes.\n- XXXXXXXXX: Serial number\n- @: Modulo-11 security check digit",
            "nullable": true,
            "example": "SP123456789"
          },
          "facialBiometry": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCnhFacialBiometryOutput"
              }
            ],
            "description": "Facial biometric comparison result if submitted and available.",
            "nullable": true,
            "example": {
              "databaseFaceAvailable": true,
              "probability": "VeryHigh",
              "similarityScore": 0.99,
              "liveness": "REAL"
            }
          }
        },
        "description": "Exposed properties for the `brazil-digital-cnh` Provider which do not directly map to the normalized IdentityData model."
      },
      "BrazilCpfCheckInput": {
        "required": [
          "cpfNumber"
        ],
        "type": "object",
        "properties": {
          "cpfNumber": {
            "maxLength": 11,
            "minLength": 11,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The user's 11-digit, numeric CPF Number"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth. Optional, but date of birth will become required for lookups starting September 1, 2026.",
            "format": "date",
            "nullable": true
          },
          "selfieImage": {
            "type": "string",
            "description": "The raw bytes of the selfie image collected from the user.",
            "format": "byte",
            "nullable": true
          },
          "selfieImageContentType": {
            "type": "string",
            "description": "The MIME Type of the file contained in `SelfieImage`.\n            \nMust be one of `image/jpeg` or `image/png`.",
            "nullable": true
          }
        }
      },
      "BrazilCpfProviderOutput": {
        "type": "object",
        "properties": {
          "preview_raw_error_code": {
            "type": "string",
            "description": "The raw error code for the verification, returned by Serpro.\n            \nThis is a temporary preview to support detailed error handling. When building against this please let the Trinsic team know.\nPreview features can be turned off without an obsoletion notice.",
            "nullable": true,
            "example": "MinorValidationNotAllowed"
          },
          "cpfNumber": {
            "type": "string",
            "description": "The individual's CPF number.\n            \nA CPF (Cadastro de Pessoas Físicas) is the Brazilian individual taxpayer identification number for residents and foreigners.\nIt is an 11-digit number managed by the Federal Revenue Service, the last 2 digits are check digits, calculated based on the first 9 digits.\nThe 9th digit indicates the fiscal region responsible for the registration,",
            "nullable": true,
            "example": "40442820135"
          },
          "fiscalRegions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of Brazilian fiscal regions that could have issued this number.\n            \nThis is calculated based off of the CPF number. A CPF number encodes information about what region it is issued from, but some regions share the identifier.\n            \nPossible values:\nFormatted as two characters. The digit represents the region code this applies to.\n- AC (Acre) - 2\n- AL (Alagoas) - 4\n- AP (Amapá) - 2\n- AM (Amazonas) - 2\n- BA (Bahia) - 5\n- CE (Ceará) - 3\n- DF (Distrito Federal) - 1\n- ES (Espírito Santo) - 7\n- GO (Goiás) - 1\n- MA (Maranhão) - 3\n- MT (Mato Grosso) - 1\n- MS (Mato Grosso do Sul) - 1\n- MG (Minas Gerais) - 6\n- PA (Pará) - 2\n- PB (Paraíba) - 4\n- PR (Paraná) - 9\n- PE (Pernambuco) - 4\n- PI (Piauí) - 3\n- RJ (Rio de Janeiro) - 7\n- RN (Rio Grande do Norte) - 4\n- RO (Rondônia) - 2\n- RS (Rio Grande do Sul) - 0\n- RR (Roraima) - 2\n- SC (Santa Catarina) - 9\n- SP (São Paulo) - 8\n- SE (Sergipe) - 5\n- TO (Tocantins) - 1",
            "nullable": true,
            "example": [
              "DF",
              "GO",
              "MS",
              "MT",
              "TO"
            ]
          },
          "statusCode": {
            "type": "integer",
            "description": "The CPF Status. Possible values:\n0 - Regular. The CPF is valid and in good standing. There are no pending issues, registration inconsistencies, or missing mandatory Individual Income Tax Returns (DIRPF).\n2 - Suspended. The CPF record contains incorrect or incomplete registration data (e.g., name, date of birth, or voter registration number). This status is typically caused by discrepancies with the Superior Electoral Court (TSE) database or failure to update personal information.\n3 - Deceased Holder. The CPF has been registered as belonging to a deceased individual. This status is recorded to prevent post-mortem misuse.\n4 - Pending Regularization. The taxpayer has failed to submit one or more mandatory Individual Income Tax Returns (DIRPF) within the last five years. This can occur for various reasons, such as failure to file a mandatory declaration, changes of address, name, marital status, or other important information that does not conform to the records. Regularization requires submission of the overdue returns.\n5 - Canceled by Multiplicity. The CPF has been cancelled due to duplicate registration (multiple CPFs assigned to the same individual or a single CPF linked to multiple individuals).\n8 - Null. The CPF registration was cancelled due to confirmed fraud or a serious issuance error. Regularization requires in-person verification at a Federal Revenue Service office and may not be guaranteed.\n9 - Cancelled Ex Officio. The CPF was cancelled due to administrative or judicial decision, or other registration inconsistencies.",
            "format": "int32",
            "nullable": true,
            "example": 0
          },
          "statusDescription": {
            "type": "string",
            "description": "Description of the CPF Status.",
            "nullable": true,
            "example": "Regular"
          },
          "name": {
            "type": "string",
            "description": "The full legal name of the individual.",
            "nullable": true,
            "example": "João Silva"
          },
          "socialName": {
            "type": "string",
            "description": "The social name of the individual in case the individual would like to use a different name than their full legal name.",
            "nullable": true,
            "example": "Maria Silva"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1995-09-11"
          },
          "yearOfDeath": {
            "type": "string",
            "description": "Deprecated as of September 1, 2026.\n            \nThe year of death of the individual, if applicable.",
            "nullable": true,
            "example": "2020",
            "deprecated": true
          },
          "dateOfRegistration": {
            "type": "string",
            "description": "The date of registration of the individual with the Federal Revenue Service.",
            "format": "date",
            "nullable": true,
            "example": "2015-09-11"
          },
          "biometricVerification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilBiometricVerificationOutput"
              }
            ],
            "description": "The biometric verification results.\n            \nThis is an optional configurable check.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `brazil-cpf-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "BrazilDigitalCnhInput": {
        "required": [
          "cpfNumber"
        ],
        "type": "object",
        "properties": {
          "cpfNumber": {
            "maxLength": 11,
            "minLength": 11,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The user's 11-digit, numeric CPF Number"
          },
          "digitalCnhFile": {
            "type": "string",
            "description": "The raw bytes of the digital CNH file collected from the user.",
            "format": "byte",
            "nullable": true
          },
          "digitalCnhFileContentType": {
            "type": "string",
            "description": "The MIME Type of the file contained in `DigitalCnhFile`.\n            \nMust be one of `application/pdf`, `image/jpeg`, or `image/png`.",
            "nullable": true
          },
          "facialBiometryPhoto": {
            "type": "string",
            "description": "The raw bytes of the image of the user's face, collected for biometric comparison.",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "CancelSessionResponse": {
        "required": [
          "session"
        ],
        "type": "object",
        "properties": {
          "session": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Session"
              }
            ]
          }
        }
      },
      "ChinaResidentIdMatchInput": {
        "required": [
          "consent",
          "dateOfBirth",
          "fullName",
          "nationalIdNumber"
        ],
        "type": "object",
        "properties": {
          "fullName": {
            "minLength": 1,
            "type": "string",
            "description": "The person's full name in Chinese characters."
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The person's date of birth, in `YYYY-MM-DD` format.",
            "format": "date"
          },
          "nationalIdNumber": {
            "maxLength": 18,
            "minLength": 18,
            "pattern": "^\\d{17}[\\dXx]$",
            "type": "string",
            "description": "The person's 18-character PRC resident identity card number."
          },
          "consent": {
            "type": "boolean",
            "description": "Consent from the end user for verification of their data."
          }
        }
      },
      "ChinaResidentIdMatchOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The fullname of the individual in Chinese.",
            "nullable": true,
            "example": "陈明志"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The birthdate of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1980-01-31"
          },
          "residentIdNumber": {
            "type": "string",
            "description": "The Resident ID number from the People's Republic of China (PRC) ID card.\n            \nThe Resident ID number is an 18-digit number follows the format (AAAAAAYYYYMMDDXXX@):\n- Six digits (AAAAAA) are the area code of where the person was born or the area of first issuance for those who were born before the resident system was created.\n- Eight digits are the birthdate of the individual in YYYYMMDD format\n- Three digits are the order code assigned to individual. Males are assigned odd numbers and females even numbers.\n- Final digit is the checksum confirming the validity of the ID number's first 17 digits using ISO 7064:1983, MOD 11-2.",
            "nullable": true,
            "example": "110102198001318811"
          }
        },
        "description": "Exposed properties for the `china-resident-id-match` Provider which do not directly map to the normalized IdentityData model."
      },
      "ClearProviderOutput": {
        "type": "object",
        "properties": {
          "authenticated": {
            "type": "boolean",
            "description": "Whether CLEAR authenticated the individual.",
            "nullable": true,
            "example": true
          },
          "authenticationMethods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The methods the individual authenticated with during the CLEAR flow.\n            \nKnown values:\n- webauthn\n- email\n- sms_otp",
            "nullable": true,
            "example": [
              "sms_otp"
            ]
          },
          "activatedAuthenticationMethods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The authentication methods the individual activated but did not use as a pre-existing credential during this session.\n            \nKnown values:\n- webauthn\n- totp",
            "nullable": true,
            "example": [
              "webauthn"
            ]
          },
          "checks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputCheck"
            },
            "description": "The checks CLEAR performed on the individual's data and each check's result.",
            "nullable": true,
            "example": [
              {
                "verificationCheckName": "Selfie matches portrait on Gov ID",
                "value": true,
                "status": "completed",
                "checkResult": "success"
              }
            ]
          },
          "checkMetadata": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "CLEAR error or metadata codes that influenced check results.",
            "nullable": true,
            "example": [
              "document_expired"
            ]
          },
          "completedAt": {
            "type": "string",
            "description": "The time the CLEAR verification session completed, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-09T16:05:00+00:00"
          },
          "createdAt": {
            "type": "string",
            "description": "The time the CLEAR verification session was created, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-09T16:00:00+00:00"
          },
          "email": {
            "type": "string",
            "description": "The individual's verified email address from the session.",
            "nullable": true,
            "example": "jane.doe@example.com"
          },
          "expiresAt": {
            "type": "string",
            "description": "The time the CLEAR verification session expires, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-19T16:00:00+00:00"
          },
          "fieldsToCollect": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The fields CLEAR still required to complete the current verification step.",
            "nullable": true,
            "example": [
              "phone"
            ]
          },
          "ip": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The IP addresses used to access this CLEAR verification session.",
            "nullable": true,
            "example": [
              "203.0.113.10"
            ]
          },
          "phone": {
            "type": "string",
            "description": "The individual's verified phone number, normalized to international E.164 format.",
            "nullable": true,
            "example": "+14155551212"
          },
          "status": {
            "type": "string",
            "description": "The CLEAR verification session status.\n            \nKnown values:\n- success\n- fail\n- awaiting_user_input\n- deferred\n- processing_data\n- expired\n- awaiting_manual_review\n- manual_success\n- manual_fail\n- canceled",
            "nullable": true,
            "example": "success"
          },
          "updatedAt": {
            "type": "string",
            "description": "The time the CLEAR verification session was most recently updated, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-09T16:05:00+00:00"
          },
          "userAgent": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The browser user agents that accessed this CLEAR verification session.",
            "nullable": true,
            "example": [
              "Mozilla/5.0"
            ]
          },
          "userCreated": {
            "type": "boolean",
            "description": "Whether CLEAR created a new individual account during this session.",
            "nullable": true,
            "example": false
          },
          "userId": {
            "type": "string",
            "description": "The CLEAR identifier for the individual.",
            "nullable": true,
            "example": "psuid_xyz987"
          },
          "traits": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputTraits"
              }
            ],
            "description": "The individual traits CLEAR returned after collecting enough information to make a decision.",
            "nullable": true,
            "example": {
              "firstName": "Jane",
              "lastName": "Doe",
              "phone": "+14155551212"
            }
          },
          "idvStatus": {
            "type": "string",
            "description": "The identity verification status.\n            \nKnown documented value:\n- verified: CLEAR indicates the individual is verified.",
            "nullable": true,
            "example": "verified"
          },
          "sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputSessionInfo"
            },
            "description": "Frontend session metadata CLEAR collected.",
            "nullable": true,
            "example": [
              {
                "ip": "203.0.113.10",
                "locale": "en-US",
                "zoneInfo": "America/New_York"
              }
            ]
          }
        },
        "description": "Exposed properties for the `clear` Provider which do not directly map to the normalized IdentityData model."
      },
      "ClearProviderOutputAddress": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "description": "The first line of the address.",
            "nullable": true,
            "example": "123 Main St"
          },
          "line2": {
            "type": "string",
            "description": "The second line of the address, such as an apartment or suite.",
            "nullable": true,
            "example": "Apt 4B"
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "nullable": true,
            "example": "San Francisco"
          },
          "state": {
            "type": "string",
            "description": "The state, province, or region.",
            "nullable": true,
            "example": "California"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code.",
            "nullable": true,
            "example": "94105"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "US"
          }
        }
      },
      "ClearProviderOutputCheck": {
        "type": "object",
        "properties": {
          "verificationCheckName": {
            "type": "string",
            "description": "The verification check name as specified in the CLEAR verification configuration.",
            "nullable": true,
            "example": "Selfie matches portrait on Gov ID"
          },
          "value": {
            "type": "boolean",
            "description": "The boolean check value.\n            \nThis can be null when a check is skipped or unable to evaluate to a deterministic result.",
            "nullable": true,
            "example": true
          },
          "status": {
            "type": "string",
            "description": "Whether CLEAR performed the check.\n            \nKnown values:\n- completed\n- skipped\n- error",
            "nullable": true,
            "example": "completed"
          },
          "checkResult": {
            "type": "string",
            "description": "The granular CLEAR result for this check.\n            \nKnown values:\n- success\n- failure\n- indeterminate\n- not_applicable\n- awaiting_async_response",
            "nullable": true,
            "example": "success"
          },
          "additionalDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputCheckAdditionalDetails"
              }
            ],
            "description": "Additional structured details CLEAR used for this check.\nCurrently modeled details: watchlistHits.",
            "nullable": true,
            "example": {
              "watchlistHits": {
                "hits": [ ],
                "updatedAt": "2024-03-09T16:03:20+00:00"
              }
            }
          },
          "params": {
            "type": "object",
            "additionalProperties": { },
            "description": "Custom parameters configured for this CLEAR check.",
            "nullable": true,
            "example": {
              "minimumAge": 18
            }
          }
        }
      },
      "ClearProviderOutputCheckAdditionalDetails": {
        "type": "object",
        "properties": {
          "watchlistHits": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputWatchlistHits"
              }
            ],
            "description": "Watchlist hit information.",
            "nullable": true,
            "example": {
              "hits": [ ],
              "updatedAt": "2024-03-09T16:03:20+00:00"
            }
          }
        }
      },
      "ClearProviderOutputDocument": {
        "type": "object",
        "properties": {
          "nationality": {
            "type": "string",
            "description": "The nationality scanned from the document, normalized to an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "US"
          },
          "documentType": {
            "type": "string",
            "description": "The document type scanned by CLEAR.\n            \nKnown values:\n- drivers_license\n- paper_passport\n- passport_card\n- id_card\n- visa\n- health_care_card\n- other",
            "nullable": true,
            "example": "drivers_license"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of issue.",
            "nullable": true,
            "example": "US"
          },
          "issuingSubdivision": {
            "type": "string",
            "description": "The ISO 3166 subdivision issuer of the document.",
            "nullable": true,
            "example": "US-CA"
          },
          "documentNumber": {
            "type": "string",
            "description": "The document number scanned from the document.",
            "nullable": true,
            "example": "D1234567"
          },
          "dateOfExpiry": {
            "type": "string",
            "description": "The document expiration date.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "gender": {
            "type": "string",
            "description": "The gender scanned from the document.\nCLEAR does not publish a closed set of possible values for this field.",
            "nullable": true,
            "example": "F"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputAddress"
              }
            ],
            "description": "The address scanned from the document.",
            "nullable": true,
            "example": {
              "line1": "123 Main St",
              "city": "San Francisco",
              "state": "California",
              "postalCode": "94105",
              "country": "US"
            }
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth scanned from the document.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "firstName": {
            "type": "string",
            "description": "The first name scanned from the document.",
            "nullable": true,
            "example": "Jane"
          },
          "lastName": {
            "type": "string",
            "description": "The last name scanned from the document.",
            "nullable": true,
            "example": "Doe"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name scanned from the document.",
            "nullable": true,
            "example": "Quinn"
          },
          "fullName": {
            "type": "string",
            "description": "The full name scanned from the document.",
            "nullable": true,
            "example": "Jane Quinn Doe"
          }
        }
      },
      "ClearProviderOutputHealthInsurance": {
        "type": "object",
        "properties": {
          "payerId": {
            "type": "string",
            "description": "The health insurance payer identifier.",
            "nullable": true,
            "example": "12345"
          },
          "payerName": {
            "type": "string",
            "description": "The health insurance payer name.",
            "nullable": true,
            "example": "Example Health"
          },
          "planStatus": {
            "type": "string",
            "description": "The health insurance plan status.",
            "nullable": true,
            "example": "active"
          },
          "groupName": {
            "type": "string",
            "description": "The health insurance group name.",
            "nullable": true,
            "example": "Example Group"
          },
          "groupId": {
            "type": "string",
            "description": "The health insurance group identifier.",
            "nullable": true,
            "example": "G12345"
          },
          "insuranceMemberId": {
            "type": "string",
            "description": "The health insurance member identifier.",
            "nullable": true,
            "example": "M123456789"
          },
          "policyHolderFirstName": {
            "type": "string",
            "description": "The first name of the policy holder.",
            "nullable": true,
            "example": "Jane"
          },
          "policyHolderLastName": {
            "type": "string",
            "description": "The last name of the policy holder.",
            "nullable": true,
            "example": "Doe"
          }
        }
      },
      "ClearProviderOutputHistoricalAddress": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ClearProviderOutputAddress"
          },
          {
            "type": "object",
            "properties": {
              "streetNumber": {
                "type": "string",
                "description": "The historical address street number.",
                "nullable": true,
                "example": "123"
              },
              "streetName": {
                "type": "string",
                "description": "The historical address street name.",
                "nullable": true,
                "example": "Main St"
              },
              "firstSeen": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
                  }
                ],
                "description": "The first date CLEAR saw this historical address.",
                "nullable": true,
                "example": {
                  "year": 2018,
                  "month": 1,
                  "day": 15
                }
              },
              "lastSeen": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
                  }
                ],
                "description": "The last date CLEAR saw this historical address.",
                "nullable": true,
                "example": {
                  "year": 2024,
                  "month": 2,
                  "day": 20
                }
              }
            },
            "additionalProperties": false
          }
        ]
      },
      "ClearProviderOutputHistoricalData": {
        "type": "object",
        "properties": {
          "names": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputHistoricalName"
            },
            "description": "Prior names associated with the individual.",
            "nullable": true,
            "example": [
              {
                "firstName": "Jane",
                "lastName": "Doe",
                "firstSeen": {
                  "year": 2018,
                  "month": 1,
                  "day": 15
                }
              }
            ]
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputHistoricalAddress"
            },
            "description": "Prior addresses associated with the individual.",
            "nullable": true,
            "example": [
              {
                "line1": "123 Main St",
                "city": "San Francisco",
                "state": "California",
                "country": "US",
                "firstSeen": {
                  "year": 2018,
                  "month": 1,
                  "day": 15
                }
              }
            ]
          }
        }
      },
      "ClearProviderOutputHistoricalName": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The historical first name.",
            "nullable": true,
            "example": "Jane"
          },
          "middleName": {
            "type": "string",
            "description": "The historical middle name.",
            "nullable": true,
            "example": "Quinn"
          },
          "lastName": {
            "type": "string",
            "description": "The historical last name.",
            "nullable": true,
            "example": "Doe"
          },
          "secondFamilyName": {
            "type": "string",
            "description": "The historical second family name.",
            "nullable": true,
            "example": "Rivera"
          },
          "firstSeen": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
              }
            ],
            "description": "The first date CLEAR saw this historical name.",
            "nullable": true,
            "example": {
              "year": 2018,
              "month": 1,
              "day": 15
            }
          },
          "lastSeen": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
              }
            ],
            "description": "The last date CLEAR saw this historical name.",
            "nullable": true,
            "example": {
              "year": 2024,
              "month": 2,
              "day": 20
            }
          }
        }
      },
      "ClearProviderOutputLocationInfo": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "The country name.",
            "nullable": true,
            "example": "United States"
          },
          "countryIso": {
            "type": "string",
            "description": "The ISO 3166 alpha-2 country code.",
            "nullable": true,
            "example": "US"
          },
          "subdivision": {
            "type": "string",
            "description": "The subdivision name.",
            "nullable": true,
            "example": "California"
          },
          "subdivisionType": {
            "type": "string",
            "description": "The subdivision type, such as state or province.",
            "nullable": true,
            "example": "state"
          },
          "city": {
            "type": "string",
            "description": "The city name.",
            "nullable": true,
            "example": "San Francisco"
          },
          "latitude": {
            "type": "string",
            "description": "The latitude parsed from the request.",
            "nullable": true,
            "example": "37.7749"
          },
          "longitude": {
            "type": "string",
            "description": "The longitude parsed from the request.",
            "nullable": true,
            "example": "-122.4194"
          }
        }
      },
      "ClearProviderOutputPartialDate": {
        "type": "object",
        "properties": {
          "day": {
            "type": "integer",
            "description": "The day of the month.",
            "format": "int32",
            "nullable": true,
            "example": 31
          },
          "month": {
            "type": "integer",
            "description": "The month number, where January is 1.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "year": {
            "type": "integer",
            "description": "The year.",
            "format": "int32",
            "nullable": true,
            "example": 1990
          }
        }
      },
      "ClearProviderOutputSessionInfo": {
        "type": "object",
        "properties": {
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputLocationInfo"
              }
            ],
            "description": "Location information gathered from the individual's frontend session.",
            "nullable": true,
            "example": {
              "country": "United States",
              "countryIso": "US",
              "city": "San Francisco"
            }
          },
          "userAgent": {
            "type": "string",
            "description": "The browser user agent for this frontend session.",
            "nullable": true,
            "example": "Mozilla/5.0"
          },
          "createdAt": {
            "type": "string",
            "description": "The time this frontend session was created, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-09T16:00:00+00:00"
          },
          "ip": {
            "type": "string",
            "description": "The IP address for this frontend session.",
            "nullable": true,
            "example": "203.0.113.10"
          },
          "locale": {
            "type": "string",
            "description": "The individual's locale for this frontend session.",
            "nullable": true,
            "example": "en-US"
          },
          "zoneInfo": {
            "type": "string",
            "description": "The individual's IANA time zone for this frontend session.",
            "nullable": true,
            "example": "America/New_York"
          }
        }
      },
      "ClearProviderOutputTraits": {
        "type": "object",
        "properties": {
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputAddress"
              }
            ],
            "description": "The individual's address.",
            "nullable": true,
            "example": {
              "line1": "123 Main St",
              "city": "San Francisco",
              "state": "California",
              "postalCode": "94105",
              "country": "US"
            }
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The individual's date of birth.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "email": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "jane.doe@example.com"
          },
          "firstName": {
            "type": "string",
            "description": "The individual's first name.",
            "nullable": true,
            "example": "Jane"
          },
          "lastName": {
            "type": "string",
            "description": "The individual's last name.",
            "nullable": true,
            "example": "Doe"
          },
          "middleName": {
            "type": "string",
            "description": "The individual's middle name.",
            "nullable": true,
            "example": "Quinn"
          },
          "secondFamilyName": {
            "type": "string",
            "description": "The individual's second family name.",
            "nullable": true,
            "example": "Rivera"
          },
          "fullLastName": {
            "type": "string",
            "description": "The individual's full last name.",
            "nullable": true,
            "example": "Doe Rivera"
          },
          "phone": {
            "type": "string",
            "description": "The individual's phone number, normalized to international E.164 format.",
            "nullable": true,
            "example": "+14155551212"
          },
          "ssn4": {
            "type": "string",
            "description": "The last four digits of the individual's SSN.",
            "nullable": true,
            "example": "1234"
          },
          "ssn9": {
            "type": "string",
            "description": "The individual's SSN.",
            "nullable": true,
            "example": "123456789"
          },
          "identificationNumber": {
            "type": "string",
            "description": "The national identification number.",
            "nullable": true,
            "example": "ID1234567"
          },
          "identificationType": {
            "type": "string",
            "description": "The national identification number type.",
            "nullable": true,
            "example": "national_id"
          },
          "document": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputDocument"
              }
            ],
            "description": "Parsed data from the individual's scanned document.",
            "nullable": true,
            "example": {
              "documentType": "drivers_license",
              "issuingCountry": "US",
              "documentNumber": "D1234567"
            }
          },
          "healthInsurance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputHealthInsurance"
              }
            ],
            "description": "Health insurance information.",
            "nullable": true,
            "example": {
              "payerId": "12345",
              "payerName": "Example Health",
              "planStatus": "active"
            }
          },
          "verifiedEmail": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputVerifiedEmail"
              }
            ],
            "description": "Verified email information.",
            "nullable": true,
            "example": {
              "email": "jane.doe@example.com",
              "verifiedAt": "2024-03-09T16:01:40+00:00",
              "verificationMethod": "otp"
            }
          },
          "historicalData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputHistoricalData"
              }
            ],
            "description": "Historical identity traits.",
            "nullable": true,
            "example": {
              "names": [
                {
                  "firstName": "Jane",
                  "lastName": "Doe"
                }
              ],
              "addresses": [
                {
                  "city": "San Francisco"
                }
              ]
            }
          }
        }
      },
      "ClearProviderOutputVerifiedEmail": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The verified email address.",
            "nullable": true,
            "example": "jane.doe@example.com"
          },
          "verifiedAt": {
            "type": "string",
            "description": "The time the email was verified, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-09T16:01:40+00:00"
          },
          "verificationMethod": {
            "type": "string",
            "description": "The method CLEAR used to verify the email.",
            "nullable": true,
            "example": "otp"
          }
        }
      },
      "ClearProviderOutputWatchlistHit": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string",
            "description": "The watchlist entity type.\n            \nKnown values:\n- person",
            "nullable": true,
            "example": "person"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutputWatchlistHitDetails"
              }
            ],
            "description": "More details about the watchlist hit entity.",
            "nullable": true,
            "example": {
              "name": [
                "Jane Doe"
              ],
              "country": [
                "US"
              ]
            }
          },
          "sourceLists": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputWatchlistSource"
            },
            "description": "The watchlist source lists where CLEAR found the hit.",
            "nullable": true,
            "example": [
              {
                "name": "Example List",
                "summary": "Example source",
                "url": "https://example.com/list"
              }
            ]
          },
          "hitTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The types of watchlist hits.\n            \nKnown values:\n- sanction\n- pep\n- warning\n- adverse_media",
            "nullable": true,
            "example": [
              "sanction"
            ]
          }
        }
      },
      "ClearProviderOutputWatchlistHitDetails": {
        "type": "object",
        "properties": {
          "name": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "Jane Doe"
            ]
          },
          "alias": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Aliases associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "J. Doe"
            ]
          },
          "country": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "ISO 3166-1 alpha-2 country codes associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "US"
            ]
          },
          "address": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputAddress"
            },
            "description": "Addresses associated with the watchlist hit.",
            "nullable": true,
            "example": [
              {
                "line1": "123 Main St",
                "city": "New York",
                "country": "US"
              }
            ]
          },
          "dateOfBirth": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
            },
            "description": "Dates of birth associated with the watchlist hit.",
            "nullable": true,
            "example": [
              {
                "year": 1990,
                "month": 1,
                "day": 31
              }
            ]
          },
          "dateOfDeath": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
            },
            "description": "Dates of death associated with the watchlist hit.",
            "nullable": true,
            "example": [
              {
                "year": 2020
              }
            ]
          },
          "placeOfBirth": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Places of birth associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "New York"
            ]
          },
          "gender": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Genders associated with the watchlist hit, as represented in the source lists.",
            "nullable": true,
            "example": [
              "female"
            ]
          },
          "nationality": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "ISO 3166-1 alpha-2 nationalities associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "US"
            ]
          },
          "position": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Positions associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "Director"
            ]
          },
          "passportNumber": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Passport numbers associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "P1234567"
            ]
          },
          "idNumber": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Identification numbers associated with the watchlist hit.",
            "nullable": true,
            "example": [
              "ID1234567"
            ]
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Notes from the watchlist source data.",
            "nullable": true,
            "example": [
              "Example source note"
            ]
          },
          "createdAt": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
            },
            "description": "Dates when the source entries were created.",
            "nullable": true,
            "example": [
              {
                "year": 2023,
                "month": 1,
                "day": 15
              }
            ]
          },
          "modifiedAt": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputPartialDate"
            },
            "description": "Dates when the source entries were last modified.",
            "nullable": true,
            "example": [
              {
                "year": 2024,
                "month": 2,
                "day": 20
              }
            ]
          },
          "sourceUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Source URLs for the watchlist hit.",
            "nullable": true,
            "example": [
              "https://example.com/source"
            ]
          }
        }
      },
      "ClearProviderOutputWatchlistHits": {
        "type": "object",
        "properties": {
          "hits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClearProviderOutputWatchlistHit"
            },
            "description": "The watchlist hits.",
            "nullable": true,
            "example": [
              {
                "entityType": "person",
                "hitTypes": [
                  "sanction"
                ]
              }
            ]
          },
          "updatedAt": {
            "type": "string",
            "description": "The last time CLEAR fetched watchlist hit data from its data sources, as a UTC timestamp.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-03-09T16:03:20+00:00"
          }
        }
      },
      "ClearProviderOutputWatchlistSource": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the watchlist source.",
            "nullable": true,
            "example": "Example Sanctions List"
          },
          "summary": {
            "type": "string",
            "description": "The summary of the watchlist source.",
            "nullable": true,
            "example": "Example source summary"
          },
          "url": {
            "type": "string",
            "description": "The URL for the watchlist source.",
            "nullable": true,
            "example": "https://example.com/list"
          }
        }
      },
      "ColombiaCcLookupInput": {
        "type": "object",
        "properties": {
          "documentNumber": {
            "type": "string",
            "description": "The CC (Cédula de Ciudadanía, Citizenship Document) document number.\n            \nFormat:\n- Cédulas after 2004 use the NUIP (Número Único de Identificación Personal), which is 10 digits.\n  Older documents may have fewer than 10 digits and are still valid.\n- In Colombia the number is often written with dots as thousands separators (e.g. 1.234.567.890). If dots,\n  hyphens, spaces, or other non-alphanumeric characters are included, they will be sanitized before lookup.",
            "nullable": true,
            "example": "1234567890"
          },
          "issueDate": {
            "type": "string",
            "description": "Document issue date, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true,
            "example": "2025-10-31"
          }
        }
      },
      "ColombiaCcProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Full name as it appears on the CC.",
            "nullable": true,
            "example": "JUAN CARLOS PEREZ GOMEZ"
          },
          "givenName": {
            "type": "string",
            "description": "Given name(s) of the holder as they appear on the CC.",
            "nullable": true,
            "example": "JUAN CARLOS"
          },
          "familyName": {
            "type": "string",
            "description": "Family name(s) of the holder as they appear on the CC. Space-separated when\nboth paternal and maternal family names are present.",
            "nullable": true,
            "example": "PEREZ GOMEZ"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth as recorded in the civil registry (Registraduría Nacional).",
            "format": "date",
            "nullable": true,
            "example": "1985-01-15"
          },
          "sex": {
            "type": "string",
            "description": "Sex of the holder as recorded in the civil registry (Registraduría Nacional).\n            \nPossible values:\n- Male\n- Female\n- Unknown (when the sex is not recorded or cannot be confidently determined)",
            "nullable": true,
            "example": "Male"
          },
          "isAlive": {
            "type": "boolean",
            "description": "Whether the person is reported as alive in Colombia's official civil registry (Registraduría Nacional).\n            \nUsed to detect identity fraud when the holder is deceased.",
            "nullable": true,
            "example": true
          },
          "documentNumber": {
            "type": "string",
            "description": "The Cédula de Ciudadanía (CC) document number.\n            \nThis is the unique identifier assigned by the Registraduría Nacional when the person is first\nissued a CC. It does not change when the person renews or receives a new physical card; it\nremains the same for the individual for life.\n            \nCédulas issued after 2004 use the NUIP (Número Único de Identificación Personal), which is\n10 digits. Older documents may have fewer than 10 digits and are still valid.",
            "nullable": true,
            "example": "1234567890"
          },
          "expeditionDate": {
            "type": "string",
            "description": "Date the CC was issued (fecha de expedición).\n            \nFormat:\n- yyyy-MM-dd",
            "format": "date",
            "nullable": true,
            "example": "2020-03-10"
          },
          "expeditionPlace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ColombiaExpeditionPlace"
              }
            ],
            "description": "Place where the CC was issued (lugar de expedición): municipality and department as recorded\nby the Registraduría Nacional.",
            "nullable": true,
            "example": {
              "municipality": "BOGOTA D.C.",
              "department": "BOGOTA"
            }
          },
          "arrayName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "All names as they appear on the CC, as an array of strings.\n            \nFormat:\n- Order follows the civil registry: typically family name(s) first, then given name(s).",
            "nullable": true,
            "example": [
              "PEREZ",
              "GOMEZ",
              "JUAN",
              "CARLOS"
            ]
          }
        },
        "description": "Exposed properties for the `colombia-cc-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "ColombiaExpeditionPlace": {
        "type": "object",
        "properties": {
          "municipality": {
            "type": "string",
            "description": "Municipality (municipio) where the CC was issued.\n            \nThis is the second-level administrative division in Colombia.",
            "nullable": true,
            "example": "BOGOTA D.C."
          },
          "department": {
            "type": "string",
            "description": "Department (departamento) where the CC was issued.\n            \nThis is the first-level administrative division in Colombia.",
            "nullable": true,
            "example": "BOGOTA"
          }
        },
        "description": "Place of expedition (issue) for the Colombia Cédula de Ciudadanía (CC) as recorded by the Registraduría\nNacional del Estado Civil (National Civil Registry).\n            \nColombia uses a two-level administrative hierarchy for place of issue: municipality (municipio) within\ndepartment (departamento)."
      },
      "ConnectIdAddress": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The address' line or street.",
            "nullable": true,
            "example": "L 7 SE 3 17 Jones St"
          },
          "locality": {
            "type": "string",
            "description": "The address' locality or city.",
            "nullable": true,
            "example": "North Sydney"
          },
          "region": {
            "type": "string",
            "description": "The address' region, state, or territory.",
            "nullable": true,
            "example": "NSW"
          },
          "country": {
            "type": "string",
            "description": "The address' country.\n            \nThis value is not normalized and may be an alpha-3 code or full country name.",
            "nullable": true,
            "example": "AUS"
          },
          "postalCode": {
            "type": "string",
            "description": "The address' postal code.",
            "nullable": true,
            "example": "2060"
          }
        }
      },
      "ConnectIdAgeVerification": {
        "type": "object",
        "properties": {
          "over18": {
            "type": "boolean",
            "description": "If the individual is over 18 years old.",
            "nullable": true,
            "example": true
          },
          "trustFramework": {
            "type": "string",
            "description": "The authority that verified the claim.",
            "nullable": true,
            "example": "au_connectid"
          }
        }
      },
      "ConnectIdProviderOutput": {
        "type": "object",
        "properties": {
          "birthdate": {
            "type": "string",
            "description": "The date of birth of an individual in YYYY-MM-DD format.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of an individual.",
            "nullable": true,
            "example": "John"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of an individual.",
            "nullable": true,
            "example": "Albert"
          },
          "familyName": {
            "type": "string",
            "description": "The family/last name of an individual.",
            "nullable": true,
            "example": "Smith"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of an individual.",
            "nullable": true,
            "example": "+61271111222"
          },
          "email": {
            "type": "string",
            "description": "The email of an individual.",
            "nullable": true,
            "example": "johnasmith@example.com"
          },
          "sub": {
            "type": "string",
            "description": "The OpenID Connect (OIDC) subject identifier (sub).",
            "nullable": true,
            "example": "abcdefg123456"
          },
          "ageVerification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConnectIdAgeVerification"
              }
            ],
            "description": "The age verification claim and whether the individual meets the age requirement.",
            "nullable": true
          },
          "transaction": {
            "type": "string",
            "description": "The verification session's transaction number.\n            \nThis is a unique identifier assigned to a single ConnectID transaction flow. It can be used for audit purposes or to flag fraudulent activity.",
            "nullable": true,
            "example": "qaTTTTuhVnTck8zQlba4pFW2jo55555UfIoOEYv8sJq"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConnectIdAddress"
              }
            ],
            "description": "The address.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `australia-connect-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "ContractAttachment": {
        "required": [
          "outputted",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the attachment as it appears in verification results.\n            \nPossible values:\n- \"selfie\"\n- \"document_front\"\n- \"document_back\"\n- \"document_portrait\"\n- \"document_signature\"\n- \"document_scan_report\"\n            \nAdditional attachment types may be defined for specific Providers.",
            "example": "document_portrait"
          },
          "outputted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AttributeAvailability"
              }
            ],
            "description": "Indicates when this attachment will be present in verification results.",
            "example": "Always",
            "x-enumDescriptions": {
              "Never": "This attribute will never be present in verification results.",
              "Sometimes": "This attribute may or may not be present depending on the verification context.",
              "Always": "This attribute will always be present in verification results."
            }
          }
        },
        "description": "Information about an attachment that a Provider may return in verification results."
      },
      "ContractAttribute": {
        "required": [
          "outputted",
          "scope"
        ],
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "description": "The scope of the attribute as it appears in verification results.",
            "example": "person.givenName"
          },
          "outputted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AttributeAvailability"
              }
            ],
            "description": "Indicates when this attribute will be present in verification results.",
            "example": "Always",
            "x-enumDescriptions": {
              "Never": "This attribute will never be present in verification results.",
              "Sometimes": "This attribute may or may not be present depending on the verification context.",
              "Always": "This attribute will always be present in verification results."
            }
          }
        },
        "description": "Information about an attribute that a Provider may return in verification results."
      },
      "CoteDIvoireNidLookup2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's National ID number (NNI) or document number",
            "nullable": true
          }
        }
      },
      "CoteDIvoireNidLookup2ProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Full name as returned by ONECI (National Civil Registry and Identification Office).",
            "nullable": true,
            "example": "Jean Dupont"
          },
          "givenName": {
            "type": "string",
            "description": "Given name of the ID holder as returned by ONECI (National Civil Registry and Identification Office).",
            "nullable": true,
            "example": "Jean"
          },
          "familyName": {
            "type": "string",
            "description": "Family name of the ID holder as returned by ONECI (National Civil Registry and Identification Office).",
            "nullable": true,
            "example": "Dupont"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth as returned by ONECI (National Civil Registry and Identification Office).",
            "format": "date",
            "nullable": true,
            "example": "2000-01-01"
          },
          "sex": {
            "type": "string",
            "description": "Sex of the ID holder as returned by ONECI (National Civil Registry and Identification Office).\nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality as ISO 3166-1 alpha-2 country code (e.g. \"CI\" for Côte d'Ivoire).",
            "nullable": true,
            "example": "CI"
          },
          "address": {
            "type": "string",
            "description": "Address as returned from ONECI (National Civil Registry and Identification Office).\nFormat is LOCALITY,COMMUNE: the locality (village, neighborhood, or sous-quartier)\nfollowed by the commune. Not a full street address.",
            "nullable": true,
            "example": "PLATEAU,ABIDJAN"
          },
          "documentNumber": {
            "type": "string",
            "description": "The document's own identifier (printed on the card; often labeled \"Immatriculation\" on older cards or \"Numéro CNI\" in\npost-2020 cards). On older cards this is usually one letter followed by 10 digits. On new cards it appears as 1 or 2\nleading letters plus 9 digits.",
            "nullable": true,
            "example": "I001111111"
          },
          "nationalIdNumber": {
            "type": "string",
            "description": "The NNI (Numéro National d'Identification): the person's 11-digit national ID, printed on the back of the new\nnational id card and assigned by ONECI. It is always exactly 11 digits with no letters, and is semi-random,\nnon-repetitive, and does not encode any extra data, such as date of birth, gender, or other readable attributes.",
            "nullable": true,
            "example": "12345678901"
          }
        },
        "description": "Exposed properties for the `cote-divoire-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "CreateDirectProviderSessionRequest": {
        "required": [
          "capabilities",
          "provider",
          "verificationProfileId"
        ],
        "type": "object",
        "properties": {
          "provider": {
            "minLength": 1,
            "type": "string",
            "description": "The ID of the provider to launch"
          },
          "verificationProfileId": {
            "type": "string",
            "description": "The ID of the Verification Profile to use for this session.",
            "format": "uuid"
          },
          "redirectUrl": {
            "type": "string",
            "description": "The Redirect URL to which the user should be sent after the session is complete.\n            \nThis field is required for providers which employ a redirect-based flow.",
            "nullable": true
          },
          "capabilities": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationCapability"
            },
            "description": "The list of capabilities your integration supports. Capabilities are the core of Trinsic's whitelabel-with-optional-fallback offering.\n            \nMost capabilities align with either an `IntegrationLaunchMethod` or an `IntegrationCollectionMethod`.\nThe exception being refresh content to support updating the content of the launch method.\n            \nFor example, to support a basic redirect-based flow, you must include the `LaunchRedirect` and `CaptureRedirect` capabilities.\nTo support a mobile deeplink / polling flow, you must include the `DeeplinkToMobile` and `PollForResults` capabilities.\n            \nIf `FallbackToHostedUi` is `true`, Trinsic will automatically fall back to a Trinsic-hosted UI to cover any gaps in your integration's capabilities.\nIf `FallbackToHostedUi` is `false`, gaps in your integration's capabilities will result in an error during Session creation.\n            \nRead more on how to integrate at <a href=\"https://docs.trinsic.id/docs/direct-provider-sessions\">the guide on Direct Provider Sessions</a>"
          },
          "fallbackToHostedUI": {
            "type": "boolean",
            "description": "Whether the session should fall back to a Trinsic-hosted UI in certain instances.\n            \nSpecifically, fallback will occur if any of the following are true:\n- You attempted to launch a provider which requires a capability you did not express support for\n    - In this case, Trinsic's hosted UI will perform the necessary capability\n- You attempted to launch a provider which requires input, and the input was either not provided or incomplete\n    - In this case, Trinsic's hosted UI will collect the necessary input from the user\n            \nIf fallback occurs, the session's NextStep will always be LaunchBrowser,\nand the CollectionMethod will always be CaptureRedirect.\n            \nIf this field is set to `true`, you must also:\n1. Set the `RedirectUrl` field to a non-empty value\n2. Include the `LaunchBrowser` and `CaptureRedirect` capabilities in the `Capabilities` field",
            "nullable": true
          },
          "browserLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Preferences for languages to show first in supported provider launch flows and, if the\nsession falls back, in the Trinsic-hosted UI. If left empty, the Hosted UI defaults to the\nuser's navigator languages. If no preferred language is available, the Hosted UI falls back\nto English.",
            "nullable": true
          },
          "providerInput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProviderInput"
              }
            ],
            "description": "Provider-specific input for those providers which require it.",
            "nullable": true
          }
        }
      },
      "CreateDirectProviderSessionResponse": {
        "required": [
          "nextStep",
          "resultCollection",
          "sessionId"
        ],
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "The ID of the newly-created Acceptance Session",
            "format": "uuid",
            "example": "00000000-0000-0000-0000-000000000000"
          },
          "resultCollection": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultCollection"
              }
            ],
            "description": "The method by which you must collect the results of the Acceptance Session."
          },
          "nextStep": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IntegrationStep"
              }
            ],
            "description": "The next step you must take to launch the user into the integration"
          }
        }
      },
      "CreateHostedProviderSessionRequest": {
        "required": [
          "provider",
          "redirectUrl",
          "verificationProfileId"
        ],
        "type": "object",
        "properties": {
          "provider": {
            "minLength": 1,
            "type": "string",
            "description": "The ID of the provider to launch"
          },
          "verificationProfileId": {
            "type": "string",
            "description": "The ID of the Verification Profile to use for this session.",
            "format": "uuid"
          },
          "redirectUrl": {
            "minLength": 1,
            "type": "string",
            "description": "The Redirect URL to which the user should be sent after the session is complete."
          },
          "browserLanguages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Preferences for languages to show first in the Hosted UI and supported provider launch\nflows. If left empty, the Hosted UI defaults to the user's navigator languages. If no\npreferred language is available, the Hosted UI falls back to English.",
            "nullable": true
          },
          "providerInput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProviderInput"
              }
            ],
            "description": "Provider-specific input for those providers which require it.\n\n\n<b>Deprecated:</b> In the future, Hosted Provider Sessions will not accept input on creation,\nand will instead always redirect the user to a hosted interface to collect input. If you need\nto collect input from the user yourself, please use the Create Direct Session endpoint instead.",
            "nullable": true,
            "deprecated": true
          }
        }
      },
      "CreateHostedProviderSessionResponse": {
        "required": [
          "launchUrl",
          "resultsAccessKey",
          "sessionId"
        ],
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string",
            "description": "The ID of the newly-created Acceptance Session",
            "format": "uuid"
          },
          "launchUrl": {
            "type": "string",
            "description": "The URL that should be used to launch the Hosted Provider Session on your user's device.\n            \nRedirect the user's browser to the `LaunchUrl` as a top-level navigation\n            \nThis URL is sensitive and as such can only be obtained once. If you need to obtain it again, you will need to create a new Acceptance Session.",
            "example": "https://verify.trinsic.id/api/session/launch?clientToken=..."
          },
          "resultsAccessKey": {
            "type": "string",
            "description": "The `resultsAccessKey` for the Acceptance Session.\n            \nThis is an encrypted payload which contains the decryption key necessary to access the Session's Data Vault.\n            \nSave this securely in your systems; it must be passed back with any API call which requires access to the Session's Data Vault.\n            \nTrinsic cannot access a Session's Data Vault without this key.",
            "example": "417zNGHMJp6Ht2jCoktTLNGDRZEt4BqTwwQ8Q9ZaQz8aS4Jd7nD1xff2WLhPS69j5q9QT4gvgV79Gv7QtaXwu5YC9Utr35..."
          }
        }
      },
      "CreateVerificationProfileResponse": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the verification profile",
            "format": "uuid"
          }
        }
      },
      "CzechBankIdAddress": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The address type.\n            \nPossible values are:\n- PERMANENT_RESIDENCE\n- SECONDARY_RESIDENCE\n- UNKNOWN",
            "nullable": true,
            "example": "PERMANENT_RESIDENCE"
          },
          "street": {
            "type": "string",
            "description": "The street name.\n            \nThis is usually present, but unused for small villages.",
            "nullable": true,
            "example": "Novodvorska"
          },
          "buildingApartment": {
            "type": "string",
            "description": "The address land registry number.\n            \nThis is usually present, but unused for small houses.",
            "nullable": true,
            "example": "13"
          },
          "streetNumber": {
            "type": "string",
            "description": "The additional address house number.\n            \nThis is usually present, but unused for small villages.",
            "nullable": true,
            "example": "1491"
          },
          "evidenceNumber": {
            "type": "string",
            "description": "The house evidence number.\n            \nThis is rarely used in suburbs. An evidence number is used for addresses that are residential, temporary or non-residential buildings, e.g. cabins, garages etc.",
            "nullable": true,
            "example": "11a"
          },
          "city": {
            "type": "string",
            "description": "The city name.",
            "nullable": true,
            "example": "Plzen"
          },
          "cityArea": {
            "type": "string",
            "description": "The city area name.\n            \nThis is usually present.",
            "nullable": true,
            "example": "Pankrac"
          },
          "zipcode": {
            "type": "string",
            "description": "The zip of the address.",
            "nullable": true,
            "example": "10200"
          },
          "country": {
            "type": "string",
            "description": "The country code in ISO 3166-1 alpha-2 format.",
            "nullable": true,
            "example": "CZ"
          },
          "ruianReference": {
            "type": "string",
            "description": "The address identifier in the Czech RUIAN address register.\n            \nRUIAN is the Czech Register of Territorial Identification, Addresses, and Real\nEstate. This value identifies the address record in that register and can be used to\nreconcile the address against Czech government address data.",
            "nullable": true,
            "example": "144560291"
          }
        }
      },
      "CzechBankIdCard": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The identity document type code.\n            \nPossible values are:\n            \n- ID - Identity card\n- P - Passport\n- DL - Driving license\n- IR - Residence permit\n- VS - Visa permit label\n- PS - Residential label\n- IX - Book with residence permit\n- IE - Form with temporary residence\n- OP - Identity card – without machine readable zone\n- CA - Passport of the Czech Republic resident – without machine readable zone\n- UNKNOWN - Unknown id card type",
            "nullable": true,
            "example": "ID"
          },
          "description": {
            "type": "string",
            "description": "The localized identity document type description.",
            "nullable": true,
            "example": "Identity card"
          },
          "country": {
            "type": "string",
            "description": "The country for which the identity document is valid.",
            "nullable": true,
            "example": "CZ"
          },
          "number": {
            "type": "string",
            "description": "The identity document number.",
            "nullable": true,
            "example": "123456789"
          },
          "validTo": {
            "type": "string",
            "description": "The identity document expiration date.",
            "format": "date",
            "nullable": true,
            "example": "2030-12-31"
          },
          "issuer": {
            "type": "string",
            "description": "The office that issued the identity document.",
            "nullable": true,
            "example": "Mesto Praha"
          },
          "issueDate": {
            "type": "string",
            "description": "The identity document issue date.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-15"
          }
        }
      },
      "CzechBankIdProviderOutput": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "description": "The subject identifier for the verified individual.",
            "nullable": true,
            "example": "248289761001"
          },
          "fullName": {
            "type": "string",
            "description": "The individual's full name.",
            "nullable": true,
            "example": "Jan Novak"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's given or first name.",
            "nullable": true,
            "example": "Jan"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's family or last name.",
            "nullable": true,
            "example": "Novak"
          },
          "middleName": {
            "type": "string",
            "description": "The individual's middle name.",
            "nullable": true,
            "example": "Josef"
          },
          "nickname": {
            "type": "string",
            "description": "Nickname used by a physical person\n            \nA casual name, not necessarily the legal given name.",
            "nullable": true,
            "example": "jana.stastna"
          },
          "preferredUsername": {
            "type": "string",
            "description": "The individual's preferred username.\n            \nThe user has chosen this as the preferred name for logins.",
            "nullable": true,
            "example": "jan.novak"
          },
          "gender": {
            "type": "string",
            "description": "The individual's gender.\n            \nPossible values:\n- Male\n- Female\n- Other\n            \nOnly returned for Identify verifications.",
            "nullable": true,
            "example": "male"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The individual's date of birth.\n            \nThis is a string because the value may have reduced precision, such as only a year.",
            "nullable": true,
            "example": "1978-01-23"
          },
          "birthNumber": {
            "type": "string",
            "description": "The individual's Czech birth number.\n            \nThis value is written without the traditional forward slash.\nCzech birth numbers are Czech public-authority identifiers administered through\nthe Ministry of Interior's birth-number register. The Ministry can assign one to\nCzech citizens and to foreign nationals with temporary or permanent residence in\nthe Czech Republic. For foreign nationals, this is still a Czech birth number in\nthe Czech format, not an identity number from another country.\n            \nThe common current format is YYXXDDSSSC:\n- YY: Two digit birth year\n- XX: Encoded birth month, see below for encoding logic\n- DD: Birth day\n- SSS: Sequence number\n- C: Modulo-11 checksum digit. Not present for people born before 1954.\nThe encoded month is MM for men, MM + 50 for women, and can be MM + 20 for\nmen or MM + 70 for women when additional number ranges are needed. Older\nnumbers for people born before 1954 can use YYXXDDSSS and do not use the\nmodulo-11 checksum.\n            \nOnly returned for Identify verifications.",
            "nullable": true,
            "example": "7801234562"
          },
          "age": {
            "type": "integer",
            "description": "The individual's age.",
            "format": "int32",
            "nullable": true,
            "example": 46
          },
          "isAdult": {
            "type": "boolean",
            "description": "Whether the individual is an adult.\n            \nIn the Czech Republic, legal majority (adulthood) is reached at 18 years old.\nOnly returned for Identify Plus verifications.",
            "nullable": true,
            "example": true
          },
          "dateOfDeath": {
            "type": "string",
            "description": "The individual's date of death, if available.",
            "format": "date",
            "nullable": true,
            "example": "2024-01-15"
          },
          "birthPlace": {
            "type": "string",
            "description": "The individual's place of birth.\n            \nOnly returned for Identify Plus verifications.",
            "nullable": true,
            "example": "Praha"
          },
          "birthCountry": {
            "type": "string",
            "description": "The individual's country of birth.\n            \nOnly returned for Identify Plus verifications.",
            "nullable": true,
            "example": "CZ"
          },
          "primaryNationality": {
            "type": "string",
            "description": "The individual's primary nationality.\n            \nThe value is an ISO 3166-1 alpha-2 country code.\nOnly returned for Identify Plus verifications.",
            "nullable": true,
            "example": "CZ"
          },
          "nationalities": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The individual's nationalities.",
            "nullable": true,
            "example": [
              "CZ"
            ]
          },
          "maritalStatus": {
            "type": "string",
            "description": "The individual's marital status.\n            \nPossible values:\n- COHABITATION\n- MARRIED\n- DIVORCED\n- REGISTERED_PARTNERSHIP\n- REGISTERED_PARTNERSHIP_CANCELED\n- WIDOWED\n- SINGLE\n- PARTNERSHIP\n- PARTNERSHIP_CANCELED\n- SEPARATED\n- REGISTERED_PARTNERSHIP_WIDOWED\n- LAPSED_MARRIAGE\n- UNKNOWN\n            \nOnly returned for Identify Plus verifications.",
            "nullable": true,
            "example": "MARRIED"
          },
          "email": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "jan.novak@example.cz"
          },
          "emailVerified": {
            "type": "boolean",
            "description": "Whether the individual's email address has been verified.",
            "nullable": true,
            "example": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The individual's phone number.\n            \nThis value is normalized to E.164 format.",
            "nullable": true,
            "example": "+420123456789"
          },
          "phoneNumberVerified": {
            "type": "boolean",
            "description": "Whether the individual's phone number has been verified.",
            "nullable": true,
            "example": true
          },
          "isPoliticallyExposedPerson": {
            "type": "boolean",
            "description": "Whether the individual is a politically exposed person.\n            \nThis follows Czech anti-money-laundering rules, indicating a person that is at risk for corruption, bribery or money laundering activities. Mandatory screening of these individuals is required for compliance.\nTypically set for people such as the Prime Minister, ministers, etc.",
            "nullable": true,
            "example": false
          },
          "limitedLegalCapacity": {
            "type": "boolean",
            "description": "Whether the individual is a person with limited legal capacity.",
            "nullable": true,
            "example": false
          },
          "verification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechBankIdVerification"
              }
            ],
            "description": "Metadata about how the identity information was verified for Anti Money Laundering scope.\n            \nOnly returned for Identify AML verifications.",
            "nullable": true
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CzechBankIdAddress"
            },
            "description": "The individual's addresses.\n            \nThis can include permanent residence and contact addresses.\nOnly returned for Identify verifications.",
            "nullable": true,
            "example": [
              {
                "type": "PERMANENT_RESIDENCE",
                "street": "Vaclavske namesti",
                "buildingApartment": "12",
                "streetNumber": "1",
                "evidenceNumber": "123",
                "city": "Praha",
                "cityArea": "Praha 1",
                "zipcode": "11000",
                "country": "CZ",
                "ruianReference": "21722384"
              }
            ]
          },
          "idCards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CzechBankIdCard"
            },
            "description": "The individual's identity documents.\n            \nThis can include document type, country, number, issuer, and validity dates.\nOnly returned for Identify Plus verifications.",
            "nullable": true,
            "example": [
              {
                "type": "ID",
                "description": "Identity card",
                "country": "CZ",
                "number": "123456789",
                "validTo": "2030-12-31",
                "issuer": "Mesto Praha",
                "issueDate": "2020-01-15"
              }
            ]
          },
          "updatedAt": {
            "type": "string",
            "description": "The UTC date and time when the identity data was last updated.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-05-15T12:00:00Z"
          },
          "zoneInfo": {
            "type": "string",
            "description": "The individual's time zone.\n            \nThis is represented as a zoneinfo/IANA Time Zone Database value.",
            "nullable": true,
            "example": "Europe/Prague"
          },
          "locale": {
            "type": "string",
            "description": "The individual's locale.\n            \nThis is represented as a BCP 47/RFC 5646 language tag. Some values may use an\nunderscore separator, such as cs_CZ.",
            "nullable": true,
            "example": "cs_CZ"
          },
          "titles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CzechBankIdTitle"
            },
            "description": "The individual's title prefixes and suffixes.\n            \nOnly returned for Identify verifications.",
            "nullable": true,
            "example": [
              {
                "titlePrefix": "Ing.",
                "titleSuffix": "Ph.D."
              }
            ]
          }
        },
        "description": "Exposed properties for the `czech-bank-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "CzechBankIdTitle": {
        "type": "object",
        "properties": {
          "titlePrefix": {
            "type": "string",
            "description": "The title prefix before the individual's name.",
            "nullable": true,
            "example": "Ing."
          },
          "titleSuffix": {
            "type": "string",
            "description": "The title suffix after the individual's name.",
            "nullable": true,
            "example": "Ph.D."
          }
        }
      },
      "CzechBankIdVerification": {
        "type": "object",
        "properties": {
          "trustFramework": {
            "type": "string",
            "description": "The trust framework used for the verification.\n            \nThis identifies the anti-money-laundering framework used for identity verification.",
            "nullable": true,
            "example": "cz_aml"
          },
          "time": {
            "type": "string",
            "description": "The UTC date and time when the verification happened.\n            \nThis value is normalized to UTC.",
            "format": "date-time",
            "nullable": true,
            "example": "2024-05-15T12:00:00Z"
          },
          "verificationProcess": {
            "type": "string",
            "description": "The verification process identifier.\n            \nThis identifies the bank that completed the physical identity verification process.",
            "nullable": true,
            "example": "12345678"
          }
        }
      },
      "CzechMojeIdAddressOutput": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The street address line, including house number.",
            "nullable": true,
            "example": "HAVELSKÁ 65"
          },
          "city": {
            "type": "string",
            "description": "The city or locality.",
            "nullable": true,
            "example": "BRNO"
          },
          "region": {
            "type": "string",
            "description": "The region or state.",
            "nullable": true,
            "example": "Jihomoravský kraj"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code.",
            "nullable": true,
            "example": "250 23"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "CZ"
          },
          "formattedAddress": {
            "type": "string",
            "description": "The full address as a formatted string, with components separated by newlines.",
            "nullable": true,
            "example": "HAVELSKÁ 65\\n250 23 BRNO\\nCZ"
          }
        }
      },
      "CzechMojeIdProviderOutput": {
        "type": "object",
        "properties": {
          "subjectIdentifier": {
            "type": "string",
            "description": "The subject identifier (sub) of the verified individual's MojeID account.\n            \nThis is a unique identifier that represents the individual within the MojeID system.",
            "nullable": true,
            "example": "abc123def456"
          },
          "name": {
            "type": "string",
            "description": "The individual's full name.",
            "nullable": true,
            "example": "Jan Novak"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's given (first) name.",
            "nullable": true,
            "example": "Jan"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's family (last) name.",
            "nullable": true,
            "example": "Novak"
          },
          "nickname": {
            "type": "string",
            "description": "The individual's nickname.",
            "nullable": true,
            "example": "Honza"
          },
          "email": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "jan.novak@example.com"
          },
          "emailVerified": {
            "type": "boolean",
            "description": "Whether the individual's email address has been verified by MojeID.\n(Verification email and link clicked)",
            "nullable": true,
            "example": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The individual's phone number.",
            "nullable": true,
            "example": "+420123456789"
          },
          "phoneNumberVerified": {
            "type": "boolean",
            "description": "An individual's phone number has been verified by MojeID.\n(SMS verification)",
            "nullable": true,
            "example": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The individual's date of birth.\n            \nFormatted as an ISO 8601 Date.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-15"
          },
          "gender": {
            "type": "string",
            "description": "The individual's gender as reported by MojeID.",
            "nullable": true,
            "example": "male"
          },
          "idCardNumber": {
            "type": "string",
            "description": "The individual's Czech ID card number.",
            "nullable": true,
            "example": "123456789"
          },
          "passportNumber": {
            "type": "string",
            "description": "The individual's Czech passport number.",
            "nullable": true,
            "example": "49206778"
          },
          "socialSecurityNumber": {
            "type": "string",
            "description": "The individual's Ministry of Labour and Social Affairs identifier (Czech social security equivalent).",
            "nullable": true,
            "example": "7801011234"
          },
          "isAdult": {
            "type": "boolean",
            "description": "The individual is an adult (18 years or older).",
            "nullable": true,
            "example": true
          },
          "accountValidated": {
            "type": "boolean",
            "description": "The MojeID account has been validated.\n            \nA validated account indicates the individual's identity has been verified\nto a higher level of assurance within the MojeID system.",
            "nullable": true,
            "example": true
          },
          "isdsId": {
            "type": "string",
            "description": "The individual's ISDS identifier (Informační systém datových schránek — Czech data box system),\nused for official electronic communication with Czech government authorities.",
            "nullable": true,
            "example": "avxipbf"
          },
          "isStudent": {
            "type": "boolean",
            "description": "Whether the individual is a student.",
            "nullable": true,
            "example": false
          },
          "companyRegistrationNumber": {
            "type": "string",
            "description": "The individual's or organization's Czech Registration ID (ICO), the Czech company registration number.",
            "nullable": true,
            "example": "12345678"
          },
          "taxIdentificationNumber": {
            "type": "string",
            "description": "The individual's or organization's Danove Identifikacni Cislo (DIC), the Czech tax identification number.",
            "nullable": true,
            "example": "CZ12345678"
          },
          "niaVerified": {
            "type": "boolean",
            "description": "The individual's identity has been verified through the Czech National Identity Authority (NIA).\n            \nNIA verification indicates a higher level of identity assurance, typically involving government-issued\ncredentials verified through the Czech eGovernment infrastructure.",
            "nullable": true,
            "example": true
          },
          "transactionId": {
            "type": "string",
            "description": "Unique login transaction identifier",
            "nullable": true,
            "example": "af82asdfjacv945a98afasf"
          },
          "homeAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechMojeIdAddressOutput"
              }
            ],
            "description": "The individual's home (default) address, from the `mojeid_address_def` claim.",
            "nullable": true
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechMojeIdAddressOutput"
              }
            ],
            "description": "The individual's billing address, from the `mojeid_address_bill` claim.",
            "nullable": true
          },
          "shippingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechMojeIdAddressOutput"
              }
            ],
            "description": "The individual's shipping address, from the `mojeid_address_ship` claim.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `czech-moje-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "CzechiaMojeIdProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "openId2Identifier": {
            "type": "string",
            "description": "The OpenID 2.0 Identifier (\"openid2_id\") of the verified individual's MojeID account.\n            \nThis is an HTTPS URL which uniquely identifies the individual within the MojeID system.",
            "nullable": true,
            "example": "https://tpalts3.mojeid.regtest.nic.cz/#jjczaJE2Hfsg"
          }
        },
        "description": "Exposed properties for the `a-mojeid` Provider which do not directly map to the normalized IdentityData model."
      },
      "DenmarkAltIdInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "DenmarkAltIdProviderOutput": {
        "type": "object",
        "properties": {
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "ageVerification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiAgeVerificationCredential"
              }
            ],
            "description": "An EUDI Age Verification credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "raw18013Output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 exchange performed through AltID.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `denmark-altid` Provider which do not directly map to the normalized IdentityData model."
      },
      "DigilockerAadhaarProviderOutput": {
        "type": "object",
        "properties": {
          "documentType": {
            "type": "string",
            "description": "The document type from which the identity data was retrieved.",
            "nullable": true,
            "example": "ADHAR"
          },
          "timestamp": {
            "type": "string",
            "description": "The timestamp when the signed document was generated and verified.",
            "format": "date-time",
            "nullable": true,
            "example": "2025-06-01T20:43:54.472+05:30"
          },
          "timeToLive": {
            "type": "string",
            "description": "The validity expiration timestamp for the verification document.",
            "format": "date-time",
            "nullable": true,
            "example": "2026-06-01T20:43:54"
          },
          "aadhaarNumberLastFour": {
            "type": "string",
            "description": "The Aadhaar number (UID) value for the individual.\n            \nThis is only the last four digits of the Aadhaar number.",
            "nullable": true,
            "example": "1234"
          },
          "claims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarClaims"
              }
            ],
            "description": "The claims extracted from the Aadhaar document.",
            "nullable": true
          },
          "localizedClaims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarLocalizedClaims"
              }
            ],
            "description": "The localized claims extracted from the Aadhaar document.",
            "nullable": true
          },
          "documentSignatureValidated": {
            "type": "boolean",
            "description": "Whether our own validation of the Aadhaar document signature and certificate chain succeeded.\n            \nWhen the signed document (e.g. Digilocker XML) is available, we validate it using the standard CCA/SafeScrypt chain.\nWhen the document is not returned, the signature cannot be validated and this is false. Some providers (e.g. Signzy) also\nsupply a separate DSC validation indicator in the webhook payload; that is independent of this flag, which reflects only our validation.",
            "nullable": true,
            "example": true
          }
        },
        "description": "Exposed properties for the `india-digilocker-aadhaar` Provider which do not directly map to the normalized IdentityData model."
      },
      "DiiaIssuerOutput": {
        "type": "object",
        "properties": {
          "commonName": {
            "type": "string",
            "description": "Certificate issuer common name.",
            "nullable": true,
            "example": "Administrator ITS CCA (CA TEST)"
          },
          "organization": {
            "type": "string",
            "description": "Certificate issuer organization.",
            "nullable": true,
            "example": "SE \"DIIA\" (TEST)"
          },
          "country": {
            "type": "string",
            "description": "Issuer country code in ISO 3166-1 alpha-2 format.",
            "nullable": true,
            "example": "UA"
          },
          "locality": {
            "type": "string",
            "description": "City or region where the issuer is located.",
            "nullable": true,
            "example": "Kyiv"
          },
          "serialNumber": {
            "type": "string",
            "description": "Unique identifier assigned to the issuing certificate authority.\n            \nTypically formatted as \"{country}-{registration code}-{sequence}\".",
            "nullable": true,
            "example": "UA-43395033-2403"
          },
          "nationalRegistrationNumber": {
            "type": "string",
            "description": "The organizationIdentifier attribute from the certificate Issuer Distinguished Name.\n            \nUkrainian organization identifiers commonly use the ETSI format\n\"{identifier-type}{country-code}-{identifier}\".\n            \nComponents:\n- identifier-type (3 chars): NTR (National Trade Register).\n- country-code (2 chars): ISO 3166-1 alpha-2 country code, typically UA.\n- identifier: The legal entity registration code.\n            \nFor Diia.Signature, this is issuer metadata rather than a natural person's RNOKPP.",
            "nullable": true,
            "example": "NTRUA-43395033"
          }
        }
      },
      "DiiaProviderOutput": {
        "type": "object",
        "properties": {
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DiiaSubjectOutput"
              }
            ],
            "description": "Diia.Signature user data.",
            "nullable": true
          },
          "issuer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DiiaIssuerOutput"
              }
            ],
            "description": "Diia.Signature issuer data.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `ukraine-diia` Provider which do not directly map to the normalized IdentityData model."
      },
      "DiiaSubjectOutput": {
        "type": "object",
        "properties": {
          "commonName": {
            "type": "string",
            "description": "Full name.",
            "nullable": true,
            "example": "Diia Nadia"
          },
          "country": {
            "type": "string",
            "description": "Country code in ISO 3166-1 alpha-2 format.",
            "nullable": true,
            "example": "UA"
          },
          "serialNumber": {
            "type": "string",
            "description": "The SERIALNUMBER attribute from the certificate Subject Distinguished Name.\nThis is not the X.509 certificate serial number field.\n            \nFor Ukrainian natural person certificates this commonly uses the ETSI natural person\nsemantics identifier format \"{identifier-type}{country-code}-{identifier}\".\n            \nComponents:\n- identifier-type (3 chars): TIN (Tax Identification Number) for RNOKPP.\n- country-code (2 chars): ISO 3166-1 alpha-2 country code, typically UA.\n- identifier: RNOKPP, the Ukrainian individual taxpayer registration number.",
            "nullable": true,
            "example": "TINUA-1234567063"
          },
          "givenName": {
            "type": "string",
            "description": "Given name.",
            "nullable": true,
            "example": "Nadia"
          },
          "surname": {
            "type": "string",
            "description": "Surname.",
            "nullable": true,
            "example": "Diia"
          }
        }
      },
      "DocumentData": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentType"
              }
            ],
            "description": "The type of the document.",
            "nullable": true,
            "example": "DriversLicense",
            "x-enumDescriptions": {
              "Passport": "",
              "DriversLicense": "",
              "NationalId": "",
              "IdCard": "",
              "Other": ""
            }
          },
          "number": {
            "type": "string",
            "description": "The primary identifying number of the document.",
            "nullable": true,
            "example": "D1234567"
          },
          "issueDate": {
            "type": "string",
            "description": "The date the document was issued.",
            "format": "date",
            "nullable": true,
            "example": "2025-01-15"
          },
          "expirationDate": {
            "type": "string",
            "description": "The date the document expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-15"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of the country that issued the document.",
            "nullable": true,
            "example": "US"
          },
          "issuingSubdivision": {
            "type": "string",
            "description": "The ISO 3166-2 subdivision code of the issuing authority which issued the document.\n            \nThis is always in the form {CountryCode}-{SubdivisionCode}, where CountryCode is 2 letters and SubdivisionCode is 1-3 alphanumeric characters.",
            "nullable": true,
            "example": "US-NY"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The name of the authority which issued the document.",
            "nullable": true
          }
        }
      },
      "DocumentType": {
        "enum": [
          "Passport",
          "DriversLicense",
          "NationalId",
          "IdCard",
          "Other"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Passport": "",
          "DriversLicense": "",
          "NationalId": "",
          "IdCard": "",
          "Other": ""
        }
      },
      "ElSalvadorDuiLookupInput": {
        "type": "object",
        "properties": {
          "documentNumber": {
            "type": "string",
            "description": "The DUI (Documento Único de Identidad) number for the holder.\n            \nNine numeric digits after sanitization. Commonly printed as ########-# (hyphen before the final digit).\nThe input will automatically be sanitized of dots, hyphens, spaces, or other non-alphanumeric characters\nbefore lookup.\n            \nThe ninth digit is a check digit. This is not publicly documented by the Salvadoran government, but the\nalgorithm is available in the public domain for those who seek it.",
            "nullable": true,
            "example": "123456789"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The DUI holder's date of birth. Required to match the correct person in official records.",
            "format": "date",
            "nullable": true,
            "example": "1995-12-01"
          }
        }
      },
      "ElSalvadorDuiProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Full name as it appears on the DUI (Documento Único de Identidad), as returned by Verifik from\nofficial records administered by the Registro Nacional de las Personas Naturales (RNPN).",
            "nullable": true,
            "example": "Juan Pérez"
          },
          "documentNumber": {
            "type": "string",
            "description": "The DUI (Documento Único de Identidad) document number as returned by Verifik for the matched record.\n            \nNine numeric digits after sanitization. Commonly printed as ########-# (hyphen before the final digit).\nThe output will be stripped of the hyphen and will preserve leading zeros.\n            \nThe ninth digit is a check digit. This is not publicly documented by the Salvadoran government, but the\nalgorithm is available in the public domain for those who seek it.",
            "nullable": true,
            "example": "123456789"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth that was supplied for the lookup and confirmed as matching the DUI record.",
            "format": "date",
            "nullable": true,
            "example": "1995-12-01"
          }
        },
        "description": "Exposed properties for the `el-salvador-dui-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "EstoniaIdCardProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "personalIdentificationCode": {
            "type": "string",
            "description": "The 11-digit Estonian personal identification code (\"isikukood\") of the verified individual.\n            \nThis is in the format GYYMMDDSSSC, where:\n- G combines the century and sex of birth\n- YYMMDD is the date of birth within the given century\n- SSS is a serial number distinguishing people born on the same date\n- C is a checksum digit\n            \nIf G is odd, the individual is male.\nIf G is even, the individual is female.\n            \nIf G is 1 or 2, the individual was born in the 19th century (1800-1899).\nIf G is 3 or 4, the individual was born in the 20th century (1900-1999).\nIf G is 5 or 6, the individual was born in the 21st century (2000-2099).\nIf G is 7 or 8, the individual was born in the 22nd century (2100-2199).",
            "nullable": true,
            "example": "39006301234"
          }
        },
        "description": "Exposed properties for the `a-ee-web-eid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "EudiAgeVerificationCredential": {
        "type": "object",
        "properties": {
          "ageOver": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgeOverOutput"
            },
            "description": "Processed age-over claims returned by the credential.",
            "nullable": true,
            "example": [
              {
                "age": 18,
                "isOver": true
              },
              {
                "age": 21,
                "isOver": true
              }
            ]
          }
        },
        "description": "An EUDI Age Verification credential, with document type `eu.europa.ec.av.1`."
      },
      "EudiPidCredential": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "Current first name(s), including middle name(s) where applicable, of the individual to whom the PID relates.",
            "nullable": true,
            "example": "JEAN"
          },
          "givenNameBirth": {
            "type": "string",
            "description": "First name(s), including middle name(s), of the individual at the time of birth.",
            "nullable": true,
            "example": "JEAN"
          },
          "familyName": {
            "type": "string",
            "description": "Current last name(s) or surname(s) of the individuals.",
            "nullable": true,
            "example": "DUPONT"
          },
          "familyNameBirth": {
            "type": "string",
            "description": "Last name(s) or surname(s) of the individual at the time of birth.",
            "nullable": true,
            "example": "DUPONT"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "birthPlace": {
            "type": "string",
            "description": "Country (ISO 3166-1 alpha-2), state, province, district, local area, municipality, city,\ntown, or village where the individual was born.",
            "nullable": true,
            "example": "PARIS"
          },
          "nationality": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "One or more ISO 3166-1 alpha-2 country codes representing the nationality of the individual.",
            "nullable": true,
            "example": [
              "FR"
            ]
          },
          "expiryDate": {
            "type": "string",
            "description": "Date when the PID expires.\n            \nBecause PIDs are not necessarily backed by a physical document, this does not correspond to the expiration date of such.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "Name of the administrative authority that issued the PID, or the ISO 3166 alpha-2 country code\nof the respective Member State if there is no separate authority entitled to issue PIDs.",
            "nullable": true,
            "example": "FR"
          },
          "issuingCountry": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the country or territory of the issuer of the PID.",
            "nullable": true,
            "example": "FR"
          },
          "issuanceDate": {
            "type": "string",
            "description": "Date when the PID was issued and/or the administrative validity period began.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "trustAnchor": {
            "type": "string",
            "description": "URL where a machine-readable trust anchor for verifying the PID can be found.",
            "nullable": true,
            "example": "https://trust.example.test/anchor"
          },
          "attestationLegalCategory": {
            "type": "string",
            "description": "Indicator that this credential has been issued specifically as PID.\n            \nWhen present, typically equal to \"PID\".",
            "nullable": true,
            "example": "PID"
          },
          "documentNumber": {
            "type": "string",
            "description": "A number assigned to the PID by the issuer.\n            \nThis does not correspond to the document number of a physical document.",
            "nullable": true,
            "example": "P1234567"
          },
          "issuingJurisdiction": {
            "type": "string",
            "description": "ISO 3166-2 country-subdivision code for the jurisdiction that issued the PID.",
            "nullable": true,
            "example": "FR-75"
          },
          "locationStatus": {
            "type": "string",
            "description": "Location of validity status information for the PID, where revocation information is published.",
            "nullable": true,
            "example": "https://status.example.test/pid"
          },
          "sex": {
            "type": "integer",
            "description": "Sex of the individual.\n            \nThis is a superset of the ISO/IEC 5218 sex code standard, defining additional \"other\", \"inter\", \"diverse\", and \"open\" values.\n            \nPossible values:\n- 0: Unknown\n- 1: Male\n- 2: Female\n- 3: Other\n- 4: Inter\n- 5: Diverse\n- 6: Open\n- 9: Not Applicable\n            \nFor values 0, 1, 2, and 9, ISO/IEC 5218 applies.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "emailAddress": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "jean.dupont@example.test"
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "The mobile phone number of the individual, in international format.",
            "nullable": true,
            "example": "+33612345678"
          },
          "personalAdministrativeNumber": {
            "type": "string",
            "description": "A value assigned to the individual that is unique among all personal administrative numbers\nissued by the provider.",
            "nullable": true,
            "example": "123456789"
          },
          "residentAddress": {
            "type": "string",
            "description": "The full address of the individual's permanent residence.",
            "nullable": true,
            "example": "1 RUE DE LA PAIX, 75001 PARIS"
          },
          "residentStreet": {
            "type": "string",
            "description": "The street name of the individual's permanent residence.",
            "nullable": true,
            "example": "RUE DE LA PAIX"
          },
          "residentHouseNumber": {
            "type": "string",
            "description": "The house number of the individual's permanent residence.",
            "nullable": true,
            "example": "1"
          },
          "residentCity": {
            "type": "string",
            "description": "The municipality, city, town, or village of the individual's permanent residence.",
            "nullable": true,
            "example": "PARIS"
          },
          "residentState": {
            "type": "string",
            "description": "The state, province, district, or local area of the individual's permanent residence.",
            "nullable": true,
            "example": "ILE-DE-FRANCE"
          },
          "residentPostalCode": {
            "type": "string",
            "description": "The postal code of the individual's permanent residence.",
            "nullable": true,
            "example": "75001"
          },
          "residentCountry": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code of the individual's permanent residence.",
            "nullable": true,
            "example": "FR"
          }
        },
        "description": "An EUDI Person Identification Data (PID) credential, with document type `eu.europa.ec.eudi.pid.1`.\n            \nThis is the primary identity credential type defined in the EUDI Wallet framework."
      },
      "EudiReferenceWalletProviderOutput": {
        "type": "object",
        "properties": {
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "raw18013Output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 exchange performed through the EUDI Reference Wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `eudi-reference-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "EvrotrustAddressComponents": {
        "type": "object",
        "properties": {
          "district": {
            "type": "string",
            "description": "The district fragment of the address.",
            "nullable": true,
            "example": "Sofia City"
          },
          "districtLocal": {
            "type": "string",
            "description": "The local-language district fragment of the address.",
            "nullable": true,
            "example": "Sofia City Local"
          },
          "municipality": {
            "type": "string",
            "description": "The municipality fragment of the address.",
            "nullable": true,
            "example": "Stolichna"
          },
          "municipalityLocal": {
            "type": "string",
            "description": "The local-language municipality fragment of the address.",
            "nullable": true,
            "example": "Stolichna Local"
          },
          "settlement": {
            "type": "string",
            "description": "The settlement fragment of the address.",
            "nullable": true,
            "example": "Sofia"
          },
          "settlementLocal": {
            "type": "string",
            "description": "The local-language settlement fragment of the address.",
            "nullable": true,
            "example": "Sofia Local"
          },
          "location": {
            "type": "string",
            "description": "The location or street fragment of the address.",
            "nullable": true,
            "example": "Vitosha Blvd"
          },
          "locationLocal": {
            "type": "string",
            "description": "The local-language location or street fragment of the address.",
            "nullable": true,
            "example": "Vitosha Blvd Local"
          },
          "buildingNumber": {
            "type": "string",
            "description": "The building number fragment of the address.",
            "nullable": true,
            "example": "2"
          },
          "buildingNumberLocal": {
            "type": "string",
            "description": "The local-language building number fragment of the address.",
            "nullable": true,
            "example": "2"
          },
          "entrance": {
            "type": "string",
            "description": "The entrance fragment of the address.",
            "nullable": true,
            "example": "A"
          },
          "entranceLocal": {
            "type": "string",
            "description": "The local-language entrance fragment of the address.",
            "nullable": true,
            "example": "A"
          },
          "floor": {
            "type": "string",
            "description": "The floor fragment of the address.",
            "nullable": true,
            "example": "4"
          },
          "floorLocal": {
            "type": "string",
            "description": "The local-language floor fragment of the address.",
            "nullable": true,
            "example": "4"
          },
          "apartment": {
            "type": "string",
            "description": "The apartment fragment of the address.",
            "nullable": true,
            "example": "12"
          },
          "apartmentLocal": {
            "type": "string",
            "description": "The local-language apartment fragment of the address.",
            "nullable": true,
            "example": "12"
          }
        }
      },
      "EvrotrustInput": {
        "type": "object",
        "properties": {
          "emailAddress": {
            "type": "string",
            "description": "The user's email address.\n            \nEither an email address or phone number must be provided to identify the user.",
            "format": "email",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The user's phone number.\n            \nEither an email address or phone number must be provided to identify the user.",
            "nullable": true
          }
        }
      },
      "EvrotrustProviderOutput": {
        "type": "object",
        "properties": {
          "names": {
            "type": "string",
            "description": "The full name of the individual.",
            "nullable": true,
            "example": "Iva Petrova Georgieva"
          },
          "latinNames": {
            "type": "string",
            "description": "The full Latin-script name of the individual.",
            "nullable": true,
            "example": "IVA PETROVA GEORGIEVA"
          },
          "firstName": {
            "type": "string",
            "description": "The given name of the individual.",
            "nullable": true,
            "example": "Iva"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of the individual.",
            "nullable": true,
            "example": "Petrova"
          },
          "lastName": {
            "type": "string",
            "description": "The family name of the individual.",
            "nullable": true,
            "example": "Georgieva"
          },
          "firstNameLatin": {
            "type": "string",
            "description": "The Latin-script given name of the individual.",
            "nullable": true,
            "example": "IVA"
          },
          "middleNameLatin": {
            "type": "string",
            "description": "The Latin-script middle name of the individual.",
            "nullable": true,
            "example": "PETROVA"
          },
          "lastNameLatin": {
            "type": "string",
            "description": "The Latin-script family name of the individual.",
            "nullable": true,
            "example": "GEORGIEVA"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality label of the individual.",
            "nullable": true,
            "example": "Bulgaria"
          },
          "nationalityCountry": {
            "type": "string",
            "description": "The nationality country of the individual.",
            "nullable": true,
            "example": "Bulgaria"
          },
          "nationalityCountryCode": {
            "type": "string",
            "description": "The nationality country code of the individual.\n            \nEvrotrust uses ISO 3166-1 alpha-3 country codes.",
            "nullable": true,
            "example": "BGR"
          },
          "gender": {
            "type": "string",
            "description": "The gender label of the individual.\n            \nKnown values in Evrotrust API docs:\n- Male: the individual is male.\n- Female: the individual is female.",
            "nullable": true,
            "example": "Female"
          },
          "genderLatin": {
            "type": "string",
            "description": "The Latin-script gender label of the individual.\n            \nKnown values in Evrotrust API docs:\n- Male: the individual is male.\n- Female: the individual is female.",
            "nullable": true,
            "example": "Female"
          },
          "userGender": {
            "type": "string",
            "description": "The gender value from Evrotrust's user data object.\n            \nEvrotrust documents this separately from the identification metadata gender labels. Known values:\n- Male: the individual is male.\n- Female: the individual is female.",
            "nullable": true,
            "example": "Female"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual in YYYY-MM-DD format.",
            "format": "date",
            "nullable": true,
            "example": "1984-08-03"
          },
          "placeOfBirth": {
            "type": "string",
            "description": "The place of birth of the individual, if available.",
            "nullable": true,
            "example": "Sofia"
          },
          "identificationNumber": {
            "type": "string",
            "description": "The national identification number of the individual.\n            \nThe format depends on the verified document and issuing country.",
            "nullable": true,
            "example": "8001010008"
          },
          "documentType": {
            "type": "string",
            "description": "The localized document type label of the identity document.\n            \nFor Evrotrust's canonical document type code, see `docType`.",
            "nullable": true,
            "example": "Паспорт"
          },
          "docType": {
            "type": "string",
            "description": "The canonical Evrotrust document type code.\n            \nKnown values:\n- IDcard: an identity card.\n- Passport: a passport.",
            "nullable": true,
            "example": "Passport"
          },
          "documentNumber": {
            "type": "string",
            "description": "The identity document number.",
            "nullable": true,
            "example": "644444444"
          },
          "documentIssuerName": {
            "type": "string",
            "description": "The name of the authority that issued the identity document.",
            "nullable": true,
            "example": "MVR Sofia"
          },
          "documentIssueDate": {
            "type": "string",
            "description": "The identity document issue date in YYYY-MM-DD format.\n            \nEvrotrust documents timestamp `0` for this field as no value; it is omitted from provider-specific output.",
            "format": "date",
            "nullable": true,
            "example": "2021-01-01"
          },
          "documentValidDate": {
            "type": "string",
            "description": "The identity document expiration date in YYYY-MM-DD format.\n            \nEvrotrust documents timestamp `0` for this field as no value; it is omitted from provider-specific output.",
            "format": "date",
            "nullable": true,
            "example": "2031-01-01"
          },
          "documentCountry": {
            "type": "string",
            "description": "The identity document issuing country.",
            "nullable": true,
            "example": "България"
          },
          "documentCountryCode": {
            "type": "string",
            "description": "The identity document issuing country code.\n            \nEvrotrust uses ISO 3166-1 alpha-3 country codes.",
            "nullable": true,
            "example": "BGR"
          },
          "address": {
            "type": "string",
            "description": "The full address of the individual.",
            "nullable": true,
            "example": "Sofia, Vitosha Blvd 2"
          },
          "addressComponents": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvrotrustAddressComponents"
              }
            ],
            "description": "The structured address fragments of the individual, if available.",
            "nullable": true
          },
          "emailAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The email addresses of the individual, if available.",
            "nullable": true,
            "example": [
              "iva.georgieva@example.com"
            ]
          },
          "phoneNumbers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The phone numbers of the individual in E.164 format, if available.",
            "nullable": true,
            "example": [
              "+359888123456"
            ]
          },
          "identificationReason": {
            "type": "string",
            "description": "The relying party-provided reason for requesting identification.",
            "nullable": true,
            "example": "Identity verification"
          },
          "identificationBefore": {
            "type": "string",
            "description": "The deadline or contextual value supplied for the identification request.",
            "nullable": true,
            "example": "2026-05-22T12:00:00Z"
          }
        },
        "description": "Exposed properties for the `evrotrust` Provider which do not directly map to the normalized IdentityData model."
      },
      "FaydaProviderAddress": {
        "type": "object",
        "properties": {
          "region": {
            "type": "string",
            "description": "The region, which is the primary administrative division of the address.\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "Addis Ababa"
          },
          "zone": {
            "type": "string",
            "description": "The zone, which is the administrative area within the region.\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "Bole"
          },
          "woreda": {
            "type": "string",
            "description": "The woreda, which is the local district within the zone.\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "03"
          }
        }
      },
      "FaydaProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "A unique eKYC identifying token used to match the original eKYC token received from the provider when the individual was initially registered.\n            \nSince Fayda does not return identifying data, it is the responsibility of the relying party to keep the unique individual token received from Fayda when\nthe individual was initially registered to do a comparison of the subs to verify that it is the same person.",
            "nullable": true,
            "example": "F50278D6-7C38-4284-83CD-549BBC818F5C"
          },
          "name": {
            "type": "string",
            "description": "The full name of the verified individual.\n            \nThis may be an English or Arabic name if the individual only has it one language, otherwise this will be null and the other names will be populated.",
            "nullable": true,
            "example": "Yohannes Tesfaye"
          },
          "englishName": {
            "type": "string",
            "description": "The full English name of the verified individual.",
            "nullable": true,
            "example": "Yohannes Tesfaye"
          },
          "arabicName": {
            "type": "string",
            "description": "The full Arabic name of the verified individual.",
            "nullable": true,
            "example": "يوهانس تيسفاي"
          },
          "birthdate": {
            "type": "string",
            "description": "The date of birth of the verified individual.\n            \nThis attribute is only available if registered directly.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "gender": {
            "type": "string",
            "description": "The sex of the verified individual.\n            \nPossible values:\n- Unknown\n- NotApplicable\n- Male\n- Female\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "Male"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality of the verified individual as an ISO 3166-1 alpha-2 country code.\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "ET"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of the verified individual.\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "+251911234567"
          },
          "email": {
            "type": "string",
            "description": "The email address of the verified individual.\n            \nThis attribute is only available if registered directly.",
            "nullable": true,
            "example": "yohannes@example.com"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FaydaProviderAddress"
              }
            ],
            "description": "The address of the verified individual.\n            \nThis attribute is only available if registered directly.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `ethiopia-fayda` Provider which do not directly map to the normalized IdentityData model."
      },
      "FinlandIdCardProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "personalIdentificationCode": {
            "type": "string",
            "description": "The 11-digit Finnish Personal Identification Code (Henkilötunnus) of the verified individual.\n            \n This is in the format DDMMYYCZZZQ, where:\n- DDMMYY is the date of birth\n- C is a symbol which determines the century of birth\n- ZZZ is an individual number, indicating gender\n- Q is a checksum character\n            \nIf ZZZ is even, the individual is female.\nIf ZZZ is odd, the individual is male.\n            \nIf C is '+', the individual was born in the 19th century (1800-1899).\nIf C is '-', 'U', 'V', 'W', 'X', or 'Y', the individual was born in the 20th century (1900-1999).\nIf C is 'A', 'B', 'C', 'D', 'E', or 'F', the individual was born in the 21st century (2000-2099).",
            "nullable": true,
            "example": "300690-543X"
          }
        },
        "description": "Exposed properties for the `a-fi-id-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "FinnishTrustNetworkProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The full name of the individual.",
            "nullable": true,
            "example": "Ove Henriksen"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1943-08-15"
          },
          "personalIdentificationCode": {
            "type": "string",
            "description": "The 11-digit Finnish Personal Identification Code (Henkilötunnus) of the verified individual.\n            \nThis is in the format DDMMYYCZZZQ, where:\n- DDMMYY is the date of birth\n- C is a symbol which determines the century of birth\n- ZZZ is an individual number, indicating gender\n- Q is a checksum character\n            \nIf ZZZ is even, the individual is female.\nIf ZZZ is odd, the individual is male.\n            \nIf C is '+', the individual was born in the 19th century (1800-1899).\nIf C is '-', 'U', 'V', 'W', 'X', or 'Y', the individual was born in the 20th century (1900-1999).\nIf C is 'A', 'B', 'C', 'D', 'E', or 'F', the individual was born in the 21st century (2000-2099).",
            "nullable": true,
            "example": "300690-543X"
          },
          "uniqueIdentificationNumber": {
            "type": "string",
            "description": "The 9-digit Finnish Unique Identification Number (FINUID, or sähköinen asiointitunnus SATU) of the verified individual.\nThis number is typically used for online transactions and unlike the Finnish Personal Identification Code, does not reveal personal information such as birthdate.\n            \nThe first 8 digits are randomly generated and the last character is a check control.",
            "nullable": true,
            "example": "30069054X"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual.",
            "nullable": true,
            "example": "Ove"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual.",
            "nullable": true,
            "example": "Henriksen"
          },
          "levelOfAssurance": {
            "type": "string",
            "description": "The level of assurance (LOA) for the verification.\n            \nThe LOA refers to the degree of confidence in the claimed identity of a person.\nThe European Digital Identity Framework (EUDI) measures the confidence of the digital identity's verification and authentication strength by a set of requirements for different levels.\nTo learn more, see: https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467110081/eIDAS+Levels+of+Assurance\n            \nPossible values:\n- Low: The individual has self asserted their identity and multifactor authentication is not required.\n- Substantial: The individual has performed either a remote or in-person identity verification and multifactor authentication is required.\n- High: The individual has performed an in-person identity proofing with an authorized representative and has strong cryptographic authentication requirements such as using a smart card.",
            "nullable": true,
            "example": "High"
          },
          "bank": {
            "type": "string",
            "description": "The bank used to perform the identification for the verified individual.",
            "nullable": true,
            "example": "opbank"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of the verified individual.\n            \nThis is only returned if the individual authenticated with MobileID (Mobiilivarmenne).",
            "nullable": true,
            "example": "+358401234567"
          },
          "organizationName": {
            "type": "string",
            "description": "The organization name that the individual is associated with.\n            \nThis is returned for requests that contain the organization scope.",
            "nullable": true,
            "example": "Acme Company"
          },
          "vatNumber": {
            "type": "string",
            "description": "The VAT number of the organization that the individual is associated with.\n            \nThis is returned for requests that contain the organization scope.",
            "nullable": true,
            "example": "FI07654321"
          }
        },
        "description": "Exposed properties for the `finnish-trust-network` Provider which do not directly map to the normalized IdentityData model."
      },
      "FranceIdentiteInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "FranceIdentiteProviderOutput": {
        "type": "object",
        "properties": {
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "ageVerification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiAgeVerificationCredential"
              }
            ],
            "description": "An EUDI Age Verification credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "raw18013Output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 exchange performed through France Identité.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `france-identite` Provider which do not directly map to the normalized IdentityData model."
      },
      "FrejaIndirectProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "personalNumber": {
            "type": "string",
            "description": "The value returned by Freja in the \"ssn\" field.\n            \nThe actual value of this field depends on the country of origin used to create the Freja credential. It is typically\na Social Security Number, National Identification Number, or equivalent personal identifier.",
            "nullable": true,
            "example": "200003276624"
          },
          "personalNumberCountry": {
            "type": "string",
            "description": "The 2-digit ISO country code of the country which issued the personal number.",
            "nullable": true,
            "example": "SE"
          }
        },
        "description": "Exposed properties for the `a-freja-eid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "FrejaProviderOutput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The individual's full name.",
            "nullable": true,
            "example": "Ada Lovelace"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's first name.",
            "nullable": true,
            "example": "Ada"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's last name.",
            "nullable": true,
            "example": "Lovelace"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.\n            \nFormatted as an ISO 8601 Date.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-01"
          },
          "email": {
            "type": "string",
            "description": "The individual's primary email address within Freja.",
            "nullable": true,
            "example": "ada.lovelace@example.com"
          },
          "emailVerified": {
            "type": "boolean",
            "description": "A boolean which indicates whether the individual's primary email address has been verified by Freja.",
            "nullable": true,
            "example": true
          },
          "allEmailAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array of all associated email addresses of the individual.",
            "nullable": true,
            "example": [
              "ada.lovelace@example.com",
              "ada@example.org"
            ]
          },
          "primaryPhysicalAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OutputFrejaAddress"
              }
            ],
            "description": "The individual's primary address on file.",
            "nullable": true,
            "example": {
              "line1": "123 Residential St",
              "city": "Townsville",
              "postalCode": "12345",
              "country": "US"
            }
          },
          "allPhysicalAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputFrejaAddress"
            },
            "description": "A list of all associated addresses of the individual.",
            "nullable": true,
            "example": [
              {
                "line1": "123 Residential St",
                "city": "Townsville",
                "postalCode": "12345",
                "country": "US"
              },
              {
                "line1": "456 Billing St",
                "city": "Citysville",
                "postalCode": "67890",
                "country": "US"
              }
            ]
          },
          "age": {
            "type": "integer",
            "description": "The individual's age in years.",
            "format": "int32",
            "nullable": true,
            "example": 35
          },
          "phoneNumber": {
            "type": "string",
            "description": "The individual's phone number in the E.164 format.",
            "nullable": true,
            "example": "+1234567890"
          },
          "phoneNumberVerified": {
            "type": "boolean",
            "description": "Whether the individual's phone number has been verified by Freja.",
            "nullable": true,
            "example": true
          },
          "personalIdentityNumber": {
            "type": "string",
            "description": "The individual's personal identity number. The actual value of this field depends on the country of origin used to\ncreate the Freja credential. It is typically a Social Security Number, National Identification Number, or equivalent\npersonal identifier.",
            "nullable": true,
            "example": "A1234567890"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code associated with the individual's country of origin.",
            "nullable": true,
            "example": "SE"
          },
          "document": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OutputFrejaDocument"
              }
            ],
            "description": "The underlying document, such as a passport, used to create the Freja credential.",
            "nullable": true,
            "example": {
              "type": "PASS",
              "number": "SA23579258",
              "expirationDate": "2030-12-31",
              "issuingCountry": "SE"
            }
          },
          "registrationLevel": {
            "type": "string",
            "description": "The Freja registration level associated with this individual. This can be BASIC, EXTENDED, or PLUS.\n* BASIC: Individual has a registered account with Freja.\n* EXTENDED: Individual has an official identity document verified by Freja.\n* PLUS: Individual has undergone in-person verification with Freja.",
            "nullable": true,
            "example": "EXTENDED"
          },
          "relyingPartyUserId": {
            "type": "string",
            "description": "The relying party identifier for this individual. This is an identifier specific to the individual and the\nrelying party (your service).",
            "nullable": true,
            "example": "FA9C4BAF97489D51B5A97B41F46AB1B514D66757DBBE8AA66EAD010262B2CCE3"
          },
          "transactionReference": {
            "type": "string",
            "description": "The Freja transaction reference for this verification. This is an identifier specific to the verification\ntransaction.",
            "nullable": true,
            "example": "hstRVGtMdQ-HLN8huVYY3HOfq0RS7BSZhgANDyk80UF-JLh8q8lS9Y7tVM44HLkg"
          }
        },
        "description": "Exposed properties for the `freja` Provider which do not directly map to the normalized IdentityData model."
      },
      "FrenchNumeriqueNationality": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "ISO 3166 alpha-3 country code.",
            "nullable": true,
            "example": "FRA"
          },
          "label": {
            "type": "string",
            "description": "Nationality label in French.",
            "nullable": true,
            "example": "Française"
          }
        },
        "description": "Nationality information with ISO 3166 alpha-3 code and French label."
      },
      "FrenchNumeriqueProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "OpenID Connect subject identifier (sub) for the verified individual.",
            "nullable": true,
            "example": "075ccece-6699-4c08-80ca-27a6af136b68"
          },
          "givenName": {
            "type": "string",
            "description": "Full given name(s) as recorded on the individual's French identity document.\n            \nIf the individual has multiple given names, they are separated by a single space.",
            "nullable": true,
            "example": "Jean Pierre"
          },
          "splittedGivenName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrenchNumeriqueSplittedGivenName"
              }
            ],
            "description": "Given name split into first name and middle name(s).",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "Birth name (nom de naissance) as recorded on the individual's French identity document.\nIn France, this is the family name given at birth and may differ from the usage name.",
            "nullable": true,
            "example": "Dupont"
          },
          "preferredSurname": {
            "type": "string",
            "description": "Usage surname (\"nom d'usage\") - according to French law, this is the surname used in\ndaily life. This is typically a married name or other preferred surname, as opposed to\nFamilyName which is the birth surname (\"nom de naissance\").",
            "nullable": true,
            "example": "Martin"
          },
          "birthdate": {
            "type": "string",
            "description": "Date of birth in YYYY-MM-DD format,\nas recorded on the individual's French identity document.",
            "nullable": true,
            "example": "1990-01-15"
          },
          "nationality": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrenchNumeriqueNationality"
              }
            ],
            "description": "Nationality information with ISO 3166 alpha-3 code and French label.\nThe label is provided in French (e.g., \"Française\" for French nationality).",
            "nullable": true,
            "example": {
              "code": "FRA",
              "label": "Française"
            }
          },
          "sex": {
            "type": "string",
            "description": "Sex - \"Male\" or \"Female\".",
            "nullable": true,
            "example": "Male"
          },
          "majority": {
            "type": "boolean",
            "description": "Majority status (majorité) indicating whether the individual has reached the\nFrench age of legal majority (18 years old). This value is computed by\nthe provider from the individual's birthdate.",
            "nullable": true,
            "example": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Full phone number including country prefix.",
            "nullable": true,
            "example": "+33606060606"
          },
          "splittedPhone": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrenchNumeriqueSplittedPhone"
              }
            ],
            "description": "Phone number split into country prefix and national number.",
            "nullable": true
          },
          "phoneNumberVerified": {
            "type": "boolean",
            "description": "Whether the phone number has been verified by the provider.",
            "nullable": true,
            "example": true
          },
          "email": {
            "type": "string",
            "description": "Email address registered in the individual's digital identity account.",
            "nullable": true,
            "example": "jean.dupont@example.fr"
          },
          "emailVerified": {
            "type": "boolean",
            "description": "Whether the email address has been verified by the provider.",
            "nullable": true,
            "example": true
          },
          "birthplace": {
            "type": "string",
            "description": "National Institute of Statistics and Economic Studies (INSEE) official geographic code (COG)\nof the birthplace. This is a 5-digit French administrative code identifying the commune\n(municipality) of birth. For births in metropolitan France, the first two digits represent\nthe department.\n            \nSee: https://www.insee.fr/fr/information/2560452",
            "nullable": true,
            "example": "75056"
          },
          "birthplaceLabel": {
            "type": "string",
            "description": "Name of the birthplace commune (municipality). If applicable, this includes the full name of\nthe arrondissement (borough).",
            "nullable": true,
            "example": "PARIS-9E-ARRONDISSEMENT"
          },
          "birthCountry": {
            "type": "string",
            "description": "National Institute of Statistics and Economic Studies (INSEE) official geographic code (COG)\nfor the individual's country of birth.\n            \nLaPoste returns this as a 5-character numeric string. This is a country/territory COG,\nso it always starts with \"99\" (99xxx). France is coded as 99100.\n            \nSee full list here: https://www.insee.fr/fr/information/2560452",
            "nullable": true,
            "example": "99100"
          },
          "birthCountryIso": {
            "type": "string",
            "description": "Birth country as an ISO 3166 alpha-3 code.",
            "nullable": true,
            "example": "FRA"
          },
          "birthCountryLabel": {
            "type": "string",
            "description": "Label of the birth country, in English.",
            "nullable": true,
            "example": "France"
          },
          "birthDepartment": {
            "type": "string",
            "description": "Number of the department of birth (e.g., \"75\" for Paris, \"2A\" for Corse-du-Sud).\n            \nSee full list here: https://en.wikipedia.org/wiki/Departments_of_France",
            "nullable": true,
            "example": "75"
          },
          "digitalIdentityCreationDate": {
            "type": "string",
            "description": "Date when the individual's digital identity was created.",
            "format": "date",
            "nullable": true,
            "example": "2023-06-15"
          },
          "digitalIdentityExpirationDate": {
            "type": "string",
            "description": "Date when the digital identity expires. It is valid for 5 years from the date of identity verification.\nIndividuals are notified ~1 month before and must re-verify identity via the app or in-person at La Poste.\nAfter expiration, the identity is deactivated but can be renewed within 1 year; otherwise deleted.",
            "format": "date",
            "nullable": true,
            "example": "2028-06-15"
          },
          "identityDocumentType": {
            "type": "string",
            "description": "Type of identity document used for verification.\nCan be \"ID_CARD\", \"PASSPORT\", or \"RESIDENCE_PERMIT\".",
            "nullable": true,
            "example": "PASSPORT"
          },
          "identityDocumentNumber": {
            "type": "string",
            "description": "Identity document number as it appears on the ID Card, Passport or Residence Permit.",
            "nullable": true,
            "example": "51RF501150"
          },
          "identityDocumentEmittingDate": {
            "type": "string",
            "description": "Date when the identity document was issued.",
            "format": "date",
            "nullable": true,
            "example": "2021-03-24"
          },
          "identityDocumentExpirationDate": {
            "type": "string",
            "description": "Date when the identity document expires.",
            "format": "date",
            "nullable": true,
            "example": "2031-03-24"
          },
          "identityDocumentEmittingCountry": {
            "type": "string",
            "description": "Country that issued the identity document (ISO 3166 alpha-3 code).",
            "nullable": true,
            "example": "FRA"
          },
          "identityDocumentMrz": {
            "type": "string",
            "description": "Machine Readable Zone (MRZ) data from the ID Card, Passport or Residence Permit.",
            "nullable": true,
            "example": "P<FRASPECIMEN<<NATACHA<<<<<<<<<<<<<<<<<<<<<<<<<51RF501150FRA7307122F2203242<<<<<<<<<<<<<<<02"
          }
        },
        "description": "Exposed properties for the `france-identite-numerique` Provider which do not directly map to the normalized IdentityData model."
      },
      "FrenchNumeriqueSplittedGivenName": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First/primary given name (premier prénom).",
            "nullable": true,
            "example": "Jean"
          },
          "middleName": {
            "type": "string",
            "description": "Middle name(s) (prénoms secondaires), separated by spaces if multiple.",
            "nullable": true,
            "example": "Pierre"
          }
        },
        "description": "Given name split into first name and middle name(s)."
      },
      "FrenchNumeriqueSplittedPhone": {
        "type": "object",
        "properties": {
          "countryPrefix": {
            "type": "string",
            "description": "International country calling code including the plus sign.",
            "nullable": true,
            "example": "+33"
          },
          "nationalNumber": {
            "type": "string",
            "description": "National phone number without the country prefix.",
            "nullable": true,
            "example": "601020304"
          }
        },
        "description": "Phone number split into country prefix and national number."
      },
      "GermanyEudiSandboxInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "GermanyEudiSandboxProviderOutput": {
        "type": "object",
        "properties": {
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "raw18013Output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 exchange performed through the Germany EUDI Sandbox Wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `germany-eudi-sandbox` Provider which do not directly map to the normalized IdentityData model."
      },
      "GetAttachmentRequest": {
        "required": [
          "resultsAccessKey"
        ],
        "type": "object",
        "properties": {
          "resultsAccessKey": {
            "minLength": 1,
            "type": "string",
            "description": "The Results Access Key for the Session associated with the Attachment being retrieved.\n            \nThis is returned during Session creation."
          }
        }
      },
      "GetAttachmentResponse": {
        "required": [
          "content",
          "contentType"
        ],
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "The file contents of the Attachment. When using an SDK, this can be a raw byte array. In raw JSON form this is Base64. Combine this with the Content type to reconstruct the file.",
            "format": "byte"
          },
          "contentType": {
            "type": "string",
            "description": "The MIME type of the Attachment data"
          }
        }
      },
      "GetProviderResponse": {
        "required": [
          "provider"
        ],
        "type": "object",
        "properties": {
          "provider": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Provider"
              }
            ],
            "description": "The provider available to this organization"
          }
        }
      },
      "GetSessionResponse": {
        "required": [
          "session"
        ],
        "type": "object",
        "properties": {
          "session": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Session"
              }
            ]
          }
        }
      },
      "GetSessionResultRequest": {
        "required": [
          "resultsAccessKey"
        ],
        "type": "object",
        "properties": {
          "resultsAccessKey": {
            "type": "string",
            "description": "The Results Access Key to exchange"
          }
        }
      },
      "GetSessionResultResponse": {
        "required": [
          "session"
        ],
        "type": "object",
        "properties": {
          "session": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Session"
              }
            ]
          },
          "identityData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IdentityData"
              }
            ],
            "nullable": true
          }
        }
      },
      "GoogleWalletIdPassCredential": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "First name(s), other name(s), or secondary identifier of the individual.",
            "nullable": true,
            "example": "JOHN"
          },
          "familyName": {
            "type": "string",
            "description": "Last name, surname, or primary identifier of the individual.",
            "nullable": true,
            "example": "DOE"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "issueDate": {
            "type": "string",
            "description": "The date when the ID Pass was issued.\n            \nThis is not the same as the issue date of the underlying physical passport used to create the ID Pass.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date when the ID Pass expires.\n            \nThis is not necessarily the same as the expiration date of the underlying physical passport used to create the ID Pass.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "issuingCountry": {
            "type": "string",
            "description": "Alpha-2 country code of the issuing authority's country or territory.",
            "nullable": true,
            "example": "US"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "Name or identifier of the mDL issuing authority.\n            \nThis field's contents are arbitrary; it has no guaranteed format.",
            "nullable": true,
            "example": "US Department of State"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality of the individual as an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "US"
          },
          "documentNumber": {
            "type": "string",
            "description": "The number of the underlying passport used to create the ID Pass.",
            "nullable": true,
            "example": "P1234567"
          },
          "sex": {
            "type": "integer",
            "description": "The individual's sex as an ISO/IEC 5218 code.\n            \nPossible values:\n- 0: Unknown\n- 1: Male\n- 2: Female\n- 9: Not Applicable",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "ageOver": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgeOverOutput"
            },
            "description": "Processed age-over claims returned by the ID Pass.",
            "nullable": true,
            "example": [
              {
                "age": 18,
                "isOver": true
              },
              {
                "age": 21,
                "isOver": true
              }
            ]
          },
          "issueDateOfUnderlyingDocument": {
            "type": "string",
            "description": "Date when the underlying passport backing this digital credential was originally issued.",
            "format": "date",
            "nullable": true,
            "example": "2018-06-15"
          }
        },
        "description": "A Google Wallet ID Pass credential, retrieved from Google Wallet.\n            \nThis is a passport-derived digital credential issued by Google."
      },
      "GoogleWalletInput": {
        "type": "object",
        "properties": {
          "exchangeMechanism": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlExchangeMechanism"
              }
            ],
            "description": "The exchange mechanism to use for this Google Wallet verification.\n            \nUse `DigitalCredentialsApi` for Digital Credentials API on web, or `NativeApp` for a native Android app.",
            "nullable": true,
            "x-enumDescriptions": {
              "NativeApp": "The mDL exchange will be performed using a native mobile app SDK (e.g. Google Wallet, Apple Wallet).",
              "DigitalCredentialsApi": "The mDL exchange will be performed using the Digital Credentials API on web."
            }
          },
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "**Preview feature: not suitable for production use cases**\n            \nThe raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.\n            \nNOTE: This parameter has no effect in live mode for Google Wallet verifications. Dynamic requests are currently only supported in test mode for Google Wallet.",
            "nullable": true
          }
        }
      },
      "GoogleWalletProviderOutput": {
        "type": "object",
        "properties": {
          "mobileDriversLicense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135MobileDriversLicenseCredential"
              }
            ],
            "description": "A standard 18013-5 Mobile Driver's License credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "idPass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GoogleWalletIdPassCredential"
              }
            ],
            "description": "A Google Wallet ID Pass credential (`com.google.wallet.idcard.1`), retrieved from the individual's wallet.",
            "nullable": true
          },
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the mDL exchange performed through Google Wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `google-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "GuatemalaCuiLookupInput": {
        "type": "object",
        "properties": {
          "documentNumber": {
            "type": "string",
            "description": "The Guatemalan Código Único de Identificación (CUI) number.\n            \nAssigned and maintained by RENAP (Registro Nacional de las Personas). Official format: exactly 13 numeric digits.\n8 RENAP-assigned serial digits, 1 verifier digit (dígito verificador), and 4 geographic digits for department\nand municipality of birth. The CUI is printed on the Documento Personal de Identificación (DPI) in three groups\n(4–5–4) separated by spaces.\n            \nTrinsic normalizes to digits-only before lookup, automatically removing spaces, dots, hyphens, and other\nnon-alphanumeric characters.\n            \nNo verifier algorithm appears in publicly accessible RENAP resources. Community-maintained validators often use modulus-11\n(non-official).",
            "nullable": true,
            "example": "1234567890101"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The individual's date of birth.\n            \nMust match the record in order to retrieve the individual's details.",
            "format": "date",
            "nullable": true,
            "example": "1984-03-12"
          }
        }
      },
      "GuatemalaCuiProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Full name, including given and family names of the CUI holder.",
            "nullable": true,
            "example": "JUAN CARLOS PEREZ GARCIA"
          },
          "givenName": {
            "type": "string",
            "description": "Given name(s) of the CUI holder.",
            "nullable": true,
            "example": "JUAN CARLOS"
          },
          "familyName": {
            "type": "string",
            "description": "Family name(s) of the CUI holder, including maternal and paternal names.",
            "nullable": true,
            "example": "PEREZ GARCIA"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth of the CUI holder.",
            "format": "date",
            "nullable": true,
            "example": "1999-01-13"
          },
          "documentNumber": {
            "type": "string",
            "description": "The Guatemalan Código Único de Identificación (CUI) number.\n            \nAssigned and maintained by RENAP (Registro Nacional de las Personas). Official format: exactly 13 numeric digits.\n8 RENAP-assigned serial digits, 1 verifier digit (dígito verificador), and 4 geographic digits for department\nand municipality of birth. The CUI is printed on the Documento Personal de Identificación (DPI) in three groups\n(4–5–4) separated by spaces.\n            \nTrinsic normalizes to digits-only when returning the result, automatically removing spaces, dots, hyphens, and other\nnon-alphanumeric characters.\n            \nNo verifier algorithm appears in publicly accessible RENAP resources. Community-maintained validators often use modulus-11\n(non-official).",
            "nullable": true,
            "example": "1234567890101"
          },
          "serialDigits": {
            "type": "string",
            "description": "The first 8 digits of the CUI: the portion RENAP assigns from its registration system, before the verifier\ndigit and the four-place geographic codes. Called the “serial” numbers in community-maintained validators.",
            "nullable": true,
            "example": "12345678"
          },
          "verifierDigit": {
            "type": "string",
            "description": "The 9th digit of the CUI (verifier digit / dígito verificador). No verifier algorithm appears in publicly accessible RENAP\nresources.\n            \nHowever, community-maintained validators often use modulus-11 (non-official).",
            "nullable": true,
            "example": "9"
          },
          "geographicDigits": {
            "type": "string",
            "description": "The last four digits encode birthplace department and municipality. There is not a publicly accessible\ndataset from RENAP for geographic codes. The INE (Instituto Nacional de Estadística y Censos) provides a dictionary\nof variables (Educación Formal 2024) that includes statistical codes for decoding departments and municipalities.\nBe careful using these resources, as these codes are not official RENAP codes. They may not always map to the correct\ndepartment and municipality for consular registrations, naturalizations, foreign residents, and other edge cases.\n            \nFor the dataset, see: https://datos.ine.gob.gt/dataset/educacion-formal-2024 under \"Diccionario de Variables (Educación Formal 2024)\"",
            "nullable": true,
            "example": "0101"
          },
          "sex": {
            "type": "string",
            "description": "Sex of the CUI holder.\n            \nPossible values:\n- Male\n- Female\n- Unknown",
            "nullable": true,
            "example": "Male"
          },
          "arrayName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "All names of the CUI holder, as an array of strings (e.g. given and family name parts).",
            "nullable": true,
            "example": [
              "JUAN",
              "CARLOS",
              "PEREZ",
              "GARCIA"
            ]
          }
        },
        "description": "Exposed properties for the `guatemala-cui-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "IdemiaMobileIdProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "The OpenID Connect subject identifier for the verified individual.",
            "nullable": true,
            "example": "248289761001"
          },
          "nameSuffix": {
            "type": "string",
            "description": "The individual's name suffix.",
            "nullable": true,
            "example": "Jr."
          },
          "fullName": {
            "type": "string",
            "description": "The individual's full name.",
            "nullable": true,
            "example": "Jane Doe"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's given name.",
            "nullable": true,
            "example": "Jane"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's family name.",
            "nullable": true,
            "example": "Doe"
          },
          "birthDate": {
            "type": "string",
            "description": "The individual's birth date.",
            "nullable": true,
            "example": "1985-01-31"
          },
          "ageOver18": {
            "type": "string",
            "description": "Whether the individual is over 18 years old.",
            "nullable": true,
            "example": "true"
          },
          "ageOver21": {
            "type": "string",
            "description": "Whether the individual is over 21 years old.",
            "nullable": true,
            "example": "true"
          },
          "ageOver25": {
            "type": "string",
            "description": "Whether the individual is over 25 years old.",
            "nullable": true,
            "example": "true"
          },
          "residentAddress": {
            "type": "string",
            "description": "The individual's resident street address.",
            "nullable": true,
            "example": "123 Main St"
          },
          "residentState": {
            "type": "string",
            "description": "The individual's resident state.",
            "nullable": true,
            "example": "NY"
          },
          "residentCountry": {
            "type": "string",
            "description": "The individual's resident country.",
            "nullable": true,
            "example": "USA"
          },
          "residentPostalCode": {
            "type": "string",
            "description": "The individual's resident postal code.",
            "nullable": true,
            "example": "12207"
          },
          "residentCity": {
            "type": "string",
            "description": "The individual's resident city.",
            "nullable": true,
            "example": "Albany"
          },
          "email": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "jane.doe@example.com"
          },
          "emailVerified": {
            "type": "boolean",
            "description": "Whether the individual's email address has been verified.",
            "nullable": true,
            "example": true
          },
          "documentNumber": {
            "type": "string",
            "description": "The individual's document number.",
            "nullable": true,
            "example": "D1234567"
          },
          "issueDate": {
            "type": "string",
            "description": "The date the document was issued.",
            "nullable": true,
            "example": "2021-01-31"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The country that issued the document.",
            "nullable": true,
            "example": "USA"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The authority that issued the document.",
            "nullable": true,
            "example": "New York DMV"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date the document expires.",
            "nullable": true,
            "example": "2031-01-31"
          },
          "issuingJurisdiction": {
            "type": "string",
            "description": "The jurisdiction that issued the document.",
            "nullable": true,
            "example": "NY"
          },
          "documentType": {
            "type": "string",
            "description": "The document type.",
            "nullable": true,
            "example": "DRIVING_LICENSE"
          },
          "sex": {
            "type": "string",
            "description": "The individual's sex.",
            "nullable": true,
            "example": "female"
          }
        },
        "description": "Exposed properties for Idemia Mobile ID Providers which do not directly map to the normalized IdentityData model."
      },
      "IdentityData": {
        "required": [
          "attachments",
          "originatingProviderId"
        ],
        "type": "object",
        "properties": {
          "originatingProviderId": {
            "type": "string",
            "description": "The ID of the provider from which this data originated (eg \"yoti\", \"clear\")"
          },
          "originatingSubProviderId": {
            "type": "string",
            "description": "The sub-provider ID of the provider from which this data originated (eg \"rabo\", \"poste-italiane\")\n            \nThis is applicable only to federated Identity Providers such as SPID and IDIN.",
            "nullable": true
          },
          "person": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PersonData"
              }
            ],
            "description": "Identity data of the individual who was verified",
            "nullable": true
          },
          "document": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentData"
              }
            ],
            "description": "Identity data of the document involved in verification, if relevant",
            "nullable": true
          },
          "match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MatchData"
              }
            ],
            "description": "Match results for the data being matched against.\n            \nThis applies to Providers which operate based on matching data / biometrics against a government database,\nreturning match scores or results as opposed to the data itself.",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentInfo"
            },
            "description": "Information for each attachment included with this set of identity data.\n            \nUse the Attachments API to fetch an attachment by its ID for a given Session."
          },
          "providerOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProviderOutput"
              }
            ],
            "description": "Provider-specific output data that doesn't fit the standard identity data schema.\n            \nThe structure of this object varies by provider.",
            "nullable": true
          }
        }
      },
      "IdinInput": {
        "type": "object",
        "properties": {
          "subProviderId": {
            "type": "string",
            "description": "The ID of the specific bank to invoke with IDIN.\n            \nIf not specified, the user will be prompted to select a bank.",
            "nullable": true
          }
        }
      },
      "IndiaDigilockerAadhaarMatchDateOfBirthField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The date of birth submitted for this check, as provided in the match input.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "outcome": {
            "type": "boolean",
            "description": "Whether the submitted date of birth matched the issuer record for this session.",
            "nullable": true,
            "example": true
          }
        }
      },
      "IndiaDigilockerAadhaarMatchFullNameField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The full name string submitted for this check, as provided in the match input.",
            "nullable": true,
            "example": "Rajesh Kumar Sharma"
          },
          "outcome": {
            "type": "number",
            "description": "Full-name similarity score from the DigiLocker match result for this session.\n            \nFormat:\n- Between 0.0 to 1.0, where higher values indicate closer agreement with the Aadhaar record.",
            "format": "double",
            "nullable": true,
            "example": 0.92
          }
        }
      },
      "IndiaDigilockerAadhaarMatchProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndiaDigilockerAadhaarMatchFullNameField"
              }
            ],
            "description": "Full name submitted for this DigiLocker Aadhaar match and the similarity score returned for that value.",
            "nullable": true,
            "example": {
              "inputValue": "Rajesh Kumar Sharma",
              "outcome": 0.92
            }
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndiaDigilockerAadhaarMatchDateOfBirthField"
              }
            ],
            "description": "Date of birth submitted for this DigiLocker Aadhaar match and whether it matched the issuer record for this session.",
            "nullable": true,
            "example": {
              "inputValue": "1985-01-31",
              "outcome": true
            }
          }
        },
        "description": "Exposed properties for the `india-digilocker-aadhaar-match` Provider which do not directly map to the normalized IdentityData model."
      },
      "IndiaPanLookupInput": {
        "required": [
          "permanentAccountNumber"
        ],
        "type": "object",
        "properties": {
          "permanentAccountNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Permanent Account Number (PAN) to verify. PAN is a ten-character tax identifier issued\nby the Income Tax Department of India."
          }
        }
      },
      "IndiaPanLookupProviderOutput": {
        "type": "object",
        "properties": {
          "permanentAccountNumber": {
            "type": "string",
            "description": "Permanent Account Number (PAN) that was looked up.\n            \nPAN is a ten-character identifier issued by the Income Tax Department of India.",
            "nullable": true,
            "example": "ABCPS1234Z"
          },
          "structuredPermanentAccountNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndiaPanStructuredNumber"
              }
            ],
            "description": "PAN split into structural parts for the canonical ten-character format.\n            \nCovers alphabetic series, assessee category, name prefix letter, serial number, and check letter.",
            "nullable": true,
            "example": {
              "seriesCode": "ABC",
              "assesseeCategoryCode": "P",
              "assesseeCategoryName": "Individual",
              "namePrefixLetter": "S",
              "serialNumber": "1234",
              "checkLetter": "Z"
            }
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the entity subject to income tax.\n            \nNOTE: Only available when PAN status is VALID.",
            "nullable": true,
            "example": "Rajesh Kumar Sharma"
          },
          "givenName": {
            "type": "string",
            "description": "Given name of the individual.\n            \nNOTE: Only available when PAN status is VALID and the verification is for an individual person.",
            "nullable": true,
            "example": "Rajesh"
          },
          "middleName": {
            "type": "string",
            "description": "Middle name of the individual.\n            \nNOTE: Only available when PAN status is VALID and the verification is for an individual person.",
            "nullable": true,
            "example": "Kumar"
          },
          "familyName": {
            "type": "string",
            "description": "Family name of the individual.\n            \nNOTE: Only available when PAN status is VALID and the verification is for an individual person.",
            "nullable": true,
            "example": "Sharma"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth of the individual.\n            \nNOTE: Only available when PAN status is VALID and the verification is for an individual person.",
            "nullable": true,
            "example": "1943-08-15"
          },
          "panStatus": {
            "type": "string",
            "description": "PAN card status from Signzy for the lookup.\n            \nPossible values:\n- VALID\n- FAKE\n- DEACTIVATED\n- DELETED\n- INVALID\n- AMALGAMATION\n- ACQUISITION\n- DEATH\n- DISSOLUTION\n- LIQUIDATED\n- MERGER\n- PARTITION\n- SPLIT\n- UNDER LIQUIDATION\n- INOPERATIVE",
            "nullable": true,
            "example": "VALID"
          }
        },
        "description": "Exposed properties for the `india-pan-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "IndiaPanStructuredNumber": {
        "type": "object",
        "properties": {
          "seriesCode": {
            "type": "string",
            "description": "Three-letter block issued by the Income Tax Department of India.\n            \nTies the number to a specific Income Tax Office or jurisdiction using an internal labeling system.\n            \nPosition:\n- Characters 1 through 3 of the PAN\n            \nPossible values:\n- Any three-letter block of uppercase Latin letters",
            "nullable": true,
            "example": "ABC"
          },
          "assesseeCategoryCode": {
            "type": "string",
            "description": "Code that represents the entity that is subject to income tax in India.\n            \nPosition:\n- Character 4 of the PAN\n            \nPossible values:\n- \"A\" for Association of Persons (AOP)\n- \"B\" for Body of Individuals (BOI)\n- \"C\" for Company\n- \"F\" for Firm\n- \"G\" for Government\n- \"H\" for Hindu Undivided Family (HUF)\n- \"J\" for Artificial Juridical Person\n- \"L\" for Local Authority\n- \"P\" for Individual\n- \"T\" for Trust",
            "nullable": true,
            "example": "P"
          },
          "assesseeCategoryName": {
            "type": "string",
            "description": "Human-readable label for the assessee category when it matches a known code.\n            \nPossible values:\n- Association of Persons (AOP)\n- Body of Individuals (BOI)\n- Company\n- Firm\n- Government\n- Hindu Undivided Family (HUF)\n- Artificial Juridical Person\n- Local Authority\n- Individual\n- Trust\n            \nOmitted when the letter is not a standard category code.",
            "nullable": true,
            "example": "Individual"
          },
          "namePrefixLetter": {
            "type": "string",
            "description": "First letter of the name of the entity that is subject to income tax in India.\n            \nPosition:\n- Character 5 of the PAN.\n            \nFormat:\n- When AssesseeCategoryCode is P, this character is the first letter of the individual's\n  family name as recorded for the PAN.\n- When AssesseeCategoryCode is A, B, C, F, G, H, J, L, or T, this character is the first letter\n  of the name of the association, body, company, firm, government, HUF, local authority, or\n  trust.\n            \nPossible values:\n- Any uppercase Latin letter",
            "nullable": true,
            "example": "S"
          },
          "serialNumber": {
            "type": "string",
            "description": "Sequential four-digit field assigned by the Income Tax Department of India.\n            \nEach PAN receives a unique serial within the given series code and assessee category.\n            \nPosition:\n- Characters 6 through 9 of the PAN.\n            \nPossible values:\n- Four-digit strings 0001 through 9999 inclusive, using only digits 0 through 9",
            "nullable": true,
            "example": "1234"
          },
          "checkLetter": {
            "type": "string",
            "description": "Alphabetic check character for the first nine characters of the PAN.\n            \nThe algorithm has not been made publicly available by the Income Tax Department of India.\n            \nPosition:\n- Character 10 of the PAN.\n            \nPossible values:\n- One uppercase Latin letter A through Z",
            "nullable": true,
            "example": "Z"
          }
        }
      },
      "IndonesiaDukcapilMatchDateOfBirthField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The date of birth submitted for this check.",
            "format": "date",
            "nullable": true,
            "example": "1980-01-31"
          },
          "outcome": {
            "type": "number",
            "description": "The provider assessment result for the submitted date of birth.\n            \nLocal integration code expects the provider to return 0 or 1 for this assessment.",
            "format": "double",
            "nullable": true,
            "example": 1
          }
        }
      },
      "IndonesiaDukcapilMatchFullNameField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The full name submitted for this check.",
            "nullable": true,
            "example": "Siti Aminah"
          },
          "outcome": {
            "type": "number",
            "description": "The provider assessment result for the submitted full name.\n            \nFormat: numeric score from 0.0 to 1.0, where higher values indicate closer agreement with the Dukcapil record.",
            "format": "double",
            "nullable": true,
            "example": 0.98
          }
        }
      },
      "IndonesiaDukcapilMatchInput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The user's full name",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          },
          "nikIdNumber": {
            "type": "string",
            "description": "The user's Indonesia NIK ID number",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "The email address of the individual.\n            \nEither email or phone number must be provided.",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of the individual.\n            \nEither email or phone number must be provided.",
            "nullable": true
          },
          "selfieImage": {
            "type": "string",
            "description": "The raw bytes of the selfie image of the individual.\n            \nMust be JPEG or PNG format; 10MB maximum.",
            "format": "byte",
            "nullable": true
          },
          "documentImage": {
            "type": "string",
            "description": "The raw bytes of the image of the individual's KTP government ID.\n            \nMust be JPEG format; 1MB maximum.\n            \nOptional.",
            "format": "byte",
            "nullable": true
          },
          "consentGivenAt": {
            "type": "string",
            "description": "The timestamp when consent was given by the user for the verification.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "IndonesiaDukcapilMatchNationalIdNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The NIK (Nomor Induk Kependudukan) submitted for this check.\n            \nNIK is Indonesia's unique population identity number, issued by Indonesia's population administration and civil\nregistration authority (Dukcapil) under the Ministry of Home Affairs.\n            \nFormat:\n- 16 numeric digits.\n- Digits 1-2 are the province code.\n- Digits 3-4 are the regency or city code within that province.\n- Digits 5-6 are the district code within that regency or city.\n- Digits 7-12 encode date of birth as DDMMYY. For female NIK holders, the day is increased by 40.\n- Digits 13-16 are an issuance serial number.",
            "nullable": true,
            "example": "3171017101800001"
          },
          "outcome": {
            "type": "number",
            "description": "The provider assessment result for the submitted NIK.\n            \nLocal integration code expects the provider to return 0 or 1 for this assessment.",
            "format": "double",
            "nullable": true,
            "example": 1
          }
        }
      },
      "IndonesiaDukcapilMatchProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaDukcapilMatchNationalIdNumberField"
              }
            ],
            "description": "NIK submitted for this Dukcapil match and the assessment result returned for that value.",
            "nullable": true,
            "example": {
              "inputValue": "3171017101800001",
              "outcome": 1
            }
          },
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaDukcapilMatchFullNameField"
              }
            ],
            "description": "Full name submitted for this Dukcapil match and the assessment result returned for that value.",
            "nullable": true,
            "example": {
              "inputValue": "Siti Aminah",
              "outcome": 0.98
            }
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaDukcapilMatchDateOfBirthField"
              }
            ],
            "description": "Date of birth submitted for this Dukcapil match and the assessment result returned for that value.",
            "nullable": true,
            "example": {
              "inputValue": "1980-01-31",
              "outcome": 1
            }
          },
          "provinceCode": {
            "type": "string",
            "description": "Two-digit Indonesian government administrative region code for the province, extracted from digits 1-2 of the submitted NIK number.\n            \nSource system: Kode Wilayah Administrasi Pemerintahan, maintained by Indonesia's Ministry of Home Affairs.\nThe first digit indicates the island group: 1-2 Sumatra, 3-4 Java, 5 Bali and Nusa Tenggara, 6 Kalimantan, 7 Sulawesi, 8 Maluku, and 9 Papua.\nThe second digit follows the province creation order.",
            "nullable": true,
            "example": "31"
          },
          "regencyOrCityCode": {
            "type": "string",
            "description": "Four-digit Indonesian government administrative region code for the regency or city, extracted from digits 1-4 of the submitted NIK number.\n            \nSource system: Kode Wilayah Administrasi Pemerintahan, maintained by Indonesia's Ministry of Home Affairs. Format: two-digit province code followed by a two-digit regency or city sequence; suffixes 01-69 identify regencies and suffixes 71-99 identify cities. The NIK stores this value without dot separators.",
            "nullable": true,
            "example": "3171"
          },
          "districtCode": {
            "type": "string",
            "description": "Six-digit Indonesian government administrative region code for the district (kecamatan), extracted from digits 1-6 of the submitted NIK number.\n            \nSource system: Kode Wilayah Administrasi Pemerintahan, maintained by Indonesia's Ministry of Home Affairs. Format: two-digit province code, two-digit regency or city code, and two-digit district sequence. The NIK stores this value without dot separators.",
            "nullable": true,
            "example": "317101"
          },
          "sexNationalIdNumber": {
            "type": "string",
            "description": "Sex extracted from the birth-day portion of the submitted NIK number.\n            \nKnown values:\n- Male: The encoded day value is 40 or lower.\n- Female: The encoded day value is greater than 40.",
            "nullable": true,
            "example": "Female"
          },
          "serialNumber": {
            "type": "string",
            "description": "Four-digit issuance serial number extracted from digits 13-16 of the submitted NIK number.",
            "nullable": true,
            "example": "0001"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number submitted for this verification, if provided.\n            \nFormat: international E.164 phone number.",
            "nullable": true,
            "example": "+6281234567890"
          },
          "consentGivenAt": {
            "type": "string",
            "description": "The consent timestamp submitted for this verification.",
            "format": "date-time",
            "nullable": true,
            "example": "2026-01-31T08:30:00+07:00"
          },
          "email": {
            "type": "string",
            "description": "The email address submitted for this verification, if provided.",
            "nullable": true,
            "example": "siti.aminah@example.id"
          }
        },
        "description": "Exposed properties for the `indonesia-dukcapil-match` Provider which do not directly map to the normalized IdentityData model."
      },
      "IndonesiaNikInput": {
        "required": [
          "dateOfBirth",
          "fullName",
          "nikIdNumber"
        ],
        "type": "object",
        "properties": {
          "fullName": {
            "minLength": 1,
            "type": "string",
            "description": "The user's full name"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date"
          },
          "nikIdNumber": {
            "maxLength": 16,
            "minLength": 16,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The user's Indonesia NIK ID number"
          }
        }
      },
      "IndonesiaNikMatch": {
        "type": "object",
        "properties": {
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaNikMatchField"
              }
            ],
            "description": "Full name match result from Indonesia NIK verification.",
            "nullable": true,
            "example": {
              "content": "Siti Aminah",
              "matchValue": true
            }
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaNikMatchField"
              }
            ],
            "description": "Date of birth match result from Indonesia NIK verification.",
            "nullable": true,
            "example": {
              "content": "1980-01-31",
              "matchValue": true
            }
          },
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaNikMatchField"
              }
            ],
            "description": "NIK number match result from Indonesia NIK verification.\n            \nNIK stands for Nomor Induk Kependudukan. It is Indonesia's unique population identity number, issued by\nIndonesia's population administration and civil registration authority (Dukcapil) under the Ministry of Home Affairs.\nA NIK has 16 digits:\n- Digits 1-2 are the province code.\n- Digits 3-4 are the regency or city code within that province.\n- Digits 5-6 are the district code within that regency or city.\n- Digits 7-12 encode date of birth as DDMMYY. For female NIK holders, the day is increased by 40.\n- Digits 13-16 are an issuance serial number.",
            "nullable": true,
            "example": {
              "content": "3171017101800001",
              "matchValue": true
            }
          },
          "provinceCode": {
            "type": "string",
            "description": "Two-digit province code extracted from digits 1-2 of the NIK number.",
            "nullable": true,
            "example": "31"
          },
          "regencyOrCityCode": {
            "type": "string",
            "description": "Four-digit regency or city code extracted from digits 1-4 of the NIK number, including the province code prefix.",
            "nullable": true,
            "example": "3171"
          },
          "districtCode": {
            "type": "string",
            "description": "Six-digit district code extracted from digits 1-6 of the NIK number, including province and regency/city code prefixes.",
            "nullable": true,
            "example": "317101"
          },
          "dateOfBirthNationalIdNumber": {
            "type": "string",
            "description": "Date of birth extracted from digits 7-12 of the NIK number.\n            \nThe NIK encodes date of birth as DDMMYY. For female NIK holders, the encoded day is increased by 40 before\nbeing stored in the NIK number.",
            "format": "date",
            "nullable": true,
            "example": "1980-01-31"
          },
          "sexNationalIdNumber": {
            "type": "string",
            "description": "Sex extracted from the birth-day portion of the NIK number.\n            \nThe encoded day value is increased by 40 for female NIK holders.",
            "nullable": true,
            "example": "Female"
          },
          "serialNumber": {
            "type": "string",
            "description": "Four-digit issuance serial number extracted from digits 13-16 of the NIK number.",
            "nullable": true,
            "example": "0001"
          }
        },
        "description": "Exposed properties for the `indonesia-nik-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "IndonesiaNikMatchField": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "Raw value used for this match field.",
            "nullable": true,
            "example": "Siti Aminah"
          },
          "matchValue": {
            "type": "boolean",
            "description": "Whether the value matched.",
            "nullable": true,
            "example": true
          }
        }
      },
      "IntegrationCapability": {
        "enum": [
          "LaunchBrowser",
          "DeeplinkToMobile",
          "ShowContent",
          "RefreshStepContent",
          "CaptureRedirect",
          "PollResult",
          "PollAfterRedirect",
          "NativeChallenge"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "LaunchBrowser": "Signals that your integration supports the `LaunchBrowser` step type.",
          "DeeplinkToMobile": "Signals that your integration supports the `DeeplinkToMobile` step type.",
          "ShowContent": "Signals that your integration supports the `ShowContent` step type.",
          "RefreshStepContent": "Signals that your integration supports refreshable step content, e.g., time-limited mobile deeplinks.",
          "CaptureRedirect": "Signals that your integration supports the `CaptureRedirect` results collection method.",
          "PollResult": "Signals that your integration supports the `PollResult` results collection method.",
          "PollAfterRedirect": "Signals that your integration supports polling after the user has been redirected back to your application.\n            \nThis is necessary for Providers which make results available asynchronously, where the user is redirected back to your application before the results are available.",
          "NativeChallenge": "Signals that your integration supports the `PerformNativeChallenge` step type, paired with the `SubmitNativeChallengeResponse` collection method.\n            \n`NativeChallenge` currently refers only to a native mDL exchange API, such as Digital Credentials API on web\nor the Android / iOS native app equivalents."
        }
      },
      "IntegrationLaunchMethod": {
        "enum": [
          "LaunchBrowser",
          "None",
          "DeeplinkToMobile",
          "ShowContent",
          "PerformNativeChallenge"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "LaunchBrowser": "The user's browser should be sent to the provided URL in a redirect",
          "None": "No action needs to be taken by the user; simply poll with the provided `resultsAccessKey`\nfor the results of the session.",
          "DeeplinkToMobile": "The user must be sent to the provided URL, which is a mobile deeplink.\n            \nThe URL should be shown as a button on mobile, or as a QR code on desktop.",
          "ShowContent": "Content must be displayed to the user to guide them through the process of verifying their identity.",
          "PerformNativeChallenge": "A challenge must be sent to a native API on the user's device, such as the Digital Credentials API on web,\nor the equivalent mDL exchange APIs on Android or iOS.\n            \nUse Trinsic's UI SDKs on Web, Android, or iOS to streamline this process."
        }
      },
      "IntegrationStep": {
        "required": [
          "content",
          "method"
        ],
        "type": "object",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IntegrationLaunchMethod"
              }
            ],
            "description": "The launch method to perform",
            "example": "LaunchBrowser",
            "x-enumDescriptions": {
              "LaunchBrowser": "The user's browser should be sent to the provided URL in a redirect",
              "None": "No action needs to be taken by the user; simply poll with the provided `resultsAccessKey`\nfor the results of the session.",
              "DeeplinkToMobile": "The user must be sent to the provided URL, which is a mobile deeplink.\n            \nThe URL should be shown as a button on mobile, or as a QR code on desktop.",
              "ShowContent": "Content must be displayed to the user to guide them through the process of verifying their identity.",
              "PerformNativeChallenge": "A challenge must be sent to a native API on the user's device, such as the Digital Credentials API on web,\nor the equivalent mDL exchange APIs on Android or iOS.\n            \nUse Trinsic's UI SDKs on Web, Android, or iOS to streamline this process."
            }
          },
          "content": {
            "type": "string",
            "description": "Step type-specific content related to the step: a URL for `LaunchBrowser`, a deeplink for `DeeplinkToMobile` or a string to show to the user for `ShowContent`.",
            "example": "https://verify.trinsic.id/api/session/launch?clientToken=..."
          },
          "refresh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StepRefreshInfo"
              }
            ],
            "description": "If non-null, contains metadata about how to refresh the value of `content`.",
            "nullable": true
          }
        },
        "description": "A step to perform in the process of executing a Direct Provider Session"
      },
      "InteracAddress": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The address line or street address.",
            "nullable": true,
            "example": "4101 Yonge Street"
          },
          "locality": {
            "type": "string",
            "description": "The city or locality.",
            "nullable": true,
            "example": "Toronto"
          },
          "region": {
            "type": "string",
            "description": "The province, state, territory, or region.",
            "nullable": true,
            "example": "ON"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code.",
            "nullable": true,
            "example": "M2P 1N6"
          },
          "country": {
            "type": "string",
            "description": "The address's ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "CA"
          }
        }
      },
      "InteracProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "The OpenID Connect subject identifier for the verified individual.",
            "nullable": true,
            "example": "78d41cff-678e-4a3e-9482-afa43ceae222"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the verified individual.",
            "nullable": true,
            "example": "John"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of the verified individual.",
            "nullable": true,
            "example": "Montgomery"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the verified individual.",
            "nullable": true,
            "example": "Doe"
          },
          "title": {
            "type": "string",
            "description": "The title or honorific of the verified individual, when supplied by the source.",
            "nullable": true,
            "example": "Mr"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual.",
            "format": "date",
            "nullable": true,
            "example": "1965-03-03"
          },
          "email": {
            "type": "string",
            "description": "The email address of the verified individual.",
            "nullable": true,
            "example": "john.doe@example.com"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of the verified individual in E.164 format.",
            "nullable": true,
            "example": "+14169378708"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InteracAddress"
              }
            ],
            "description": "The verified address.",
            "nullable": true
          }
        }
      },
      "Iso180132BiometricDataBlockProduct": {
        "type": "object",
        "properties": {
          "productOwner": {
            "type": "integer",
            "description": "Identifier of the product owner.",
            "format": "int32",
            "nullable": true,
            "example": 4660
          },
          "productType": {
            "type": "integer",
            "description": "Identifier of the product type.",
            "format": "int32",
            "nullable": true,
            "example": 22136
          }
        },
        "description": "Owner and type identifying the product that produced a biometric data block."
      },
      "Iso180132BiometricGroupTemplate": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180132BiometricTemplate"
            },
            "description": "Individual biometric templates contained in this group.",
            "nullable": true,
            "example": [ ]
          }
        },
        "description": "A group of biometric templates returned for a single biometric category, per ISO 18013-2 Table C.11."
      },
      "Iso180132BiometricTemplate": {
        "type": "object",
        "properties": {
          "header": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricTemplateHeader"
              }
            ],
            "description": "Header describing the biometric template.",
            "nullable": true
          },
          "dataBlock": {
            "type": "string",
            "description": "The raw data block, in a biometric type- and format-specific encoding.\n            \nFor `face` and `signature_usual_mark`, this is a raw JPEG or JPEG2000 image.\n            \nSee ISO 18013-2 and 18013-5.",
            "format": "byte",
            "nullable": true
          },
          "dataIsEncrypted": {
            "type": "boolean",
            "description": "Whether the data block is encrypted.",
            "nullable": true,
            "example": false
          },
          "biometricInformationRecordPayload": {
            "type": "string",
            "description": "Optional Biometric Information Record payload, containing arbitrary domestic data.",
            "format": "byte",
            "nullable": true
          }
        },
        "description": "A single biometric template per ISO 18013-2 Table C.12."
      },
      "Iso180132BiometricTemplateHeader": {
        "type": "object",
        "properties": {
          "patronHeaderVersion": {
            "type": "integer",
            "description": "Patron header version (defaults to 0x0101).",
            "format": "int32",
            "nullable": true,
            "example": 257
          },
          "biometricType": {
            "type": "integer",
            "description": "Biometric type code per ISO 18013-2.",
            "format": "int32",
            "nullable": true,
            "example": 2
          },
          "biometricSubType": {
            "type": "integer",
            "description": "Biometric sub-type code per ISO 18013-2.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "creationDate": {
            "type": "string",
            "description": "Date and time the biometric template was created.",
            "format": "date-time",
            "nullable": true,
            "example": "2020-01-31T12:34:56Z"
          },
          "biometricInformationRecordCreator": {
            "type": "string",
            "description": "Name of the Biometric Information Record (BIR) creator.",
            "nullable": true,
            "example": "BiometricVendor"
          },
          "validityPeriod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricValidityPeriod"
              }
            ],
            "description": "Validity period of the biometric data block.",
            "nullable": true,
            "example": {
              "notBefore": "2020-01-31",
              "notAfter": "2030-01-31"
            }
          },
          "biometricDataBlockProduct": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricDataBlockProduct"
              }
            ],
            "description": "Owner and type identifying the product that produced the biometric data block.",
            "nullable": true,
            "example": {
              "productOwner": 4660,
              "productType": 22136
            }
          },
          "biometricDataBlockFormatOwner": {
            "type": "integer",
            "description": "Format owner of the biometric data block.",
            "format": "int32",
            "nullable": true,
            "example": 257
          },
          "biometricDataBlockFormatType": {
            "type": "integer",
            "description": "Format type of the biometric data block.",
            "format": "int32",
            "nullable": true,
            "example": 8
          },
          "biometricInformationRecordIndex": {
            "type": "string",
            "description": "Index identifier of the Biometric Information Record, when present.",
            "nullable": true,
            "example": "idx-1"
          }
        },
        "description": "Header fields of a biometric template per ISO 18013-2 Table C.12."
      },
      "Iso180132BiometricValidityPeriod": {
        "type": "object",
        "properties": {
          "notBefore": {
            "type": "string",
            "description": "Date the biometric data block becomes valid.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "notAfter": {
            "type": "string",
            "description": "Date the biometric data block expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          }
        },
        "description": "Validity period of a biometric data block."
      },
      "Iso180135AamvaDomesticDrivingPrivilege": {
        "type": "object",
        "properties": {
          "vehicleClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135AamvaDomesticVehicleClass"
              }
            ],
            "description": "Vehicle class describing the category of vehicle the holder is authorized to operate.",
            "nullable": true,
            "example": {
              "code": "C",
              "description": "Passenger Vehicles"
            }
          },
          "vehicleRestrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180135AamvaDomesticVehicleRestriction"
            },
            "description": "Restrictions attached to this domestic driving privilege.",
            "nullable": true,
            "example": [
              {
                "code": "B",
                "description": "Corrective Lenses"
              }
            ]
          },
          "vehicleEndorsements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180135AamvaDomesticVehicleEndorsement"
            },
            "description": "Endorsements attached to this domestic driving privilege.",
            "nullable": true,
            "example": [
              {
                "code": "H",
                "description": "Hazardous Materials"
              }
            ]
          }
        },
        "description": "A single domestic driving privilege from the AAMVA `domestic_driving_privileges` field, per AAMVA Section 7.2.4."
      },
      "Iso180135AamvaDomesticVehicleClass": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Vehicle class code.",
            "nullable": true,
            "example": "C"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the vehicle class.",
            "nullable": true,
            "example": "Passenger Vehicles"
          },
          "issueDate": {
            "type": "string",
            "description": "Date when this vehicle class privilege was issued.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "Date when this vehicle class privilege expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          }
        },
        "description": "Vehicle class for a domestic driving privilege."
      },
      "Iso180135AamvaDomesticVehicleEndorsement": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Endorsement code, when present.",
            "nullable": true,
            "example": "H"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the endorsement.",
            "nullable": true,
            "example": "Hazardous Materials"
          }
        },
        "description": "Vehicle endorsement attached to a domestic driving privilege."
      },
      "Iso180135AamvaDomesticVehicleRestriction": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Restriction code, when present.",
            "nullable": true,
            "example": "B"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the restriction.",
            "nullable": true,
            "example": "Corrective Lenses"
          }
        },
        "description": "Vehicle restriction attached to a domestic driving privilege."
      },
      "Iso180135AamvaNamespaceOutput": {
        "type": "object",
        "properties": {
          "domesticDrivingPrivileges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180135AamvaDomesticDrivingPrivilege"
            },
            "description": "Domestic categories of vehicles, restrictions, and conditions, parsed per AAMVA Section 7.2.4.",
            "nullable": true,
            "example": [
              {
                "vehicleClass": {
                  "code": "C",
                  "description": "Passenger Vehicles"
                }
              }
            ]
          },
          "nameSuffix": {
            "type": "string",
            "description": "Name suffix of the individual that has been issued the credential.",
            "nullable": true,
            "example": "JR"
          },
          "organDonor": {
            "type": "boolean",
            "description": "Whether the individual is an organ donor.",
            "nullable": true,
            "example": true
          },
          "veteran": {
            "type": "boolean",
            "description": "Whether the individual is a veteran.",
            "nullable": true,
            "example": true
          },
          "familyNameTruncation": {
            "type": "string",
            "description": "Indicates whether the family name has been truncated.\n            \nPossible values:\n- 'T': Truncated\n- 'N': Not truncated\n- 'U': Unknown whether truncated",
            "nullable": true,
            "example": "N"
          },
          "givenNameTruncation": {
            "type": "string",
            "description": "Indicates whether the given name has been truncated.\n            \nPossible values:\n- 'T': Truncated\n- 'N': Not truncated\n- 'U': Unknown whether truncated",
            "nullable": true,
            "example": "N"
          },
          "akaFamilyNameV2": {
            "type": "string",
            "description": "Other family name by which the individual is known.",
            "nullable": true,
            "example": "SMITH"
          },
          "akaGivenNameV2": {
            "type": "string",
            "description": "Other given name by which the individual is known.",
            "nullable": true,
            "example": "JOHN"
          },
          "akaSuffix": {
            "type": "string",
            "description": "Other suffix by which the individual is known.",
            "nullable": true,
            "example": "JR"
          },
          "weightRange": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135AamvaWeightRange"
              }
            ],
            "description": "Approximate weight range of the individual, in kilograms.",
            "nullable": true,
            "example": {
              "minKilograms": 71,
              "maxKilograms": 86
            }
          },
          "raceEthnicity": {
            "type": "string",
            "description": "AAMVA D20 race or ethnicity code of the individual.",
            "nullable": true,
            "example": "U"
          },
          "sex": {
            "type": "integer",
            "description": "The sex of the individual as an AAMVA-defined sex code.\n            \nThis is distinct from an ISO/IEC 5218 sex code in two ways: there is no \"Unknown\" value, and \"Not Applicable\" is replaced with \"Not Specified\".\n            \nPossible values:\n- 1: Male\n- 2: Female\n- 9: Not Specified",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "firstName": {
            "type": "string",
            "description": "First name of the individual.",
            "nullable": true,
            "example": "JOHN"
          },
          "middleNames": {
            "type": "string",
            "description": "Middle name or names of the individual.",
            "nullable": true,
            "example": "ALBERT"
          },
          "firstNameTruncation": {
            "type": "string",
            "description": "Whether the first name has been truncated.",
            "nullable": true,
            "example": "N"
          },
          "middleNamesTruncation": {
            "type": "string",
            "description": "Whether the middle name has been truncated.",
            "nullable": true,
            "example": "N"
          },
          "edlCredential": {
            "type": "integer",
            "description": "Deprecated AAMVA EDL (Enhanced Driver's License) credential indicator.\n            \nIf present, indicates the type of the EDL credential.\n            \nPossible values:\n1: Driver's License\n2: Identification Card",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "edlCredentialV2": {
            "type": "boolean",
            "description": "Whether the credential is an Enhanced Driver's License (EDL).",
            "nullable": true,
            "example": true
          },
          "dhsCompliance": {
            "type": "boolean",
            "description": "Whether the credential is REAL ID compliant. `true` for fully compliant (\"F\"),\n`false` for non-compliant (\"N\"), `null` when not present.",
            "nullable": true,
            "example": true
          },
          "residentCounty": {
            "type": "string",
            "description": "Deprecated county code for the county where the individual lives.",
            "nullable": true,
            "example": "067"
          },
          "residentCountyV2": {
            "type": "string",
            "description": "County code for the county where the individual lives.",
            "nullable": true,
            "example": "067"
          },
          "hazmatEndorsementExpirationDate": {
            "type": "string",
            "description": "Date on which the hazardous material endorsement expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "cdlIndicator": {
            "type": "boolean",
            "description": "Whether the credential is a Commercial Driver's License (CDL) per FMCSA.",
            "nullable": true,
            "example": true
          },
          "cdlNonDomiciled": {
            "type": "boolean",
            "description": "Deprecated. Whether the CDL holder is non-domiciled in the issuing jurisdiction.",
            "nullable": true,
            "example": true
          },
          "cdlNonDomiciledV2": {
            "type": "boolean",
            "description": "Whether the CDL holder is non-domiciled in the issuing jurisdiction.",
            "nullable": true,
            "example": true
          },
          "dhsComplianceText": {
            "type": "string",
            "description": "Text agreed on between the issuing authority and DHS for non-compliant credentials.",
            "nullable": true,
            "example": "Federal Limits Apply"
          },
          "dhsTemporaryLawfulStatus": {
            "type": "boolean",
            "description": "Whether the individual has DHS temporary lawful status.",
            "nullable": true,
            "example": true
          }
        },
        "description": "Fields from the AAMVA mDL namespace."
      },
      "Iso180135AamvaWeightRange": {
        "type": "object",
        "properties": {
          "minKilograms": {
            "type": "integer",
            "description": "Minimum weight in the range, in kilograms.",
            "format": "int32",
            "nullable": true,
            "example": 71
          },
          "maxKilograms": {
            "type": "integer",
            "description": "Maximum weight in the range, in kilograms.\n            \nIf null, the maximum weight has no limit.",
            "format": "int32",
            "nullable": true,
            "example": 86
          }
        },
        "description": "AAMVA approximate weight range, expressed in kilograms."
      },
      "Iso180135DrivingPrivilege": {
        "type": "object",
        "properties": {
          "vehicleCategoryCode": {
            "type": "string",
            "description": "Vehicle category code that the holder is authorized to operate.",
            "nullable": true,
            "example": "C"
          },
          "issueDate": {
            "type": "string",
            "description": "Date when this driving privilege was issued.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "Date when this driving privilege expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "codes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180135DrivingPrivilegeCode"
            },
            "description": "Restriction, condition, or special privilege codes attached to this entry.",
            "nullable": true,
            "example": [
              {
                "code": "B",
                "sign": "<=",
                "value": "70"
              }
            ]
          }
        },
        "description": "A single driving privilege entry, per ISO 18013-5."
      },
      "Iso180135DrivingPrivilegeCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The code identifier.",
            "nullable": true,
            "example": "B"
          },
          "sign": {
            "type": "string",
            "description": "Optional comparison sign applied to the code's value.",
            "nullable": true,
            "example": "<="
          },
          "value": {
            "type": "string",
            "description": "Optional value applied to the code.",
            "nullable": true,
            "example": "70"
          }
        },
        "description": "A single restriction, condition, or special privilege code attached to a driving privilege."
      },
      "Iso180135MobileDriversLicenseCredential": {
        "type": "object",
        "properties": {
          "standard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135StandardNamespaceOutput"
              }
            ],
            "description": "Fields from the standard `org.iso.18013.5.1` namespace within the Mobile Driver's License.\n            \nThis namespace is the primary dataset defined for Mobile Driver's License credentials.",
            "nullable": true
          },
          "aamva": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135AamvaNamespaceOutput"
              }
            ],
            "description": "Fields from the `org.iso.18013.5.1.aamva` namespace.\n            \nThis namespace is an additional dataset defined by AAMVA (American Association of Motor Vehicle Administrators).",
            "nullable": true
          }
        },
        "description": "An 18013-5 mDL (Mobile Driver's License) credential, with document type `org.iso.18013.5.1.mDL`."
      },
      "Iso180135StandardNamespaceOutput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "First name(s), other name(s), or secondary identifier of the individual.",
            "nullable": true,
            "example": "JOHN"
          },
          "givenNameNationalCharacter": {
            "type": "string",
            "description": "The given name of the individual using the full UTF-8 character set.",
            "nullable": true,
            "example": "JOHN"
          },
          "familyName": {
            "type": "string",
            "description": "Last name, surname, or primary identifier of the individual.",
            "nullable": true,
            "example": "DOE"
          },
          "familyNameNationalCharacter": {
            "type": "string",
            "description": "The family name of the individual using the full UTF-8 character set.",
            "nullable": true,
            "example": "DOE"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "issueDate": {
            "type": "string",
            "description": "The date when the mDL was issued.\n            \nThis date marks the beginning of the Administrative Validity Period of the mDL, which is usually (but not\nnecessarily always) the same as the issue date of the underlying physical document used to create the mDL, if one exists.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date when the mDL expires.\n            \nThis date marks the end of the Administrative Validity Period of the mDL, which is usually (but not\nnecessarily always) the same as the expiration date of the underlying physical document used to create the mDL, if one exists.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "issuingCountry": {
            "type": "string",
            "description": "Alpha-2 country code of the issuing authority's country or territory.",
            "nullable": true,
            "example": "US"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "Name or identifier of the mDL issuing authority.\n            \nThis field's contents are arbitrary; it has no guaranteed format.",
            "nullable": true,
            "example": "CA,USA"
          },
          "issuingJurisdiction": {
            "type": "string",
            "description": "ISO 3166-2 country-subdivision code for the jurisdiction that issued the mDL.",
            "nullable": true,
            "example": "US-CA"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality of the individual as an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "US"
          },
          "documentNumber": {
            "type": "string",
            "description": "The document number assigned to the mDL.\n            \nThis is typically the same as the document number of the underlying physical document used to create the mDL, if one exists.",
            "nullable": true,
            "example": "D1234567"
          },
          "drivingPrivileges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180135DrivingPrivilege"
            },
            "description": "Driving privileges of the individual, parsed per ISO 18013-5.",
            "nullable": true,
            "example": [
              {
                "vehicleCategoryCode": "C",
                "issueDate": "2020-01-31",
                "expiryDate": "2030-01-31"
              }
            ]
          },
          "unDistinguishingSign": {
            "type": "string",
            "description": "The UN Distinguishing sign of the issuing country according to ISO/IEC 18013-1.",
            "nullable": true,
            "example": "USA"
          },
          "administrativeNumber": {
            "type": "string",
            "description": "Audit control number assigned by the issuing authority.\n            \nThe meaning and semantics of this field are defined by the issuing authority in question.",
            "nullable": true,
            "example": "123456789"
          },
          "sex": {
            "type": "integer",
            "description": "The individual's sex as an ISO/IEC 5218 code.\n            \nPossible values:\n            \n- 0: Unknown\n- 1: Male\n- 2: Female\n- 9: Not Applicable",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "heightCentimeters": {
            "type": "integer",
            "description": "The individual's height in centimeters.",
            "format": "int32",
            "nullable": true,
            "example": 180
          },
          "weightKilograms": {
            "type": "integer",
            "description": "The individual's weight in kilograms.",
            "format": "int32",
            "nullable": true,
            "example": 75
          },
          "eyeColor": {
            "type": "string",
            "description": "The individual's eye color.\n            \nPossible values:\n            \n- \"black\"\n- \"blue\"\n- \"brown\"\n- \"dichromatic\"\n- \"grey\"\n- \"green\"\n- \"hazel\"\n- \"maroon\"\n- \"pink\"\n- \"unknown\"",
            "nullable": true,
            "example": "brown"
          },
          "hairColor": {
            "type": "string",
            "description": "The individual's hair color.\n            \nPossible values:\n- \"bald\"\n- \"black\"\n- \"blond\"\n- \"brown\"\n- \"grey\"\n- \"red\"\n- \"auburn\"\n- \"sandy\"\n- \"white\"\n- \"unknown\"",
            "nullable": true,
            "example": "black"
          },
          "birthPlace": {
            "type": "string",
            "description": "Country and municipality or state/province where the individual was born.",
            "nullable": true,
            "example": "SACRAMENTO, CA"
          },
          "residentAddress": {
            "type": "string",
            "description": "Address where the individual resides.\n            \nThe exact format of this field is variable and depends on the issuer.\nIt may map exactly to a \"Line1\", or it may include city, state, and/or zip code as well.",
            "nullable": true,
            "example": "123 MAIN ST"
          },
          "residentCity": {
            "type": "string",
            "description": "City where the individual resides.",
            "nullable": true,
            "example": "SACRAMENTO"
          },
          "residentState": {
            "type": "string",
            "description": "State, province, or district where the individual resides.",
            "nullable": true,
            "example": "CA"
          },
          "residentPostalCode": {
            "type": "string",
            "description": "Postal code where the individual resides.",
            "nullable": true,
            "example": "95814"
          },
          "residentCountry": {
            "type": "string",
            "description": "Country where the individual resides as an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "US"
          },
          "portraitCaptureDate": {
            "type": "string",
            "description": "Date and time when the portrait image was captured.",
            "format": "date-time",
            "nullable": true,
            "example": "2020-01-31T12:34:56Z"
          },
          "ageInYears": {
            "type": "integer",
            "description": "Age of the individual in years.",
            "format": "int32",
            "nullable": true,
            "example": 35
          },
          "ageBirthYear": {
            "type": "integer",
            "description": "Year of birth of the individual.",
            "format": "int32",
            "nullable": true,
            "example": 1990
          },
          "ageOver": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgeOverOutput"
            },
            "description": "Processed age-over claims returned by the mDL.",
            "nullable": true,
            "example": [
              {
                "age": 18,
                "isOver": true
              },
              {
                "age": 21,
                "isOver": true
              }
            ]
          },
          "biometricTemplateFace": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricGroupTemplate"
              }
            ],
            "description": "Facial biometric template group from `biometric_template_face`, parsed per ISO 18013-2 Annex C.",
            "nullable": true
          },
          "biometricTemplateVoice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricGroupTemplate"
              }
            ],
            "description": "Vocal biometric template group from `biometric_template_voice`, parsed per ISO 18013-2 Annex C.",
            "nullable": true
          },
          "biometricTemplateFinger": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricGroupTemplate"
              }
            ],
            "description": "Fingerprint biometric template group from `biometric_template_finger`, parsed per ISO 18013-2 Annex C.",
            "nullable": true
          },
          "biometricTemplateIris": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricGroupTemplate"
              }
            ],
            "description": "Iris biometric template group from `biometric_template_iris`, parsed per ISO 18013-2 Annex C.",
            "nullable": true
          },
          "biometricTemplateRetina": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180132BiometricGroupTemplate"
              }
            ],
            "description": "Retinal biometric template group from `biometric_template_retina`, parsed per ISO 18013-2 Annex C.",
            "nullable": true
          }
        },
        "description": "Fields from the ISO 18013-5 standard mDL namespace."
      },
      "ItsmeAddress": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The full street address on a single line.",
            "nullable": true,
            "example": "Rue du Bailli 81"
          },
          "street": {
            "type": "string",
            "description": "The street name component of the address.",
            "nullable": true,
            "example": "Rue du Bailli"
          },
          "houseNumber": {
            "type": "string",
            "description": "The house number component of the address.",
            "nullable": true,
            "example": "81"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code of the address.",
            "nullable": true,
            "example": "1050"
          },
          "city": {
            "type": "string",
            "description": "The city of the address.",
            "nullable": true,
            "example": "Ixelles"
          },
          "country": {
            "type": "string",
            "description": "The country of the address as an ISO 3166-1 alpha-2 code.",
            "nullable": true,
            "example": "BE"
          }
        }
      },
      "ItsmeAddressBase": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The street address.\n            \nitsme documents this as an address member when the address claim is returned.",
            "nullable": true,
            "example": "Jekerstraat 39"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code of the address.\n            \nitsme documents this as an address member when the address claim is returned.",
            "nullable": true,
            "example": "3700"
          },
          "country": {
            "type": "string",
            "description": "The country of the address as an ISO 3166-1 alpha-2 code, when returned.\n            \nThis field is not part of itsme's documented address claim members; it is present only when itsme returns `address.country`.",
            "nullable": true,
            "example": "BE"
          }
        }
      },
      "ItsmeBelgianIdentityCard": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "The Belgian eID card number. This identifies the card document, not the person's Belgian National Register Number.\n            \nAvailability by ID document issuing country: returned only for Belgian-issued ID documents.\n            \nBelgian citizen examples are 12 digits in the form `xxx-xxxxxxx-yy`; EU, EEA, and Swiss resident card examples can start with a letter followed by digits.",
            "nullable": true,
            "example": "431522485012"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The issuing country as an ISO 3166-1 alpha-2 country code.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "BE"
          },
          "validityFrom": {
            "type": "string",
            "description": "The identity card validity start date time.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "format": "date-time",
            "nullable": true,
            "example": "2018-11-08T00:00:00Z"
          },
          "validityTo": {
            "type": "string",
            "description": "The identity card validity end date time.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Belgium, where it is best effort.",
            "format": "date-time",
            "nullable": true,
            "example": "2028-11-10T00:00:00Z"
          },
          "issuanceLocality": {
            "type": "string",
            "description": "The locality that issued the identity card.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "nullable": true,
            "example": "BRUXELLES"
          }
        }
      },
      "ItsmeBelgianNationalNumber": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "The raw Belgian National Register Number of the verified individual.\n            \nAvailability by ID document issuing country: returned only for Belgian-issued ID documents.\n            \nThis is an 11-digit number in the format YYMMDDXXXCC:\n- YYMMDD is the date of birth.\n- XXX is a sequential birth number, odd for males and even for females.\n- CC is the checksum.",
            "nullable": true,
            "example": "99060427181"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The issuing country as an ISO 3166-1 alpha-2 country code.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "BE"
          },
          "verificationDate": {
            "type": "string",
            "description": "The date time when the document was last read.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Belgium, where it is best effort.",
            "format": "date-time",
            "nullable": true,
            "example": "2023-04-12T15:02:23Z"
          }
        }
      },
      "ItsmeDirectDevice": {
        "type": "object",
        "properties": {
          "operatingSystem": {
            "type": "string",
            "description": "The operating system reported for the itsme device.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "ANDROID"
          },
          "operatingSystemRelease": {
            "type": "string",
            "description": "The operating system release reported for the itsme device.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "9"
          },
          "appName": {
            "type": "string",
            "description": "The itsme app name reported for the verification.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "be.bmid.itsme.uat"
          },
          "appRelease": {
            "type": "string",
            "description": "The itsme app release reported for the verification.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "4.0.0"
          },
          "manufacturer": {
            "type": "string",
            "description": "The device manufacturer reported for the itsme device.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "LGE"
          },
          "deviceModel": {
            "type": "string",
            "description": "The device model reported for the itsme device.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "LG-H870"
          },
          "deviceLabel": {
            "type": "string",
            "description": "The device label.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "lucye"
          },
          "deviceId": {
            "type": "string",
            "description": "The device identifier.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "c22de2331dd249bba063afd3507fe3a4f"
          },
          "debugEnabled": {
            "type": "boolean",
            "description": "Whether the itsme device had debugging enabled.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": false
          },
          "rooted": {
            "type": "boolean",
            "description": "Whether the itsme device was reported as rooted.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": false
          },
          "deviceLockLevel": {
            "type": "string",
            "description": "The device lock level value.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "true"
          },
          "msisdn": {
            "type": "string",
            "description": "The Mobile Station International Subscriber Directory Number (MSISDN) value for the device.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "0032485694175"
          }
        }
      },
      "ItsmeIdentityDocument": {
        "type": "object",
        "properties": {
          "serialNumber": {
            "type": "string",
            "description": "The identity document serial number.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "431522485012"
          },
          "typeCode": {
            "type": "string",
            "description": "The identity document type code.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.\n            \nitsme documents this as a 1 or 2 character ICAO code.\n- Identity cards start with `I`\n- passports start with `P`",
            "nullable": true,
            "example": "I"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The issuing country as an ISO 3166-1 alpha-2 country code.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "BE"
          },
          "validityFrom": {
            "type": "string",
            "description": "The identity document validity start date time.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "format": "date-time",
            "nullable": true,
            "example": "2018-11-08T00:00:00Z"
          },
          "validityTo": {
            "type": "string",
            "description": "The identity document validity end date time.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Belgium, where it is best effort.",
            "format": "date-time",
            "nullable": true,
            "example": "2028-11-10T00:00:00Z"
          }
        }
      },
      "ItsmeLoginProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "hashedNationalRegisterNumber": {
            "type": "string",
            "description": "The hashed version of the Belgian National Register Number of the verified individual.\n            \nBy default, itsme does not return the raw National Register Number of the individual; instead, only a hashed version is returned.\n            \nYour account must be approved by itsme to receive the raw, unhashed National Register Number.",
            "nullable": true,
            "example": "5d17e158243dff0bd79fbfd06b27b80d04a40a6a0425e1bbb474c7634a2918f7"
          },
          "nationalRegisterNumber": {
            "type": "string",
            "description": "The raw (not hashed) Belgian National Register Number (\"Rijksregisternummer\") of the verified individual.\n            \nOnly returned if your account has been explicitly authorized to receive it by itsme; by law, this data is considered sensitive personal data.\n            \nThis is an 11-digit number in the format YYMMDDXXXCC, where:\n- YYMMDD represents the individual's date of birth (year, month, day).\n- XXX is a sequential birth number, odd for females and even for males.\n- CC is a checksum, calculated with the equation: 97 - (YYMMDDXXX mod 97)\n            \nFor births in the year 2000 or later, the digit '2' is prepended to the first 9 digits during checksum calculation.",
            "nullable": true,
            "example": "83122412413"
          },
          "email": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "louison.brunet@example.com"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The individual's phone number in international format.",
            "nullable": true,
            "example": "+32479350919"
          },
          "gender": {
            "type": "string",
            "description": "The individual's gender.\n            \nPossible values:\n- Male\n- Female\n- Unknown\n- Not Applicable",
            "nullable": true,
            "example": "Male"
          },
          "nationality": {
            "type": "string",
            "description": "The individual's nationality as an ISO 3166-1 alpha-3 code.",
            "nullable": true,
            "example": "BEL"
          },
          "birthPlace": {
            "type": "string",
            "description": "The individual's place of birth.",
            "nullable": true,
            "example": "Namur"
          },
          "documentNumber": {
            "type": "string",
            "description": "The document number",
            "nullable": true,
            "example": "351907284611"
          },
          "identityDocumentExpirationDate": {
            "type": "string",
            "description": "The expiration date of the identity document.",
            "format": "date",
            "nullable": true,
            "example": "2026-06-16"
          },
          "language": {
            "type": "string",
            "description": "The individual's language as an ISO 639-1 code. Expected values: NL, FR, DE, EN.",
            "nullable": true,
            "example": "EN"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeAddress"
              }
            ],
            "description": "The individual's address",
            "nullable": true,
            "example": {
              "streetAddress": "Rue du Bailli 81",
              "street": null,
              "houseNumber": null,
              "postalCode": "1050",
              "city": "Ixelles",
              "country": "BE"
            }
          }
        },
        "description": "Exposed properties for the `a-itsme-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "ItsmePlaceOfBirth": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "The city component of the place of birth.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "nullable": true,
            "example": "Brussels"
          },
          "formatted": {
            "type": "string",
            "description": "The formatted place of birth.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "nullable": true,
            "example": "Brussels"
          }
        }
      },
      "ItsmeProviderAddress": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ItsmeAddressBase"
          },
          {
            "type": "object",
            "properties": {
              "locality": {
                "type": "string",
                "description": "The locality or city of the address.\n            \nitsme documents this as an address member when the address claim is returned.",
                "nullable": true,
                "example": "TONGEREN"
              },
              "formatted": {
                "type": "string",
                "description": "The full address formatted by itsme.\n            \nitsme documents this as an address member when the address claim is returned.",
                "nullable": true,
                "example": "Jekerstraat 39 3700 TONGEREN"
              }
            },
            "additionalProperties": false
          }
        ]
      },
      "ItsmeProviderOutput": {
        "type": "object",
        "properties": {
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Belgium, where it is best effort.",
            "format": "date",
            "nullable": true,
            "example": "1978-11-01"
          },
          "email": {
            "type": "string",
            "description": "The email address of the verified individual.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "george.tanka@example.be"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of the verified individual, with a leading + country calling code.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "+32 485694175"
          },
          "sub": {
            "type": "string",
            "description": "The stable OpenID Connect (OIDC) subject (sub) identifier.\n            \nThis should be a stable identifier, however, if a user deletes and recreates an account, this identifier will change.",
            "nullable": true,
            "example": "e3xad7upx64grm14ttpnx4c586ve8gy0gp38"
          },
          "fullName": {
            "type": "string",
            "description": "The full name of the verified individual.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "George Tanka"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the verified individual.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true,
            "example": "George"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the verified individual.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": "Tanka"
          },
          "dateOfBirthAsString": {
            "type": "string",
            "description": "The date of birth of the verified individual in itsme's document-facing string format.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "nullable": true,
            "example": "01.11.1978"
          },
          "gender": {
            "type": "string",
            "description": "The gender claim for the verified individual.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Netherlands, where it is best effort.\n            \nKnown values:\n- Female\n- Male\n- Unknown",
            "nullable": true,
            "example": "male"
          },
          "locale": {
            "type": "string",
            "description": "The itsme app language as an uppercase language code.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.\n            \nKnown values:\n- NL\n- FR\n- DE\n- EN",
            "nullable": true,
            "example": "FR"
          },
          "pictureUrl": {
            "type": "string",
            "description": "The URL of the profile picture resource.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Belgium, where it is best effort.",
            "nullable": true,
            "example": "https://idp.prd.itsme.services/v2/picture"
          },
          "emailVerified": {
            "type": "boolean",
            "description": "Whether itsme reports the email address as verified.\n            \nAvailability by ID document issuing country: returned only if `email` is available.\n            \nNote: itsme currently documents that this value is usually false because email verification is not implemented in its systems.",
            "nullable": true,
            "example": false
          },
          "phoneNumberVerified": {
            "type": "boolean",
            "description": "Whether itsme reports the phone number as verified.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true,
            "example": true
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeProviderAddress"
              }
            ],
            "description": "The address of the verified individual.\n            \nAvailability by ID document issuing country: always returned for Belgian-issued ID documents, best effort for Netherlands-issued ID documents, and not returned for other supported issuing countries.",
            "nullable": true
          },
          "citizenship": {
            "type": "string",
            "description": "The citizenship of the verified individual as an ISO 3166-1 alpha-2 country code.\n            \nAvailability by ID document issuing country: always returned for supported issuing countries except Belgium, where it is best effort.",
            "nullable": true,
            "example": "BE"
          },
          "belgianNationalNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeBelgianNationalNumber"
              }
            ],
            "description": "The Belgian National Register Number and related metadata.\n            \nAvailability by ID document issuing country: returned only for Belgian-issued ID documents.",
            "nullable": true
          },
          "belgianIdentityCard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeBelgianIdentityCard"
              }
            ],
            "description": "The Belgian eID card document number and related metadata.\n            \nAvailability by ID document issuing country: returned only for Belgian-issued ID documents.",
            "nullable": true
          },
          "identityDocument": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeIdentityDocument"
              }
            ],
            "description": "The identity document and related metadata.\n            \nAvailability by ID document issuing country: always returned for all supported issuing countries.",
            "nullable": true
          },
          "placeOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmePlaceOfBirth"
              }
            ],
            "description": "The place of birth.\n            \nAvailability by ID document issuing country: best effort for Belgian-issued ID documents; not returned for other supported issuing countries.",
            "nullable": true
          },
          "device": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeDirectDevice"
              }
            ],
            "description": "The device metadata for the verification.\n            \nAvailability by ID document issuing country: best effort for all supported issuing countries.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `itsme` Provider which do not directly map to the normalized IdentityData model."
      },
      "KenyaNidInput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "gender",
          "lastName",
          "nationalIdNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "minLength": 1,
            "type": "string",
            "description": "The user's first name as it appears in their National ID"
          },
          "middleName": {
            "type": "string",
            "description": "The user's middle name as it appears in their National ID (optional)",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "The user's middle name as it appears in their National ID (optional)"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date"
          },
          "gender": {
            "minLength": 1,
            "type": "string",
            "description": "The user's gender as it appears in their National ID (e.g., male, female)"
          },
          "nationalIdNumber": {
            "maxLength": 8,
            "minLength": 8,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The user's Kenya National ID number"
          }
        }
      },
      "KenyaNidLookup2Address": {
        "type": "object",
        "properties": {
          "district": {
            "type": "string",
            "description": "The district where the person resides.\n            \nThis is the highest level of the pre-2010 administrative hierarchy stored in IPRS. Districts were\nthe primary administrative units under Kenya's provincial system before the change to counties in 2010.\nDistricts roughly correspond to sub-counties in the current administrative structure.",
            "nullable": true,
            "example": "NAIROBI"
          },
          "division": {
            "type": "string",
            "description": "The division within the district.\n            \nThis is the second level of the pre-2010 administrative hierarchy. Divisions were administrative\nunits between districts and locations.",
            "nullable": true,
            "example": "CENTRAL"
          },
          "location": {
            "type": "string",
            "description": "The location within the division.\n            \nThis is the third level of the pre-2010 administrative hierarchy. Locations were the smallest\nadministrative units.",
            "nullable": true,
            "example": "CITY SQUARE"
          },
          "additionalLines": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Additional address lines that appear before the structured administrative parts.\n            \nMay include P.O. Box (format: \"P O BOX [number] [location]\"), village names, estate names,\nor other informal locality information.",
            "nullable": true,
            "example": [
              "P O BOX 41842 NAIROBI",
              "PARLIAMENT BUILDINGS"
            ]
          },
          "raw": {
            "type": "string",
            "description": "The raw, unparsed address string as returned from IPRS (Integrated Population Registration System).\n            \nThis preserves the original newline-separated format containing both informal address components\n(village, P.O. Box) and labeled administrative divisions (LOCATION, DIVISION, DISTRICT).",
            "nullable": true,
            "example": "P O BOX 41842 NAIROBI\\nPARLIAMENT BUILDINGS\\nLOCATION - CITY SQUARE\\nDIVISION - CENTRAL\\nDISTRICT - NAIROBI"
          }
        },
        "description": "Represents a Kenya address as stored in the IPRS (Integrated Population Registration System) database.\n            \nThe structure reflects the pre-2010 provincial administration system: District > Division > Location.\nSince the 2010 constitutional change to counties, these legacy administrative divisions are still\nmaintained in IPRS records for historical continuity.\n            \nThe raw address from IPRS is a newline-separated string with labeled administrative components.\nExample format:\n            \n```\nP O BOX 41842 NAIROBI\nPARLIAMENT BUILDINGS\nLOCATION - CITY SQUARE\nDIVISION - CENTRAL\nDISTRICT - NAIROBI\n```\n            \nThe first lines contain informal address details (village, P.O. Box) while the suffixed lines\ncontain official administrative designations prefixed with labels like \"LOCATION -\", \"DIVISION -\", \"DISTRICT -\"."
      },
      "KenyaNidLookup2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho) or Unique Personal Identifier (Maisha Namba).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is either 8 digits for National ID\nor 9 digits for Maisha Namba UPI (the new format since 2023).",
            "nullable": true
          }
        }
      },
      "KenyaNidLookup2ProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name (given name) of the ID holder as recorded in IPRS.",
            "nullable": true,
            "example": "JUMA"
          },
          "surname": {
            "type": "string",
            "description": "The surname (family name) of the ID holder as recorded in IPRS.",
            "nullable": true,
            "example": "ODHIAMBO"
          },
          "otherName": {
            "type": "string",
            "description": "The other name (middle name) of the ID holder as recorded in IPRS.",
            "nullable": true,
            "example": "OTIENO"
          },
          "sex": {
            "type": "string",
            "description": "The sex of the ID holder as recorded on the National ID.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the ID holder as recorded in IPRS.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-01"
          },
          "citizenship": {
            "type": "string",
            "description": "Citizenship status as recorded in the IPRS civil registry database.\n            \nFor the Kenya National ID lookup, this value will always be \"Kenyan\" as the National ID is only\nissued to Kenyan citizens. Non-citizens residing in Kenya are issued different identification\ndocuments (Alien ID cards, refugee documentation, etc.) which are not supported by this provider.",
            "nullable": true,
            "example": "Kenyan"
          },
          "idNumber": {
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho) or Unique Personal Identifier (Maisha Namba).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is either 8 digits for National ID\nor 9 digits for Maisha Namba UPI (the new format since 2023).",
            "nullable": true,
            "example": "12345678"
          },
          "serialNumber": {
            "type": "string",
            "description": "The physical card serial number printed on the Kenya National ID card.\n            \nThis is distinct from the ID Number and serves as a card issuance tracking identifier maintained\nby IPRS. This value changes each time a new physical card is issued (loss, damage, renewal).",
            "nullable": true,
            "example": "98765432"
          },
          "dateOfIssue": {
            "type": "string",
            "description": "The date the National ID was issued by the National Registration Bureau (NRB).",
            "format": "date",
            "nullable": true,
            "example": "2010-06-15"
          },
          "placeOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidLookup2Address"
              }
            ],
            "description": "Place of birth as recorded in Kenya's civil registry (IPRS).\n            \nThis is structured according to Kenya's pre-2010 administrative hierarchy (District > Division > Location).",
            "nullable": true,
            "example": {
              "district": "NAIROBI",
              "division": "CENTRAL",
              "location": "NGARA",
              "additionalLines": [
                "KENYATTA NATIONAL HOSPITAL"
              ],
              "raw": "KENYATTA NATIONAL HOSPITAL\nLOCATION - NGARA\nDIVISION - CENTRAL\nDISTRICT - NAIROBI"
            }
          },
          "placeOfResidence": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidLookup2Address"
              }
            ],
            "description": "Current residence address as registered in IPRS.\n            \nThis represents the address on file at the time of ID registration or last update, structured\naccording to Kenya's pre-2010 administrative hierarchy (District > Division > Location).",
            "nullable": true,
            "example": {
              "district": "NAIROBI",
              "division": "CENTRAL",
              "location": "CITY SQUARE",
              "additionalLines": [
                "P O BOX 41842 NAIROBI",
                "PARLIAMENT BUILDINGS"
              ],
              "raw": "P O BOX 41842 NAIROBI\nPARLIAMENT BUILDINGS\nLOCATION - CITY SQUARE\nDIVISION - CENTRAL\nDISTRICT - NAIROBI"
            }
          }
        },
        "description": "Exposed properties for the `kenya-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "KenyaNidLookup3Input": {
        "required": [
          "idNumber"
        ],
        "type": "object",
        "properties": {
          "idNumber": {
            "maxLength": 9,
            "minLength": 1,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho) or Unique Personal Identifier (Maisha Namba).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is either 8 digits for National ID\nor 9 digits for Maisha Namba UPI (the new format since 2023)."
          }
        }
      },
      "KenyaNidLookup3ProviderOutput": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho) or Unique Personal Identifier (Maisha Namba).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is either 8 digits for National ID\nor 9 digits for Maisha Namba UPI (the new format since 2023).",
            "nullable": true,
            "example": "10101010"
          },
          "firstName": {
            "type": "string",
            "description": "The first name of the individual.",
            "nullable": true,
            "example": "JUMA"
          },
          "surname": {
            "type": "string",
            "description": "The surname of the individual.",
            "nullable": true,
            "example": "ODHIAMBO"
          },
          "otherName": {
            "type": "string",
            "description": "Other name (middle name) of the individual.",
            "nullable": true,
            "example": "OTIENO"
          },
          "sex": {
            "type": "string",
            "description": "The sex of the individual.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.\n            \nFormat\n- YYYY-MM-DD",
            "format": "date",
            "nullable": true,
            "example": "1985-01-01"
          },
          "citizenship": {
            "type": "string",
            "description": "Citizenship of the individual.\n            \nFormat\n- ISO 3166-1 alpha-2 country code",
            "nullable": true,
            "example": "KE"
          },
          "serialNumber": {
            "type": "string",
            "description": "The physical card serial number printed on the Kenya National ID card.\n            \nThis is distinct from the ID Number and serves as a card issuance tracking identifier maintained\nby IPRS. This value changes each time a new physical card is issued (loss, damage, renewal).",
            "nullable": true,
            "example": "98765432"
          }
        },
        "description": "Exposed properties for the `kenya-nid-lookup-3` Provider which do not directly map to the normalized IdentityData model."
      },
      "KenyaNidMatch2DateOfBirthField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The date of birth submitted for this check.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-02"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted date of birth against the Integrated Population Registration System (IPRS).\n            \nPossible values:\n- Exact Match\n- Partial Match\n- Transposed\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Partial Match"
          }
        }
      },
      "KenyaNidMatch2FullNameField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The full name string submitted for this check (as provided in the match input).",
            "nullable": true,
            "example": "OTIENO JUMA ODHIAMBO"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted full name against the Integrated Population Registration System (IPRS).\n            \nPossible values:\n- Exact Match\n- Partial Match\n- Transposed\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Transposed"
          }
        }
      },
      "KenyaNidMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho) or Unique Personal Identifier (Maisha Namba).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is either 8 digits for National ID\nor 9 digits for Maisha Namba UPI (the new format since 2023).",
            "nullable": true
          },
          "givenName": {
            "type": "string",
            "description": "The user's first name as it appears in their National ID",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "The user's last name as it appears in their National ID",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "The user's middle name as it appears in their National ID (optional)",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2InputSex"
              }
            ],
            "description": "The user's sex as it appears in their National ID",
            "nullable": true,
            "x-enumDescriptions": {
              "Male": "",
              "Female": ""
            }
          }
        }
      },
      "KenyaNidMatch2InputSex": {
        "enum": [
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Male": "",
          "Female": ""
        }
      },
      "KenyaNidMatch2NationalIdNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho) or Unique Personal Identifier (Maisha Namba).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is up to 8 digits for National ID\nor 9 digits for Maisha Namba UPI (the new format since 2023).\n            \nFormat:\n- Up to 8 digits for National ID, unique and sequentially generated\n- 9 digits for Maisha Namba UPI, unique and randomly generated\n- Neither number encodes any information about the individual",
            "nullable": true,
            "example": "12345678"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of verifying the national ID number against the Integrated Population Registration System (IPRS).\n            \nPossible values:\n- Verified\n- Not Verified\n- Not Done\n- Issuer Unavailable\n- Not Returned",
            "nullable": true,
            "example": "Verified"
          }
        }
      },
      "KenyaNidMatch2ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2NationalIdNumberField"
              }
            ],
            "description": "Outcome of the verification of the national ID number.",
            "nullable": true
          },
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2FullNameField"
              }
            ],
            "description": "Outcome of the verification of the full name.",
            "nullable": true
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2DateOfBirthField"
              }
            ],
            "description": "Outcome of the verification of the date of birth.",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2SexField"
              }
            ],
            "description": "Outcome of the verification of the sex.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `kenya-nid-match-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "KenyaNidMatch2SexField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The sex value submitted for this check.\n            \nPossible input values:\n- Male\n- Female",
            "nullable": true,
            "example": "Female"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted sex against the Integrated Population Registration System (IPRS).\n            \nPossible values:\n- Exact Match\n- No Match\n- Not Provided\n- Not Returned",
            "nullable": true,
            "example": "No Match"
          }
        }
      },
      "KoreaTelcoMatchInput": {
        "required": [
          "carrier",
          "dateOfBirth",
          "fullName",
          "operatingSystem",
          "phoneNumber",
          "sex"
        ],
        "type": "object",
        "properties": {
          "phoneNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Phone number without dashes, e.g. \"010XXXXXXXX\"."
          },
          "fullName": {
            "minLength": 1,
            "type": "string",
            "description": "Full legal name (UTF-8), e.g. \"홍길동\" or \"Hong Gildong\"."
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth.",
            "format": "date"
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KoreaTelcoMatchSex"
              }
            ],
            "description": "Sex. Must be Male or Female.",
            "x-enumDescriptions": {
              "Male": "",
              "Female": ""
            }
          },
          "carrier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MobileCarrier"
              }
            ],
            "description": "Mobile carrier. Lgu = LG U+, Skt = SK Telecom, Kt = KT.",
            "x-enumDescriptions": {
              "Lgu": "",
              "Skt": "",
              "Kt": ""
            }
          },
          "operatingSystem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MobileOperatingSystem"
              }
            ],
            "description": "Device operating system.",
            "x-enumDescriptions": {
              "Android": "",
              "Ios": "",
              "Feature": ""
            }
          }
        }
      },
      "KoreaTelcoMatchProviderOutput": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "The phone number submitted for the carrier match.",
            "nullable": true,
            "example": "01012345678"
          },
          "teleType": {
            "type": "string",
            "description": "The mobile carrier used for the match.\n            \nSupported values: Lgu, Skt, Kt.",
            "nullable": true,
            "example": "Skt"
          },
          "resultCode": {
            "type": "string",
            "description": "The carrier match result code.\n            \nCommon result codes:\n- \"0000\": Successful match\n- \"0001\": Failed - Verification Information Mismatch (General)\n- \"0002\": Failed - Unable to Verify Phone Number\n- \"0004\": Failed - Date of Birth Verification Error\n- \"0005\": Failed - Gender Verification Error\n- \"0006\": Failed - Name Verification Error\n- \"0009\": Failed - Device OS Mismatch",
            "nullable": true,
            "example": "0000"
          }
        },
        "description": "Exposed properties for the `korea-telco-match` Provider which do not directly map to the normalized IdentityData model."
      },
      "KoreaTelcoMatchSex": {
        "enum": [
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Male": "",
          "Female": ""
        }
      },
      "LaWalletProviderOutput": {
        "type": "object",
        "properties": {
          "driversLicenseNumber": {
            "type": "string",
            "description": "The number of the driver's license used to create the LA Wallet credential",
            "nullable": true,
            "example": "001234567"
          },
          "issueDate": {
            "type": "string",
            "description": "The issue date of the driver's license used to create the LA Wallet credential",
            "format": "date",
            "nullable": true,
            "example": "2020-06-30"
          },
          "expirationDate": {
            "type": "string",
            "description": "The expiration date of the driver's license used to create the LA Wallet credential",
            "format": "date",
            "nullable": true,
            "example": "2030-06-30"
          },
          "auditNumber": {
            "type": "string",
            "description": "The 4-digit audit number of the driver's license used to create the LA Wallet credential",
            "nullable": true,
            "example": "1234"
          },
          "licenseStatus": {
            "type": "string",
            "description": "The license status from the LA Wallet credential",
            "nullable": true,
            "example": "VALID"
          },
          "licenseClass": {
            "type": "string",
            "description": "The license class from the LA Wallet credential\n            \nPossible values:\n- \"A\": Commercial Driver's License, Combination Vehicles\n- \"B\": Commercial Driver's License, Heavy Straight Vehicle\n- \"C\": Commercial Driver's License, Light Straight Vehicle\n- \"D\": Chauffeur's Driver's License\n- \"E\": Driver's License for Personal Vehicle",
            "nullable": true,
            "example": "E"
          },
          "firstName": {
            "type": "string",
            "description": "The first name from the LA Wallet credential",
            "nullable": true,
            "example": "JOHN"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name from the LA Wallet credential",
            "nullable": true,
            "example": "JACOB"
          },
          "lastName": {
            "type": "string",
            "description": "The last name from the LA Wallet credential",
            "nullable": true,
            "example": "DOE"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth from the LA Wallet credential",
            "format": "date",
            "nullable": true,
            "example": "1990-01-15"
          },
          "sex": {
            "type": "string",
            "description": "The sex from the LA Wallet credential",
            "nullable": true,
            "example": "Male"
          },
          "addressLine1": {
            "type": "string",
            "description": "The address' line 1 from the LA Wallet credential",
            "nullable": true,
            "example": "123 MAIN ST"
          },
          "addressLine2": {
            "type": "string",
            "description": "The address' line 2 from the LA Wallet credential",
            "nullable": true,
            "example": "#5"
          },
          "addressCity": {
            "type": "string",
            "description": "The address' city from the LA Wallet credential",
            "nullable": true,
            "example": "BATON ROUGE"
          },
          "addressState": {
            "type": "string",
            "description": "The address' state from the LA Wallet credential",
            "nullable": true,
            "example": "LA"
          },
          "addressZip": {
            "type": "string",
            "description": "The address' ZIP from the LA Wallet credential",
            "nullable": true,
            "example": "70801"
          },
          "county": {
            "type": "string",
            "description": "The county (\"parish\") code from the LA Wallet credential.\n            \nThis is a number from 1 to 64, representing one of Louisiana's 64 parishes.",
            "nullable": true,
            "example": "17"
          },
          "coarseAge": {
            "type": "string",
            "description": "The coarse age returned by LA Wallet for this credential\n            \nPossible values:\n- \"Under 18\"\n- \"Under 21\"\n- \"Over 21\"",
            "nullable": true,
            "example": "Over 21"
          }
        },
        "description": "Exposed properties for the `usa-louisiana-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "LatviaEparakstsMobileProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "personalCode": {
            "type": "string",
            "description": "The 11-digit Latvian personal code (\"personas kods\") of the verified individual.\n            \nThis has two possible formats, depending on whether the personal code was issued after July 1, 2017.\n            \nFor personal codes issued before July 1, 2017, the format is DDMMYY-CZZZQ, where:\n- DDMMYY is the date of birth, followed by an optional hyphen\n- C represents the century of birth ('0' for 1800-1899, '1' for 1900-1999, '2' for 2000-2099)\n- ZZZ is a serial number\n- Q is a checksum digit\n            \nFor personal codes issued on or after July 1, 2017, the format is 32ZZZZZZZZQ, where:\n- 32 is a fixed prefix\n- ZZZZZZZQ are 8 random digits\n- Q is a checksum digit\n            \nNOTE: Individuals born before July 1, 2017 can elect to be issued a new personal code which does not contain their birthdate.\nTherefore, no concrete assumptions may be made about an individual's date of birth based solely on the format of their personal code.",
            "nullable": true,
            "example": "300680-15055"
          }
        },
        "description": "Exposed properties for the `a-lv-eparaksts-mobile-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "LatviaEparakstsProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "personalCode": {
            "type": "string",
            "description": "The 11-digit Latvian personal code (\"personas kods\") of the verified individual.\n            \nThis has two possible formats, depending on whether the personal code was issued after July 1, 2017.\n            \nFor personal codes issued before July 1, 2017, the format is DDMMYY-CZZZQ, where:\n- DDMMYY is the date of birth, followed by an optional hyphen\n- C represents the century of birth ('0' for 1800-1899, '1' for 1900-1999, '2' for 2000-2099)\n- ZZZ is a serial number\n- Q is a checksum digit\n            \nFor personal codes issued on or after July 1, 2017, the format is 32ZZZZZZZZQ, where:\n- 32 is a fixed prefix\n- ZZZZZZZQ are 8 random digits\n- Q is a checksum digit\n            \nNOTE: Individuals born before July 1, 2017 can elect to be issued a new personal code which does not contain their birthdate.\nTherefore, no concrete assumptions may be made about an individual's date of birth based solely on the format of their personal code.",
            "nullable": true,
            "example": "300680-15055"
          }
        },
        "description": "Exposed properties for the `a-lv-eparaksts-id-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "ListProvidersResponse": {
        "required": [
          "providers"
        ],
        "type": "object",
        "properties": {
          "providers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Provider"
            },
            "description": "The list of providers available to this organization"
          }
        }
      },
      "ListRedirectUrisResponse": {
        "required": [
          "more",
          "uris"
        ],
        "type": "object",
        "properties": {
          "uris": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RedirectUriResponse"
            },
            "description": "List of redirect uris within the environment."
          },
          "more": {
            "type": "boolean",
            "description": "Whether there are additional pages of uris to retrieve",
            "example": true
          }
        },
        "description": "Response from listing redirect URIs within an environment."
      },
      "ListSessionsResponse": {
        "required": [
          "more",
          "sessions",
          "total"
        ],
        "type": "object",
        "properties": {
          "sessions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Session"
            }
          },
          "total": {
            "type": "integer",
            "description": "The total number of sessions tied to your account",
            "format": "int32",
            "example": 101
          },
          "more": {
            "type": "boolean",
            "description": "Whether there are additional pages of sessions to retrieve",
            "example": true
          }
        }
      },
      "ListVerificationProfilesResponse": {
        "required": [
          "more",
          "verificationProfiles"
        ],
        "type": "object",
        "properties": {
          "verificationProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VerificationProfileResponse"
            }
          },
          "more": {
            "type": "boolean",
            "description": "Whether there are additional pages of verification profiles to retrieve",
            "example": true
          }
        }
      },
      "LithuaniaIdCardProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "personalCode": {
            "type": "string",
            "description": "The 11-digit Lithuanian Personal Code (asmens kodas) of the verified individual.\n            \nIf the first digit is \"9\" (rare), the rest of the identifier is random and has no structure.\n            \nOtherwise, this is in the format GYYMMDDSSSC, where:\n            \n- G is both gender and century of birth\n- YYMMDD is the date of birth\n- SSS is a sequential serial number\n- C is a checksum digit\n            \nIf G is odd, the gender is male.\nIf G is even, the gender is female.\n            \nIf G is 1 or 2, the individual was born in the 19th century (1800-1899).\nIf G is 3 or 4, the individual was born in the 20th century (1900-1999).\nIf G is 5 or 6, the individual was born in the 21st century (2000-2099).\n            \nRarely, the date of birth may be encoded as 000000 if it is not known.",
            "nullable": true,
            "example": "38006309999"
          }
        },
        "description": "Exposed properties for the `a-lt-id-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "LloydsSmartIdProviderOutput": {
        "type": "object",
        "properties": {
          "yotiRememberMeId": {
            "type": "string",
            "description": "A Yoti-generated unique ID for this individual, consistent across repeat shares and different for each Relying Party.",
            "nullable": true,
            "example": "Ic3NCB/dWVB1k4QPOD98IpDJ8ut04 lPHPSNV0RWikAc+szH2NrZFK1 nG+cZgaXe8"
          },
          "email": {
            "type": "string",
            "description": "The email address of the individual",
            "nullable": true,
            "example": "johndoe@example.com"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual. This can correspond to first and middle names in English.",
            "nullable": true,
            "example": "John Alvin"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual",
            "nullable": true,
            "example": "Doe"
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the individual which is composed of the given and family name.\nUnverified full name may be safe to use. For example, Aadhaar card provides full name, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true,
            "example": "John Alvin Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.\nUnverified date of birth may be safe to use. For example, Aadhaar card provides date of birth, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual. Depending on the source or country, gender may not be verified. This is a setting that can be configured while setting up scopes.\n            \nUnverified gender may be safe to use. For example, Aadhaar card provides gender, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".\nIn some countries\nPossible values:\n- \"MALE\"\n- \"FEMALE\"\n- \"TRANSGENDER\"\n- \"OTHER\"",
            "nullable": true,
            "example": "MALE"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality of the individual as a ISO alpha-3 code",
            "nullable": true,
            "example": "GBR"
          },
          "mobileNumber": {
            "type": "string",
            "description": "The mobile phone number of the individual. This number was verified with a one time password (OTP) during the individual's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the individual's identity.",
            "nullable": true,
            "example": "+447777123456"
          },
          "structuredPostalAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiStructuredPostalAddress"
              }
            ],
            "description": "A structured postal address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\".\nUnverified addresses may be safe to use. For example, Aadhaar card provides an address, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true
          },
          "postalAddress": {
            "type": "string",
            "description": "The whole address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\". The format of this will be different for each country.\nRefer to `StructuredPostalAddress` for a detailed version of the address.",
            "nullable": true,
            "example": "6th Floor, 107 Leadenhall St, London, EC3A 4AF"
          },
          "documentDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiDocumentDetails"
              }
            ],
            "description": "The details of the underlying document used to help create the Yoti credential",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `lloyds-smart-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "Match": {
        "type": "object",
        "properties": {
          "probabilityValue": {
            "type": "number",
            "description": "The probability value of the match.\n            \nThis is a value between 0 and 1, where 1 indicates a perfect match and 0 indicates no match.\n            \nThis field is non-null when the underlying Provider's match output is in the form of a probability score.",
            "format": "double",
            "nullable": true
          },
          "booleanValue": {
            "type": "boolean",
            "description": "The boolean value of the match.\n            \nThis is a value of true or false, where true indicates a match and false indicates no match.\n            \nThis field is non-null when the underlying Provider's match output is in the form of a boolean value.",
            "nullable": true
          }
        }
      },
      "MatchData": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "Whether the provided National ID Number matched the information on file for the individual",
            "nullable": true,
            "example": true
          },
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The match score for the full name of the individual.\n            \nHigher values indicate a closer match.",
            "nullable": true,
            "example": 1
          },
          "givenName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The match score for the given (first) name of the individual.\n            \nHigher values indicate a closer match.",
            "nullable": true,
            "example": 1
          },
          "middleName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The match score for the middle name(s) of the individual.\n            \nHigher values indicate a closer match.",
            "nullable": true,
            "example": 1
          },
          "familyName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The match score for the family (last) name of the individual.\n            \nHigher values indicate a closer match.",
            "nullable": true,
            "example": 0
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "Whether the provided sex of the individual matched the information on file for the individual",
            "nullable": true,
            "example": false
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "Whether the provided date of birth matched the information on file for the individual",
            "nullable": true,
            "example": true
          },
          "phoneNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "Whether the provided phone number matched the information on file for the individual",
            "nullable": true,
            "example": true
          },
          "faceMatch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The match score for the face match between the provided selfie image and the biometrics on file for the individual.\n            \nHigher values indicate greater match confidence.",
            "nullable": true,
            "example": 0.9646
          },
          "liveness": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The confidence score for the liveness check performed against the selfie image of the individual.\n            \nHigher values indicate lower suspicion.",
            "nullable": true,
            "example": 0.9501
          },
          "imageAuthenticity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Match"
              }
            ],
            "description": "The confidence score for the image manipulation check performed against the selfie image of the individual.\n            \nHigher values indicate lower suspicion of image manipulation.",
            "nullable": true,
            "example": 0.2088
          }
        },
        "description": "Match results for the data being matched against.\n            \nThis applies to Providers which operate based on matching data / biometrics against a government database,\nreturning match scores or results as opposed to the data itself."
      },
      "MdlExchangeMechanism": {
        "enum": [
          "NativeApp",
          "DigitalCredentialsApi"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "NativeApp": "The mDL exchange will be performed using a native mobile app SDK (e.g. Google Wallet, Apple Wallet).",
          "DigitalCredentialsApi": "The mDL exchange will be performed using the Digital Credentials API on web."
        }
      },
      "MdlOutput": {
        "type": "object",
        "properties": {
          "iacaRootCertificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutputCertificateData"
              }
            ],
            "description": "Information about the IACA Root Certificate which signed (directly or indirectly) the Document Signer Certificate for this mDoc.",
            "nullable": true,
            "example": {
              "serialNumber": "535868140170056787981774412188464491855209169584",
              "commonName": "California DMV IACA Root",
              "stateOrProvinceName": "US-CA",
              "notBefore": "2023-03-01T17:17:39.000Z",
              "notAfter": "2033-01-07T17:17:39.000Z"
            }
          },
          "documentSignerCertificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutputCertificateData"
              }
            ],
            "description": "Information about the Document Signer Certificate which signed the mDoc presented by the individual.",
            "nullable": true,
            "example": {
              "serialNumber": "306801082360131207284784033026769989720690200468",
              "commonName": "California DMV IACA mdoc Signer",
              "stateOrProvinceName": "US-CA",
              "notBefore": "2025-01-13T17:26:32.000Z",
              "notAfter": "2026-04-13T17:26:32.000Z"
            }
          },
          "documentType": {
            "type": "string",
            "description": "The document type of the mDoc presented by the individual.\n            \nCommon values:\n- \"org.iso.18013.5.1.mDL\" for ISO 18013-5 mDLs\n- \"com.google.wallet.idcard.1\" for Google Wallet ID Cards",
            "nullable": true,
            "example": "org.iso.18013.5.1.mDL"
          },
          "nameSpaces": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/MdlOutputFieldData"
              }
            },
            "description": "The namespaces, and fields within those namespaces, which were present in the processed mDL.",
            "nullable": true,
            "example": {
              "org.iso.18013.5.1": {
                "family_name": {
                  "type": "String",
                  "value": "DOE"
                },
                "given_name": {
                  "type": "String",
                  "value": "JOHN"
                },
                "birth_date": {
                  "type": "String",
                  "value": "2000-03-27"
                },
                "age_over_21": {
                  "type": "Boolean",
                  "value": "true"
                }
              }
            }
          }
        }
      },
      "MdlOutputCertificateData": {
        "type": "object",
        "properties": {
          "serialNumber": {
            "type": "string",
            "description": "The serial number of the certificate",
            "nullable": true,
            "example": "535868140170056787981774412188464491855209169584"
          },
          "commonName": {
            "type": "string",
            "description": "The common name (CN) of the certificate",
            "nullable": true,
            "example": "California DMV IACA Root"
          },
          "stateOrProvinceName": {
            "type": "string",
            "description": "The stateOrProvinceName field from the certificate",
            "nullable": true,
            "example": "US-CA"
          },
          "countryCode": {
            "type": "string",
            "description": "The countryCode field from the certificate",
            "nullable": true,
            "example": "US"
          },
          "notBefore": {
            "type": "string",
            "description": "The date before which this certificate is not valid.",
            "format": "date-time",
            "nullable": true,
            "example": "2023-03-01T17:17:39.000Z"
          },
          "notAfter": {
            "type": "string",
            "description": "The date after which this certificate is not valid.",
            "format": "date-time",
            "nullable": true,
            "example": "2033-01-07T17:17:39.000Z"
          }
        }
      },
      "MdlOutputFieldData": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutputFieldDataType"
              }
            ],
            "description": "The type of data contained in `value`.",
            "nullable": true,
            "example": "String",
            "x-enumDescriptions": {
              "String": "A raw string value, e.g. \"John\"",
              "Boolean": "A boolean value, e.g. \"true\"",
              "Number": "A numeric value, e.g. \"1234.56\", \"-1\", \"53\"",
              "Base64Url": "Base64url-encoded binary data, e.g. a JPEG image.",
              "EncodedCbor": "An encoded CBOR object which cannot be cleanly represented as a simple string.\n            \nWhen this type is used, the `value` field contains a base64url-encoded byte array of the raw CBOR data.",
              "IntentionallyOmitted": "Indicates that Trinsic intentionally omitted the field's value from the raw mDL output.\n            \nThis is only done for large field values which are already surfaced via Trinsic's Attachments API, such as `portrait`.\n            \nThe presence of this field indicates that the data was returned by the mDL, but has been omitted to reduce payload size.\n            \nUse the Attachments API to fetch this field."
            }
          },
          "value": {
            "type": "string",
            "description": "The string-encoded value of the field.",
            "nullable": true,
            "example": "123 Fake St"
          }
        }
      },
      "MdlOutputFieldDataType": {
        "enum": [
          "String",
          "Boolean",
          "Number",
          "Base64Url",
          "EncodedCbor",
          "IntentionallyOmitted"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "String": "A raw string value, e.g. \"John\"",
          "Boolean": "A boolean value, e.g. \"true\"",
          "Number": "A numeric value, e.g. \"1234.56\", \"-1\", \"53\"",
          "Base64Url": "Base64url-encoded binary data, e.g. a JPEG image.",
          "EncodedCbor": "An encoded CBOR object which cannot be cleanly represented as a simple string.\n            \nWhen this type is used, the `value` field contains a base64url-encoded byte array of the raw CBOR data.",
          "IntentionallyOmitted": "Indicates that Trinsic intentionally omitted the field's value from the raw mDL output.\n            \nThis is only done for large field values which are already surfaced via Trinsic's Attachments API, such as `portrait`.\n            \nThe presence of this field indicates that the data was returned by the mDL, but has been omitted to reduce payload size.\n            \nUse the Attachments API to fetch this field."
        }
      },
      "MexicoCurpInput": {
        "required": [
          "curp"
        ],
        "type": "object",
        "properties": {
          "curp": {
            "maxLength": 18,
            "minLength": 18,
            "type": "string",
            "description": "The user's CURP number"
          }
        }
      },
      "MexicoCurpProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the individual.",
            "nullable": true,
            "example": "Juan"
          },
          "fatherLastName": {
            "type": "string",
            "description": "The last name of the father of the individual.",
            "nullable": true,
            "example": "Pérez"
          },
          "motherLastName": {
            "type": "string",
            "description": "The last name of the mother of the individual.",
            "nullable": true,
            "example": "García"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual.\n\n List of possible values:\n\n - Male\n - Female",
            "nullable": true,
            "example": "Male"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1943-08-15"
          },
          "countryOfBirth": {
            "type": "string",
            "description": "The country of birth of the individual.",
            "nullable": true,
            "example": "MEXICO"
          },
          "stateOfBirth": {
            "type": "string",
            "description": "The state of birth of the individual.",
            "nullable": true,
            "example": "Veracruz"
          },
          "curp": {
            "type": "string",
            "description": "The CURP (Clave Única de Registro de Población) that was verified.\n            \nA CURP code is a unique identifier assigned to individuals in Mexico.\nIt is 18 alphanumeric characters, with a structured meaning:\n            \nABCD YYMMDD G SS XYZ M C\nThe first 4 letters (ABCD):\nA: The first letter of the paternal last name.\nB: First internal vowel of paternal last name.\nC: First letter of maternal last name.\nD: First letter of first name.\n            \nYYMMDD: 2-digit year, month, day.\n            \nG: Gender, H for Hombre (male) and M for Mujer (female).\n            \nSS: State code (2 letters), e.g. NL for Nuevo León.\n            \nX: First internal consonant of paternal last name.\nY: First internal consonant of maternal last name.\nZ: First internal consonant of given name.\n            \nM: Millennium indicator (0-9 for pre-2000 birth date, A-Z for post-2000's birth dates.\n            \nC: Checksum character",
            "nullable": true,
            "example": "PEGJ430815HVZRRN08"
          },
          "curpStatus": {
            "type": "string",
            "description": "Curp status for the subject.\n            \nPossible values:\n- AN: Alta Normal (Normal registration) - Active\n- AH: Alta con Homonimia (Registration with homonymy) - Active\n- RCC: Registro de cambio afectando a CURP (Change affecting CURP) - Active\n- RCN: Registro de cambio no afectando a CURP (Change not affecting CURP) - Active\n- BAP: Baja por documento apócrifo (Low due to apocryphal document) - Inactive\n- BSU: Baja sin uso (Low curp without use) - Inactive\n- BD: Baja por defunción (Low curp due to death) - Inactive\n- BDM: Baja administrativa (Low, due to administrative process) - Inactive\n- BDP: Baja por adopción (Low, due to adoption) - Inactive\n- BJD: Baja Judicial (Low for judicial reasons) - Inactive",
            "nullable": true,
            "example": "AN"
          },
          "registrationYear": {
            "type": "integer",
            "description": "The year the CURP number was registered in.",
            "format": "int32",
            "nullable": true,
            "example": 1976
          },
          "registrationState": {
            "type": "string",
            "description": "The state the CURP number was registered in.",
            "nullable": true,
            "example": "DISTRITO FEDERAL"
          },
          "actNumber": {
            "type": "string",
            "description": "The ACT (Número de Acta) number of the individual.\n            \nThe Act number is a civil registry index number. Various state have various formats of specifying these.",
            "nullable": true,
            "example": "00016"
          }
        },
        "description": "Exposed properties for the `mexico-curp-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "MitIdProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The full name of the individual.",
            "nullable": true,
            "example": "Ove Henriksen"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1943-08-15"
          },
          "uniqueIdentifier": {
            "type": "string",
            "description": "A stable unique identifier representing the individual in MitID's system.\nIt is recommended to use this identifier instead of using the civil registration number (CPR number) directly.",
            "format": "uuid",
            "nullable": true,
            "example": "8ba191ec-64b1-41c1-b622-4b8c14c34428"
          },
          "authenticationAssuranceLevel": {
            "type": "string",
            "description": "The authentication assurance level (AAL) for the verification.\nThe National Institute of Standards and Technology (NIST) measures the confidence in a digital identity's authentication strength set by a set of requirements for different levels.\nMore information can be found here: https://pages.nist.gov/800-63-4/sp800-63b/aal/#AAL_SEC4\nPossible values:\n            \n-  https://data.gov.dk/concept/core/nsis/Low - (Level 1) Provides basic confidence that the authenticator is either single factor or multifactor authentication.\n- https://data.gov.dk/concept/core/nsis/Substantial - (Level 2) Provides high confidence that the authenticator uses two distinct authentication factors that use secure authentication protocols.\n- https://data.gov.dk/concept/core/nsis/High - (Level 3) Provides very high confidence that the authenticator uses an non-exportable private key and another authentication factor.\n            \n**Note**: These urls are not valid anymore, but they still contain the level of assurance name.",
            "nullable": true,
            "example": "https://data.gov.dk/concept/core/nsis/Substantial"
          },
          "identityAuthenticationLevel": {
            "type": "string",
            "description": "The identity assurance level (IAL) for the verification.\nThe National Institute of Standards and Technology (NIST) measures the confidence of the digital identity's verification set by a set of requirements for different levels.\nMore information can be found here: https://pages.nist.gov/800-63-4/sp800-63b/aal/#AAL_SEC4\nPossible values:\n            \n-  https://data.gov.dk/concept/core/nsis/Low - (Level 1) The individual has self asserted their identity and is neither verified nor validated.\n- https://data.gov.dk/concept/core/nsis/Substantial - (Level 2) The individual has performed either a remote or in-person identity proofing.\n- https://data.gov.dk/concept/core/nsis/High - (Level 3) The individual has performed an in person identity proofing with an authorized representative.\n            \n**Note**: These urls are not valid anymore, but they still contain the level of assurance name.",
            "nullable": true,
            "example": "https://data.gov.dk/concept/core/nsis/Substantial"
          },
          "levelOfAssurance": {
            "type": "string",
            "description": "The level of assurance (LOA) for the verification. This is an older retired model that is a combination of Identity Assurance Level and Authentication Assurance Level.\nThe National Institute of Standards and Technology (NIST) measures the confidence of the digital identity's verification and authentication strength by a set of requirements for different levels.\n            \nPossible values:\n-  https://data.gov.dk/concept/core/nsis/Low - (Level 1) The individual has self asserted their identity and multifactor authentication is not required.\n- https://data.gov.dk/concept/core/nsis/Substantial - (Level 3) The individual has performed either a remote or in-person identity proofing and multifactor authentication is required.\n- https://data.gov.dk/concept/core/nsis/High - (Level 4) The individual has performed an in person identity proofing with an authorized representative and has strong cryptographic authentication requirements.\n            \n**Note**: These urls are not valid anymore, but they still contain the level of assurance name. MitID only returns three of the four potential levels and does not include level 2.\n            \nMore information can be found here:\n- https://pages.nist.gov/800-63-3/sp800-63-3.html\n- https://pages.nist.gov/800-63-3/",
            "nullable": true,
            "example": "https://data.gov.dk/concept/core/nsis/Substantial"
          },
          "identificationSource": {
            "type": "string",
            "description": "The source of the identification for the verification\n            \nPossible values:\n- private - The verification is from a private individual.\n- professional - The verification is an individual on behalf of an organization.",
            "nullable": true,
            "example": "private"
          },
          "civilRegistrationNumber": {
            "type": "string",
            "description": "The civil registration number (CPR number) of the individual for the verification.\n            \nThe CPR number is a 10-digit number in the format DDMMYYY-XXXX, where:\n- DDMMYYY represents the individual's date of birth (day, month, year).\n- XXXX is a unique identifier.\n            \nIf XXXX is even, the individual is female.\nIf XXXX is odd, the individual is male.\n            \nMore information can be found here: https://international.kk.dk/live/cpr-registration-and-documents/cpr-number",
            "nullable": true,
            "example": "01311985-1234"
          },
          "organizationName": {
            "type": "string",
            "description": "The name of the organization for the verification",
            "nullable": true,
            "example": "Dansk Standard"
          },
          "organizationNumber": {
            "type": "string",
            "description": "The organization number (CVR number). This is an 8-digit unique identifier for the organization. This will be prefixed with \"DK\" for VAT numbers.",
            "nullable": true,
            "example": "DK12345678"
          },
          "authorizedRepresentativeNumber": {
            "type": "string",
            "description": "The organization number (CVR number) of the organization the individual is authorized to represent.\nThis is only returned if the requested scope is for an organization verification and the individual provides a private source on behalf of a company.",
            "nullable": true,
            "example": "8ba191ec-64b1-41c1-b622-4b8c14c34428"
          }
        },
        "description": "Exposed properties for the `denmark-mitid` Provider which do not directly map to the normalized IdentityData model."
      },
      "MobileCarrier": {
        "enum": [
          "Lgu",
          "Skt",
          "Kt"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Lgu": "",
          "Skt": "",
          "Kt": ""
        }
      },
      "MobileIdInput": {
        "type": "object",
        "properties": {
          "mobileIdPhoneNumber": {
            "type": "string",
            "description": "The user's phone number in E.164 format",
            "nullable": true
          },
          "mobileIdNationalIdentityNumber": {
            "type": "string",
            "description": "The user's National ID number",
            "nullable": true
          },
          "mobileIdLanguage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MobileIdLanguage"
              }
            ],
            "description": "The user's language -- LIT, EST, ENG, or RUS",
            "nullable": true,
            "x-enumDescriptions": {
              "LIT": "Lithuanian",
              "EST": "Estonian",
              "ENG": "English",
              "RUS": "Russian"
            }
          }
        }
      },
      "MobileIdLanguage": {
        "enum": [
          "LIT",
          "EST",
          "ENG",
          "RUS"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "LIT": "Lithuanian",
          "EST": "Estonian",
          "ENG": "English",
          "RUS": "Russian"
        }
      },
      "MobileIdProviderOutput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "The given name of the individual, extracted from the Mobile ID authentication\ncertificate's Subject Distinguished Name \"G\" (givenName) attribute.",
            "nullable": true,
            "example": "MARI"
          },
          "familyName": {
            "type": "string",
            "description": "The family name (surname) of the individual, extracted from the Mobile ID\nauthentication certificate's Subject Distinguished Name \"SN\" (surname) attribute.",
            "nullable": true,
            "example": "TAMM"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The individual's date of birth, derived from the personal code.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-01"
          },
          "sex": {
            "type": "string",
            "description": "The individual's sex, derived from the first digit of the personal code.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Female"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code extracted from the Mobile ID authentication\ncertificate's Subject Distinguished Name \"C\" (country) attribute.\n            \nThis represents the country of the certificate issuer, not the person's nationality\nor citizenship. For Mobile ID, this will be \"EE\" (Estonia) or \"LT\" (Lithuania).",
            "nullable": true,
            "example": "EE"
          },
          "identityType": {
            "type": "string",
            "description": "The identity document type, extracted from the first 3 characters of the\nSERIALNUMBER field (before the country code).\n            \nPossible values:\n- PNO: Personal Number (national civic registration number)\n- PAS: Passport\n- IDC: National identity card",
            "nullable": true,
            "example": "PNO"
          },
          "personalCode": {
            "type": "string",
            "description": "The personal code (Estonian: isikukood, Lithuanian: asmens kodas) of the individual,\nextracted from the SERIALNUMBER field of the Mobile ID authentication certificate.\nThis is the portion after the identity type and country prefix\n(e.g., \"48501010014\" from \"PNOEE-48501010014\").\n            \nBoth Estonian and Lithuanian personal codes are 11 digits in the format GYYMMDDSSSC where:\n- G = century/gender (3-4 = 1900s, 5-6 = 2000s; odd = male, even = female)\n- YYMMDD = date of birth\n- SSS = sequence number\n- C = checksum digit\n            \nSee:\n- https://en.wikipedia.org/wiki/National_identification_number#Estonia\n- https://en.wikipedia.org/wiki/National_identification_number#Lithuania",
            "nullable": true,
            "example": "48501010014"
          },
          "serialNumber": {
            "type": "string",
            "description": "The SERIALNUMBER attribute from the Mobile ID authentication certificate's Subject\nDistinguished Name. Format: \"{identity-type}{country-code}-{identifier}\"\n            \nComponents:\n- identity-type (3 chars): PNO (Personal Number), PAS (Passport), IDC (ID Card)\n- country-code (2 chars): ISO 3166-1 alpha-2 (EE, LT)\n- identifier: The personal code",
            "nullable": true,
            "example": "PNOEE-48501010014"
          },
          "certificateSubject": {
            "type": "string",
            "description": "The full Subject Distinguished Name (Subject DN) from the Mobile ID\nauthentication certificate. Contains comma-separated RDN (Relative Distinguished Name)\ncomponents including C (Country), CN (Common Name), SN (Surname), G (Given Name),\nand SERIALNUMBER (Personal identifier).",
            "nullable": true,
            "example": "SERIALNUMBER=PNOEE-48501010014, G=MARI, SN=TAMM, CN=\"TAMM,MARI,48501010014\", C=EE"
          }
        },
        "description": "Exposed properties for the `mobile-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "MobileOperatingSystem": {
        "enum": [
          "Android",
          "Ios",
          "Feature"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Android": "",
          "Ios": "",
          "Feature": ""
        }
      },
      "MockOutputProviderInput": {
        "type": "object",
        "properties": {
          "providerId": {
            "type": "string",
            "description": "The ID of a provider available in the Mock Output field selector.",
            "nullable": true
          }
        },
        "description": "*TEST MODE ONLY.*\n            \nSelects the provider whose fields are shown by `trinsic-mock-output`."
      },
      "MoldovaDriverLicenseCredential": {
        "type": "object",
        "properties": {
          "idnp": {
            "type": "string",
            "description": "The individual's IDNP (Numărul de Identificare Personal), the Moldovan state personal identification number.\n            \nThis is a 13-digit number which uniquely identifies all natural persons in the Republic of Moldova.\nIt has the format `2YYYOOOSSSSSX`, where:\n- `2` is the literal number `2` to indicate that the identifier belongs to a natural person\n- `YYY` is the last 3 digits of the year in which the identifier was issued\n- `OOO` is the code of the registrar office which issued the identifier\n- `SSSSS` is the sequential birth number for that year\n- `X` is a check digit\n            \nNote that the year encoded in the identifier is not necessarily the same as the year of birth of the individual.",
            "nullable": true,
            "example": "2002004123456"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's given name(s), as recorded on their Moldovan driver license.",
            "nullable": true,
            "example": "ION"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's family name (surname), as recorded on their Moldovan driver license.",
            "nullable": true,
            "example": "POPESCU"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "ageOver18": {
            "type": "boolean",
            "description": "Whether the individual is at least 18 years of age at the time of issuance of the digital credential.",
            "nullable": true,
            "example": true
          },
          "ageOver21": {
            "type": "boolean",
            "description": "Whether the individual is at least 21 years of age at the time of issuance of the digital credential.",
            "nullable": true,
            "example": true
          },
          "birthCountry": {
            "type": "string",
            "description": "The country where the individual was born, as an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "MD"
          },
          "birthCity": {
            "type": "string",
            "description": "The locality (municipality, city, town, or village) where the individual was born.",
            "nullable": true,
            "example": "CHIȘINĂU"
          },
          "issueDate": {
            "type": "string",
            "description": "The date the driver license was issued.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date the driver license expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The name of the authority that issued the driver license.",
            "nullable": true,
            "example": "\"OFICIUL 54\""
          },
          "documentNumber": {
            "type": "string",
            "description": "The driver license number.",
            "nullable": true,
            "example": "123456789"
          },
          "drivingPrivileges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Iso180135DrivingPrivilege"
            },
            "description": "The categories of vehicle the individual is licensed to drive, parsed per ISO 18013-5.\n            \nEach entry has a vehicle category code with its own issue / expiry dates and possible restrictions.",
            "nullable": true,
            "example": [
              {
                "vehicleCategoryCode": "B",
                "issueDate": "2020-01-31",
                "expiryDate": "2030-01-31"
              }
            ]
          }
        },
        "description": "A Moldovan Driver License credential, with document type `md.gov.wallet.dl.1`, retrieved from the Moldovan EVO wallet."
      },
      "MoldovaEvoWalletInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "MoldovaEvoWalletProviderOutput": {
        "type": "object",
        "properties": {
          "identityCard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoldovaIdentityCardCredential"
              }
            ],
            "description": "A Moldovan Identity Card credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "driverLicense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoldovaDriverLicenseCredential"
              }
            ],
            "description": "A Moldovan Driver License credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.\n            \nNOTE: Although this credential aligns with the EUDI PID specification, Moldova is not an EU member state.",
            "nullable": true
          },
          "vehicleRegistrationCertificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoldovaVehicleRegistrationCertificateCredential"
              }
            ],
            "description": "A Moldovan Vehicle Registration Certificate credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "raw18013Output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the 18013-7 exchange performed through EVO Wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `moldova-evo-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "MoldovaIdentityCardCredential": {
        "type": "object",
        "properties": {
          "idnp": {
            "type": "string",
            "description": "The individual's IDNP (Numărul de Identificare Personal), the Moldovan state personal identification number.\n            \nThis is a 13-digit number which uniquely identifies all natural persons in the Republic of Moldova.\nIt has the format `2YYYOOOSSSSSX`, where:\n- `2` is the literal number `2` to indicate that the identifier belongs to a natural person\n- `YYY` is the last 3 digits of the year in which the identifier was issued\n- `OOO` is the code of the registrar office which issued the identifier\n- `SSSSS` is the sequential birth number for that year\n- `X` is a check digit\n            \nNote that the year encoded in the identifier is not necessarily the same as the year of birth of the individual.",
            "nullable": true,
            "example": "2002004123456"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's given name(s), as recorded on their Moldovan identity card.",
            "nullable": true,
            "example": "ION"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's family name (surname), as recorded on their Moldovan identity card.",
            "nullable": true,
            "example": "POPESCU"
          },
          "sex": {
            "type": "integer",
            "description": "The individual's sex, as an ISO/IEC 5218 numeric code.\n            \nPossible values:\n- 0: Not known\n- 1: Male\n- 2: Female\n- 9: Not applicable",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "nationality": {
            "type": "string",
            "description": "The individual's nationality, as an ISO 3166-1 alpha-2 country code.\n            \nMoldovan nationals are `MD`.",
            "nullable": true,
            "example": "MD"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "ageOver18": {
            "type": "boolean",
            "description": "Whether the individual is at least 18 years of age at the time of issuance of the digital credential.",
            "nullable": true,
            "example": true
          },
          "ageOver21": {
            "type": "boolean",
            "description": "Whether the individual is at least 21 years of age at the time of issuance of the digital credential.",
            "nullable": true,
            "example": true
          },
          "residentAddress": {
            "type": "string",
            "description": "The individual's full registered residential address as a single formatted string.",
            "nullable": true,
            "example": "BD. ȘTEFAN CEL MARE ȘI SFÂNT 1, BL. A, AP. 2, CHIȘINĂU"
          },
          "residentCountry": {
            "type": "string",
            "description": "The country of the individual's registered residence, as an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "MD"
          },
          "residentRegion": {
            "type": "string",
            "description": "The region of the individual's registered residence.",
            "nullable": true,
            "example": "CHIȘINĂU"
          },
          "residentCity": {
            "type": "string",
            "description": "The locality (municipality, city, town, or village) of the individual's registered residence.",
            "nullable": true,
            "example": "CHIȘINĂU"
          },
          "residentStreet": {
            "type": "string",
            "description": "The street name of the individual's registered residence.",
            "nullable": true,
            "example": "BD. ȘTEFAN CEL MARE ȘI SFÂNT"
          },
          "residentHouseNumber": {
            "type": "string",
            "description": "The house or building number of the individual's registered residence.",
            "nullable": true,
            "example": "1"
          },
          "residentBlock": {
            "type": "string",
            "description": "The building block (bloc) of the individual's registered residence, where applicable.",
            "nullable": true,
            "example": "A"
          },
          "residentFlat": {
            "type": "string",
            "description": "The flat (apartment) number of the individual's registered residence, where applicable.",
            "nullable": true,
            "example": "2"
          },
          "issueDate": {
            "type": "string",
            "description": "The date the physical identity card, used to create this digital credential, was issued.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date the physical identity card, used to create this digital credential, expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The name of the authority that issued the identity card.",
            "nullable": true,
            "example": "AGENȚIA SERVICII PUBLICE"
          },
          "documentType": {
            "type": "string",
            "description": "The document type\n            \nTODO: Get example values",
            "nullable": true,
            "example": "identity card"
          },
          "documentSeries": {
            "type": "string",
            "description": "The series of the underlying physical identity card.\n            \nThis is the prefix to the full Moldovan identity card number, which is in the format `SNNN...`, where:\n            \n- `S` is a one-letter document series\n- `NNN...` is a document number (typically 8 digits)",
            "nullable": true,
            "example": "A"
          },
          "documentNumber": {
            "type": "string",
            "description": "The number of the underlying physical identity card, excluding the series.\n            \nThis is the suffix to the full Moldovan identity card number, which is in the format `SNNN...`, where:\n            \n- `S` is a one-letter document series\n- `NNN...` is a document number (typically 8 digits)",
            "nullable": true,
            "example": "12345678"
          }
        },
        "description": "A Moldovan Identity Card credential, with document type `md.gov.wallet.pid.1`, retrieved from the Moldovan EVO wallet.\n            \nThis credential is derived from the individual's Moldovan National Identity Card."
      },
      "MoldovaVehicleRegistrationCertificateCredential": {
        "type": "object",
        "properties": {
          "plateNumber": {
            "type": "string",
            "description": "The registered vehicle's plate number.",
            "nullable": true,
            "example": "ABC 123"
          },
          "idnv": {
            "type": "string",
            "description": "The registered vehicle's IDNV (Numărul de Identificare a Vehiculului), the identifier assigned to the vehicle in\nthe Moldovan State Register of Transport.\n            \nThis is a Moldovan registry identifier and is distinct from the manufacturer's VIN.",
            "nullable": true,
            "example": "9876543210987"
          },
          "vin": {
            "type": "string",
            "description": "The vehicle's manufacturer-assigned Vehicle Identification Number (VIN), per ISO 3779.",
            "nullable": true,
            "example": "UU1ZZZZZZZ0000001"
          },
          "make": {
            "type": "string",
            "description": "The make (manufacturer brand) of the vehicle.",
            "nullable": true,
            "example": "Dacia"
          },
          "model": {
            "type": "string",
            "description": "The commercial model name of the vehicle.",
            "nullable": true,
            "example": "Logan"
          },
          "color": {
            "type": "string",
            "description": "The color of the vehicle, as recorded by the issuer.\n            \nTODO: Possible values?",
            "nullable": true,
            "example": "ALB"
          },
          "category": {
            "type": "string",
            "description": "The vehicle's EU vehicle category code.",
            "nullable": true,
            "example": "M1"
          },
          "year": {
            "type": "integer",
            "description": "The vehicle's year of manufacture.",
            "format": "int32",
            "nullable": true,
            "example": 2019
          },
          "bodyNumber": {
            "type": "string",
            "description": "The body number of the vehicle, if recorded separately from the VIN.",
            "nullable": true,
            "example": "BN0123456"
          },
          "bodyType": {
            "type": "string",
            "description": "The body type of the vehicle, as recorded by the issuer.\n            \nThis is a free text field with no guaranteed format.",
            "nullable": true,
            "example": "Sedan"
          },
          "chassisNumber": {
            "type": "string",
            "description": "The chassis number of the vehicle, if recorded separately from the VIN.",
            "nullable": true,
            "example": "CH0123456"
          },
          "engineVolume": {
            "type": "string",
            "description": "The engine displacement volume of the vehicle, as recorded by the issuer (typically in cubic centimeters).\n            \nThis is a free text field with no guaranteed format.",
            "nullable": true,
            "example": "999"
          },
          "engineType": {
            "type": "string",
            "description": "The engine/fuel type of the vehicle, as recorded by the issuer.\n            \nThis is a free text field with no guaranteed format.",
            "nullable": true,
            "example": "Benzină"
          },
          "engineNumber": {
            "type": "string",
            "description": "The engine number of the vehicle.",
            "nullable": true,
            "example": "EN0123456"
          },
          "authorizedWeight": {
            "type": "integer",
            "description": "The maximum technically permissible laden mass of the vehicle, in kilograms.",
            "format": "int32",
            "nullable": true,
            "example": 1500
          },
          "weight": {
            "type": "integer",
            "description": "The mass of the vehicle in service (unladen / kerb weight), in kilograms.",
            "format": "int32",
            "nullable": true,
            "example": 1100
          },
          "places": {
            "type": "integer",
            "description": "The number of seating positions in the vehicle, including the driver.",
            "format": "int32",
            "nullable": true,
            "example": 5
          },
          "idnp": {
            "type": "string",
            "description": "The IDNP (Numărul de Identificare Personal) of the vehicle's registered holder.\n            \nThis is a 13-digit number which uniquely identifies all natural persons in the Republic of Moldova.\nIt has the format `2YYYOOOSSSSSX`, where:\n- `2` is the literal number `2` to indicate that the identifier belongs to a natural person\n- `YYY` is the last 3 digits of the year in which the identifier was issued\n- `OOO` is the code of the registrar office which issued the identifier\n- `SSSSS` is the sequential birth number for that year\n- `X` is a check digit\n            \nNote that the year encoded in the identifier is not necessarily the same as the year of birth of the individual.",
            "nullable": true,
            "example": "1234567890123"
          },
          "familyName": {
            "type": "string",
            "description": "The family name (surname) of the vehicle's registered holder.",
            "nullable": true,
            "example": "POPESCU"
          },
          "givenName": {
            "type": "string",
            "description": "The given name(s) of the vehicle's registered holder.",
            "nullable": true,
            "example": "ION"
          },
          "address": {
            "type": "string",
            "description": "The registered address of the vehicle's holder, as a single formatted string.",
            "nullable": true,
            "example": "BD. ȘTEFAN CEL MARE ȘI SFÂNT 1, BL. A, AP. 2, CHIȘINĂU"
          },
          "vehicleRight": {
            "type": "string",
            "description": "The legal relationship the registration holder has to the vehicle (e.g. owner vs. authorized user), as recorded by the issuer.\n            \nTODO: Values",
            "nullable": true,
            "example": "Owner"
          },
          "specialRemarks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Free-text remarks or annotations recorded on the registration certificate.",
            "nullable": true,
            "example": [
              "Adapted for persons with disabilities"
            ]
          },
          "issueDate": {
            "type": "string",
            "description": "The date the registration certificate was issued.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date the registration certificate expires.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-31"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The name of the authority that issued the registration certificate.",
            "nullable": true,
            "example": "AGENȚIA SERVICII PUBLICE"
          },
          "documentNumber": {
            "type": "string",
            "description": "The number of the registration certificate document itself.",
            "nullable": true,
            "example": "123456789"
          }
        },
        "description": "A Moldovan Vehicle Registration Certificate credential, with document type `md.gov.wallet.vrc.1`, retrieved from the Moldovan EVO wallet."
      },
      "NetherlandsEudiSandboxInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "NetherlandsEudiSandboxProviderOutput": {
        "type": "object",
        "properties": {
          "pid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiPidCredential"
              }
            ],
            "description": "An EUDI Person Identification Data (PID) credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "ageVerification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiAgeVerificationCredential"
              }
            ],
            "description": "An EUDI Age Verification credential, retrieved from the individual's wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `netherlands-eudi-sandbox` Provider which do not directly map to the normalized IdentityData model."
      },
      "NetherlandsIdinAddress": {
        "type": "object",
        "properties": {
          "street": {
            "type": "string",
            "description": "Street name of the individual's domestic address.",
            "nullable": true,
            "example": "Drieslag"
          },
          "houseNumber": {
            "type": "string",
            "description": "House number of the individual's domestic address.",
            "nullable": true,
            "example": "51"
          },
          "houseNumberSuffix": {
            "type": "string",
            "description": "House number suffix of the individual's domestic address.",
            "nullable": true,
            "example": "A"
          },
          "addressExtra": {
            "type": "string",
            "description": "Additional domestic address information returned by iDIN.",
            "nullable": true,
            "example": "2nd floor"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code of the individual's domestic address.\n            \nA postal code in The Netherlands is a 4-digit number and two letters.",
            "nullable": true,
            "example": "6832AM"
          },
          "city": {
            "type": "string",
            "description": "City of the individual's domestic address.",
            "nullable": true,
            "example": "Arnhem"
          },
          "countryCode": {
            "type": "string",
            "description": "Country code of the individual's address in ISO 3166-1 alpha-2 format.",
            "nullable": true,
            "example": "NL"
          },
          "internationalAddressLine1": {
            "type": "string",
            "description": "First line of the individual's international address.",
            "nullable": true,
            "example": "Rue de la Loi 16"
          },
          "internationalAddressLine2": {
            "type": "string",
            "description": "Second line of the individual's international address.",
            "nullable": true,
            "example": "1000 Bruxelles"
          },
          "internationalAddressLine3": {
            "type": "string",
            "description": "Third line of the individual's international address.",
            "nullable": true,
            "example": "Belgium"
          }
        }
      },
      "NetherlandsIdinProviderOutput": {
        "type": "object",
        "properties": {
          "authorityId": {
            "type": "string",
            "description": "Unique identifier of the authority that was used to verify the individual.\n            \nFor banks this follows the SWIFT/BIC (Bank Identification Code) format.",
            "nullable": true,
            "example": "INGBNL2A"
          },
          "authorityName": {
            "type": "string",
            "description": "Name of the authority that was used to verify the individual.",
            "nullable": true,
            "example": "ING"
          },
          "customerId": {
            "type": "string",
            "description": "Unique identifier of the customer's account with the issuing authority.\n            \nThis identifier is generated by each authority and is unique per customer registration, authority, and individual.\nThe identifier should be treated as a unique opaque string.",
            "nullable": true,
            "example": "NLINGBG344XBYRN9O+Zu7EK9ajC8Ta19fe0xDYfwudOnKRirMopP9rgG/GfV8L1Ck3UWqgYq8dNhKztgp3PRYOelbTJQ=="
          },
          "initials": {
            "type": "string",
            "description": "The initials of the Consumer, defined as the first letter of each of the Consumer’s first names.\n            \nMaximum of 24 capitalized letters.\nOnly the first letter of each first name is used which must be capitalized and returned without spaces or dots.\nGiven the name “Jan-Jaap Christaan Jozefszoon” or “jan-jaap christaan jozefszoon”, the value of this field will be “JC”.",
            "nullable": true,
            "example": "J"
          },
          "familyName": {
            "type": "string",
            "description": "Last/family name of the individual.",
            "nullable": true,
            "example": "De Wit"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NetherlandsIdinAddress"
              }
            ],
            "description": "Address of the individual.",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-15"
          },
          "gender": {
            "type": "string",
            "description": "Gender of the individual.\n            \nPossible values:\n- Male\n- Female\n- Unknown",
            "nullable": true,
            "example": "Male"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number of the individual in E164 format.",
            "nullable": true,
            "example": "+31612345678"
          },
          "email": {
            "type": "string",
            "description": "Email address of the individual.",
            "nullable": true,
            "example": "jan.dewit@example.nl"
          }
        },
        "description": "Exposed properties for the `netherlands-idin` Provider which do not directly map to the normalized IdentityData model."
      },
      "NigeriaNinInput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "nationalIdNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "minLength": 1,
            "type": "string",
            "description": "The user's first name as it appears in their National ID"
          },
          "middleName": {
            "type": "string",
            "description": "The user's middle name as it appears in their National ID (optional)",
            "nullable": true
          },
          "lastName": {
            "minLength": 1,
            "type": "string",
            "description": "The user's last name as it appears in their National ID (optional)"
          },
          "phoneNumber": {
            "type": "string",
            "description": "The user's phone number (optional)",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date"
          },
          "gender": {
            "type": "string",
            "description": "The user's gender as it appears in their National ID (e.g., male, female)",
            "nullable": true
          },
          "nationalIdNumber": {
            "maxLength": 11,
            "minLength": 11,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The user's National ID number"
          }
        }
      },
      "NigeriaNinLookup2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "National Identification Number (NIN).\n            \nThis is a unique, permanent identifier assigned by the National Identity Management Commission\n(NIMC) upon enrollment.\n            \nFormat:\n- 11 numeric digits\n- No publicly known encoding scheme is used to encode personal information in the NIN\n- Last digit is a checksum using the Verhoeff algorithm",
            "nullable": true
          }
        }
      },
      "NigeriaNinLookup2ProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name (given name) of the ID holder.",
            "nullable": true,
            "example": "MUSA"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of the ID holder.",
            "nullable": true,
            "example": "IBRAHIM"
          },
          "surname": {
            "type": "string",
            "description": "The surname (family name) of the ID holder.",
            "nullable": true,
            "example": "MOHAMMED"
          },
          "sex": {
            "type": "string",
            "description": "The sex of the ID holder.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the ID holder.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "birthCountry": {
            "type": "string",
            "description": "Country of birth as an ISO 3166-1 alpha-2 code.",
            "nullable": true,
            "example": "NG"
          },
          "nationalIdentityNumber": {
            "type": "string",
            "description": "National Identification Number (NIN).\n            \nThis is a unique, permanent identifier assigned by the National Identity Management Commission\n(NIMC) upon enrollment.\n            \nFormat:\n- 11 numeric digits\n- No publicly known encoding scheme is used to encode personal information in the NIN\n- Last digit is a checksum using the Verhoeff algorithm",
            "nullable": true,
            "example": "12345678902"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number registered with the National Identity Management Commission.\n            \nFormat:\n- Valid Nigerian numbers are returned in international E.164 format\n  (for example, +2348031234567).\n- Otherwise, the value is returned in trunk notation (leading zero included)\n  as provided by the authority (for example, 0123456789).",
            "nullable": true,
            "example": "+2348031234567"
          },
          "email": {
            "type": "string",
            "description": "Email address registered with the National Identity Management Commission.",
            "nullable": true,
            "example": "user@example.com"
          },
          "address": {
            "type": "string",
            "description": "Full residential address as a single string, normalized to lowercase without delimiters.",
            "nullable": true,
            "example": "816 ahmadu bello way central business district abuja"
          },
          "localGovernmentArea": {
            "type": "string",
            "description": "Local Government Area of residence.\n            \nNigeria is divided into 774 Local Government Areas (LGAs), which are the third-tier\nadministrative divisions below states and the Federal Capital Territory. LGAs are roughly\nequivalent to counties or municipalities in other countries.",
            "nullable": true,
            "example": "Abuja Municipal"
          },
          "state": {
            "type": "string",
            "description": "State of residence.",
            "nullable": true,
            "example": "Federal Capital Territory"
          }
        },
        "description": "Exposed properties for the `nigeria-nin-lookup-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "NigeriaNinLookup3Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "National Identification Number (NIN).\n            \nThis is a unique, permanent identifier assigned by the National Identity Management Commission\n(NIMC) upon enrollment.\n            \nFormat:\n- 11 numeric digits\n- No publicly known encoding scheme is used to encode personal information in the NIN\n- Last digit is a checksum using the Verhoeff algorithm",
            "nullable": true
          }
        }
      },
      "NigeriaNinLookup3ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdentityNumber": {
            "type": "string",
            "description": "National Identification Number (NIN).\n            \nThis is a unique, permanent identifier assigned by the National Identity Management Commission\n(NIMC) upon enrollment.\n            \nFormat:\n- 11 numeric digits\n- No publicly known encoding scheme is used to encode personal information in the NIN\n- Last digit is a checksum using the Verhoeff algorithm",
            "nullable": true,
            "example": "12345678901"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual.",
            "nullable": true,
            "example": "CHIDERA"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of the individual.",
            "nullable": true,
            "example": "ANITA"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual.",
            "nullable": true,
            "example": "JOHNSON"
          },
          "sex": {
            "type": "string",
            "description": "The sex of the individual.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Female"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "2001-01-01"
          },
          "birthCountry": {
            "type": "string",
            "description": "Country of birth as an ISO 3166-1 alpha-2 code.",
            "nullable": true,
            "example": "NG"
          },
          "birthState": {
            "type": "string",
            "description": "State of birth as recorded by National Identity Management Commission (NIMC).",
            "nullable": true,
            "example": "Lagos"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number registered with National Identity Management Commission (NIMC).\n            \nFormat:\n- International E.164",
            "nullable": true,
            "example": "+2348092097506"
          },
          "streetAddress": {
            "type": "string",
            "description": "Street or residence line registered with National Identity Management Commission (NIMC).\n            \nThis is the street-level address line only. Town, Local Government Area, and state are\nreturned separately.",
            "nullable": true,
            "example": "21 AJANAKU STREET"
          },
          "residenceTown": {
            "type": "string",
            "description": "Town of residence registered with National Identity Management Commission (NIMC).",
            "nullable": true,
            "example": "BARIGA"
          },
          "localGovernmentArea": {
            "type": "string",
            "description": "Local Government Area of residence.\n            \nNigeria is divided into 774 Local Government Areas (LGAs), which are the third-tier\nadministrative divisions below states and the Federal Capital Territory. LGAs are roughly\nequivalent to counties or municipalities in other countries.",
            "nullable": true,
            "example": "Shomolu"
          },
          "state": {
            "type": "string",
            "description": "State of residence registered with National Identity Management Commission (NIMC).",
            "nullable": true,
            "example": "Lagos"
          },
          "nextOfKinFirstName": {
            "type": "string",
            "description": "First name of the individual's next of kin.",
            "nullable": true,
            "example": "JOHNATHAN"
          },
          "nextOfKinStreetAddress": {
            "type": "string",
            "description": "Street or residence line of the individual's next of kin.",
            "nullable": true,
            "example": "21 AJANAKU STREET"
          },
          "nextOfKinLocalGovernmentArea": {
            "type": "string",
            "description": "Local Government Area of the individual's next of kin.",
            "nullable": true,
            "example": "Shomolu"
          },
          "nextOfKinTown": {
            "type": "string",
            "description": "Town of residence of the individual's next of kin.",
            "nullable": true,
            "example": "BARIGA"
          }
        },
        "description": "Exposed properties for the `nigeria-nin-lookup-3` Provider which do not directly map to the normalized IdentityData model."
      },
      "NigeriaNinMatch2DateOfBirthField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The date of birth submitted for this check.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted date of birth to the issuer record.\n            \nPossible values:\n- Exact Match\n- Partial Match\n- Transposed\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Partial Match"
          }
        }
      },
      "NigeriaNinMatch2FullNameField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The full name string submitted for this check (as provided in the match input).",
            "nullable": true,
            "example": "MUSA IBRAHIM MOHAMMED"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted full name to the issuer record.\n            \nPossible values:\n- Exact Match\n- Partial Match\n- Transposed\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Exact Match"
          }
        }
      },
      "NigeriaNinMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "National Identification Number (NIN).\n            \nThis is a unique, permanent identifier assigned by the National Identity Management Commission\n(NIMC) upon enrollment.\n            \nFormat:\n- 11 numeric digits\n- No publicly known encoding scheme is used to encode personal information in the NIN\n- Last digit is a checksum using the Verhoeff algorithm",
            "nullable": true
          },
          "givenName": {
            "type": "string",
            "description": "The user's first name as it appears in their National ID",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "The user's last name as it appears in their National ID",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "The user's middle name as it appears in their National ID (optional)",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2InputSex"
              }
            ],
            "description": "The user's sex as it appears in their National ID",
            "nullable": true,
            "x-enumDescriptions": {
              "Male": "",
              "Female": ""
            }
          },
          "phoneNumber": {
            "type": "string",
            "description": "The user's phone number as it appears in their National ID (optional).\nMust be in E.164 international format: \"+234XXXXXXXXX\"",
            "nullable": true
          }
        }
      },
      "NigeriaNinMatch2InputSex": {
        "enum": [
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Male": "",
          "Female": ""
        }
      },
      "NigeriaNinMatch2NationalIdNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "National Identification Number (NIN).\n            \nThis is a unique, permanent identifier assigned by the National Identity Management Commission\n(NIMC) upon enrollment.\n            \nFormat:\n- 11 numeric digits\n- No personal information is encoded in the NIN",
            "nullable": true,
            "example": "12345678902"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of verifying the NIN against the National Identity Database.\n            \nPossible values:\n- Verified\n- Not Verified\n- Not Done\n- Issuer Unavailable\n- Not Returned",
            "nullable": true,
            "example": "Verified"
          }
        }
      },
      "NigeriaNinMatch2PhoneNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The phone number as submitted for this check.\n            \nFormat:\n- International E.164",
            "nullable": true,
            "example": "+2340123456789"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted phone number to the issuer record.\n            \nPossible values:\n- Exact Match\n- No Match\n- Not Provided\n- Not Returned",
            "nullable": true,
            "example": "Exact Match"
          }
        }
      },
      "NigeriaNinMatch2ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2NationalIdNumberField"
              }
            ],
            "description": "Outcome of the verification of the NIN.",
            "nullable": true
          },
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2FullNameField"
              }
            ],
            "description": "Outcome of the verification of the full name.",
            "nullable": true
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2DateOfBirthField"
              }
            ],
            "description": "Outcome of the verification of the date of birth.",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2SexField"
              }
            ],
            "description": "Outcome of the verification of the sex.",
            "nullable": true
          },
          "phoneNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2PhoneNumberField"
              }
            ],
            "description": "Outcome of the verification of the phone number.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `nigeria-nin-match-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "NigeriaNinMatch2SexField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The sex value submitted for this check.\n            \nPossible input values:\n- Male\n- Female",
            "nullable": true,
            "example": "Female"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted sex to the issuer record.\n            \nPossible values:\n- Exact Match\n- No Match\n- Not Provided\n- Not Returned",
            "nullable": true,
            "example": "Exact Match"
          }
        }
      },
      "NorwegianBankIdProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The full name of the individual.",
            "nullable": true,
            "example": "Ove Henriksen"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1943-08-15"
          },
          "personalIdentifier": {
            "type": "string",
            "description": "The personal identifier for Norwegian BankID.\n            \nThis uniquely identifies the individual in the Norwegian BankID system and is considered a stable identifier to use.",
            "nullable": true,
            "example": "9578-5999-4-1765512"
          },
          "nationalIdentityNumber": {
            "type": "string",
            "description": "The 11-digit Norwegian National Identity Number (fødselsnummer) of the verified individual.\n            \nThis is in the format DDMMYYZZZCC, where:\n- DDMMYY is the date of birth (In some cases, this is not the date of birth due to no available identity numbers for some dates\n- ZZZ is an individual number, indicating gender\n- CC is a checksum character\n            \nIf ZZZ is even, the individual is female.\nIf ZZZ is odd, the individual is male.",
            "nullable": true,
            "example": "30069012345"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual.",
            "nullable": true,
            "example": "Ole"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual.",
            "nullable": true,
            "example": "Olsen"
          },
          "levelOfAssurance": {
            "type": "string",
            "description": "The level of assurance (LOA) for the verification.\n            \nThe LOA refers to the degree of confidence in the claimed identity of a person.\nThe European Digital Identity Framework (EUDI) measures the confidence of the digital identity's verification and authentication strength by a set of requirements for different levels.\nTo learn more, see: https://ec.europa.eu/digital-building-blocks/sites/spaces/DIGITAL/pages/467110081/eIDAS+Levels+of+Assurance\n            \nPossible values:\n- Low: The individual has self asserted their identity and multifactor authentication is not required.\n- Substantial: The individual has performed either a remote or in-person identity verification and multifactor authentication is required.\n- High: The individual has performed an in-person identity proofing with an authorized representative and has strong cryptographic authentication requirements such as using a smart card.",
            "nullable": true,
            "example": "High"
          },
          "authenticationMethod": {
            "type": "string",
            "description": "The authentication method used by the individual.\n            \nPossible values:\n- urn:bankid:bis - BankID with Biometrics\n- urn:bankid:bid - Standard BankID with High Assurance",
            "nullable": true,
            "example": "urn:bankid:bis"
          }
        },
        "description": "Exposed properties for the `norway-bankid` Provider which do not directly map to the normalized IdentityData model."
      },
      "OneIdProviderAddress": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "The line or street portion of the address.",
            "nullable": true,
            "example": "80 Temple Way, Winterton-On-Sea"
          },
          "locality": {
            "type": "string",
            "description": "The locality or city portion of the address.",
            "nullable": true,
            "example": "Great Yarmouth"
          },
          "region": {
            "type": "string",
            "description": "The region or subdivision portion of the address.",
            "nullable": true,
            "example": "Norfolk"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code of the address.",
            "nullable": true,
            "example": "NR29 9QS"
          },
          "countryCode": {
            "type": "string",
            "description": "The alpha-2 country code of the address.",
            "nullable": true,
            "example": "GB"
          }
        }
      },
      "OneIdProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "The OpenID Connect (OIDC) subject identifier (sub).",
            "nullable": true,
            "example": "458924ee-f856-59ad-ae9f-6de2429a3c74"
          },
          "fullName": {
            "type": "string",
            "description": "The individual's full name.",
            "nullable": true,
            "example": "John Smith"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's given name.",
            "nullable": true,
            "example": "John"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's family name.",
            "nullable": true,
            "example": "Smith"
          },
          "birthdate": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OneIdProviderAddress"
              }
            ],
            "description": "The address of the individual.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `oneid` Provider which do not directly map to the normalized IdentityData model."
      },
      "OrderDirection": {
        "enum": [
          "Ascending",
          "Descending"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Ascending": "",
          "Descending": ""
        }
      },
      "OutputFrejaAddress": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "description": "The line1 portion of the address. Incorporates all address details that are not included by city, postal code, and country.",
            "nullable": true,
            "example": "123 Residential St"
          },
          "city": {
            "type": "string",
            "description": "The name of the city associated with the address.",
            "nullable": true,
            "example": "New York"
          },
          "postalCode": {
            "type": "string",
            "description": "The postal code associated with the address.",
            "nullable": true,
            "example": "12345"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code associated with the address.",
            "nullable": true,
            "example": "SE"
          }
        }
      },
      "OutputFrejaDocument": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of document. Possible values are:\n* \"PASS\": Passport\n* \"DRILIC\": Driver's License\n* \"NATID\": National ID\n* \"IDSIS\": SiS certified ID document\n* \"TAXID\": Tax Agency ID card\n* \"OTHERID\": Other IDs",
            "nullable": true,
            "example": "PASS"
          },
          "serialNumber": {
            "type": "string",
            "description": "The document serial number. The structure of this number depends on the type and nationality of the document.",
            "nullable": true,
            "example": "SA1234567890"
          },
          "expirationDate": {
            "type": "string",
            "description": "Expiration date of the document. Formatted as an ISO 8601 Date.",
            "format": "date",
            "nullable": true,
            "example": "2028-12-31"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code associated with the document.",
            "nullable": true,
            "example": "SE"
          }
        }
      },
      "PanamaCedulaLookupInput": {
        "type": "object",
        "properties": {
          "documentNumber": {
            "type": "string",
            "description": "The number from the holder's cédula (Cédula de Identidad Personal).\n            \nSend the full number as {firstSegment}-{libro}-{tomo} (libro 1–4 digits, tomo 1–6), using only ASCII letters,\ndigits, and hyphens. Hyphens are not inserted for you between segments. Trinsic uppercases letters, collapses\nrepeated hyphens, trims leading and trailing hyphens, and merges a redundant hyphen between province and AV or PI\n(for example 10-AV-1234-12345 becomes 10AV-1234-12345).\n            \nCitizen category and format:\n- Born in Panama format: {province}-{libro}-{tomo} ({province} is official code 1 through 13). Examples\n  8-1234-12345, 4-56-789, 12-12-12345.\n- Panamanian born abroad format: PE-{libro}-{tomo}. Example PE-1234-12345.\n- Foreign national with cédula format: E-{libro}-{tomo}. Examples E-1234-12345, E-8-102017.\n- Naturalized citizen format: N-{libro}-{tomo}. Example N-1234-12345.\n- Pre-2006 civil registry (AV) format: {province}AV-{libro}-{tomo}. Example 10AV-1234-12345.\n- Indigenous (PI) format: {province}PI-{libro}-{tomo}. Example 1PI-1234-12345.",
            "nullable": true,
            "example": "8-1234-12345"
          }
        }
      },
      "PanamaCedulaProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "Full name from Tribunal Electoral records.",
            "nullable": true,
            "example": "Juan Pérez"
          },
          "givenName": {
            "type": "string",
            "description": "Given name(s) from Tribunal Electoral records.",
            "nullable": true,
            "example": "Juan"
          },
          "familyName": {
            "type": "string",
            "description": "Family name(s) from Tribunal Electoral records.",
            "nullable": true,
            "example": "Pérez"
          },
          "documentNumber": {
            "type": "string",
            "description": "The matched personal identity cédula (Cédula de Identidad Personal) number from Tribunal Electoral records.\n            \nOn output, Trinsic applies the same normalization as for lookup input. Structure is always {firstSegment}-{libro}-{tomo}:\nlibro is one to four digits and tomo is one to six digits, separated by hyphens.\n            \nCitizen category and format:\n- Born in Panama format: {province}-{libro}-{tomo} ({province} is official code 1 through 13). Examples\n  8-1234-12345, 4-56-789, 12-12-12345.\n- Panamanian born abroad format: PE-{libro}-{tomo}. Example PE-1234-12345.\n- Foreign national with cédula format: E-{libro}-{tomo}. Examples E-1234-12345, E-8-102017.\n- Naturalized citizen format: N-{libro}-{tomo}. Example N-1234-12345.\n- Pre-2006 civil registry (AV) format: {province}AV-{libro}-{tomo}. Example 10AV-1234-12345.\n- Indigenous (PI) format: {province}PI-{libro}-{tomo}. Example 1PI-1234-12345.",
            "nullable": true,
            "example": "8-1234-12345"
          },
          "nationalityOrResidenceType": {
            "type": "string",
            "description": "Inferred from DocumentNumber. Values are nationality or residence category.\n            \nPossible values:\n- BornInPanama\n- ForeignNational\n- BornAbroad\n- Naturalized\n- LegacyNumber\n- Indigenous\n- Unknown (we were unable to determine the category)",
            "nullable": true,
            "example": "BornInPanama"
          },
          "subdivisionOfOrigin": {
            "type": "string",
            "description": "ISO 3166-2 principal subdivision code. Only available for BornInPanama, LegacyNumber, and Indigenous.\n            \nPossible values, matching cédula province digits 1–13:\n1. PA-1 - Bocas del Toro\n2. PA-2 - Coclé\n3. PA-3 - Colón\n4. PA-4 - Chiriquí\n5. PA-5 - Darién\n6. PA-6 - Herrera\n7. PA-7 - Los Santos\n8. PA-8 - Panamá\n9. PA-9 - Veraguas\n10. PA-KY - Guna Yala\n11. PA-EM - Emberá\n12. PA-NB - Ngäbe-Buglé\n13. PA-10 - Panamá Oeste",
            "nullable": true,
            "example": "PA-8"
          },
          "subdivisionOfOriginName": {
            "type": "string",
            "description": "Subdivision display name from the ISO 3166-2 registry, when available.",
            "nullable": true,
            "example": "Panamá"
          }
        },
        "description": "Exposed properties for the `panama-cedula-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "PersonData": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "Given (first) name of the individual",
            "nullable": true,
            "example": "John"
          },
          "familyName": {
            "type": "string",
            "description": "Family (last) name of the individual",
            "nullable": true,
            "example": "Doe"
          },
          "middleName": {
            "type": "string",
            "description": "Middle name of the individual",
            "nullable": true,
            "example": "Jacob"
          },
          "fullName": {
            "type": "string",
            "description": "The individual's full name as a single string.\n            \nUseful for names which do not fit into a \"first middle last\" structure.",
            "nullable": true,
            "example": "John Jacob de Doe"
          },
          "suffix": {
            "type": "string",
            "description": "Suffix of the individual's name",
            "nullable": true
          },
          "nationality": {
            "type": "string",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Sex"
              }
            ],
            "nullable": true,
            "x-enumDescriptions": {
              "Unknown": "",
              "NotApplicable": "",
              "Male": "",
              "Female": ""
            }
          },
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ],
            "description": "Address information for an individual",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "format": "date",
            "nullable": true
          }
        },
        "description": "Identity information for the individual being verified"
      },
      "PeruDniAddress": {
        "type": "object",
        "properties": {
          "region": {
            "type": "string",
            "description": "Region in Peru (also known as department). This is the first level subdivision in the country.\n            \nFormat:\n- All uppercase.",
            "nullable": true,
            "example": "CUSCO"
          },
          "province": {
            "type": "string",
            "description": "Province within the region. This is the second level subdivision in the country.\n            \nFormat:\n- All uppercase.",
            "nullable": true,
            "example": "URUBAMBA"
          },
          "district": {
            "type": "string",
            "description": "District within the province. This is the third level subdivision in the country.\n            \nFormat:\n- All uppercase.",
            "nullable": true,
            "example": "MACHUPICCHU"
          }
        },
        "description": "Not a typical address. Does not include street or city. Instead, includes region, province and district."
      },
      "PeruDniLookupInput": {
        "type": "object",
        "properties": {
          "documentNumber": {
            "type": "string",
            "description": "The user's DNI number (8 digits).\n            \nFormat:\n- Must not include verification digit. On the DNI card, a ninth digit appears after the first eight, with value\n  0-9 or A-K. This is not included in the DNI number when verifying against Peru's database.\n- Peru DNI is sometimes represented with dots. Though uncommon, if dots are included, they will be sanitized.",
            "nullable": true,
            "example": "19050215"
          }
        }
      },
      "PeruDniProviderOutput": {
        "type": "object",
        "properties": {
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PeruDniAddress"
              }
            ],
            "description": "Information about the general area in which the DNI holder resides.\n            \nThis field is not always available.",
            "nullable": true,
            "example": {
              "region": "CUSCO",
              "province": "URUBAMBA",
              "district": "MACHUPICCHU"
            }
          },
          "arrayName": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "All names that appear on DNI, as an array of strings.\n            \nFormat:\n- All uppercase\n- Ordered by paternal family name, then maternal family name, then given names.",
            "nullable": true,
            "example": [
              "QUISPE",
              "MAMANI",
              "JUAN",
              "CARLOS"
            ]
          },
          "civilStatus": {
            "type": "string",
            "description": "Marital status as it appears on the DNI.\n            \nThis field is not always available.\n            \nValid values:\n- \"Single\"\n- \"Married\"\n- \"Divorced\"\n- \"Widowed\"",
            "nullable": true,
            "example": "Single"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth as it appears on the DNI.\n            \nThis field is not always available.",
            "format": "date",
            "nullable": true,
            "example": "1999-01-14"
          },
          "documentNumber": {
            "type": "string",
            "description": "The individual's National Identity Document number (Documento Nacional de Identidad or DNI).\n            \nFormat:\n- 8 digits\n- Does NOT include verification digit. On the DNI card, a ninth digit appears next to the first eight. It is\n  0-9 or A-K. This is NOT included in the DNI number when returned from Peru's database.\n- Does NOT include dots or hyphens",
            "nullable": true,
            "example": "19050215"
          },
          "documentType": {
            "type": "string",
            "description": "Should always be \"DNI\".",
            "nullable": true,
            "example": "DNI"
          },
          "expeditionDate": {
            "type": "string",
            "description": "Date that the DNI was issued.\n            \nThis field is not always available.\n            \nFormat:\n- yyyy-MM-dd",
            "format": "date",
            "nullable": true,
            "example": "2025-01-14"
          },
          "expirationDate": {
            "type": "string",
            "description": "Date that the DNI will expire. DNI expires every 8 years, unless the citizen is >= 60 years old, in which case\nit never expires.\n            \nThis field is not always available.\n            \nFormat:\n- yyyy-MM-dd",
            "format": "date",
            "nullable": true,
            "example": "2033-01-14"
          },
          "firstName": {
            "type": "string",
            "description": "Given names as they appear on DNI.\n            \nFormat:\n- All uppercase\n- Space-separated\n- Will include all given names",
            "nullable": true,
            "example": "JUAN CARLOS"
          },
          "fullName": {
            "type": "string",
            "description": "All names as they appear on DNI.\n            \nFormat:\n- All uppercase\n- Space-separated\n- Will include all names, given and family\n- Ordered by given names first, then paternal family name, then maternal family name",
            "nullable": true,
            "example": "JUAN CARLOS QUISPE MAMANI"
          },
          "lastName": {
            "type": "string",
            "description": "Family names as they appear on DNI.\n            \nFormat:\n- All uppercase\n- Will include all family names\n- Ordered by paternal family name first, then maternal family name",
            "nullable": true,
            "example": "QUISPE MAMANI"
          },
          "maternalLastName": {
            "type": "string",
            "description": "Maternal last name as it appears on DNI.\n            \nFormat:\n- All uppercase",
            "nullable": true,
            "example": "MAMANI"
          },
          "paternalLastName": {
            "type": "string",
            "description": "Paternal last name as it appears on DNI.\n            \nFormat:\n- All uppercase",
            "nullable": true,
            "example": "QUISPE"
          },
          "sex": {
            "type": "string",
            "description": "Sex as it appears on DNI.\n            \nThis field is not always available.\n            \nValues:\n- \"Male\"\n- \"Female\"",
            "nullable": true,
            "example": "Male"
          },
          "ubigeoReniec": {
            "type": "string",
            "description": "In Peru, geographical locations have an official geographical code called UBIGEO, from the spanish \"UBIcación\nGEOgráfica\" (Geographic Location). This is an administrative geocode, is different from a postal code (which\nPeru also has) and is used to specifically delineate the administrative region, province and district hierarchy.\n            \nThere are two coding systems for UBIGEO: one from INEI (National Institute of Statistics and Informatics) and\nanother from RENIEC (National Registry of Identification and Civil Status). The two coding systems are similar\nbut are not 100% the same (some numbers will map to different geographic locations). This field follows the\ncoding system from RENIEC.\n            \nThis field is not always available.\n            \nFormat:\n- Always 6 digits\n- First two digits represent region\n- Middle two are province\n- Last two are district\n            \nGiven the example 081304, that would correspond to:\n- 08 - Cusco Region\n- 0813 - Urubamba Province\n- 081304 - Machupicchu District",
            "nullable": true,
            "example": "081304"
          },
          "verificationDigit": {
            "type": "string",
            "description": "The final (ninth) digit of the DNI, which serves as a checksum over the first eight digits.\n            \nThis field is not always available.\n            \nFormat:\n- Single character\n- Either 0-9 or A-K\n            \nRead more here:\n  https://elcomercio.pe/mag/respuestas/cual-es-el-digito-verificador-de-mi-dni-documento-nacional-de-identidad-reniec-peru-nnda-nnlt-noticia/",
            "nullable": true,
            "example": "7"
          }
        },
        "description": "Exposed properties for the `peru-dni-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "PhilippineMatchInput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "The user's given / first name",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "The user's middle name",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "The user's family / last name",
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "description": "The user's name suffix",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          }
        }
      },
      "PhilippineQRInput": {
        "type": "object",
        "properties": {
          "qrCodeText": {
            "type": "string",
            "description": "The raw text of the user's QR code after decoding it.",
            "nullable": true
          },
          "qrCodeImage": {
            "type": "string",
            "description": "The raw bytes of the image containing the user's QR code.",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "PhilippinesDigitalNidProviderOutput": {
        "type": "object",
        "properties": {
          "philsysCardNumber": {
            "type": "string",
            "description": "The PhilSys Card Number (PCN). Every citizen or resident alien registered in PhilSys has a PhilSys Number (PSN). This number is tokenized into a card number to protect the PSN.\nThe PhilSys Card Number is 12 characters long, and often is written in octets with dashes in between.",
            "nullable": true,
            "example": "1234-5678-9101-1213"
          },
          "givenName": {
            "type": "string",
            "description": "The given (first) name of the individual.",
            "nullable": true,
            "example": "Juan"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of the individual.",
            "nullable": true,
            "example": "Santos"
          },
          "familyName": {
            "type": "string",
            "description": "The family (last) name of the individual.",
            "nullable": true,
            "example": "Dela Cruz"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "suffix": {
            "type": "string",
            "description": "The name suffix of the individual (e.g. Jr., III).",
            "nullable": true,
            "example": "Jr."
          },
          "sex": {
            "type": "string",
            "description": "The sex of the individual.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "placeOfBirth": {
            "type": "string",
            "description": "The place of birth of the individual as recorded on the PhilSys credential.",
            "nullable": true,
            "example": "Manila"
          },
          "documentIssueDate": {
            "type": "string",
            "description": "The date the document was issued.",
            "format": "date",
            "nullable": true,
            "example": "2024-03-15"
          },
          "documentNumber": {
            "type": "string",
            "description": "The document number of the digital National ID.",
            "nullable": true,
            "example": "12345678901234"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The issuing authority of the document.",
            "nullable": true,
            "example": "Philippine Statistics Authority"
          }
        },
        "description": "Exposed properties for the `philippines-digital-national-id-qr` Provider which do not directly map to the normalized IdentityData model."
      },
      "PhilippinesPhilsysMatchProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The individual's given name.",
            "nullable": true,
            "example": "Juan"
          },
          "lastName": {
            "type": "string",
            "description": "The individual's family name.",
            "nullable": true,
            "example": "Dela Cruz"
          },
          "middleName": {
            "type": "string",
            "description": "The individual's middle name, if provided.",
            "nullable": true,
            "example": "Santos"
          },
          "suffix": {
            "type": "string",
            "description": "The individual's name suffix, if provided.",
            "nullable": true,
            "example": "Jr."
          },
          "birthDate": {
            "type": "string",
            "description": "The individual's birth date.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          }
        },
        "description": "Exposed properties for the `philippines-philsys-match` Provider which do not directly map to the normalized IdentityData model."
      },
      "PhilippinesPhysicalNidProviderOutput": {
        "type": "object",
        "properties": {
          "philsysCardNumber": {
            "type": "string",
            "description": "The PhilSys Card Number (PCN). Every citizen or resident alien registered in PhilSys has a PhilSys Number (PSN). This number is tokenized into a card number to protect the PSN.\nThe PhilSys Card Number is 12 characters long, and often is written in octets with dashes in between.",
            "nullable": true,
            "example": "1234-5678-9101-1213"
          },
          "givenName": {
            "type": "string",
            "description": "The given (first) name of the individual.",
            "nullable": true,
            "example": "Juan"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name of the individual.",
            "nullable": true,
            "example": "Santos"
          },
          "familyName": {
            "type": "string",
            "description": "The family (last) name of the individual.",
            "nullable": true,
            "example": "Dela Cruz"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "suffix": {
            "type": "string",
            "description": "The name suffix of the individual (e.g. Jr., III).",
            "nullable": true,
            "example": "Jr."
          },
          "sex": {
            "type": "string",
            "description": "The sex of the individual.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "placeOfBirth": {
            "type": "string",
            "description": "The place of birth of the individual as recorded on the PhilSys credential.",
            "nullable": true,
            "example": "Manila"
          },
          "documentIssueDate": {
            "type": "string",
            "description": "The date the document was issued.",
            "format": "date",
            "nullable": true,
            "example": "2024-03-15"
          }
        },
        "description": "Exposed properties for the `philippines-physical-national-id-qr` Provider which do not directly map to the\nnormalized IdentityData model."
      },
      "PolandEdoAppProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "nationalIdentificationNumber": {
            "type": "string",
            "description": "The 11-digit Polish national identification number (PESEL) of the verified individual.\n            \nThis is in the format YYMMDDZZZGQ, where:\n- YYMMDD is the date of birth\n- ZZZ is a unique identifier\n- G is sex (even for females, odd for males)\n- Q is a checksum digit\n            \nThe year of birth encoded in this identifier assumes a default year of birth in the 20th century.\nIf the year of birth is in the range [1800, 1899], the month portion is incremented by 80.\nIf the year of birth is in the range [2000, 2099] the month portion is incremented by 20.\nIf the year of birth is in the range [2100, 2199], the month portion is incremented by 40.\nIf the year of birth is in the range [2200, 2299], the month portion is incremented by 60.",
            "nullable": true,
            "example": "90063014513"
          }
        },
        "description": "Exposed properties for the `a-edoapp-eid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "PolandMobywatelMatchInput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "Given name as it appears on mobile ID (mDowód).",
            "nullable": true,
            "example": "Jan"
          },
          "familyName": {
            "type": "string",
            "description": "Current legal family name (nazwisko) as it appears on mobile ID (mDowód).\n            \nIn Poland the current legal family name (nazwisko) is a separate idea from your birth\nfamily name (nazwisko rodowe). They often match, but they can differ after marriage,\nadoption, or a court-ordered change.",
            "nullable": true,
            "example": "Kowalski"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth as it appears on mobile ID (mDowód).",
            "nullable": true,
            "example": "1980-10-20"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality as it appears on mobile ID (mDowód).\n            \nFormat:\n- Must be a valid ISO 3166-1 alpha-2 or alpha-3 country code.\n- Matching against mObywatel is an exact string comparison on the alpha-3 code.\n  Alpha-2 values are accepted and normalized to alpha-3 before matching.",
            "nullable": true,
            "example": "PL"
          },
          "personalNumber": {
            "type": "string",
            "description": "Polish national identification number (PESEL) as it appears on mobile ID (mDowód).\n            \nNOTE: The provided example value is a randomly generated, but valid PESEL number that does not\ncorrespond to a real person.",
            "nullable": true,
            "example": "80102005992"
          },
          "expirationDate": {
            "type": "string",
            "description": "Document expiration date as it appears on mobile ID (mDowód).",
            "nullable": true,
            "example": "2030-12-31"
          },
          "selfieBytes": {
            "type": "string",
            "description": "The raw bytes of an optional selfie image collected from the individual.\n            \nRequirements from the provider:\n- JPEG or PNG\n- At least 720 pixels wide (1080 pixels recommended)\n- Not exceeding 10 MB\n- Clear, front-facing photo with good lighting and no sunglasses or face coverings.",
            "format": "byte",
            "nullable": true
          },
          "selfieImageMimeType": {
            "type": "string",
            "description": "The MIME type of the file contained in SelfieBytes.\n            \nMust be one of `image/jpeg` or `image/png`.",
            "nullable": true
          }
        }
      },
      "PolandMobywatelMatchProviderOutput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "Given name as provided by the individual.",
            "nullable": true,
            "example": "Jan"
          },
          "familyName": {
            "type": "string",
            "description": "Current legal family name (nazwisko) as provided by the individual.\n            \nIn Poland the current legal family name (nazwisko) is a separate concept from your birth\nfamily name (nazwisko rodowe). They often match, but they can differ after marriage,\nadoption, or a court-ordered change.",
            "nullable": true,
            "example": "Kowalski"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality as provided by the individual.\n            \nThis is not necessarily the same as the raw input that was provided. This is the normalized\nvalue, which was used to match against the individual's mObywatel wallet.\n            \nFormat:\n- 3-letter ISO 3166-1 alpha-3 code (e.g. POL)",
            "nullable": true,
            "example": "POL"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth as provided by the individual.",
            "format": "date",
            "nullable": true,
            "example": "1980-10-20"
          },
          "personalNumber": {
            "type": "string",
            "description": "Personal number (PESEL) as provided by the individual.",
            "nullable": true,
            "example": "80102005992"
          },
          "expirationDate": {
            "type": "string",
            "description": "Expiration date as provided by the individual.",
            "format": "date",
            "nullable": true,
            "example": "2030-12-31"
          },
          "isMatchForGivenNames": {
            "type": "boolean",
            "description": "True when the provided given name matches mObywatel wallet data.",
            "nullable": true,
            "example": true
          },
          "isMatchForFamilyName": {
            "type": "boolean",
            "description": "True when the provided family name matches mObywatel wallet data.",
            "nullable": true,
            "example": true
          },
          "isMatchForExpirationDate": {
            "type": "boolean",
            "description": "True when the provided document expiration date matches mObywatel wallet data.",
            "nullable": true,
            "example": true
          },
          "isMatchForPersonalNumber": {
            "type": "boolean",
            "description": "True when the provided personal number (PESEL) matches mObywatel wallet data.",
            "nullable": true,
            "example": true
          },
          "isMatchForNationality": {
            "type": "boolean",
            "description": "True when the provided nationality matches mObywatel wallet data.",
            "nullable": true,
            "example": true
          },
          "isMatchForBirthDate": {
            "type": "boolean",
            "description": "True when the provided birth date matches mObywatel wallet data.",
            "nullable": true,
            "example": true
          },
          "isMatchForSelfie": {
            "type": "boolean",
            "description": "True when the face in the provided selfie matches the face in the document photo in mObywatel wallet.",
            "nullable": true,
            "example": true
          },
          "isNotTooSimilarToDocumentPortrait": {
            "type": "boolean",
            "description": "True when the uploaded face and wallet portrait are not suspiciously identical.\nOften fails when using a document photo as a selfie.",
            "nullable": true,
            "example": true
          },
          "isNotDifferentFace": {
            "type": "boolean",
            "description": "True when no other person's face has been used to verify this document (good).\nFalse when another person's face has been used to verify this document (possible fraud).",
            "nullable": true,
            "example": true
          },
          "isSingleFace": {
            "type": "boolean",
            "description": "True when exactly one face was detected on the selfie image (good).\nFalse when multiple faces were detected on the selfie image (ambiguous result).",
            "nullable": true,
            "example": true
          },
          "isOverAge": {
            "type": "boolean",
            "description": "True when the individual's age in digital wallet is over 18.",
            "nullable": true,
            "example": true
          },
          "isAgeEstimationMatchForSelfie": {
            "type": "boolean",
            "description": "True when the individual's age estimated from the selfie matches the individual's age in digital wallet.",
            "nullable": true,
            "example": true
          },
          "ageEstimationThreshold": {
            "type": "integer",
            "description": "Number of years allowed between the individual's age in digital wallet and the individual's age estimated from the selfie.",
            "format": "int32",
            "nullable": true,
            "example": 4
          },
          "estimatedAgeFromSelfie": {
            "type": "integer",
            "description": "Estimated age from the selfie, if provided.",
            "format": "int32",
            "nullable": true,
            "example": 35
          }
        },
        "description": "Exposed properties for the `poland-mobywatel-match` Provider which do not directly map to the normalized IdentityData model."
      },
      "PolandMojeIdProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "nationalIdentificationNumber": {
            "type": "string",
            "description": "The 11-digit Polish national identification number (PESEL) of the verified individual.\n            \nThis is in the format YYMMDDZZZGQ, where:\n- YYMMDD is the date of birth\n- ZZZ is a unique identifier\n- G is sex (even for females, odd for males)\n- Q is a checksum digit\n            \nThe year of birth encoded in this identifier assumes a default year of birth in the 20th century.\nIf the year of birth is in the range [1800, 1899], the month portion is incremented by 80.\nIf the year of birth is in the range [2000, 2099] the month portion is incremented by 20.\nIf the year of birth is in the range [2100, 2199], the month portion is incremented by 40.\nIf the year of birth is in the range [2200, 2299], the month portion is incremented by 60.",
            "nullable": true,
            "example": "90063014513"
          }
        },
        "description": "Exposed properties for the `a-pl-mojeid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "PortugalIdCardProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "civilIdentificationNumber": {
            "type": "string",
            "description": "The 8-digit Portuguese Civil Identification Number (número de identificação civil) of the verified individual.",
            "nullable": true,
            "example": "12345678"
          }
        },
        "description": "Exposed properties for the `a-pt-id-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "PostOfficeEasyIdProviderOutput": {
        "type": "object",
        "properties": {
          "yotiRememberMeId": {
            "type": "string",
            "description": "A Yoti-generated unique ID for this individual, consistent across repeat shares and different for each Relying Party.",
            "nullable": true,
            "example": "Ic3NCB/dWVB1k4QPOD98IpDJ8ut04 lPHPSNV0RWikAc+szH2NrZFK1 nG+cZgaXe8"
          },
          "email": {
            "type": "string",
            "description": "The email address of the individual",
            "nullable": true,
            "example": "johndoe@example.com"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual. This can correspond to first and middle names in English.",
            "nullable": true,
            "example": "John Alvin"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual",
            "nullable": true,
            "example": "Doe"
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the individual which is composed of the given and family name.\nUnverified full name may be safe to use. For example, Aadhaar card provides full name, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true,
            "example": "John Alvin Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.\nUnverified date of birth may be safe to use. For example, Aadhaar card provides date of birth, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual. Depending on the source or country, gender may not be verified. This is a setting that can be configured while setting up scopes.\n            \nUnverified gender may be safe to use. For example, Aadhaar card provides gender, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".\nIn some countries\nPossible values:\n- \"MALE\"\n- \"FEMALE\"\n- \"TRANSGENDER\"\n- \"OTHER\"",
            "nullable": true,
            "example": "MALE"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality of the individual as a ISO alpha-3 code",
            "nullable": true,
            "example": "GBR"
          },
          "mobileNumber": {
            "type": "string",
            "description": "The mobile phone number of the individual. This number was verified with a one time password (OTP) during the individual's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the individual's identity.",
            "nullable": true,
            "example": "+447777123456"
          },
          "structuredPostalAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiStructuredPostalAddress"
              }
            ],
            "description": "A structured postal address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\".\nUnverified addresses may be safe to use. For example, Aadhaar card provides an address, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true
          },
          "postalAddress": {
            "type": "string",
            "description": "The whole address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\". The format of this will be different for each country.\nRefer to `StructuredPostalAddress` for a detailed version of the address.",
            "nullable": true,
            "example": "6th Floor, 107 Leadenhall St, London, EC3A 4AF"
          },
          "documentDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiDocumentDetails"
              }
            ],
            "description": "The details of the underlying document used to help create the Yoti credential",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `post-office-easyid` Provider which do not directly map to the normalized IdentityData model."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "A URI reference that identifies the problem type.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "A short, human-readable summary of the error.",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status code returned for the request.",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "description": "A human-readable explanation specific of the problem.",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "description": "A URI reference that identifies the specific occurrence of the problem.",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Provider": {
        "required": [
          "collectionMethod",
          "countries",
          "hasRefreshableContent",
          "hasTrinsicInterface",
          "id",
          "launchMethod",
          "licensed",
          "liveHealth",
          "logoUrl",
          "name",
          "regions",
          "requiresInput",
          "resultsMayBeDelayedAfterRedirect",
          "subdivisions",
          "subtext",
          "supportsDirectProviderSessions",
          "testHealth"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the provider",
            "example": "yoti"
          },
          "name": {
            "type": "string",
            "description": "The display name of the provider",
            "example": "Yoti"
          },
          "logoUrl": {
            "type": "string",
            "description": "The URL of the provider's logo",
            "example": "https://cdn.trinsic.id/providers/yoti.png"
          },
          "subtext": {
            "type": "string",
            "description": "The Provider's subtext recommended to be shown next to the name.\n            \nThis is flavor text, not a full, human-readable description of the provider.",
            "example": "dmv.ca.gov"
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specific regions supported by this provider",
            "example": [
              "Europe"
            ]
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The countries where this Provider is available (as alpha-2 ISO codes).",
            "example": [
              "US",
              "CA"
            ]
          },
          "subdivisions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The subdivisions (states, provinces, etc.) where this Provider is available (as alpha-2 ISO codes).",
            "example": [
              "US-CA",
              "US-TX"
            ]
          },
          "licensed": {
            "type": "boolean",
            "description": "Whether this provider is licensed for use by your organization",
            "example": true
          },
          "launchMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IntegrationLaunchMethod"
              }
            ],
            "description": "Relevant only to Direct Provider Sessions.\n            \nThe `LaunchMethod` which must be supported to launch the Provider Session in Direct Provider Sessions.",
            "example": "DeeplinkToMobile",
            "x-enumDescriptions": {
              "LaunchBrowser": "The user's browser should be sent to the provided URL in a redirect",
              "None": "No action needs to be taken by the user; simply poll with the provided `resultsAccessKey`\nfor the results of the session.",
              "DeeplinkToMobile": "The user must be sent to the provided URL, which is a mobile deeplink.\n            \nThe URL should be shown as a button on mobile, or as a QR code on desktop.",
              "ShowContent": "Content must be displayed to the user to guide them through the process of verifying their identity.",
              "PerformNativeChallenge": "A challenge must be sent to a native API on the user's device, such as the Digital Credentials API on web,\nor the equivalent mDL exchange APIs on Android or iOS.\n            \nUse Trinsic's UI SDKs on Web, Android, or iOS to streamline this process."
            }
          },
          "collectionMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultCollectionMethod"
              }
            ],
            "description": "Relevant only to Direct Provider Sessions.\n            \nThe `CollectionMethod` which must be supported to launch the Provider Session in Direct Provider Sessions.",
            "example": "PollResult",
            "x-enumDescriptions": {
              "PollResult": "The results will be made available asynchronously, via a polling mechanism.\n            \nUse the provided `ResultsAccessKey` to poll for the results via the `GetResults` API.",
              "CaptureRedirect": "The user will be sent back to your application with a `resultsAccessKey` in the query string.\n            \nUpon redirect, use the provided `ResultsAccessKey` to retrieve the results via the `GetResults` API.",
              "SubmitNativeChallengeResponse": "Submit a response to a native challenge performed on the user's device, such as a native mDL exchange\nvia the Digital Credentials API on web, or the equivalent native APIs on Android or iOS.\n            \nSee the `PerformNativeChallenge` launch method for more details."
            }
          },
          "resultsMayBeDelayedAfterRedirect": {
            "type": "boolean",
            "description": "If `true`, then the results for this Provider may not be available immediately after the user is redirected back\nto your application. In this case, the `GetSessionResults` API must be called until results are available.\n            \nThis is an uncommon scenario, and only applies to Providers which cannot guarantee\nthe availability of results immediately after the user is redirected back to your application.",
            "example": false
          },
          "hasRefreshableContent": {
            "type": "boolean",
            "description": "Relevant only to Direct Provider Sessions.\n            \nWhether the Provider requires the `RefreshStepContent` capability.\n            \nFor example, Samsung Wallet's deep links expire every 30 seconds, and must be refreshed periodically for a\nresilient user flow.",
            "example": false
          },
          "requiresInput": {
            "type": "boolean",
            "description": "Relevant to Hosted Provider Sessions and Direct Provider Sessions.\n            \nIf `true`, this Provider requires provider-specific input on Session creation.\nIf this input is not provided, Trinsic's Hosted UI will be invoked to collect the input from the user.",
            "example": false
          },
          "hasTrinsicInterface": {
            "type": "boolean",
            "description": "Whether there exists a Trinsic-hosted UI for this Provider.\n            \nThis is `true` for any Provider which is not a simple, OIDC-like redirect flow.",
            "example": true
          },
          "supportsDirectProviderSessions": {
            "type": "boolean",
            "description": "Whether this Provider can be fully whitelabeled/OEMed through the Direct Provider Sessions API.\n            \nIf `false`, the Provider may still be launched through Direct Provider Sessions;\nhowever, it will necessarily require a Trinsic-hosted UI to function.",
            "example": true
          },
          "supportedLanguages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProviderSupportedLanguage"
            },
            "description": "Languages supported by this Provider's Trinsic-hosted UI, as BCP 47 language codes.",
            "nullable": true
          },
          "availableAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractAttribute"
            },
            "description": "Information about the user attributes that this Provider will return in verification results.",
            "nullable": true
          },
          "availableAttachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractAttachment"
            },
            "description": "Information about the attachments that this Provider will return in verification results.",
            "nullable": true
          },
          "subProviders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubProviderMetadata"
            },
            "description": "Metadata about the sub-providers which are available for this Provider in the current Environment.\n            \nFor example, Italy's SPID is a Provider which aggregates access to multiple sub-providers.",
            "nullable": true
          },
          "liveHealth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProviderHealth"
              }
            ],
            "description": "The health for a provider in the live environment",
            "example": "Offline",
            "x-enumDescriptions": {
              "Online": "The integration is up and available to support verification sessions.",
              "Offline": "The integration has been disabled and unavailable at this time to perform verification sessions."
            }
          },
          "testHealth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProviderHealth"
              }
            ],
            "description": "The health for a provider in the test environment",
            "example": "Offline",
            "x-enumDescriptions": {
              "Online": "The integration is up and available to support verification sessions.",
              "Offline": "The integration has been disabled and unavailable at this time to perform verification sessions."
            }
          }
        }
      },
      "ProviderHealth": {
        "enum": [
          "Online",
          "Offline"
        ],
        "type": "string",
        "description": "The health for an integration to be able to successfully perform a verification session.",
        "x-enumDescriptions": {
          "Online": "The integration is up and available to support verification sessions.",
          "Offline": "The integration has been disabled and unavailable at this time to perform verification sessions."
        }
      },
      "ProviderInput": {
        "type": "object",
        "properties": {
          "trinsic-mock-output": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MockOutputProviderInput"
              }
            ],
            "description": "*TEST MODE ONLY.*\n            \nInput for the `trinsic-mock-output` provider.",
            "nullable": true
          },
          "indonesia-nik-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaNikInput"
              }
            ],
            "description": "Input for the `indonesia-nik-lookup` provider",
            "nullable": true
          },
          "china-resident-id-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChinaResidentIdMatchInput"
              }
            ],
            "description": "Input for the `china-resident-id-match` provider",
            "nullable": true
          },
          "evrotrust": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvrotrustInput"
              }
            ],
            "description": "Input for the `evrotrust` provider",
            "nullable": true
          },
          "indonesia-dukcapil-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaDukcapilMatchInput"
              }
            ],
            "description": "Input for the `indonesia-dukcapil-match` provider",
            "nullable": true
          },
          "mexico-curp-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MexicoCurpInput"
              }
            ],
            "description": "Input for the `mexico-curp-lookup` provider",
            "nullable": true
          },
          "south-africa-nid-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidInput"
              }
            ],
            "description": "Input for the `south-africa-nid-lookup` provider",
            "nullable": true
          },
          "kenya-nid-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidInput"
              }
            ],
            "description": "Input for the `kenya-nid-lookup` provider",
            "nullable": true
          },
          "kenya-nid-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2Input"
              }
            ],
            "description": "Input for the `kenya-nid-match-2` provider",
            "nullable": true
          },
          "kenya-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidLookup2Input"
              }
            ],
            "description": "Input for the `kenya-nid-lookup-2` provider",
            "nullable": true
          },
          "south-africa-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidLookup2Input"
              }
            ],
            "description": "Input for the `south-africa-nid-lookup-2` provider",
            "nullable": true
          },
          "south-africa-nid-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2Input"
              }
            ],
            "description": "Input for the `south-africa-nid-match-2` provider",
            "nullable": true
          },
          "nigeria-nin-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinLookup2Input"
              }
            ],
            "description": "Input for the `nigeria-nin-lookup-2` provider",
            "nullable": true
          },
          "nigeria-nin-lookup-3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinLookup3Input"
              }
            ],
            "description": "Input for the `nigeria-nin-lookup-3` provider",
            "nullable": true
          },
          "kenya-nid-lookup-3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidLookup3Input"
              }
            ],
            "description": "Input for the `kenya-nid-lookup-3` provider",
            "nullable": true
          },
          "cote-divoire-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CoteDIvoireNidLookup2Input"
              }
            ],
            "description": "Input for the `cote-divoire-nid-lookup-2` provider",
            "nullable": true
          },
          "zimbabwe-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZimbabweNidLookup2Input"
              }
            ],
            "description": "Input for the `zimbabwe-nid-lookup-2` provider",
            "nullable": true
          },
          "nigeria-nin-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2Input"
              }
            ],
            "description": "Input for the `nigeria-nin-match-2` provider",
            "nullable": true
          },
          "uganda-nid-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UgandaNidMatch2Input"
              }
            ],
            "description": "Input for the `uganda-nid-match-2` provider",
            "nullable": true
          },
          "nigeria-nin-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinInput"
              }
            ],
            "description": "Input for the `nigeria-nin-lookup` provider",
            "nullable": true
          },
          "india-digilocker-aadhaar-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarInput"
              }
            ],
            "description": "Input for the `india-digilocker-aadhaar-match` provider",
            "nullable": true
          },
          "india-pan-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndiaPanLookupInput"
              }
            ],
            "description": "Input for the `india-pan-lookup` provider",
            "nullable": true
          },
          "korea-telco-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KoreaTelcoMatchInput"
              }
            ],
            "description": "Input for the `korea-telco-match` provider",
            "nullable": true
          },
          "brazil-cpf-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCpfCheckInput"
              }
            ],
            "description": "Input for the `brazil-cpf-lookup` provider",
            "nullable": true
          },
          "brazil-digital-cnh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilDigitalCnhInput"
              }
            ],
            "description": "Input for the `brazil-digital-cnh` provider",
            "nullable": true
          },
          "philippines-philsys-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhilippineMatchInput"
              }
            ],
            "description": "Input for the `philippines-philsys-match` provider",
            "nullable": true
          },
          "philippines-physical-national-id-qr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhilippineQRInput"
              }
            ],
            "description": "Input for the `philippines-physical-national-id-qr` provider",
            "nullable": true
          },
          "philippines-digital-national-id-qr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhilippineQRInput"
              }
            ],
            "description": "Input for the `philippines-digital-national-id-qr` provider",
            "nullable": true
          },
          "smart-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SmartIdInput"
              }
            ],
            "description": "Input for the `smart-id` provider",
            "nullable": true
          },
          "mobile-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MobileIdInput"
              }
            ],
            "description": "Input for the `mobile-id` provider",
            "nullable": true
          },
          "netherlands-idin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IdinInput"
              }
            ],
            "description": "Input for the `netherlands-idin` provider",
            "nullable": true
          },
          "italy-spid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SpidInput"
              }
            ],
            "description": "Input for the `italy-spid` provider",
            "nullable": true
          },
          "google-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GoogleWalletInput"
              }
            ],
            "description": "Input for the `google-wallet` provider",
            "nullable": true
          },
          "apple-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppleWalletInput"
              }
            ],
            "description": "Input for the `apple-wallet` provider",
            "nullable": true
          },
          "samsung-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SamsungWalletInput"
              }
            ],
            "description": "Input for the `samsung-wallet` provider",
            "nullable": true
          },
          "france-identite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FranceIdentiteInput"
              }
            ],
            "description": "Input for the `france-identite` provider",
            "nullable": true
          },
          "moldova-evo-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoldovaEvoWalletInput"
              }
            ],
            "description": "Input for the `moldova-evo-wallet` provider",
            "nullable": true
          },
          "germany-eudi-sandbox": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GermanyEudiSandboxInput"
              }
            ],
            "nullable": true
          },
          "denmark-altid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DenmarkAltIdInput"
              }
            ],
            "nullable": true
          },
          "austria-valera-eudi-sandbox": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AustriaValeraEudiSandboxInput"
              }
            ],
            "nullable": true
          },
          "netherlands-eudi-sandbox": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NetherlandsEudiSandboxInput"
              }
            ],
            "description": "Input for the `netherlands-eudi-sandbox` provider",
            "nullable": true
          },
          "poland-mobywatel-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolandMobywatelMatchInput"
              }
            ],
            "description": "Input for the `poland-mobywatel-match` provider",
            "nullable": true
          },
          "bolivia-ci-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoliviaCiLookupInput"
              }
            ],
            "description": "Input for the `bolivia-ci-lookup` provider",
            "nullable": true
          },
          "colombia-cc-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ColombiaCcLookupInput"
              }
            ],
            "description": "Input for the `colombia-cc-lookup` provider",
            "nullable": true
          },
          "el-salvador-dui-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ElSalvadorDuiLookupInput"
              }
            ],
            "description": "Input for the `el-salvador-dui-lookup` provider",
            "nullable": true
          },
          "guatemala-cui-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GuatemalaCuiLookupInput"
              }
            ],
            "description": "Input for the `guatemala-cui-lookup` provider",
            "nullable": true
          },
          "panama-cedula-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PanamaCedulaLookupInput"
              }
            ],
            "description": "Input for the `panama-cedula-lookup` provider",
            "nullable": true
          },
          "peru-dni-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PeruDniLookupInput"
              }
            ],
            "description": "Input for the `peru-dni-lookup` provider",
            "nullable": true
          },
          "uk-evisa-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UkEvisaLookupInput"
              }
            ],
            "description": "Input for the `uk-evisa-lookup` provider",
            "nullable": true
          },
          "usa-california-dmv": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UsaCaliforniaDmvInput"
              }
            ],
            "description": "Input for the `usa-california-dmv` provider",
            "nullable": true
          },
          "trinsic-test-database-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrinsicTestDatabaseLookupInput"
              }
            ],
            "description": "*TEST MODE ONLY.*\n            \nInput for the `trinsic-test-database-lookup` provider",
            "nullable": true
          },
          "trinsic-test-sub-providers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrinsicTestSubProvidersInput"
              }
            ],
            "description": "*TEST MODE ONLY.*\n            \nInput for the `trinsic-test-sub-providers` provider",
            "nullable": true
          }
        }
      },
      "ProviderOutput": {
        "type": "object",
        "properties": {
          "a-at-handy-signatur-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AustriaHandySignaturProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-at-handy-signatur-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-be-id-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BelgiumIdCardProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-be-id-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-edoapp-eid-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolandEdoAppProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-edoapp-eid-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-ee-web-eid-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EstoniaIdCardProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-ee-web-eid-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-fi-id-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FinlandIdCardProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-fi-id-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-freja-eid-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrejaIndirectProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-freja-eid-login` Provider which do not directly map to the normalized IdentityData\nmodel.",
            "nullable": true
          },
          "a-itsme-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeLoginProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-itsme-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-lt-id-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LithuaniaIdCardProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-lt-id-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-lv-eparaksts-id-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LatviaEparakstsProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-lv-eparaksts-id-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-lv-eparaksts-mobile-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LatviaEparakstsMobileProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-lv-eparaksts-mobile-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-mojeid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechiaMojeIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-mojeid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-pl-mojeid-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolandMojeIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-pl-mojeid-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-pt-id-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PortugalIdCardProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-pt-id-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "a-rs-id-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SerbiaIdCardProviderOutput"
              }
            ],
            "description": "Exposed properties for the `a-rs-id-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "apple-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppleWalletProviderOutput"
              }
            ],
            "description": "Exposed properties for the `apple-wallet` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "audkenni": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AudkenniProviderOutput"
              }
            ],
            "description": "Exposed properties for the `audkenni` provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "australia-connect-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConnectIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `australia-connect-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "austria-valera-eudi-sandbox": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AustriaValeraEudiSandboxProviderOutput"
              }
            ],
            "description": "Exposed properties for the `austria-valera-eudi-sandbox` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "bolivia-ci-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoliviaCiProviderOutput"
              }
            ],
            "description": "Exposed properties for the `bolivia-ci-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "brazil-cpf-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCpfProviderOutput"
              }
            ],
            "description": "Exposed properties for the `brazil-cpf-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "brazil-digital-cnh": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BrazilCnhProviderOutput"
              }
            ],
            "description": "Exposed properties for the `brazil-digital-cnh` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "canada-interac": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InteracProviderOutput"
              }
            ],
            "description": "Exposed properties for the `canada-interac` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "clear": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClearProviderOutput"
              }
            ],
            "description": "Exposed properties for the `clear` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "colombia-cc-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ColombiaCcProviderOutput"
              }
            ],
            "description": "Exposed properties for the `colombia-cc-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "cote-divoire-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CoteDIvoireNidLookup2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `cote-divoire-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "denmark-altid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DenmarkAltIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `denmark-altid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "el-salvador-dui-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ElSalvadorDuiProviderOutput"
              }
            ],
            "description": "Exposed properties for the `el-salvador-dui-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "czech-bank-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechBankIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `czech-bank-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "czech-republic-mojeid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CzechMojeIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `czech-moje-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "denmark-mitid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MitIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `denmark-mitid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "ethiopia-fayda": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FaydaProviderOutput"
              }
            ],
            "description": "Exposed properties for the `ethiopia-fayda` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "evrotrust": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvrotrustProviderOutput"
              }
            ],
            "description": "Exposed properties for the `evrotrust` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "finnish-trust-network": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FinnishTrustNetworkProviderOutput"
              }
            ],
            "description": "Exposed properties for the `finnish-trust-network` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "eudi-reference-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EudiReferenceWalletProviderOutput"
              }
            ],
            "description": "Exposed properties for the `eudi-reference-wallet` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "france-identite": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FranceIdentiteProviderOutput"
              }
            ],
            "description": "Exposed properties for the `france-identite` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "france-identite-numerique": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrenchNumeriqueProviderOutput"
              }
            ],
            "description": "Exposed properties for the `france-identite-numerique` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "freja": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrejaProviderOutput"
              }
            ],
            "description": "Exposed properties for the `freja` Provider which do not directly map to the normalized IdentityData\nmodel.",
            "nullable": true
          },
          "germany-eudi-sandbox": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GermanyEudiSandboxProviderOutput"
              }
            ],
            "description": "Exposed properties for the `germany-eudi-sandbox` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "google-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GoogleWalletProviderOutput"
              }
            ],
            "description": "Exposed properties for the `google-wallet` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "guatemala-cui-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GuatemalaCuiProviderOutput"
              }
            ],
            "description": "Exposed properties for the `guatemala-cui-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "panama-cedula-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PanamaCedulaProviderOutput"
              }
            ],
            "description": "Exposed properties for the `panama-cedula-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "india-digilocker-aadhaar": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DigilockerAadhaarProviderOutput"
              }
            ],
            "description": "Exposed properties for the `india-digilocker-aadhaar` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "india-digilocker-aadhaar-fetch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignzyIndiaAadhaarFetchProviderOutput"
              }
            ],
            "description": "Exposed properties for the `india-digilocker-aadhaar-fetch` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "india-digilocker-aadhaar-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndiaDigilockerAadhaarMatchProviderOutput"
              }
            ],
            "description": "Exposed properties for the `india-digilocker-aadhaar-match` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "india-pan-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndiaPanLookupProviderOutput"
              }
            ],
            "description": "Exposed properties for the `india-pan-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "indonesia-dukcapil-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaDukcapilMatchProviderOutput"
              }
            ],
            "description": "Exposed properties for the `indonesia-dukcapil-match` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "indonesia-nik-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaNikMatch"
              }
            ],
            "description": "Exposed properties for the `indonesia-nik-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "china-resident-id-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChinaResidentIdMatchOutput"
              }
            ],
            "description": "Exposed properties for the `china-resident-id-match` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "italy-spid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SpidProviderOutput"
              }
            ],
            "description": "Exposed properties for the `italy-spid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "itsme": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItsmeProviderOutput"
              }
            ],
            "description": "Exposed properties for the `itsme` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "kenya-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidLookup2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `kenya-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "kenya-nid-lookup-3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidLookup3ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `kenya-nid-lookup-3` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "kenya-nid-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidMatch2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `kenya-nid-match-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "korea-telco-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KoreaTelcoMatchProviderOutput"
              }
            ],
            "description": "Exposed properties for the `korea-telco-match` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "lloyds-smart-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LloydsSmartIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `lloyds-smart-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "mexico-curp-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MexicoCurpProviderOutput"
              }
            ],
            "description": "Exposed properties for the `mexico-curp-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "mobile-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MobileIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `mobile-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "moldova-evo-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MoldovaEvoWalletProviderOutput"
              }
            ],
            "description": "Exposed properties for the `moldova-evo-wallet` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "netherlands-eudi-sandbox": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NetherlandsEudiSandboxProviderOutput"
              }
            ],
            "description": "Exposed properties for the `netherlands-eudi-sandbox` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "nigeria-nin-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinLookup2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `nigeria-nin-lookup-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "nigeria-nin-lookup-3": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinLookup3ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `nigeria-nin-lookup-3` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "nigeria-nin-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinMatch2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `nigeria-nin-match-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "oneid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OneIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `oneid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "peru-dni-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PeruDniProviderOutput"
              }
            ],
            "description": "Exposed properties for the `peru-dni-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "norway-bankid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NorwegianBankIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `norway-bankid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "philippines-digital-national-id-qr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhilippinesDigitalNidProviderOutput"
              }
            ],
            "description": "Exposed properties for the `philippines-digital-national-id-qr` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "philippines-philsys-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhilippinesPhilsysMatchProviderOutput"
              }
            ],
            "description": "Exposed properties for the `philippines-philsys-match` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "philippines-physical-national-id-qr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PhilippinesPhysicalNidProviderOutput"
              }
            ],
            "description": "Exposed properties for the `philippines-physical-national-id-qr` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "poland-mobywatel-match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PolandMobywatelMatchProviderOutput"
              }
            ],
            "description": "Exposed properties for the `poland-mobywatel-match` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "post-office-easyid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostOfficeEasyIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `post-office-easyid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "samsung-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SamsungWalletProviderOutput"
              }
            ],
            "description": "Exposed properties for the `samsung-wallet` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "singpass-login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassLoginProviderOutput"
              }
            ],
            "description": "Exposed properties for the `singpass-login` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "singpass-myinfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoProviderOutput"
              }
            ],
            "description": "Exposed properties for the `singpass-myinfo` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "smart-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SmartIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `smart-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "south-africa-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidLookup2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `south-africa-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "south-africa-nid-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `south-africa-nid-match-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "uae-pass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UAEPassProviderOutput"
              }
            ],
            "description": "Exposed properties for the `uae-pass` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "uganda-nid-match-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UgandaNidMatch2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `uganda-nid-match-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "uk-evisa-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UnitedKingdomEvisaProviderOutput"
              }
            ],
            "description": "Exposed properties for the `uk-evisa-lookup` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "sweden-bankid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SwedenBankIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `sweden-bankid` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "ukraine-diia": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DiiaProviderOutput"
              }
            ],
            "description": "Exposed properties for the `ukraine-diia` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "usa-alaska-mobile-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AlaskaMobileIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `usa-alaska-mobile-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "usa-louisiana-wallet": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaWalletProviderOutput"
              }
            ],
            "description": "Exposed properties for the `usa-louisiana-wallet` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "usa-new-york-mobile-id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IdemiaMobileIdProviderOutput"
              }
            ],
            "description": "Exposed properties for the `usa-new-york-mobile-id` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "netherlands-idin": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NetherlandsIdinProviderOutput"
              }
            ],
            "description": "Exposed properties for the `netherlands-idin` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "yoti": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiProviderOutput"
              }
            ],
            "description": "Exposed properties for the `yoti` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "yoti-deeplink": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiDeeplinkProviderOutput"
              }
            ],
            "description": "Exposed properties for the `yoti-deeplink` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          },
          "zimbabwe-nid-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZimbabweNidLookup2ProviderOutput"
              }
            ],
            "description": "Exposed properties for the `zimbabwe-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model.",
            "nullable": true
          }
        }
      },
      "ProviderSupportedLanguage": {
        "required": [
          "code"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "BCP 47 language code.",
            "example": "en"
          },
          "label": {
            "type": "string",
            "description": "Human-readable display label for the language.",
            "nullable": true,
            "example": "English"
          }
        }
      },
      "Raw18013DocumentRequest": {
        "required": [
          "documentType",
          "nameSpaces"
        ],
        "type": "object",
        "properties": {
          "documentType": {
            "minLength": 1,
            "type": "string",
            "description": "The type of the document being requested, as defined by ISO specifications 18013-5, 18013-7, 23220-2, or a similar or related standard.\n            \nCommon values:\n- \"org.iso.18013.5.1.mDL\" -- a Mobile Driver's License\n- \"eu.europa.ec.eudi.pid.1\" -- an EUDI Wallet PID\n- \"com.google.wallet.idcard.1\" -- a Google Wallet ID Pass\n- \"org.iso.23220.photoid.1\" -- a generic ISO 23220-2 compliant Photo ID (used by Apple Wallet's ID Pass)",
            "example": "org.iso.18013.5.1.mDL"
          },
          "nameSpaces": {
            "minProperties": 1,
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "boolean"
              }
            },
            "description": "The namespaces and attributes (PII) to request from the document.\n            \nThis is a map of (nameSpaceName -> (attributeName -> willRetain)), where:\n            \n- nameSpaceName is the name of a NameSpace within the document\n- attributeName is the name of a specific attribute within the NameSpace\n- willRetain indicates, to the Wallet, whether you as the Relying Party intend to retain the data for longer than the scope of the transaction\n            \nCommon namespace values:\n- \"org.iso.18013.5.1\" -- the primary namespace of a Mobile Driver's License or a Google Wallet ID Pass\n- \"org.iso.18013.5.1.aamva\" -- the secondary, AAMVA-defined namespace of a Mobile Driver's License\n- \"eu.europa.ec.eudi.pid.1\" -- the primary namespace of an EUDI Wallet PID\n- \"org.iso.23220.1\" -- the primary namespace of an ISO 23220-2 credential or an Apple Wallet ID Pass",
            "example": {
              "org.iso.18013.5.1": {
                "given_name": true,
                "family_name": true,
                "portrait": false
              },
              "org.iso.18013.5.1.aamva": {
                "name_suffix": true
              }
            }
          }
        }
      },
      "Raw18013RequestInput": {
        "required": [
          "documentRequests"
        ],
        "type": "object",
        "properties": {
          "documentRequests": {
            "maxItems": 10,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Raw18013DocumentRequest"
            },
            "description": "A collection of requests for specific document(s), any of which may be used to satisfy the verification.\n            \nAt least one request must be provided.\nNo more than 10 requests may be provided."
          }
        },
        "description": "A raw 18013-7 exchange request.\n            \nUse this to specify a raw 18013-7 exchange against an arbitrary document type, namespace, and set of fields."
      },
      "RecommendProviderHealthOption": {
        "enum": [
          "Online",
          "Offline",
          "All"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Online": "",
          "Offline": "",
          "All": ""
        }
      },
      "RecommendProviderInformation": {
        "required": [
          "countries",
          "health",
          "id",
          "logoUrl",
          "name",
          "regions",
          "subdivisions",
          "subtext"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the provider",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "The friendly, human-readable name of the provider",
            "readOnly": true
          },
          "logoUrl": {
            "type": "string",
            "description": "A URL pointing to the provider's logo",
            "readOnly": true
          },
          "subtext": {
            "type": "string",
            "description": "The Provider's subtext recommended to be shown next to the name.\n            \nThis is flavor text, not a full, human-readable description of the provider.",
            "readOnly": true,
            "example": "dmv.ca.gov"
          },
          "health": {
            "type": "string",
            "description": "The current health status of the provider",
            "readOnly": true,
            "example": "online | offline"
          },
          "subProviders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubProviderMetadata"
            },
            "description": "Metadata about the sub-providers which are available for this Provider.\n            \nFor example, Italy's SPID is a Provider which aggregates access to multiple sub-providers.",
            "nullable": true
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The regions a provider is available in.",
            "readOnly": true,
            "example": "Europe"
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of countries, in alpha-2 ISO 3166-1 format, that the provider is available in.",
            "readOnly": true,
            "example": "US"
          },
          "subdivisions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of subdivisions, in ISO 3166-2 format, that the provider is available in.",
            "readOnly": true,
            "example": "US-CA"
          }
        }
      },
      "RecommendProvidersRequest": {
        "required": [
          "verificationProfileId"
        ],
        "type": "object",
        "properties": {
          "verificationProfileId": {
            "type": "string",
            "description": "The ID of the VerificationProfile to use for this recommendation.",
            "format": "uuid"
          },
          "recommendationInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecommendationInfo"
              }
            ],
            "description": "Information about the user you wish to generate a recommendation for.",
            "nullable": true
          },
          "health": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecommendProviderHealthOption"
              }
            ],
            "description": "Filter providers by health status.",
            "nullable": true,
            "x-enumDescriptions": {
              "Online": "",
              "Offline": "",
              "All": ""
            }
          }
        }
      },
      "RecommendProvidersResponse": {
        "required": [
          "recommendedProviders",
          "remainder"
        ],
        "type": "object",
        "properties": {
          "recommendedProviders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecommendProviderInformation"
            }
          },
          "remainder": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecommendProviderInformation"
            },
            "description": "All Providers available to your Verification Profile which are not in `recommendedProviders`"
          }
        }
      },
      "RecommendationInfo": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "description": "The phone number of the user you wish to generate a recommendation for.\n            \nWill be used to look up the user's identity in the network, as well as to determine the user's geographic location.",
            "nullable": true
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of countries, in alpha-2 ISO 3166 format, which the user is related to.\n            \nThis can include the user's country of residence, nationality, etc.",
            "nullable": true
          },
          "subdivisions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "If one of the countries has subdivisions (for example: US states), specify those related to the user here (e.g., CA, UT, NY)",
            "nullable": true
          },
          "ipAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Any IP addresses related to the user.\n            \nWill be used to determine the user's geographic location.",
            "nullable": true
          }
        },
        "description": "Information relating to a user; used to generated Identity Provider recommendations."
      },
      "RedirectUriResponse": {
        "required": [
          "id",
          "uri"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "uri": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "RefreshStepContentRequest": {
        "required": [
          "resultsAccessKey"
        ],
        "type": "object",
        "properties": {
          "resultsAccessKey": {
            "minLength": 1,
            "type": "string",
            "description": "The `ResultsAccessKey` returned when the Session was created"
          }
        }
      },
      "RefreshStepContentResponse": {
        "required": [
          "nextStep"
        ],
        "type": "object",
        "properties": {
          "nextStep": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IntegrationStep"
              }
            ],
            "description": "The integration's next step with refreshed content"
          }
        }
      },
      "ResultCollection": {
        "required": [
          "method",
          "resultsAccessKey"
        ],
        "type": "object",
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResultCollectionMethod"
              }
            ],
            "description": "The method by which the results of the Acceptance Session should be collected.",
            "example": "CaptureRedirect",
            "x-enumDescriptions": {
              "PollResult": "The results will be made available asynchronously, via a polling mechanism.\n            \nUse the provided `ResultsAccessKey` to poll for the results via the `GetResults` API.",
              "CaptureRedirect": "The user will be sent back to your application with a `resultsAccessKey` in the query string.\n            \nUpon redirect, use the provided `ResultsAccessKey` to retrieve the results via the `GetResults` API.",
              "SubmitNativeChallengeResponse": "Submit a response to a native challenge performed on the user's device, such as a native mDL exchange\nvia the Digital Credentials API on web, or the equivalent native APIs on Android or iOS.\n            \nSee the `PerformNativeChallenge` launch method for more details."
            }
          },
          "resultsAccessKey": {
            "type": "string",
            "description": "The `resultsAccessKey` for the Acceptance Session.\n            \nThis is an encrypted payload which contains the decryption key necessary to access the Session's Data Vault.\n            \nSave this securely in your systems; it must be passed back with any API call which requires access to the Session's Data Vault.\n            \nTrinsic cannot access a Session's Data Vault without this key.",
            "example": "417zNGHMJp6Ht2jCoktTLNGDRZEt4BqTwwQ8Q9ZaQz8aS4Jd7nD1xff2WLhPS69j5q9QT4gvgV79Gv7QtaXwu5YC9Utr35..."
          }
        }
      },
      "ResultCollectionMethod": {
        "enum": [
          "PollResult",
          "CaptureRedirect",
          "SubmitNativeChallengeResponse"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "PollResult": "The results will be made available asynchronously, via a polling mechanism.\n            \nUse the provided `ResultsAccessKey` to poll for the results via the `GetResults` API.",
          "CaptureRedirect": "The user will be sent back to your application with a `resultsAccessKey` in the query string.\n            \nUpon redirect, use the provided `ResultsAccessKey` to retrieve the results via the `GetResults` API.",
          "SubmitNativeChallengeResponse": "Submit a response to a native challenge performed on the user's device, such as a native mDL exchange\nvia the Digital Credentials API on web, or the equivalent native APIs on Android or iOS.\n            \nSee the `PerformNativeChallenge` launch method for more details."
        }
      },
      "SamsungIdWithClearCredential": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "First name(s), other name(s), or secondary identifier of the individual.",
            "nullable": true,
            "example": "JOHN"
          },
          "familyName": {
            "type": "string",
            "description": "Last name, surname, or primary identifier of the individual.",
            "nullable": true,
            "example": "DOE"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "issueDate": {
            "type": "string",
            "description": "The date the Samsung ID was issued.\n            \nThis is not the issue date of the passport used to create the Samsung ID; see `originalDocumentIssueDate`.",
            "format": "date",
            "nullable": true,
            "example": "2020-01-31"
          },
          "expiryDate": {
            "type": "string",
            "description": "The date the Samsung ID expires.\n            \nThis is not necessarily the expiry date of the passport used to create the Samsung ID; see `originalDocumentExpiryDate`.",
            "format": "date",
            "nullable": true,
            "example": "2025-01-31"
          },
          "originalDocumentIssueDate": {
            "type": "string",
            "description": "Issue date of the underlying passport used to create the Samsung ID.",
            "format": "date",
            "nullable": true,
            "example": "2018-06-15"
          },
          "originalDocumentExpiryDate": {
            "type": "string",
            "description": "Expiry date of the underlying passport used to create the Samsung ID.",
            "format": "date",
            "nullable": true,
            "example": "2028-06-15"
          },
          "documentNumber": {
            "type": "string",
            "description": "The document number of the underlying passport used to create the Samsung ID.",
            "nullable": true,
            "example": "1234567"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "Identifier of Samsung as the issuing authority of the Samsung ID credential.\n            \nThis always begins with \"XS-\".",
            "nullable": true,
            "example": "XS-US"
          },
          "sex": {
            "type": "integer",
            "description": "The individual's sex as an ISO/IEC 5218 code.\n            \nPossible values:\n- 0: Unknown\n- 1: Male\n- 2: Female\n- 9: Not Applicable",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "dhsCompliance": {
            "type": "boolean",
            "description": "Whether the credential is compliant with REAL ID.\n            \nThis is always `true` for Samsung ID with CLEAR credentials.",
            "nullable": true,
            "example": true
          },
          "ageInYears": {
            "type": "integer",
            "description": "Age of the individual in years.",
            "format": "int32",
            "nullable": true,
            "example": 35
          },
          "ageBirthYear": {
            "type": "integer",
            "description": "Year of birth of the individual.",
            "format": "int32",
            "nullable": true,
            "example": 1990
          },
          "ageOver": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AgeOverOutput"
            },
            "description": "Processed age-over claims returned by the credential.",
            "nullable": true,
            "example": [
              {
                "age": 21,
                "isOver": true
              }
            ]
          }
        },
        "description": "A Samsung ID with CLEAR credential, retrieved from Samsung Wallet.\n            \nThis is a passport-derived digital credential issued by Samsung in partnership with CLEAR."
      },
      "SamsungWalletInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "SamsungWalletProviderOutput": {
        "type": "object",
        "properties": {
          "mobileDriversLicense": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Iso180135MobileDriversLicenseCredential"
              }
            ],
            "description": "A standard 18013-5 Mobile Driver's License credential, retrieved from the individual's wallet.",
            "nullable": true
          },
          "samsungIdWithClear": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SamsungIdWithClearCredential"
              }
            ],
            "description": "A Samsung ID with CLEAR credential, retrieved from the individual's Samsung Wallet.",
            "nullable": true
          },
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the mDL exchange performed through Samsung Wallet.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `samsung-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "SerbiaIdCardProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "nullable": true,
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "nullable": true,
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "uniqueMasterCitizenNumber": {
            "type": "string",
            "description": "The 13-digit Serbian Unique Master Citizen Number (\"JMBG\" / \"Jedinstveni Matični Broj Građana\") of the verified individual.\n            \nThis is in the format DDMMYYYRRSSSC, where:\n- DDMM is the day and month of birth\n- YYY is the last three digits of the year of birth\n- RR is the political region code of the region of birth (if born after 1976) or of first registration (if born before 1976)\n- SSS is a unique sex-specific serial number for individuals born on the same date in the same region\n- C is a checksum digit\n            \nIf YYY is between 000 and 099, the millennium digit of the year is \"2\"; the individual was born after the year 2000.\nIf YYY is between 800 and 999, the millennium digit of the year is \"1\"; the individual was born before the year 2000.\n            \nIf SSS is between 000 and 499, the individual is male.\nIf SSS is between 500 and 999, the individual is female.",
            "nullable": true,
            "example": "3006990711231"
          }
        },
        "description": "Exposed properties for the `a-rs-id-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "Session": {
        "required": [
          "created",
          "done",
          "id",
          "success",
          "updated"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "678c1ff6-2178-49e7-81d2-548afb6f85ec"
          },
          "done": {
            "type": "boolean",
            "description": "Whether the Session is in a terminal / final state.\n            \nIf this is `true`, inspect the value of `Success` to determine whether the Session was successful."
          },
          "success": {
            "type": "boolean",
            "description": "Whether the Session has completed successfully.\n            \nIf this is `false`, the Session is either not yet done, or has failed. Inspect `Done` and `ErrorCode` for more information.\nIf this is `true`, the Session has completed successfully."
          },
          "errorCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionErrorCode"
              }
            ],
            "description": "The reason for the Session's failure.\n            \nOnly present if `Success` is `false`.",
            "nullable": true,
            "x-enumDescriptions": {
              "Internal": "An internal error has caused this session to fail",
              "Other": "The session failed for a reason which does not fit any other failure code.",
              "Canceled": "The session has been canceled",
              "UserAbandoned": "The user abandoned the session",
              "UserTimedOut": "The user took too long to complete the verification",
              "Expired": "The session has expired",
              "InvalidImage": "The image(s) provided for this verification were either too low-quality, not of the correct type, or otherwise\nunable to be processed.",
              "Inauthentic": "The identity data/images provided are suspected to be inauthentic, fraudulent, or forged.",
              "UnsupportedDocument": "The document provided is either of an unsupported type, or from an unsupported country.",
              "AssuranceLevelNotMet": "The user's identity does not meet the required assurance level for this verification.",
              "SecurityValidationFailed": "A critical security validation (such as a cryptographic signature check or secure handshake with the provider) has failed.",
              "InvalidResponse": "The response from the identity provider was malformed, incomplete, or otherwise could not be processed."
            }
          },
          "created": {
            "type": "integer",
            "description": "The unix timestamp, in seconds, when this session was created",
            "format": "int64",
            "example": 1722526411
          },
          "updated": {
            "type": "integer",
            "description": "The unix timestamp, in seconds, when this session's data was last updated",
            "format": "int64",
            "example": 1722526722
          }
        }
      },
      "SessionErrorCode": {
        "enum": [
          "Internal",
          "Other",
          "Canceled",
          "UserAbandoned",
          "UserTimedOut",
          "Expired",
          "InvalidImage",
          "Inauthentic",
          "UnsupportedDocument",
          "AssuranceLevelNotMet",
          "SecurityValidationFailed",
          "InvalidResponse"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Internal": "An internal error has caused this session to fail",
          "Other": "The session failed for a reason which does not fit any other failure code.",
          "Canceled": "The session has been canceled",
          "UserAbandoned": "The user abandoned the session",
          "UserTimedOut": "The user took too long to complete the verification",
          "Expired": "The session has expired",
          "InvalidImage": "The image(s) provided for this verification were either too low-quality, not of the correct type, or otherwise\nunable to be processed.",
          "Inauthentic": "The identity data/images provided are suspected to be inauthentic, fraudulent, or forged.",
          "UnsupportedDocument": "The document provided is either of an unsupported type, or from an unsupported country.",
          "AssuranceLevelNotMet": "The user's identity does not meet the required assurance level for this verification.",
          "SecurityValidationFailed": "A critical security validation (such as a cryptographic signature check or secure handshake with the provider) has failed.",
          "InvalidResponse": "The response from the identity provider was malformed, incomplete, or otherwise could not be processed."
        }
      },
      "SessionOrdering": {
        "enum": [
          "Created",
          "Updated",
          "State"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Created": "Order sessions by their creation date",
          "Updated": "Order sessions by the date their state last changed",
          "State": "Order sessions by their state"
        }
      },
      "Sex": {
        "enum": [
          "Unknown",
          "NotApplicable",
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Unknown": "",
          "NotApplicable": "",
          "Male": "",
          "Female": ""
        }
      },
      "SignzyIndiaAadhaarFetchProviderOutput": {
        "type": "object",
        "properties": {
          "documentType": {
            "type": "string",
            "description": "The document type from which the identity data was retrieved.",
            "nullable": true,
            "example": "ADHAR"
          },
          "timestamp": {
            "type": "string",
            "description": "The timestamp when the signed document was generated and verified.",
            "format": "date-time",
            "nullable": true,
            "example": "2025-06-01T20:43:54.472+05:30"
          },
          "timeToLive": {
            "type": "string",
            "description": "The validity expiration timestamp for the verification document.",
            "format": "date-time",
            "nullable": true,
            "example": "2026-06-01T20:43:54"
          },
          "aadhaarNumberLastFour": {
            "type": "string",
            "description": "The Aadhaar number (UID) value for the individual.\n            \nThis is only the last four digits of the Aadhaar number.",
            "nullable": true,
            "example": "1234"
          },
          "claims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarClaims"
              }
            ],
            "description": "The claims extracted from the Aadhaar document.",
            "nullable": true
          },
          "localizedClaims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarLocalizedClaims"
              }
            ],
            "description": "The localized claims extracted from the Aadhaar document.",
            "nullable": true
          },
          "documentSignatureValidated": {
            "type": "boolean",
            "description": "Whether our own validation of the Aadhaar document signature and certificate chain succeeded.\n            \nWhen the signed document (e.g. Digilocker XML) is available, we validate it using the standard CCA/SafeScrypt chain.\nWhen the document is not returned, the signature cannot be validated and this is false. Some providers (e.g. Signzy) also\nsupply a separate DSC validation indicator in the webhook payload; that is independent of this flag, which reflects only our validation.",
            "nullable": true,
            "example": true
          },
          "digilockerId": {
            "type": "string",
            "description": "DigiLocker's 36-character stable account identifier.\n            \nThis identifier is deemed safe to use to reference the individual.\n*Note, the format is not guaranteed to be a UUID.",
            "nullable": true,
            "example": "9b2d5f6e-3c4a-4d7f-a1e2-8f6b9c0d1a2e"
          },
          "issuerId": {
            "type": "string",
            "description": "The identifier for the issuer of the DigiLocker document.",
            "nullable": true,
            "example": "in.gov.uidai"
          },
          "issuer": {
            "type": "string",
            "description": "Issuer name for the DigiLocker document.",
            "nullable": true,
            "example": "Unique Identification Authority of India (UIDAI)"
          },
          "mobilePhone": {
            "type": "string",
            "description": "The individual's mobile phone number from DigiLocker's account details.",
            "nullable": true,
            "example": "7981112222"
          },
          "scope": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "DigiLocker consent scopes that the individual actually consented to for this session.\nIncluded in provider output so customers can verify what was granted: the customer does not control\nthese—the individual chooses scopes in the DigiLocker consent UI, and there is no way to pre-select\nor enforce them. This is a common source of error (e.g. the individual skips a scope), so surfacing the\ngranted scopes lets customers confirm the session had the expected consent.",
            "nullable": true,
            "example": [
              "file.partners/PANCR",
              "userdetails",
              "email",
              "files.issueddocs",
              "picture"
            ]
          }
        },
        "description": "Exposed properties for the `india-digilocker-aadhaar-fetch` Provider which do not directly map to the normalized IdentityData model."
      },
      "SingpassLoginProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "The Singpass subject identifier.\n            \nThis is a public identifier which is globally unique across the Singpass system.",
            "nullable": true,
            "example": "e3f1c2d4-8a9b-4c2d-b3f1-9a8b7c6d5e4f"
          },
          "accountType": {
            "type": "string",
            "description": "The Singpass account type for this user.\n            \nPossible values:\n- foreign (Singpass Foreign Account (SFA) holders)\n- standard (Singapore Citizens, Permanent Residents, or FIN holders)",
            "nullable": true,
            "example": "standard"
          },
          "identityNumber": {
            "type": "string",
            "description": "The Unique Identifier Number (UINFIN) for the user.\n            \nThe number can be either the National Registration Identity Card or Foreign Identification Number (NRIC/FIN).\nFollows the format @xxxxxxx#:\n- @ is the status of the holder.\n    - Singapore citizens and permanent residents born before 1 January 2000 are assigned the letter \"S\".\n    - Singapore citizens and permanent residents born on or after 1 January 2000 are assigned the letter \"T\".\n    - Foreigners issued with long-term passes before 1 January 2000 are assigned the letter \"F\".\n    - Foreigners issued with long-term passes from 1 January 2000 to 31 December 2021 are assigned the letter \"G\".\n    - Foreigners issued with long-term passes on or after 1 January 2022 are assigned the letter \"M\".\n- xxxxxxx is seven digit serial number.\n- # is the checksum letter.",
            "nullable": true,
            "example": "S1234567A"
          },
          "countryOfIssuance": {
            "type": "string",
            "description": "The individual's identity country of issuance.",
            "nullable": true,
            "example": "SG"
          },
          "name": {
            "type": "string",
            "description": "The individual's principal name.",
            "nullable": true,
            "example": "Lim Wei Ming"
          },
          "email": {
            "type": "string",
            "description": "The individual's email address.",
            "nullable": true,
            "example": "wei.ming.lim@example.sg"
          },
          "mobileNumber": {
            "type": "string",
            "description": "The individual's mobile number.\n            \nFor Singpass Foreign Account (SFA) users, this will always be null.",
            "nullable": true,
            "example": "+6591234567"
          }
        },
        "description": "Exposed properties for the `singpass-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "SingpassMyInfoDescription": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The code for the following description.",
            "nullable": true,
            "example": "P1Pass"
          },
          "description": {
            "type": "string",
            "description": "The full description of the field.",
            "nullable": true,
            "example": "Employment Pass"
          }
        }
      },
      "SingpassMyInfoProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "The Singpass subject identifier.",
            "nullable": true,
            "example": "e3f1c2d4-8a9b-4c2d-b3f1-9a8b7c6d5e4f"
          },
          "personInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassPersonalCatalog"
              }
            ],
            "description": "The MyInfo personal catalog.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `singpass-myinfo` Provider which do not directly map to the normalized IdentityData model."
      },
      "SingpassMyInfoRegisteredAddressOutput": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The address type.\n            \nPossible values:\n- SG (Structured Address)\n- UNFORMATTED\n            \nStructured addresses most likely will be a Singapore address.\nUnformatted are typically a non-Singapore address, however it might still be an unformatted Singapore address.",
            "nullable": true,
            "example": "SG"
          },
          "block": {
            "type": "string",
            "description": "The block number.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "548"
          },
          "building": {
            "type": "string",
            "description": "The building name.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "Bedok Mall"
          },
          "floor": {
            "type": "string",
            "description": "The floor number.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "09"
          },
          "unit": {
            "type": "string",
            "description": "The unit number.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "128"
          },
          "street": {
            "type": "string",
            "description": "The street name.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "BEDOK NORTH AVENUE 1"
          },
          "postal": {
            "type": "string",
            "description": "The postal code.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "460548"
          },
          "country": {
            "type": "string",
            "description": "The ISO-2 country code and description for the address.\n            \nThis will only be present if the type is \"SG\"",
            "nullable": true,
            "example": "SG"
          },
          "line1": {
            "type": "string",
            "description": "The first line of the unformatted address.\n            \nThis will only be present if the type is \"UNFORMATTED\"",
            "nullable": true,
            "example": "123 Market St."
          },
          "line2": {
            "type": "string",
            "description": "The second line of the unformatted address.\n            \nThis will only be present if the type is \"UNFORMATTED\"",
            "nullable": true,
            "example": "San Francisco, CA 81111 US"
          }
        },
        "description": "The structured MyInfo registered address payload."
      },
      "SingpassPersonalCatalog": {
        "type": "object",
        "properties": {
          "identityNumber": {
            "type": "string",
            "description": "The Unique Identifier Number (UINFIN) for the user.\n            \nThe number can be either a National Registration Identity Card or a Foreign Identification Number (NRIC/FIN).\nFollows the format @xxxxxxx#:\n- @ is the status of the holder.\n    - Singapore citizens and permanent residents born before 1 January 2000 are assigned the letter \"S\".\n    - Singapore citizens and permanent residents born on or after 1 January 2000 are assigned the letter \"T\".\n    - Foreigners issued with long-term passes before 1 January 2000 are assigned the letter \"F\".\n    - Foreigners issued with long-term passes from 1 January 2000 to 31 December 2021 are assigned the letter \"G\".\n    - Foreigners issued with long-term passes on or after 1 January 2022 are assigned the letter \"M\".\n- xxxxxxx is seven digit serial number.\n- # is the checksum letter.",
            "nullable": true,
            "example": "S1234567A"
          },
          "partialIdentityNumber": {
            "type": "string",
            "description": "The partial National Registration Identity Card or Foreign Identification Number (NRIC/FIN) shown by Singpass.\n            \nThe value hides all but the last three digits and checksum.",
            "nullable": true,
            "example": "*****567A"
          },
          "name": {
            "type": "string",
            "description": "The name of verified individual composed of all the possible names.\n            \nThe name is assembled in the following format (where applicable):\n1. Principal Name (The first name section)\n2. Hanyu Pinyin Name\n3. Alias Name\n4. Hanyu Pinyin Alias Name\n5. Married Name (optional): Available only for females, prefixed with \"MRS\"",
            "nullable": true,
            "example": "CHEN PEI NI (CHEN PEI NI) @ LEE PEI HUI (LI PEI HUI) MRS TAN"
          },
          "aliasName": {
            "type": "string",
            "description": "The individual's alternate legally recognized name.",
            "nullable": true,
            "example": "LEE PEI HUI"
          },
          "hanyuPinyinName": {
            "type": "string",
            "description": "The individual's Hanyu Pinyin name.",
            "nullable": true,
            "example": "LI PEI HUI"
          },
          "hanyuPinyinAliasName": {
            "type": "string",
            "description": "The individual's Hanyu Pinyin alias name.",
            "nullable": true,
            "example": "LI PEI HUI"
          },
          "marriedName": {
            "type": "string",
            "description": "The individual's married name.\n            \nThis appears when Singpass has a legally recognized married surname on file.",
            "nullable": true,
            "example": "MRS TAN"
          },
          "email": {
            "type": "string",
            "description": "The user's email address.",
            "nullable": true,
            "example": "myinfotesting@gmail.com"
          },
          "mobileNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassPhoneNumber"
              }
            ],
            "description": "The user's mobile number, split into prefix, area code, and subscriber number.",
            "nullable": true,
            "example": {
              "prefix": "+",
              "areaCode": "65",
              "number": "97399245"
            }
          },
          "dialect": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoDescription"
              }
            ],
            "description": "The user's dialect.",
            "nullable": true,
            "example": {
              "code": "H",
              "description": "HAINANESE"
            }
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth.",
            "format": "date",
            "nullable": true,
            "example": "1990-03-03"
          },
          "residentialStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoDescription"
              }
            ],
            "description": "The user's residential status.\n            \nPossible values (code description):\n- A\tAlien\n- C Citizen\n- P PR\n- U Unknown\n- N NOT APPLICABLE",
            "nullable": true,
            "example": {
              "code": "C",
              "description": "Citizen"
            }
          },
          "nationality": {
            "type": "string",
            "description": "The user's nationality in IS0-2 country code format.",
            "nullable": true,
            "example": "SG"
          },
          "birthCountry": {
            "type": "string",
            "description": "The user's birth country in IS0-2 country code format.",
            "nullable": true,
            "example": "SG"
          },
          "passportNumber": {
            "type": "string",
            "description": "The user's passport number.",
            "nullable": true,
            "example": "E35463874W"
          },
          "passportExpiryDate": {
            "type": "string",
            "description": "The user's passport expiry date.",
            "format": "date",
            "nullable": true,
            "example": "2030-01-01"
          },
          "passType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoDescription"
              }
            ],
            "description": "The Pass type of the individual.\n            \nPossible values: (code description)\n            \n- RPass\tWork Permit\n- SPass S Pass\n- P1Pass Employment Pass\n- P2Pass Employment Pass\n- QPass Employment Pass\n- PEP Personalised Employment Pass\n- WHP Work Holiday Pass\n- TEP Training Employment Pass\n- Entre EntrePass\n- OVE Overseas Networks & Expertise Pass\n- DP Dependent Pass\n- LTVP Long-Term Visit Pass\n- LOC Letter of Consent\n- MWP Miscellaneous Work Pass\n- STP Student's Pass\n- LTVP+ Long-Term Visit Pass Plus\n- IEO Immigration Exemption Order\n            \nNote that this only applies to a FIN holder.",
            "nullable": true,
            "example": {
              "code": "P1Pass",
              "description": "Employment Pass"
            }
          },
          "passStatus": {
            "type": "string",
            "description": "Pass status.\n            \nPossible values:\n- Live\n- Approved (Interim status in which the FIN holder has yet to receive the pass)\n            \nNote that this only applies to a FIN holder.",
            "nullable": true,
            "example": "Live"
          },
          "passExpiryDate": {
            "type": "string",
            "description": "Pass expiration date.\n            \nNote that this only applies to a FIN holder.",
            "format": "date",
            "nullable": true,
            "example": "2030-12-31"
          },
          "employmentSector": {
            "type": "string",
            "description": "The user's employment sector.",
            "nullable": true,
            "example": "Technology"
          },
          "registeredAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoRegisteredAddressOutput"
              }
            ],
            "description": "The user's registered address.",
            "nullable": true
          },
          "houseDevelopmenetBoardType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoDescription"
              }
            ],
            "description": "Housing and Development Board (HBD) flat type code and description.\n            \nThis value will be null if not HBD\nPossible values (code description):\n- 111 1-ROOM FLAT (HDB)\n- 112 2-ROOM FLAT (HDB)\n- 113 3-ROOM FLAT (HDB)\n- 114 4-ROOM FLAT (HDB)\n- 115 5-ROOM FLAT (HDB)\n- 116 EXECUTIVE FLAT (HDB)\n- 118 STUDIO APARTMENT (HDB)",
            "nullable": true,
            "example": {
              "code": "113",
              "description": "3-ROOM FLAT (HBD)"
            }
          },
          "housingType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SingpassMyInfoDescription"
              }
            ],
            "description": "The user's housing type.\n            \nPossible values (code description):\n- 121 DETACHED HOUSE\n- 122 SEMI-DETACHED HOUSE\n- 123 TERRACE HOUSE\n- 131 CONDOMINIUM\n- 132 EXECUTIVE CONDOMINIUM\n- 139 APARTMENT",
            "nullable": true,
            "example": {
              "code": "TH",
              "description": "TERRACE HOUSE"
            }
          },
          "sex": {
            "type": "string",
            "description": "Sex of the individual.\n            \nPossible values:\n- Female\n- Male\n- Unknown",
            "nullable": true,
            "example": "Female "
          }
        },
        "description": "MyInfo Personal catalog."
      },
      "SingpassPhoneNumber": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "description": "The phone number prefix.",
            "nullable": true,
            "example": "+"
          },
          "areaCode": {
            "type": "string",
            "description": "The phone number area code.",
            "nullable": true,
            "example": "65"
          },
          "number": {
            "type": "string",
            "description": "The phone number's subscriber number.",
            "nullable": true,
            "example": "97399245"
          }
        },
        "description": "The structured MyInfo mobile number payload."
      },
      "SmartIdInput": {
        "type": "object",
        "properties": {
          "smartIdNumber": {
            "type": "string",
            "description": "The user's Smart ID ETSI number or document number.",
            "nullable": true
          }
        }
      },
      "SmartIdProviderOutput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "The given name (first name) of the individual, extracted from the Smart ID\nauthentication certificate's Subject Distinguished Name \"G\" (givenName) attribute.",
            "nullable": true,
            "example": "MARI"
          },
          "familyName": {
            "type": "string",
            "description": "The family name (surname) of the individual, extracted from the Smart ID\nauthentication certificate's Subject Distinguished Name \"SN\" (surname) attribute.",
            "nullable": true,
            "example": "TAMM"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The individual's date of birth, derived from the personal code.\n            \nNOTE: Newer Latvian personal codes starting with \"32\" do not contain\ndate of birth information.",
            "format": "date",
            "nullable": true,
            "example": "1985-01-01"
          },
          "sex": {
            "type": "string",
            "description": "The individual's sex, derived from the first digit of the personal code.\n            \nNOTE: Not available for Latvian personal codes.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Female"
          },
          "country": {
            "type": "string",
            "description": "The ISO 3166-1 alpha-2 country code extracted from the Smart ID authentication\ncertificate's Subject Distinguished Name \"C\" (country) attribute.\n            \nThis represents the country of the certificate issuer, not the person's nationality\nor citizenship. For Smart ID, this will be \"EE\" (Estonia), \"LT\" (Lithuania), or\n\"LV\" (Latvia).",
            "nullable": true,
            "example": "EE"
          },
          "identityType": {
            "type": "string",
            "description": "The identity document type, extracted from the first 3 characters of the\nSERIALNUMBER field (before the country code).\n            \nPossible values:\n- PNO: Personal Number (national civic registration number)\n- PAS: Passport\n- IDC: National identity card",
            "nullable": true,
            "example": "PNO"
          },
          "personalCode": {
            "type": "string",
            "description": "The personal code (Estonian: isikukood, Lithuanian: asmens kodas, Latvian: personas kods)\nof the individual, extracted from the SERIALNUMBER field of the Smart ID authentication\ncertificate. This is the portion after the identity type and country prefix\n(e.g., \"48501010014\" from \"PNOEE-48501010014\").\n            \nEstonian and Lithuanian personal codes are 11 digits in the format GYYMMDDSSSC where:\n- G = century/gender (3-4 = 1900s, 5-6 = 2000s; odd = male, even = female)\n- YYMMDD = date of birth\n- SSS = sequence number\n- C = checksum digit\n            \nLatvian personal codes use the format DDMMYY-NNNNN (6 digits, a dash, and 5 digits).\n            \nSee:\n- https://en.wikipedia.org/wiki/National_identification_number#Estonia\n- https://en.wikipedia.org/wiki/National_identification_number#Lithuania\n- https://en.wikipedia.org/wiki/National_identification_number#Latvia",
            "nullable": true,
            "example": "48501010014"
          },
          "serialNumber": {
            "type": "string",
            "description": "The SERIALNUMBER attribute from the Smart ID authentication certificate's Subject\nDistinguished Name. Format: \"{identity-type}{country-code}-{identifier}\"\n            \nComponents:\n- identity-type (3 chars): PNO (Personal Number), PAS (Passport), IDC (ID Card)\n- country-code (2 chars): ISO 3166-1 alpha-2 (EE, LT, LV)\n- identifier: The personal code",
            "nullable": true,
            "example": "PNOEE-48501010014"
          },
          "certificateSubject": {
            "type": "string",
            "description": "The full Subject Distinguished Name (Subject DN) from the Smart ID\nauthentication certificate. Contains comma-separated RDN (Relative Distinguished Name)\ncomponents including C (Country), CN (Common Name), SN (Surname), G (Given Name),\nand SERIALNUMBER (Personal identifier).",
            "nullable": true,
            "example": "SERIALNUMBER=PNOEE-48501010014, G=MARI, SN=TAMM, CN=\"TAMM,MARI,48501010014\", C=EE"
          },
          "certificateLevel": {
            "type": "string",
            "description": "The certificate level indicating the authentication assurance level.\n            \nPossible values:\n- QUALIFIED: Highest assurance level (eIDAS QES - Qualified Electronic Signature),\n  legally equivalent to a handwritten signature. This is the standard production level.\n- ADVANCED: Lower assurance level (eIDAS AdES), also called \"Smart-ID Basic\".\n  Only available in test environments for test accounts.",
            "nullable": true,
            "example": "QUALIFIED"
          },
          "documentNumber": {
            "type": "string",
            "description": "A unique identifier for the Smart ID account/document used for this authentication.\nFormat: PNO{CC}-{personal-code}-{device-id}-{qualification}\n            \nComponents:\n- PNO = Personal Number (identity type)\n- CC = Country code (EE, LT, LV)\n- personal-code = The individual's personal code\n- device-id = Random 4-character device identifier\n- qualification = NQ (non-qualified) or Q (qualified certificate)\n            \nThis is a stable identifier that can be used to recognize returning individuals across sessions.",
            "nullable": true,
            "example": "PNOEE-48501010014-Z1B2-Q"
          },
          "interactionFlowUsed": {
            "type": "string",
            "description": "Indicates which interaction flow was used during the Smart ID authentication process.\nThis reflects which of the allowedInteractionsOrder options was actually used.\n            \nPossible values:\n- displayTextAndPIN: User saw text and entered PIN\n- verificationCodeChoice: User selected from multiple verification codes\n- confirmationMessage: User confirmed a message\n- confirmationMessageAndVerificationCodeChoice: Combination of both",
            "nullable": true,
            "example": "displayTextAndPIN"
          },
          "deviceIpAddress": {
            "type": "string",
            "description": "The IP address of the device where the Smart ID app was used for authentication.\nCan be IPv4 or IPv6 format.",
            "nullable": true,
            "example": "192.168.1.100"
          }
        },
        "description": "Exposed properties for the `smart-id` Provider which do not directly map to the normalized IdentityData model."
      },
      "SouthAfricaNidInput": {
        "required": [
          "dateOfBirth",
          "fullName",
          "gender",
          "nationalIdNumber"
        ],
        "type": "object",
        "properties": {
          "fullName": {
            "minLength": 1,
            "type": "string",
            "description": "The user's full name as it appears in their National ID"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date"
          },
          "gender": {
            "minLength": 1,
            "type": "string",
            "description": "The user's gender as it appears in their National ID (e.g., male, female)"
          },
          "nationalIdNumber": {
            "maxLength": 13,
            "minLength": 13,
            "pattern": "^\\d*$",
            "type": "string",
            "description": "The user's National ID number"
          }
        }
      },
      "SouthAfricaNidLookup2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The South African National Identity Number (13 digits).\n            \nIssued for life by the Department of Home Affairs (DHA) and stored in the HANIS (Home\nAffairs National Identification System) database. The same number is mandatory for\nbanking, employment, taxation, and voting, and is printed on both the legacy green ID\nbook and the Smart ID Card (rolled out from 2013 onward).\n            \nFormat:\n- YYMMDD G(4) C A Z\n- YYMMDD is the date of birth\n- G(4) is the gender code (below 5000 female, 5000 or above male)\n- C is the citizenship indicator (0 citizen, 1 permanent resident)\n- A is reserved (it had a politically sensitive meaning in the past, but is currently\n  semantically meaningless)\n- Z is a Luhn check digit",
            "nullable": true
          }
        }
      },
      "SouthAfricaNidLookup2ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "type": "string",
            "description": "The South African National Identity Number (13 digits).\n            \nIssued for life by the Department of Home Affairs (DHA) and stored in the HANIS (Home\nAffairs National Identification System) database. The same number is mandatory for\nbanking, employment, taxation, and voting, and is printed on both the legacy green ID\nbook and the Smart ID Card (rolled out from 2013 onward).\n            \nFormat:\n- YYMMDD G(4) C A Z\n- YYMMDD is the date of birth\n- G(4) is the gender code (below 5000 female, 5000 or above male)\n- C is the citizenship indicator (0 citizen, 1 permanent resident)\n- A is reserved (it had a politically sensitive meaning in the past, but is currently\n  semantically meaningless)\n- Z is a Luhn check digit",
            "nullable": true,
            "example": "9001315000082"
          },
          "citizenshipStatus": {
            "type": "string",
            "description": "Citizenship status of the individual.\n            \nPossible values:\n- Citizen\n- PermanentResident\n- Refugee",
            "nullable": true,
            "example": "Citizen"
          },
          "firstName": {
            "type": "string",
            "description": "First name of the individual.",
            "nullable": true,
            "example": "THABO"
          },
          "familyName": {
            "type": "string",
            "description": "Family name of the individual.",
            "nullable": true,
            "example": "MOKOENA"
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the individual.",
            "nullable": true,
            "example": "THABO MOKOENA"
          },
          "sex": {
            "type": "string",
            "description": "Sex of the individual.\n            \nPossible values:\n- Male\n- Female",
            "nullable": true,
            "example": "Male"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-31"
          },
          "nationality": {
            "type": "string",
            "description": "Nationality of the individual as an ISO 3166-1 alpha-2 country code.\n            \nSet to ZA when CitizenshipStatus is Citizen.\nNull when not a South African citizen (Permanent Resident or Refugee).",
            "nullable": true,
            "example": "ZA"
          },
          "dateOfDeath": {
            "type": "string",
            "description": "Date of death of the individual, if recorded by DHA (Department of Home Affairs).\n            \nNull if the individual is alive, or the data is missing from the registry.",
            "format": "date",
            "nullable": true,
            "example": "2024-03-12"
          },
          "birthCountry": {
            "type": "string",
            "description": "Country of birth of the individual as an ISO 3166-1 alpha-2 country code.",
            "nullable": true,
            "example": "ZA"
          }
        },
        "description": "Exposed properties for the `south-africa-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "SouthAfricaNidMatch2DateOfBirthField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The date of birth submitted for this check.",
            "format": "date",
            "nullable": true,
            "example": "1990-01-30"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted date of birth to the issuer record.\n            \nPossible values:\n- Exact Match\n- Partial Match\n- Transposed\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Partial Match"
          }
        }
      },
      "SouthAfricaNidMatch2FullNameField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The full name string submitted for this check (as provided in the match input).",
            "nullable": true,
            "example": "MOKOENA THABO"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted full name to the issuer record.\n            \nPossible values:\n- Exact Match\n- Partial Match\n- Transposed\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Transposed"
          }
        }
      },
      "SouthAfricaNidMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The South African National Identity Number (13 digits).\n            \nIssued for life by the Department of Home Affairs (DHA) and stored in the HANIS (Home\nAffairs National Identification System) database. The same number is mandatory for\nbanking, employment, taxation, and voting, and is printed on both the legacy green ID\nbook and the Smart ID Card (rolled out from 2013 onward).\n            \nFormat:\n- YYMMDD G(4) C A Z\n- YYMMDD is the date of birth\n- G(4) is the gender code (below 5000 female, 5000 or above male)\n- C is the citizenship indicator (0 citizen, 1 permanent resident)\n- A is reserved (it had a politically sensitive meaning in the past, but is currently\n  semantically meaningless)\n- Z is a Luhn check digit",
            "nullable": true
          },
          "givenName": {
            "type": "string",
            "description": "The user's first name as it appears in their National ID",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "The user's last name as it appears in their National ID",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "The user's middle name as it appears in their National ID (optional)",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2InputSex"
              }
            ],
            "description": "The user's sex as it appears in their National ID",
            "nullable": true,
            "x-enumDescriptions": {
              "Male": "",
              "Female": ""
            }
          }
        }
      },
      "SouthAfricaNidMatch2InputSex": {
        "enum": [
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Male": "",
          "Female": ""
        }
      },
      "SouthAfricaNidMatch2NationalIdNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The South African National Identity Number (13 digits) is issued for life by the\nDepartment of Home Affairs (DHA) and stored in the Home Affairs National\nIdentification System (HANIS) database. The same number is mandatory for banking,\nemployment, taxation, and voting, and is printed on both the legacy green ID\nbook and the Smart ID Card (rolled out from 2013 onward).\n            \nFormat:\n- YYMMDD G(4) C A Z\n- YYMMDD is the date of birth\n- G(4) is the gender code (below 5000 female, 5000 or above male)\n- C is the citizenship indicator (0 citizen, 1 permanent resident)\n- A is reserved (it had a politically sensitive meaning in the past, but is currently\n  semantically meaningless)\n- Z is a Luhn check digit",
            "nullable": true,
            "example": "9001315000082"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of verifying the national ID number.\n            \nPossible values:\n- Verified\n- Not Verified\n- Not Done\n- Issuer Unavailable\n- Not Returned",
            "nullable": true,
            "example": "Verified"
          }
        }
      },
      "SouthAfricaNidMatch2ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2NationalIdNumberField"
              }
            ],
            "description": "Outcome of the verification of the national ID number.",
            "nullable": true
          },
          "fullName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2FullNameField"
              }
            ],
            "description": "Outcome of the verification of the full name.",
            "nullable": true
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2DateOfBirthField"
              }
            ],
            "description": "Outcome of the verification of the date of birth.",
            "nullable": true
          },
          "sex": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidMatch2SexField"
              }
            ],
            "description": "Outcome of the verification of the sex.",
            "nullable": true
          },
          "citizenshipStatus": {
            "type": "string",
            "description": "Citizenship status of the individual, if the ID number is valid.\n            \nPossible values:\n- Citizen\n- PermanentResident",
            "nullable": true,
            "example": "Citizen"
          }
        },
        "description": "Exposed properties for the `south-africa-nid-match-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "SouthAfricaNidMatch2SexField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The sex value submitted for this check.\n            \nPossible input values:\n- Male\n- Female",
            "nullable": true,
            "example": "Female"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted sex to the issuer record.\n            \nPossible values:\n- Exact Match\n- No Match\n- Not Provided\n- Not Returned",
            "nullable": true,
            "example": "No Match"
          }
        }
      },
      "SpidBillingInformation": {
        "type": "object",
        "properties": {
          "isBillable": {
            "type": "boolean",
            "description": "Whether this SPID verification has resulted in a billable event.",
            "nullable": true,
            "example": true
          },
          "verificationType": {
            "type": "string",
            "description": "The billable verification type for this SPID verification.\n            \nPossible values: \"Authentication\" | \"Registration\"",
            "nullable": true,
            "example": "\"Authentication\""
          },
          "verificationLevel": {
            "type": "integer",
            "description": "The billable verification level for this SPID verification.\n            \nPossible values: 1 | 2 | 3",
            "format": "int32",
            "nullable": true,
            "example": 1
          }
        },
        "description": "Billing information for a SPID Verification."
      },
      "SpidInput": {
        "type": "object",
        "properties": {
          "subProviderId": {
            "type": "string",
            "description": "The ID of the specific IDP to invoke within SPID.\n            \nIf not specified, the user will be prompted to select an IDP.",
            "nullable": true
          },
          "billingTrackingSecret": {
            "type": "string",
            "description": "Only applicable if period-based billing is enabled for your Verification Profile. Contact Trinsic to enable this.\n            \nA secret UTF-8 string between 32 and 64 characters in length, used to enable privacy-preserving tracking of unique user verifications during a billing period.\n            \nWARNING: This value must NOT change during the course of a billing period for a given Verification Profile, or double-billing may occur.\nIf multiple Verification Profiles are configured to use the same Trinsic-managed SPID Service Provider, the same Billing Tracking Secret must be provided across all such Verification Profiles.",
            "nullable": true
          }
        }
      },
      "SpidProviderOutput": {
        "type": "object",
        "properties": {
          "billingInformation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SpidBillingInformation"
              }
            ],
            "description": "Information about the billable status of this SPID Verification.\n            \nPresent only if your account has period-based billing enabled for SPID. Contact Trinsic to enable this.",
            "nullable": true
          },
          "identityProviderEntityId": {
            "type": "string",
            "description": "The SPID Entity ID of the Identity Provider which issued the SPID identity.\n            \nThis is an HTTPS URI which uniquely identifies the IdP within the SPID federation.\n            \nA normalized / simplified representation of this value is present in the `originatingSubProviderId` field in Trinsic's normalized data model.",
            "nullable": true,
            "example": "https://spid.register.it"
          },
          "spidCode": {
            "type": "string",
            "description": "The identifier of the SPID credential, uniquely identifying it within the SPID federation.\n            \nThe format of this string is specific to each individual Identity Provider.",
            "nullable": true,
            "example": "SPID-002"
          },
          "spidCredentialExpirationDate": {
            "type": "string",
            "description": "Expiration date of the SPID credential.\n            \nThis is not the same as the expiration date of the underlying identity document (such as a passport) which was\nused to create the SPID identity.",
            "format": "date",
            "nullable": true,
            "example": "2030-12-21"
          },
          "rawIdCard": {
            "type": "string",
            "description": "The raw, space-separated string value for the \"IdCard\" field from the SPID credential.\n            \nTrinsic additionally parses this field and uses it to populate the `Document` object in the normalized data model.",
            "nullable": true,
            "example": "passaporto KK1234567 questuraLivorno 2016-09-04 2026-09-03"
          },
          "givenName": {
            "type": "string",
            "description": "The individual's first / given name(s)",
            "nullable": true,
            "example": "Ada"
          },
          "familyName": {
            "type": "string",
            "description": "The individual's last / family name(s)",
            "nullable": true,
            "example": "Lovelace"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual",
            "format": "date",
            "nullable": true,
            "example": "1985-12-10"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual.\n            \nPossible values: \"M\" | \"F\"",
            "nullable": true,
            "example": "F"
          },
          "placeOfBirth": {
            "type": "string",
            "description": "The individual's place of birth.\n            \nThis is a 4-digit Belfiore Code identifying either the municipality of birth (for births in Italy) or a foreign country (for births outside Italy).",
            "nullable": true,
            "example": "G702"
          },
          "countyOfBirth": {
            "type": "string",
            "description": "The individual's county (province) of birth, abbreviated.\n            \nFor foreign births, this is \"EE\".",
            "nullable": true,
            "example": "PI"
          },
          "domicileStreetAddress": {
            "type": "string",
            "description": "The street address of the individual's residence.\n            \nThis includes street name, street type, and house number, in the standard format for the given state.",
            "nullable": true,
            "example": "Via Liszt 21"
          },
          "domicilePostalCode": {
            "type": "string",
            "description": "The postal code of the individual's residence",
            "nullable": true,
            "example": "00144"
          },
          "domicileMunicipality": {
            "type": "string",
            "description": "The municipality of the individual's residence",
            "nullable": true,
            "example": "Rome"
          },
          "domicileProvince": {
            "type": "string",
            "description": "The province of the individual's residence",
            "nullable": true,
            "example": "RM"
          },
          "domicileNation": {
            "type": "string",
            "description": "The 2-digit country code of the individual's residence",
            "nullable": true,
            "example": "IT"
          },
          "email": {
            "type": "string",
            "description": "The email address of the individual",
            "nullable": true,
            "example": "example@example.com"
          },
          "mobilePhone": {
            "type": "string",
            "description": "The mobile phone number of the individual, in Italian format.",
            "nullable": true,
            "example": "34912345678"
          },
          "digitalAddress": {
            "type": "string",
            "description": "The PEC (Italian Certified Email) address of the individual or organization.",
            "nullable": true,
            "example": "name@pecdomain.it"
          },
          "fiscalNumber": {
            "type": "string",
            "description": "Fiscal tax number for the individual.",
            "nullable": true,
            "example": "TINIT-ABCXYZ00W00Z000Z"
          },
          "ivaCode": {
            "type": "string",
            "description": "The VAT number of the organization which was verified, or of the organization which the verified individual is associated with.",
            "nullable": true,
            "example": "VATIT-12345678901"
          },
          "companyName": {
            "type": "string",
            "description": "The name of the organization which was verified, or of the organization which the verified individual is associated with.",
            "nullable": true,
            "example": "ACME Corporation"
          },
          "companyFiscalNumber": {
            "type": "string",
            "description": "The fiscal tax number of the organization which was verified, or of the organization which the verified individual is associated with.",
            "nullable": true,
            "example": "TINIT-12345678901"
          },
          "registeredOffice": {
            "type": "string",
            "description": "The registered office address of the organization which was verified, or of the organization which the verified individual is associated with.",
            "nullable": true,
            "example": "via Listz 21 00144 Rome"
          }
        },
        "description": "Exposed properties for the `italy-spid` Provider which do not directly map to the normalized IdentityData model."
      },
      "StepRefreshInfo": {
        "required": [
          "expiresAt",
          "refreshAfter",
          "timeToLiveSeconds"
        ],
        "type": "object",
        "properties": {
          "expiresAt": {
            "type": "string",
            "description": "The UTC date/time at which the step `content` will expire and should no longer be used.\n            \nUse the `Refresh Step Content` API to obtain a new value for `content`.",
            "format": "date-time"
          },
          "refreshAfter": {
            "type": "string",
            "description": "The UTC date/time after which Trinsic recommends you refresh the step `content`.",
            "format": "date-time"
          },
          "timeToLiveSeconds": {
            "type": "integer",
            "description": "The total lifetime of the step `content`.",
            "format": "int32"
          }
        }
      },
      "SubProviderMetadata": {
        "required": [
          "id",
          "logoUrl",
          "name",
          "subtext"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the sub-provider.\n            \nThis cannot be used as a standalone Provider ID when creating a Session. It must\nbe passed in via the Provider-specific input."
          },
          "name": {
            "type": "string",
            "description": "The name of the sub-provider"
          },
          "subtext": {
            "type": "string",
            "description": "The Provider's subtext recommended to be shown next to the name.\n            \nThis is flavor text, not a full, human-readable description of the provider.",
            "example": "dmv.ca.gov"
          },
          "logoUrl": {
            "type": "string",
            "description": "A URL pointing to the logo on Trinsic's CDN.\n            \nIt may be a PNG, JPG, or SVG image."
          },
          "darkModeLogoUrl": {
            "type": "string",
            "description": "An optional URL pointing to a dark mode logo on Trinsic's CDN.\n            \nIt may be a PNG, JPG, or SVG image. If omitted, use LogoUrl in dark mode.",
            "nullable": true
          }
        },
        "description": "Information about a sub-provider."
      },
      "SubmitNativeChallengeResponseRequest": {
        "required": [
          "responseToken",
          "resultsAccessKey"
        ],
        "type": "object",
        "properties": {
          "resultsAccessKey": {
            "minLength": 1,
            "type": "string",
            "description": "The Results Access Key for the Session in question"
          },
          "responseToken": {
            "minLength": 1,
            "type": "string",
            "description": "The response token retrieved from a Trinsic UI SDK's performMdlExchange() call."
          }
        }
      },
      "SubmitNativeChallengeResponseResponse": {
        "required": [
          "session"
        ],
        "type": "object",
        "properties": {
          "session": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Session"
              }
            ],
            "description": "The Session for which the challenge token was submitted"
          }
        }
      },
      "SwedenBankIdProviderOutput": {
        "type": "object",
        "properties": {
          "fullName": {
            "type": "string",
            "description": "The full name of the individual.",
            "nullable": true,
            "example": "Ove Henriksen"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1943-08-15"
          },
          "personalIdentityNumber": {
            "type": "string",
            "description": "The Swedish personal number (personnummer) associated with the verified individual. The value is typically a 12-digit number.\nThis is in the format YYYYMMDDXXXX, where:\n- YYYYMMDD is the date of birth.\n- XXXX is an individual number, indicating gender.\n            \nIf XXXX is even, the individual is female.\nIf XXXX is odd, the individual is male.",
            "nullable": true,
            "example": "20200101-1231"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual",
            "nullable": true,
            "example": "Ove"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual",
            "nullable": true,
            "example": "Henriksen"
          },
          "country": {
            "type": "string",
            "description": "The individual's country on the verified certificate. This is ISO 2-character code of the country.",
            "nullable": true,
            "example": "SE"
          },
          "certificatePolicy": {
            "type": "string",
            "description": "The object identifier policy of the individual's verified certificate",
            "nullable": true,
            "example": "1.2.752.78.1.1"
          },
          "commonName": {
            "type": "string",
            "description": "The common name of the individual's verified certificate",
            "nullable": true,
            "example": "Ove Henriksenn"
          },
          "distinguishedName": {
            "type": "string",
            "description": "The distinguished name of the individual's verified certificate",
            "nullable": true,
            "example": "N=Ove Henriksen, OID.2.5.4.41=(180427 13.09) Ove Henriksen - BankID på fil, SERIALNUMBER=19531​​0021935, GIVENNAME=Ove, SURNAME=Henriksen, O=Testbank A AB (publ), C=SE ​"
          },
          "personalIdentityNumberIssuingCountry": {
            "type": "string",
            "description": "The country that issued the Swedish personal number. This is an ISO 2-character code of the country and is extracted from the certificate. This will always be `SE`.",
            "nullable": true,
            "example": "SE"
          },
          "authenticationDeviceIp": {
            "type": "string",
            "description": "The IP address of the device used for authentication",
            "nullable": true,
            "example": "192.168.1.100"
          },
          "notBefore": {
            "type": "string",
            "description": "The certificate validity start date (not before) in UTC",
            "format": "date-time",
            "nullable": true,
            "example": "2024-01-01T00:00:00Z"
          },
          "notAfter": {
            "type": "string",
            "description": "The certificate validity end date (not after) in UTC",
            "format": "date-time",
            "nullable": true,
            "example": "2029-06-30T23:59:59Z"
          }
        },
        "description": "Exposed properties for the `sweden-bankid` Provider which do not directly map to the normalized IdentityData model."
      },
      "TrinsicTestDatabaseLookupInput": {
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "The given name to use for the output of the test Session.\n            \nThis is required; if not provided, Trinsic's Fallback UI will be invoked to collect it\nfrom the user.\n            \nCan be any non-empty value.",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "The family name to use for the output of the test Session.\n            \nThis is required; if not provided, Trinsic's Fallback UI will be invoked to collect it\nfrom the user.\n            \nCan be any non-empty value.",
            "nullable": true
          },
          "identityCode": {
            "type": "string",
            "description": "A 6-digit code; must be \"123456\" for the Session to succeed.\n            \nThis is required; if not provided, Trinsic's Fallback UI will be invoked to collect it\nfrom the user.\n            \nAny other value will cause the Session to fail.",
            "nullable": true
          },
          "selfieBase64": {
            "type": "string",
            "description": "An optional selfie image, base64-encoded.\n            \nWill replace the existing test selfie attachment output if provided.",
            "nullable": true
          }
        }
      },
      "TrinsicTestSubProvidersInput": {
        "type": "object",
        "properties": {
          "subProviderId": {
            "type": "string",
            "description": "The ID of the specific IDP to invoke within the test federated provider.\n            \nValid options are `sub-provider-a` and `sub-provider-b`.\n            \nIf not specified, the user will be prompted to select one.",
            "nullable": true
          }
        }
      },
      "UAEPassProviderOutput": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string",
            "description": "OIDC subject (`sub`) returned by UAE Pass.\n            \nThis is an opaque identifier for the authenticated user in the UAE Pass OIDC transaction. It can be\nprefixed or unprefixed; do not parse this value or assume it matches the Emirates ID number, UAE Pass\nUUID, or UAE unified ID.",
            "nullable": true,
            "example": "UAEPASS/7a05992e-3244-49d3-bcbc-7894c8fca25e"
          },
          "fullNameArabic": {
            "type": "string",
            "description": "Full name in Arabic.",
            "nullable": true,
            "example": "محمد أحمد"
          },
          "gender": {
            "type": "string",
            "description": "Normalized sex parsed from the UAE Pass gender value.\n            \nPossible values:\n- Male\n- Female\n- Unknown\n- NotApplicable\n            \nThis is null when the UAE Pass value cannot be parsed.",
            "nullable": true,
            "example": "Male"
          },
          "mobile": {
            "type": "string",
            "description": "Mobile number.",
            "nullable": true,
            "example": "+971501234567"
          },
          "lastNameEnglish": {
            "type": "string",
            "description": "Last name in the Latin-script value returned by UAE Pass.",
            "nullable": true,
            "example": "Ahmed"
          },
          "fullNameEnglish": {
            "type": "string",
            "description": "Full name in the Latin-script value returned by UAE Pass.",
            "nullable": true,
            "example": "Mohammed Ahmed"
          },
          "uaePassUuid": {
            "type": "string",
            "description": "UAE Pass UUID.\n            \nThe unique UAE Pass user identifier. It is separate from the OIDC subject identifier, Emirates ID\nnumber, and UAE unified ID.",
            "nullable": true,
            "example": "2f9c7bb1-1ef1-4cb8-a91f-ef5e6a8a4c16"
          },
          "smartPassUuid": {
            "type": "string",
            "description": "SmartPass unique user identifier, if returned.\n            \nSmartPass was a previous UAE government single-sign-on identity system. UAE Pass can return this\nlegacy identifier for SOP2 and SOP3 accounts that were verified through SmartPass.",
            "nullable": true,
            "example": "b1320896-fb2e-5140-baf0-fa915eb9be5d"
          },
          "lastNameArabic": {
            "type": "string",
            "description": "Last name in Arabic.",
            "nullable": true,
            "example": "أحمد"
          },
          "emiratesIdNumber": {
            "type": "string",
            "description": " Verified Emirates ID number, if returned for the user profile type and scope.\n\n The Emirates ID is issued by the Federal Authority for Identity, Citizenship, Customs and Port\n Security (ICP).\nThe number is a 15-digit identifier following the format 784-YYYY-NNNNNNN-C:\n The number is a 15-digit identifier following the format 784-YYYY-NNNNNNN-C:\n - 784: UAE ISO 3166-1 numeric country code.\n - YYYY: A year value, which could be birth year, registration year, or another year value. This should\n     not be relied upon to infer birth or registration details.\n - NNNNNNN: 7-digit random serial number for the individual.\n - C: Check digit.\n\n This field may not be returned for visitor profiles.",
            "nullable": true,
            "example": "784199012345676"
          },
          "idType": {
            "type": "string",
            "description": "ID type.\n            \nKnown values:\n- ID: Emirates ID or national identity document.\n            \nReturned for SOP2 and SOP3 citizen or resident profiles and SOP3 visitor profiles.",
            "nullable": true,
            "example": "ID"
          },
          "nationalityEnglish": {
            "type": "string",
            "description": "Nationality in the Latin-script value returned by UAE Pass.",
            "nullable": true,
            "example": "United Arab Emirates"
          },
          "firstNameEnglish": {
            "type": "string",
            "description": "First name in the Latin-script value returned by UAE Pass.",
            "nullable": true,
            "example": "Mohammed"
          },
          "userType": {
            "type": "string",
            "description": "UAE Pass user type.\n            \nPossible values:\n- SOP1: Basic account. Unverified account with verified email and mobile number.\n- SOP2: Advanced account. Verified account with Emirates ID verification through SmartPass,\n    Dubai ID, or Emirates ID PIN registration.\n- SOP3: Qualified account. Verified account with Emirates ID verification through finger\n    biometrics or face biometrics.",
            "nullable": true,
            "example": "SOP3"
          },
          "nationalityArabic": {
            "type": "string",
            "description": "Nationality in Arabic.",
            "nullable": true,
            "example": "الإمارات العربية المتحدة"
          },
          "firstNameArabic": {
            "type": "string",
            "description": "First name in Arabic.",
            "nullable": true,
            "example": "محمد"
          },
          "email": {
            "type": "string",
            "description": "Email address.",
            "nullable": true,
            "example": "mohammed.ahmed@example.ae"
          },
          "titleEnglish": {
            "type": "string",
            "description": "Title in the Latin-script value returned by UAE Pass.\n            \nReturned for SOP2 and SOP3 citizen or resident profiles and SOP3 visitor profiles.",
            "nullable": true,
            "example": "Dr."
          },
          "titleArabic": {
            "type": "string",
            "description": "Title in Arabic.\n            \nReturned for SOP2 and SOP3 citizen or resident profiles and SOP3 visitor profiles.",
            "nullable": true,
            "example": ".د"
          },
          "profileType": {
            "type": "integer",
            "description": "UAE Pass profile type, if returned for the requested scope.\n            \nPossible values:\n- 1: Citizen or resident profile.\n- 2: Visitor profile.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "unifiedId": {
            "type": "string",
            "description": "UAE unified ID, if returned for the requested scope.\n            \nA unique ID for the user. It is separate from the Emirates ID number, UAE Pass UUID, and OIDC\nsubject identifier.",
            "nullable": true,
            "example": "123456789"
          },
          "authenticationAssuranceLevel": {
            "type": "string",
            "description": "UAE Pass authentication assurance level, if present.\n            \nThis classifies the authentication policy that was satisfied for the session. Known values include:\n- urn:safelayer:tws:policies:authentication:level:low\n- urn:safelayer:tws:policies:authentication:level:high",
            "nullable": true,
            "example": "urn:safelayer:tws:policies:authentication:level:high"
          },
          "authenticationMethods": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "UAE Pass authentication methods, if present.\n            \nThis classifies the concrete methods used during authentication. Known values include:\n- urn:safelayer:tws:policies:authentication:adaptive:methods:mobileid\n- urn:uae:authentication:method:verified\n- urn:oasis:names:tc:SAML:1:0:am:password",
            "nullable": true,
            "example": [
              "urn:uae:authentication:method:verified"
            ]
          }
        },
        "description": "Exposed properties for the `uae-pass` Provider which do not directly map to the normalized IdentityData model."
      },
      "UgandaNidMatch2DateOfBirthField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The date of birth submitted for this check.",
            "format": "date",
            "nullable": true,
            "example": "2000-09-20"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted date of birth with NIRA database.\n            \nFor Uganda match, partial or transposed outcomes are not used; matching is exact or no match.\n            \nPossible values:\n- Exact Match\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Exact Match"
          }
        }
      },
      "UgandaNidMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "Uganda National ID number (NID) assigned by the National Identification and Registration Authority (NIRA).\n            \nFormat:\n- 14 alphanumeric characters (A-Z, 0-9)\n- There is no publicly documented encoding scheme for encoding personal information in the NID\n- No check digit or algorithm has been publicly documented by NIRA",
            "nullable": true
          },
          "secondaryIdNumber": {
            "type": "string",
            "description": "The card number on the document (secondary ID number).\nRequired for Uganda Basic KYC instead of first name and last name.",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format",
            "format": "date",
            "nullable": true
          }
        }
      },
      "UgandaNidMatch2NationalIdNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "Uganda National ID number (NID) assigned by the National Identification and Registration Authority (NIRA).\n            \nFormat:\n- 14 alphanumeric characters (A-Z, 0-9)\n- There is no publicly documented encoding scheme for encoding personal information in the NID\n- No check digit or algorithm has been publicly documented by NIRA",
            "nullable": true,
            "example": "AB12CD34EF5678"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of looking up the NID in NIRA database.\n            \nPossible values:\n- Verified\n- Not Verified\n- Not Done\n- Issuer Unavailable\n- Not Returned",
            "nullable": true,
            "example": "Verified"
          }
        }
      },
      "UgandaNidMatch2ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UgandaNidMatch2NationalIdNumberField"
              }
            ],
            "description": "Outcome of verifying the national identification number in the NIRA database.",
            "nullable": true
          },
          "secondaryIdNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UgandaNidMatch2SecondaryIdNumberField"
              }
            ],
            "description": "Outcome of comparing the submitted card number with the NIRA database.",
            "nullable": true
          },
          "dateOfBirth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UgandaNidMatch2DateOfBirthField"
              }
            ],
            "description": "Outcome of comparing the submitted date of birth with the NIRA database.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `uganda-nid-match-2` Provider which do not directly map to the normalized IdentityData model."
      },
      "UgandaNidMatch2SecondaryIdNumberField": {
        "type": "object",
        "properties": {
          "inputValue": {
            "type": "string",
            "description": "The card number on the national ID document, distinct from the National ID number.\n            \nFormat:\n- 9 numeric digits\n- There is no publicly documented encoding scheme for encoding personal information in the card number\n- No check digit or algorithm has been publicly documented by NIRA",
            "nullable": true,
            "example": "012345678"
          },
          "outcome": {
            "type": "string",
            "description": "The outcome of comparing the submitted card number with NIRA database.\n            \nPossible values:\n- Exact Match\n- No Match\n- Not Returned",
            "nullable": true,
            "example": "Exact Match"
          }
        }
      },
      "UkEvisaLookupInput": {
        "required": [
          "dateOfBirth",
          "shareCode"
        ],
        "type": "object",
        "properties": {
          "shareCode": {
            "maxLength": 9,
            "minLength": 9,
            "type": "string",
            "description": "The 9-character share code.",
            "example": "R9Z3X7K2P"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The user's date of birth, in `YYYY-MM-DD` format.",
            "format": "date"
          }
        }
      },
      "UnitedKingdomEvisaProviderOutput": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the individual as recorded on the eVisa.",
            "nullable": true,
            "example": "MUSA"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the individual as recorded on the eVisa.",
            "nullable": true,
            "example": "MOHAMMED"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1990-05-15"
          },
          "shareCode": {
            "type": "string",
            "description": "The 9-character share code used for the verification.",
            "nullable": true,
            "example": "W86BC8RAH"
          },
          "referenceNumber": {
            "type": "string",
            "description": "The eVisa reference number issued by UK Visas and Immigration (UKVI).",
            "nullable": true,
            "example": "ABC1234567"
          },
          "expirationDate": {
            "type": "string",
            "description": "The expiration date of the eVisa. Only present for immigration_status verifications.",
            "format": "date",
            "nullable": true,
            "example": "2028-12-31"
          },
          "validFrom": {
            "type": "string",
            "description": "The start date from which the eVisa is valid. Only returned for immigration_status and right_to_rent verifications — not returned for right_to_work.",
            "format": "date",
            "nullable": true,
            "example": "2024-01-15"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality of the individual as recorded on the eVisa. Only present for immigration_status verifications.",
            "nullable": true,
            "example": "NG"
          },
          "immigrationStatus": {
            "type": "string",
            "description": "The immigration status of the individual. Only present for immigration_status verifications.\nThis is a personalized record for each individual, and there is no single definitive list.\nSome common values:\n- Settled\n- Pre-settled\n- Student\n- Graduate\n- Youth Mobility\n- Global Talent\n- Skilled Worker\n- Limited leave",
            "nullable": true,
            "example": "Settled"
          },
          "outcome": {
            "type": "string",
            "description": "Overall verification outcome: \"pass\", \"fail\", or \"inconclusive\".\n\"inconclusive\" is returned for indefinite immigration statuses not yet on the provider's\nofficial list — identity details are still returned, but date validations cannot be performed.",
            "nullable": true,
            "example": "pass"
          },
          "evidenceType": {
            "type": "string",
            "description": "Type of verification.\nList of possible values:\n- immigration_status\n- right_to_work\n- right_to_rent",
            "nullable": true,
            "example": "immigration_status"
          }
        },
        "description": "Exposed properties for the `uk-evisa-lookup` Provider which do not directly map to the normalized IdentityData model."
      },
      "UsaCaliforniaDmvInput": {
        "type": "object",
        "properties": {
          "preview_raw18013Request": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Raw18013RequestInput"
              }
            ],
            "description": "The raw 18013-7 exchange request to use for this verification.\n            \nIf set, this overrides any default configuration on your Verification Profile.",
            "nullable": true
          }
        }
      },
      "VerificationProfileResponse": {
        "required": [
          "alias",
          "brandName",
          "enabledProviders",
          "id",
          "isProductionUsage",
          "logoUrl",
          "primaryColor",
          "sessionExpiration"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the verification profile",
            "format": "uuid"
          },
          "alias": {
            "type": "string",
            "description": "An alias of the verification profile shown to developers and administrators."
          },
          "brandName": {
            "type": "string",
            "description": "The brand name of the verification profile shown to end-users."
          },
          "externalId": {
            "type": "string",
            "description": "A customer-defined external ID for this verification profile, unique within your organization.",
            "nullable": true
          },
          "logoUrl": {
            "type": "string",
            "description": "The URL of the verification profile's logo."
          },
          "primaryColor": {
            "type": "string",
            "description": "The primary color of the verification profile."
          },
          "enabledProviders": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The providers that are currently enabled for the verification profile."
          },
          "sessionExpiration": {
            "type": "string",
            "description": "The session expiration for verification sessions created with this profile.",
            "format": "date-span"
          },
          "isProductionUsage": {
            "type": "boolean",
            "description": "Whether this profile is for production usage. Only applicable for Live environment profiles."
          }
        }
      },
      "YotiDeeplinkProviderOutput": {
        "type": "object",
        "properties": {
          "yotiRememberMeId": {
            "type": "string",
            "description": "A Yoti-generated unique ID for this individual, consistent across repeat shares and different for each Relying Party.",
            "nullable": true,
            "example": "Ic3NCB/dWVB1k4QPOD98IpDJ8ut04 lPHPSNV0RWikAc+szH2NrZFK1 nG+cZgaXe8"
          },
          "email": {
            "type": "string",
            "description": "The email address of the individual",
            "nullable": true,
            "example": "johndoe@example.com"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual. This can correspond to first and middle names in English.",
            "nullable": true,
            "example": "John Alvin"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual",
            "nullable": true,
            "example": "Doe"
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the individual which is composed of the given and family name.\nUnverified full name may be safe to use. For example, Aadhaar card provides full name, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true,
            "example": "John Alvin Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.\nUnverified date of birth may be safe to use. For example, Aadhaar card provides date of birth, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual. Depending on the source or country, gender may not be verified. This is a setting that can be configured while setting up scopes.\n            \nUnverified gender may be safe to use. For example, Aadhaar card provides gender, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".\nIn some countries\nPossible values:\n- \"MALE\"\n- \"FEMALE\"\n- \"TRANSGENDER\"\n- \"OTHER\"",
            "nullable": true,
            "example": "MALE"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality of the individual as a ISO alpha-3 code",
            "nullable": true,
            "example": "GBR"
          },
          "mobileNumber": {
            "type": "string",
            "description": "The mobile phone number of the individual. This number was verified with a one time password (OTP) during the individual's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the individual's identity.",
            "nullable": true,
            "example": "+447777123456"
          },
          "structuredPostalAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiStructuredPostalAddress"
              }
            ],
            "description": "A structured postal address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\".\nUnverified addresses may be safe to use. For example, Aadhaar card provides an address, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true
          },
          "postalAddress": {
            "type": "string",
            "description": "The whole address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\". The format of this will be different for each country.\nRefer to `StructuredPostalAddress` for a detailed version of the address.",
            "nullable": true,
            "example": "6th Floor, 107 Leadenhall St, London, EC3A 4AF"
          },
          "documentDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiDocumentDetails"
              }
            ],
            "description": "The details of the underlying document used to help create the Yoti credential",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `yoti-deeplink` Provider which do not directly map to the normalized IdentityData model."
      },
      "YotiDocumentDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of document used to create the Yoti credential.\n            \nPossible values:\n- PASSPORT: A government-issued identity document\n- DRIVING_LICENCE: A government-issued identity card\n- NATIONAL_ID: A government-issued identity card\n- PASS_CARD: A physical or digital identity card that is accredited by the UK's national Proof of Age Standards Scheme (PASS)",
            "nullable": true,
            "example": "PASSPORT"
          },
          "issuingCountry": {
            "type": "string",
            "description": "The issuing country's ISO alpha-3 code",
            "nullable": true,
            "example": "GBR"
          },
          "documentNumber": {
            "type": "string",
            "description": "The arbitrary document number for the provided document type",
            "nullable": true,
            "example": "123456789"
          },
          "expirationDate": {
            "type": "string",
            "description": "The document's expiration date in YYYY-MM-DD format",
            "format": "date",
            "nullable": true,
            "example": "2016-03-21"
          },
          "issuingAuthority": {
            "type": "string",
            "description": "The document's issuing authority. This can either be a country code as a specified ISO alpha-3 or the name of the issuing authority.",
            "nullable": true,
            "example": "GBR"
          }
        }
      },
      "YotiProviderOutput": {
        "type": "object",
        "properties": {
          "yotiRememberMeId": {
            "type": "string",
            "description": "A Yoti-generated unique ID for this individual, consistent across repeat shares and different for each Relying Party.",
            "nullable": true,
            "example": "Ic3NCB/dWVB1k4QPOD98IpDJ8ut04 lPHPSNV0RWikAc+szH2NrZFK1 nG+cZgaXe8"
          },
          "email": {
            "type": "string",
            "description": "The email address of the individual",
            "nullable": true,
            "example": "johndoe@example.com"
          },
          "givenName": {
            "type": "string",
            "description": "The given name of the individual. This can correspond to first and middle names in English.",
            "nullable": true,
            "example": "John Alvin"
          },
          "familyName": {
            "type": "string",
            "description": "The family name of the individual",
            "nullable": true,
            "example": "Doe"
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the individual which is composed of the given and family name.\nUnverified full name may be safe to use. For example, Aadhaar card provides full name, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true,
            "example": "John Alvin Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the individual.\nUnverified date of birth may be safe to use. For example, Aadhaar card provides date of birth, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "format": "date",
            "nullable": true,
            "example": "1985-01-31"
          },
          "gender": {
            "type": "string",
            "description": "The gender of the individual. Depending on the source or country, gender may not be verified. This is a setting that can be configured while setting up scopes.\n            \nUnverified gender may be safe to use. For example, Aadhaar card provides gender, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".\nIn some countries\nPossible values:\n- \"MALE\"\n- \"FEMALE\"\n- \"TRANSGENDER\"\n- \"OTHER\"",
            "nullable": true,
            "example": "MALE"
          },
          "nationality": {
            "type": "string",
            "description": "The nationality of the individual as a ISO alpha-3 code",
            "nullable": true,
            "example": "GBR"
          },
          "mobileNumber": {
            "type": "string",
            "description": "The mobile phone number of the individual. This number was verified with a one time password (OTP) during the individual's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the individual's identity.",
            "nullable": true,
            "example": "+447777123456"
          },
          "structuredPostalAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiStructuredPostalAddress"
              }
            ],
            "description": "A structured postal address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\".\nUnverified addresses may be safe to use. For example, Aadhaar card provides an address, but due to certain limitations of verifying Aadhaar, Yoti is unable to verify this property so it is listed as \"unverified\".",
            "nullable": true
          },
          "postalAddress": {
            "type": "string",
            "description": "The whole address for the individual that comes from the underlying document or can be manually added. In the case of being manually added, the address is considered \"unverified\". The format of this will be different for each country.\nRefer to `StructuredPostalAddress` for a detailed version of the address.",
            "nullable": true,
            "example": "6th Floor, 107 Leadenhall St, London, EC3A 4AF"
          },
          "documentDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/YotiDocumentDetails"
              }
            ],
            "description": "The details of the underlying document used to help create the Yoti credential",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `yoti` Provider which do not directly map to the normalized IdentityData model."
      },
      "YotiStructuredPostalAddress": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "The address's country. This field does not have a specified format, but is recommended to use for the country field.",
            "nullable": true,
            "example": "UK"
          },
          "countryIso": {
            "type": "string",
            "description": "The address's ISO alpha-3 country code",
            "nullable": true,
            "example": "USA"
          },
          "formattedAddress": {
            "type": "string",
            "description": "The whole address in proper order and formatted with line breaks.\n            \nExamples:\nUnited Kingdom: \"15a North Street\\nCARSHALTON\\nSM5 2HW\\nUK\"\nIndia: \"S/O: Vipen Kumar Aggarwal\\nHouse No.86-A\\nRajguru Nagar\\nLudhiana\\nPunjab\\n141012\\nIndia\"\nUnited States of America: \"1512 Ferry Street\\nAnniston AL 36201\\nUSA\"",
            "nullable": true,
            "example": "15a North Street\\nCARSHALTON\\nSM5 2HW\\nUK"
          },
          "line1": {
            "type": "string",
            "description": "The first line of the address",
            "nullable": true,
            "example": "15a North Street"
          },
          "line2": {
            "type": "string",
            "description": "The second line of the address",
            "nullable": true,
            "example": "15a North Street"
          },
          "line3": {
            "type": "string",
            "description": "The third line of the address",
            "nullable": true,
            "example": "15a North Street"
          },
          "line4": {
            "type": "string",
            "description": "The fourth line of the address",
            "nullable": true,
            "example": "15a North Street"
          },
          "townCity": {
            "type": "string",
            "description": "The address's town or city",
            "nullable": true,
            "example": "Los Angeles"
          },
          "state": {
            "type": "string",
            "description": "The address's state. This is an optional field that may only appear for US addresses.",
            "nullable": true,
            "example": "CA"
          },
          "postalCode": {
            "type": "string",
            "description": "The address's postal code",
            "nullable": true,
            "example": "SM5 2HW"
          },
          "buildingNumber": {
            "type": "string",
            "description": "The address's building number",
            "nullable": true,
            "example": "15a"
          },
          "building": {
            "type": "string",
            "description": "The address's building name",
            "nullable": true,
            "example": "House No.86-A"
          },
          "subBuilding": {
            "type": "string",
            "description": "The address's sub building or specific part of the building",
            "nullable": true,
            "example": "Apt 4B"
          },
          "locality": {
            "type": "string",
            "description": "The address'ss locality can be an area, a village, a region, or a known neighborhood",
            "nullable": true,
            "example": "FRAMINGHAM PIGOT"
          },
          "deliveryPointReferenceNumber": {
            "type": "string",
            "description": "The unique delivery point reference number. This is an 8-digit code used in the UK for identifying delivery addresses.",
            "nullable": true,
            "example": "23747208"
          },
          "landmark": {
            "type": "string",
            "description": "The address's landmark. A landmark is a recognizable feature or place that helps locate the address. This optional field may appear only for Indian addresses.",
            "nullable": true,
            "example": "Behind Bank XYZ"
          },
          "subdistrict": {
            "type": "string",
            "description": "The address's subdistrict. This optional field may appear only for Indian addresses.",
            "nullable": true,
            "example": "Ludhiana"
          },
          "district": {
            "type": "string",
            "description": "The address's district. This optional field may appear only for Indian addresses.",
            "nullable": true,
            "example": "Ludhiana"
          },
          "postOffice": {
            "type": "string",
            "description": "The address's post office. This optional field may appear only for Indian addresses.",
            "nullable": true,
            "example": "Rajguru Nagar"
          },
          "careOf": {
            "type": "string",
            "description": "The address's care-of field. This indicates that mail should be delivered to an individual through another person or entity who is a known resident at the address.\nThis optional field may appear only for Indian addresses.",
            "nullable": true,
            "example": "Jane Doe"
          }
        }
      },
      "ZimbabweNidLookup2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "Zimbabwe National ID number (NID) issued by the Zimbabwean government.\n            \nFormat:\n- 8-9 digits followed by 1 letter and 2 digits\n- Regex: /^[0-9]{8,9}[A-Za-z]\\d{2}$/\n- There is no publicly documented encoding scheme for encoding personal information in the NID\n- No check digit or algorithm has been publicly documented by the Zimbabwean government",
            "nullable": true
          }
        }
      },
      "ZimbabweNidLookup2ProviderOutput": {
        "type": "object",
        "properties": {
          "nationalIdNumber": {
            "type": "string",
            "description": "Zimbabwe National ID number (NID) issued by the Zimbabwean government.\n            \nFormat:\n- 8-9 digits followed by 1 letter and 2 digits\n- Regex: /^[0-9]{8,9}[A-Za-z]\\d{2}$/\n- There is no publicly documented encoding scheme for encoding personal information in the NID\n- No check digit or algorithm has been publicly documented by the Zimbabwean government",
            "nullable": true,
            "example": "12345678A12"
          },
          "givenName": {
            "type": "string",
            "description": "Given name(s) of the individual.",
            "nullable": true,
            "example": "ELIZABETH MARY"
          },
          "familyName": {
            "type": "string",
            "description": "Family name of the individual.",
            "nullable": true,
            "example": "MOYO"
          },
          "fullName": {
            "type": "string",
            "description": "Full name of the individual.",
            "nullable": true,
            "example": "ELIZABETH MARY MOYO"
          },
          "sex": {
            "type": "string",
            "description": "Sex of the individual.\n            \nPossible values:\n- Male\n- Female\n- Not Applicable\n- Unknown",
            "nullable": true,
            "example": "Female"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth of the individual.",
            "format": "date",
            "nullable": true,
            "example": "1940-11-01"
          },
          "placeOfBirth": {
            "type": "string",
            "description": "Place of birth, typically a municipality or city within Zimbabwe.",
            "nullable": true,
            "example": "Harare"
          },
          "isAlive": {
            "type": "boolean",
            "description": "Whether individual is reported as alive by the Zimbabwean government.",
            "nullable": true,
            "example": false
          },
          "dateOfDeath": {
            "type": "string",
            "description": "Date of death of the individual, when available.",
            "format": "date",
            "nullable": true,
            "example": "2024-01-10"
          }
        },
        "description": "Exposed properties for the `zimbabwe-nid-lookup-2` Provider which do not directly map to the normalized IdentityData model."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Trinsic Connect API Key",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "Providers"
    },
    {
      "name": "RedirectUris"
    },
    {
      "name": "Sessions"
    },
    {
      "name": "VerificationProfiles"
    }
  ]
}