{
  "openapi": "3.0.4",
  "info": {
    "title": "Trinsic API",
    "version": "v1",
    "x-swaggerexclude": "External"
  },
  "servers": [
    {
      "url": "https://api.trinsic.id",
      "description": "Production server"
    }
  ],
  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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"
            },
            "example": "Created"
          },
          {
            "name": "OrderDirection",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/OrderDirection"
                }
              ],
              "example": "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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 configruation",
                  "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/widget": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Create Widget Session",
        "description": "Verify a user's identity using Trinsic's hosted Widget flow.",
        "operationId": "CreateWidgetSession",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateWidgetSessionRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateWidgetSessionRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "required": [
                  "verificationProfileId"
                ],
                "allOf": [
                  {
                    "$ref": "#/components/schemas/CreateWidgetSessionRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CreateWidgetSessionResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateWidgetSessionResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateWidgetSessionResponse"
                }
              }
            }
          },
          "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 configruation",
                  "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 configruation",
                  "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"
                  },
                  "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"
                },
                "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 configruation",
                  "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 configruation",
                  "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": {
      "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"
          },
          "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 formatted as an alpha-2 country code.",
            "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"
          }
        }
      },
      "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": {
        "required": [
          "languageName"
        ],
        "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 attempting to map the language from the code. This is based on the spec, however, the language code may be inaccurate with the actual language used.\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)",
            "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": "રાજેશ કુમાર"
          },
          "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": "પિતા: પ્રિયા કુમારી"
          },
          "country": {
            "type": "string",
            "description": "The address's country.",
            "nullable": true,
            "example": "ભારત"
          },
          "district": {
            "type": "string",
            "description": "The address's district.",
            "nullable": true,
            "example": "અમદાવાદ"
          },
          "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": "નવરંગપુરા"
          },
          "landmark": {
            "type": "string",
            "description": "A landmark near the address.",
            "nullable": true,
            "example": "સિટી મોલ પાસે"
          },
          "postalCode": {
            "type": "string",
            "description": "The address's postal code.",
            "nullable": true,
            "example": "226010"
          },
          "state": {
            "type": "string",
            "description": "The address's state or union territory.",
            "nullable": true,
            "example": "ગુજરાત"
          },
          "street": {
            "type": "string",
            "description": "The address's street name.",
            "nullable": true,
            "example": "મહાત્મા ગાંધી રોડ"
          },
          "villageTownCity": {
            "type": "string",
            "description": "The address's village/town/city.",
            "nullable": true,
            "example": "અમદાવાદ"
          }
        }
      },
      "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"
      },
      "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
          }
        }
      },
      "AppleWalletProviderOutput": {
        "required": [
          "rawMdlOutput"
        ],
        "type": "object",
        "properties": {
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the mDL exchange performed through Apple Wallet."
          }
        },
        "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."
        }
      },
      "AustriaHandySignaturProviderOutput": {
        "required": [
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          }
        },
        "description": "Exposed properties for the `a-at-handy-signatur-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "BelgiumIdCardProviderOutput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "nationalRegisterNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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.",
            "example": "83122412413"
          }
        },
        "description": "Exposed properties for the `a-be-id-login` 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"
          }
        }
      },
      "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"
              }
            ]
          }
        }
      },
      "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"
          }
        }
      },
      "ConnectIdBeneficiaryAccount": {
        "type": "object",
        "properties": {
          "beneficiaryName": {
            "type": "string",
            "description": "The beneficiary's name.",
            "nullable": true,
            "example": "Olivia Smith"
          },
          "accountBankStateBranch": {
            "type": "string",
            "description": "The bank state branch (BSB) which the account belongs to.\n            \nThis will be a six-digit number.",
            "nullable": true,
            "example": "064001"
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number.",
            "nullable": true,
            "example": "96688384"
          },
          "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"
          },
          "beneficiaryAccount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ConnectIdBeneficiaryAccount"
              }
            ],
            "description": "The beneficiary account that has been designated by the individual.",
            "nullable": true
          },
          "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
          }
        }
      },
      "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
          },
          "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."
          },
          "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            \nThere are two recommended ways to do so:\n- Redirect their browser to the `LaunchUrl` as a top-level navigation\n- Open a popup window and navigate it to the `LaunchUrl`\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"
          }
        }
      },
      "CreateWidgetSessionRequest": {
        "required": [
          "verificationProfileId"
        ],
        "type": "object",
        "properties": {
          "verificationProfileId": {
            "type": "string",
            "description": "The ID of the Verification Profile to use for this session.",
            "format": "uuid"
          },
          "redirectUrl": {
            "type": "string",
            "description": "The URL to redirect the user to after the widget session is complete.\n            \n*Note*: this should NOT be set if you intend to use Trinsic's Web UI SDK to launch the Widget\nas a popup; in that case, session resolution is handled by our SDK, not via redirect.",
            "nullable": true
          },
          "providers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of allowed identity providers. If not specified, all available providers will be allowed.",
            "nullable": true
          },
          "recommendationInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RecommendationInfo"
              }
            ],
            "description": "Data that you already know about the user being verified.\n\n\nThis data is used to improve the user experience during provider selection, by surfacing the most relevant providers first.",
            "nullable": true
          }
        }
      },
      "CreateWidgetSessionResponse": {
        "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 invoke the Acceptance Session on your user's device.\n            \nYou can use our frontend SDKs to launch the user into the Acceptance Session, or you can redirect the user's browser to this URL.\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..."
          }
        }
      },
      "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 user 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
          },
          "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": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "openId2Identifier"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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 user within the MojeID system.",
            "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."
      },
      "DigilockerAadhaarProviderOutput": {
        "required": [
          "documentSignatureValidated"
        ],
        "type": "object",
        "properties": {
          "documentType": {
            "type": "string",
            "description": "The document type from which the identity data was retrieved from.\n            \nPossible values:\n- ADHAR\n- PANCR",
            "nullable": true,
            "example": "ADHAR"
          },
          "documentSignatureValidated": {
            "type": "boolean",
            "description": "Whether the downloaded Aadhaar document signature and certificate chain validation succeeded.\n            \nIn some cases, the document may not be returned, but the data is. When the document is received, a certificate validation is performed. When it is not, the signature can not be validated.",
            "example": true
          },
          "timestamp": {
            "type": "string",
            "description": "The timestamp when the signed document was generated and verified.\n            \nThis is parsed as a date-time value. Aadhaar may omit timezone information.",
            "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.\n            \nThis is parsed as a date-time value. Aadhaar may omit timezone information.",
            "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 signed Aadhaar document.",
            "nullable": true
          },
          "localizedClaims": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AadhaarLocalizedClaims"
              }
            ],
            "description": "The localized claims extracted from the signed Aadhaar document.",
            "nullable": true
          }
        },
        "description": "Exposed properties for the `india-digilocker-aadhaar` Provider which do not directly map to the normalized IdentityData model."
      },
      "DocumentData": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentType"
              }
            ],
            "description": "The type of the document.",
            "nullable": true,
            "example": "DriversLicense"
          },
          "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": ""
        }
      },
      "EstoniaIdCardProviderOutput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "personalIdentificationCode"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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).",
            "example": "39006301234"
          }
        },
        "description": "Exposed properties for the `a-ee-web-eid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "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 user was initially registered.\n            \nSince Fayda does not return identifying data, it is the responsibility of the relying party to keep the unique user token received from Fayda when\nthe user 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": "يوهانس تيسفاي"
          }
        },
        "description": "Exposed properties for the `ethiopia-fayda` Provider which do not directly map to the normalized IdentityData model."
      },
      "FinlandIdCardProviderOutput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "personalIdentificationCode"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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).",
            "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 user has self asserted their identity and multifactor authentication is not required.\n- Substantial: The user has performed either a remote or in-person identity verification and multifactor authentication is required.\n- High: The user 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 user 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."
      },
      "FrejaIndirectProviderOutput": {
        "required": [
          "firstName",
          "lastName",
          "personalNumber",
          "personalNumberCountry"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "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.",
            "example": "200003276624"
          },
          "personalNumberCountry": {
            "type": "string",
            "description": "The 2-digit ISO country code of the country which issued the personal number.",
            "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 user 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."
      },
      "FrenchNumeriqueGivenName": {
        "type": "object",
        "properties": {
          "fullGivenName": {
            "type": "string",
            "description": "Full given name(s) as recorded on the user's French identity document.\nIf the user has multiple given names, they are separated by a single space.",
            "nullable": true,
            "example": "Jean Pierre"
          },
          "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 information including the full given name and its structured components."
      },
      "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."
      },
      "FrenchNumeriquePhone": {
        "type": "object",
        "properties": {
          "fullPhoneNumber": {
            "type": "string",
            "description": "Full phone number including country prefix.",
            "nullable": true,
            "example": "+33606060606"
          },
          "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 information including the full phone number and its structured components."
      },
      "FrenchNumeriqueProviderOutput": {
        "type": "object",
        "properties": {
          "givenName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrenchNumeriqueGivenName"
              }
            ],
            "description": "Given name information including the full given name and its structured components\n(first name and middle name(s)).",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "Birth name (nom de naissance) as recorded on the user'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 user'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 user has reached the\nFrench age of legal majority (18 years old). This value is computed by\nthe provider from the user's birthdate.",
            "nullable": true,
            "example": true
          },
          "phoneNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FrenchNumeriquePhone"
              }
            ],
            "description": "Phone number information including the full phone number and its structured components\n(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 user'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 user'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 user'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.\nUsers 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."
      },
      "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 raw file contents of the Attachment",
            "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
          }
        }
      },
      "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
          }
        }
      },
      "GoogleWalletProviderOutput": {
        "required": [
          "rawMdlOutput"
        ],
        "type": "object",
        "properties": {
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the mDL exchange performed through Google Wallet."
          }
        },
        "description": "Exposed properties for the `google-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "HttpValidationProblemDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProblemDetails"
          },
          {
            "type": "object",
            "properties": {
              "errors": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "additionalProperties": { }
          }
        ]
      },
      "IdentityData": {
        "required": [
          "attachments"
        ],
        "type": "object",
        "properties": {
          "originatingProviderId": {
            "type": "string",
            "description": "The ID of the provider from which this data originated (eg \"yoti\", \"clear\")",
            "nullable": true
          },
          "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
          }
        }
      },
      "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
          }
        }
      },
      "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"
          }
        }
      },
      "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, either in a new tab, pop-up, or top-level navigation.",
          "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, either in a new tab, pop-up, or top-level navigation.",
              "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 an Direct Provider Session"
      },
      "ItsmeProviderOutput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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"
          }
        },
        "description": "Exposed properties for the `a-itsme-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "KenyaNidBiometric2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's Kenyan National ID number",
            "nullable": true
          },
          "livenessImages": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            },
            "description": "An array of exactly 8 images required for biometric liveness verification.\nThe first 7 images should be liveness frames captured during the liveness detection process,\nand the last image (8th) should be a selfie of the user. All images must be in JPEG format\nand each image must be less than 15MB in size.",
            "nullable": true
          },
          "testSelfie": {
            "type": "string",
            "description": "Test selfie for test environment (optional, maximum 15MB). Must be JPEG format.",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "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 user's National ID number",
            "nullable": true
          }
        }
      },
      "KenyaNidLookup2ProviderOutput": {
        "required": [
          "citizenship",
          "firstName",
          "idNumber",
          "serialNumber",
          "sex",
          "surname"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name (given name) of the ID holder as recorded in IPRS.",
            "example": "JUMA"
          },
          "surname": {
            "type": "string",
            "description": "The surname (family name) of the ID holder as recorded in IPRS.",
            "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",
            "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.",
            "example": "Kenyan"
          },
          "idNumber": {
            "type": "string",
            "description": "The Kenya National ID Number (Nambari ya Kitambulisho).\n            \nThis is the primary unique identifier for Kenyan citizens in all government systems, issued by\nthe National Registration Bureau (NRB). The format is 1 to 9 numeric digits (regex: /^[0-9]{1,9}$/).\nThis number is assigned upon first registration at age 18 (or upon naturalization for new citizens)\nand remains constant for life.",
            "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).",
            "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."
      },
      "KenyaNidMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's Kenyan National ID number",
            "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
          }
        }
      },
      "KenyaNidMatch2InputSex": {
        "enum": [
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Male": "",
          "Female": ""
        }
      },
      "LaWalletProviderOutput": {
        "required": [
          "addressCity",
          "addressLine1",
          "addressState",
          "addressZip",
          "auditNumber",
          "coarseAge",
          "county",
          "dateOfBirth",
          "driversLicenseNumber",
          "expirationDate",
          "firstName",
          "issueDate",
          "lastName",
          "licenseClass",
          "licenseStatus",
          "middleName",
          "sex"
        ],
        "type": "object",
        "properties": {
          "driversLicenseNumber": {
            "type": "string",
            "description": "The number of the driver's license used to create the LA Wallet credential",
            "example": "001234567"
          },
          "issueDate": {
            "type": "string",
            "description": "The issue date of the driver's license used to create the LA Wallet credential",
            "format": "date",
            "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",
            "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",
            "example": "1234"
          },
          "licenseStatus": {
            "type": "string",
            "description": "The license status from the LA Wallet credential",
            "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",
            "example": "E"
          },
          "firstName": {
            "type": "string",
            "description": "The first name from the LA Wallet credential",
            "example": "JOHN"
          },
          "middleName": {
            "type": "string",
            "description": "The middle name from the LA Wallet credential",
            "example": "JACOB"
          },
          "lastName": {
            "type": "string",
            "description": "The last name from the LA Wallet credential",
            "example": "DOE"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth from the LA Wallet credential",
            "format": "date",
            "example": "1990-01-15"
          },
          "sex": {
            "type": "string",
            "description": "The sex from the LA Wallet credential",
            "example": "Male"
          },
          "addressLine1": {
            "type": "string",
            "description": "The address' line 1 from the LA Wallet credential",
            "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",
            "example": "BATON ROUGE"
          },
          "addressState": {
            "type": "string",
            "description": "The address' state from the LA Wallet credential",
            "example": "LA"
          },
          "addressZip": {
            "type": "string",
            "description": "The address' ZIP from the LA Wallet credential",
            "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.",
            "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\"",
            "example": "Over 21"
          }
        },
        "description": "Exposed properties for the `usa-louisiana-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "LatviaEparakstsMobileProviderOutput": {
        "required": [
          "firstName",
          "lastName",
          "personalCode"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "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.",
            "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": {
        "required": [
          "firstName",
          "lastName",
          "personalCode"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "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.",
            "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": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "personalCode"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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.",
            "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": {
          "rememberMeId": {
            "type": "string",
            "description": "The unique id for your service of the individual. This is not shared between different services so if the user logs into a different service, the user will have a new id for the other service.",
            "format": "uuid",
            "nullable": true,
            "example": "9F63FF98-E1E3-433C-9B86-7C697D0B4E5F"
          },
          "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 user's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the user'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": {
        "required": [
          "documentSignerCertificate",
          "documentType",
          "iacaRootCertificate",
          "nameSpaces"
        ],
        "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 mDL.",
            "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 mDL presented by the user.",
            "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 mDL presented by the user.\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",
            "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.",
            "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": {
        "required": [
          "commonName",
          "notAfter",
          "notBefore",
          "serialNumber",
          "stateOrProvinceName"
        ],
        "type": "object",
        "properties": {
          "serialNumber": {
            "type": "string",
            "description": "The serial number of the certificate",
            "example": "535868140170056787981774412188464491855209169584"
          },
          "commonName": {
            "type": "string",
            "description": "The common name (CN) of the certificate",
            "example": "California DMV IACA Root"
          },
          "stateOrProvinceName": {
            "type": "string",
            "description": "The stateOrProvinceName field from the signing certificate.\n            \nPer the ISO 18013-5 (mDL) spec, this is an ISO 3166-2:2020 country subdivision code (e.g., \"US-CA\" for California, USA).\n            \nMay be an empty string for certificates which are not state-specific (e.g., Google Wallet's ID Pass certificates).",
            "example": "US-CA"
          },
          "notBefore": {
            "type": "string",
            "description": "The date before which this certificate is not valid.",
            "format": "date-time",
            "example": "2023-03-01T17:17:39.000Z"
          },
          "notAfter": {
            "type": "string",
            "description": "The date after which this certificate is not valid.",
            "format": "date-time",
            "example": "2033-01-07T17:17:39.000Z"
          }
        }
      },
      "MdlOutputFieldData": {
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutputFieldDataType"
              }
            ],
            "description": "The type of data contained in `value`.",
            "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.",
            "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": {
          "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"
          }
        },
        "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 user 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 user has self asserted their identity and is neither verified nor validated.\n- https://data.gov.dk/concept/core/nsis/Substantial - (Level 2) The user has performed either a remote or in-person identity proofing.\n- https://data.gov.dk/concept/core/nsis/High - (Level 3) The user 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 user has self asserted their identity and multifactor authentication is not required.\n- https://data.gov.dk/concept/core/nsis/Substantial - (Level 3) The user 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 user 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 a user in behalf of a 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 user is authorized to represent.\nThis is only returned if the requested scope is for an organization verification and the user provides a private source in 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."
      },
      "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
          }
        }
      },
      "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."
      },
      "NigeriaNinBiometric2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's Nigerian National ID number (NIN)",
            "nullable": true
          },
          "livenessImages": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            },
            "description": "An array of exactly 8 images required for biometric liveness verification.\nThe first 7 images should be liveness frames captured during the liveness detection process,\nand the last image (8th) should be a selfie of the user. All images must be in JPEG format\nand each image must be less than 15MB in size.",
            "nullable": true
          },
          "testSelfie": {
            "type": "string",
            "description": "Test selfie for test environment (optional, maximum 15MB). Must be JPEG format.",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "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": "The user's National ID number (NIN)",
            "nullable": true
          }
        }
      },
      "NigeriaNinLookup2ProviderOutput": {
        "required": [
          "firstName",
          "nationalIdentityNumber",
          "surname"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name (given name) of the ID holder.",
            "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.",
            "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\nupon enrollment.\n            \nFormat: 11 numeric digits (regex: /^[0-9]{11}$/). The digits are validated using the Verhoeff\nalgorithm, meaning the last digit serves as a check digit.",
            "example": "12345678901"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number registered with the National Identity Management Commission.",
            "nullable": true,
            "example": "+2340123456789"
          },
          "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."
      },
      "NigeriaNinMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's Nigerian National ID number (NIN)",
            "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
          },
          "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": ""
        }
      },
      "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 user 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 user has self asserted their identity and multifactor authentication is not required.\n- Substantial: The user has performed either a remote or in-person identity verification and multifactor authentication is required.\n- High: The user 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"
          }
        }
      },
      "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
          },
          "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": {
        "required": [
          "district",
          "province",
          "region"
        ],
        "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.",
            "example": "CUSCO"
          },
          "province": {
            "type": "string",
            "description": "Province within the region. This is the second level subdivision in the country.\n            \nFormat:\n- All uppercase.",
            "example": "URUBAMBA"
          },
          "district": {
            "type": "string",
            "description": "District within the province. This is the third level subdivision in the country.\n            \nFormat:\n- All uppercase.",
            "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": {
        "required": [
          "arrayName",
          "documentNumber",
          "documentType",
          "firstName",
          "fullName",
          "lastName",
          "maternalLastName",
          "paternalLastName"
        ],
        "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
          },
          "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.",
            "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 user'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",
            "example": "19050215"
          },
          "documentType": {
            "type": "string",
            "description": "Should always be \"DNI\".",
            "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",
            "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",
            "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",
            "example": "QUISPE MAMANI"
          },
          "maternalLastName": {
            "type": "string",
            "description": "Maternal last name as it appears on DNI.\n            \nFormat:\n- All uppercase",
            "example": "MAMANI"
          },
          "paternalLastName": {
            "type": "string",
            "description": "Paternal last name as it appears on DNI.\n            \nFormat:\n- All uppercase",
            "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": {
        "required": [
          "philsysCardNumber"
        ],
        "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.",
            "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."
      },
      "PhilippinesPhysicalNidProviderOutput": {
        "required": [
          "philsysCardNumber"
        ],
        "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.",
            "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": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "nationalIdentificationNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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.",
            "example": "90063014513"
          }
        },
        "description": "Exposed properties for the `a-edoapp-eid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "PolandMojeIdProviderOutput": {
        "required": [
          "firstName",
          "lastName",
          "nationalIdentificationNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "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.",
            "example": "90063014513"
          }
        },
        "description": "Exposed properties for the `a-pl-mojeid-login` Provider which do not directly map to the normalized IdentityData model."
      },
      "PortugalIdCardProviderOutput": {
        "required": [
          "civilIdentificationNumber",
          "dateOfBirth",
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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.",
            "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": {
          "rememberMeId": {
            "type": "string",
            "description": "The unique id for your service of the individual. This is not shared between different services so if the user logs into a different service, the user will have a new id for the other service.",
            "format": "uuid",
            "nullable": true,
            "example": "9F63FF98-E1E3-433C-9B86-7C697D0B4E5F"
          },
          "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 user's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the user'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",
          "description",
          "geography",
          "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"
          },
          "description": {
            "type": "string",
            "description": "A description of the provider's capabilities",
            "readOnly": true,
            "example": "Identity verification via government ID and biometrics",
            "deprecated": true
          },
          "geography": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Geographic regions where this provider operates",
            "example": [
              "Global"
            ],
            "deprecated": true
          },
          "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, either in a new tab, pop-up, or top-level navigation.",
              "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
          },
          "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": {
          "kenya-nid-match-biometric-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KenyaNidBiometric2Input"
              }
            ],
            "description": "Input for the `kenya-nid-match-biometric-2` provider",
            "nullable": true
          },
          "indonesia-nik-lookup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IndonesiaNikInput"
              }
            ],
            "description": "Input for the `indonesia-nik-lookup` 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
          },
          "south-africa-nid-match-biometric-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SouthAfricaNidBiometric2Input"
              }
            ],
            "description": "Input for the `south-africa-nid-match-biometric-2` provider",
            "nullable": true
          },
          "nigeria-nin-lookup-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinLookup2Input"
              }
            ],
            "description": "Input for the `nigeria-nin-lookup-2` 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-match-biometric-2": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NigeriaNinBiometric2Input"
              }
            ],
            "description": "Input for the `nigeria-nin-match-biometric-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
          },
          "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
          },
          "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
          },
          "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/ItsmeProviderOutput"
              }
            ],
            "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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-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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          },
          "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
          }
        }
      },
      "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
          },
          "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
          },
          "subdivisions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of subdivisions, in ISO 3166-2 format, that the provider is available in.",
            "readOnly": true
          }
        }
      },
      "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
          }
        }
      },
      "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."
        }
      },
      "SamsungWalletProviderOutput": {
        "required": [
          "rawMdlOutput"
        ],
        "type": "object",
        "properties": {
          "rawMdlOutput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MdlOutput"
              }
            ],
            "description": "The raw output of the mDL exchange performed through Samsung Wallet."
          }
        },
        "description": "Exposed properties for the `samsung-wallet` Provider which do not directly map to the normalized IdentityData model."
      },
      "SerbiaIdCardProviderOutput": {
        "required": [
          "dateOfBirth",
          "firstName",
          "lastName",
          "uniqueMasterCitizenNumber"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "The first name of the verified individual",
            "example": "John"
          },
          "lastName": {
            "type": "string",
            "description": "The last name of the verified individual",
            "example": "Doe"
          },
          "dateOfBirth": {
            "type": "string",
            "description": "The date of birth of the verified individual",
            "format": "date",
            "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.",
            "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
          },
          "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": ""
        }
      },
      "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 users 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."
      },
      "SouthAfricaNidBiometric2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's South African National ID number",
            "nullable": true
          },
          "livenessImages": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "byte"
            },
            "description": "An array of exactly 8 images required for biometric liveness verification.\nThe first 7 images should be liveness frames captured during the liveness detection process,\nand the last image (8th) should be a selfie of the user. All images must be in JPEG format\nand each image must be less than 15MB in size.",
            "nullable": true
          },
          "testSelfie": {
            "type": "string",
            "description": "Test selfie for test environment (optional, maximum 15MB). Must be JPEG format.",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "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 user's National ID number",
            "nullable": true
          }
        }
      },
      "SouthAfricaNidMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's South African National ID number",
            "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
          },
          "phoneNumber": {
            "type": "string",
            "description": "The user's phone number as it appears in their National ID (optional).\nMust be in E.164 international format: \"+27XXXXXXXXX\"",
            "nullable": true
          }
        }
      },
      "SouthAfricaNidMatch2InputSex": {
        "enum": [
          "Male",
          "Female"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "Male": "",
          "Female": ""
        }
      },
      "SpidBillingInformation": {
        "required": [
          "isBillable",
          "verificationLevel",
          "verificationType"
        ],
        "type": "object",
        "properties": {
          "isBillable": {
            "type": "boolean",
            "description": "Whether this SPID verification has resulted in a billable event.",
            "example": true
          },
          "verificationType": {
            "type": "string",
            "description": "The billable verification type for this SPID verification.\n            \nPossible values: \"Authentication\" | \"Registration\"",
            "example": "\"Authentication\""
          },
          "verificationLevel": {
            "type": "integer",
            "description": "The billable verification level for this SPID verification.\n            \nPossible values: 1 | 2 | 3",
            "format": "int32",
            "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": {
        "required": [
          "identityProviderEntityId",
          "spidCode"
        ],
        "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.",
            "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.",
            "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            \nMay be a PNG, JPG, or SVG image."
          }
        },
        "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 end user'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 end user's verified certificate",
            "nullable": true,
            "example": "Ove Henriksenn"
          },
          "distinguishedName": {
            "type": "string",
            "description": "The distinguished name of the end user'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
          }
        }
      },
      "UgandaNidMatch2Input": {
        "type": "object",
        "properties": {
          "idNumber": {
            "type": "string",
            "description": "The user's Uganda National ID number (NIN) - 14 alphanumeric characters",
            "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
          }
        }
      },
      "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\" or \"fail\".",
            "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."
      },
      "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."
          },
          "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": {
          "rememberMeId": {
            "type": "string",
            "description": "The unique id for your service of the individual. This is not shared between different services so if the user logs into a different service, the user will have a new id for the other service.",
            "format": "uuid",
            "nullable": true,
            "example": "9F63FF98-E1E3-433C-9B86-7C697D0B4E5F"
          },
          "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 user's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the user'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": {
          "rememberMeId": {
            "type": "string",
            "description": "The unique id for your service of the individual. This is not shared between different services so if the user logs into a different service, the user will have a new id for the other service.",
            "format": "uuid",
            "nullable": true,
            "example": "9F63FF98-E1E3-433C-9B86-7C697D0B4E5F"
          },
          "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 user's registration with Yoti. In some cases, Yoti may do additional checks against its sources to confirm the user'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": "The user's National ID number",
            "nullable": true
          }
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Trinsic Connect API Key",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ]
}