openapi: 3.1.1 $id: "https://schema.beckn.io/VerificationResource/v2.1/attributes.yaml" info: title: Verification Resource Attributes description: > Domain-specific attributes for a verification service resource on the Beckn Verification Service Network. Extends beckn:resourceAttributes. Each resource represents a distinct verification capability (e.g., driving licence verification, identity verification, bank account verification). version: 2.1.0 license: name: CC-BY-NC-SA 4.0 International url: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en components: schemas: VerificationResource: type: object x-beckn-container: resourceAttributes x-status: under-review x-tags: - verification-service - resource x-jsonld: "@context": "https://schema.beckn.io/VerificationResource/v2.1/context.jsonld" "@type": "vr:VerificationResource" description: > Attributes describing a verification service type. Captures what is verified, what inputs are required, which jurisdictions are supported, and the verification method used. required: - verificationType - supportedDocumentTypes properties: verificationType: x-jsonld-id: "vr:verificationType" description: > The category of verification this service performs. Uses a CodedValue referencing an authoritative classification. type: object required: - code properties: code: x-jsonld-id: "vr:code" type: string description: > Machine-readable verification type code. Well-known values include DRIVING_LICENCE, IDENTITY, BANK_ACCOUNT, SKILL_CERTIFICATE, EDUCATION_CREDENTIAL, HEALTH_LICENCE, ADDRESS, EMPLOYMENT_HISTORY, CRIMINAL_RECORD. name: x-jsonld-id: "vr:codedName" type: string description: Human-readable name of the verification type. supportedDocumentTypes: x-jsonld-id: "vr:supportedDocumentTypes" description: > List of document or credential types accepted as input for this verification service. type: array minItems: 1 items: type: object required: - code properties: code: x-jsonld-id: "vr:code" type: string description: > Machine-readable document type code. Examples: AADHAAR, PAN, DRIVING_LICENCE, PASSPORT, VOTER_ID, BANK_STATEMENT, SKILL_CERT, DEGREE_CERT, REGISTRATION_CERT. name: x-jsonld-id: "vr:codedName" type: string description: Human-readable name of the document type. supportedJurisdictions: x-jsonld-id: "vr:supportedJurisdictions" description: > Jurisdictions (countries, states, or regions) where this verification service is available and authoritative sources are accessible. type: array items: type: object required: - code properties: code: x-jsonld-id: "vr:code" type: string description: ISO 3166-1 alpha-2 country code or ISO 3166-2 subdivision code. name: x-jsonld-id: "vr:codedName" type: string description: Human-readable jurisdiction name. verificationMethod: x-jsonld-id: "vr:verificationMethod" description: > The method used to perform verification. Indicates whether the verification is real-time against an authoritative database, manual/human review, or a combination. type: string enum: - REAL_TIME_API - MANUAL_REVIEW - HYBRID - DOCUMENT_OCR - BIOMETRIC_MATCH requiredInputFields: x-jsonld-id: "vr:requiredInputFields" description: > List of input fields that the requester must provide to initiate this verification. Describes the data contract for the verification request. type: array items: $ref: '#/components/schemas/InputFieldDescriptor' authoritativeSource: x-jsonld-id: "vr:authoritativeSource" description: > The authoritative source or database against which verification is performed. For transparency and trust. type: object properties: name: x-jsonld-id: "vr:sourceName" type: string description: Name of the authoritative source (e.g., "Parivahan Sewa", "UIDAI", "NSDL"). url: x-jsonld-id: "vr:sourceUrl" type: string format: uri description: URL of the authoritative source (if publicly known). type: x-jsonld-id: "vr:sourceType" type: string description: > Type of source. Values: GOVERNMENT_DATABASE, FINANCIAL_INSTITUTION, CERTIFICATION_BODY, EDUCATION_BOARD, EMPLOYER_REGISTRY, OTHER. outputFields: x-jsonld-id: "vr:outputFields" description: > List of fields that will be returned in the verification result. Allows the requester to understand what data they will receive. type: array items: $ref: '#/components/schemas/OutputFieldDescriptor' complianceStandards: x-jsonld-id: "vr:complianceStandards" description: > Compliance or regulatory standards this verification service adheres to. type: array items: type: object properties: code: x-jsonld-id: "vr:code" type: string description: Standard code (e.g., "ISO_27001", "GDPR", "DPDPA_2023"). name: x-jsonld-id: "vr:codedName" type: string description: Human-readable name of the compliance standard. InputFieldDescriptor: type: object description: Describes a single input field required for a verification request. required: - fieldName - fieldType - isRequired properties: fieldName: x-jsonld-id: "vr:fieldName" type: string description: Machine-readable field name (e.g., "licenceNumber", "dateOfBirth"). displayName: x-jsonld-id: "vr:displayName" type: string description: Human-readable label for the field. fieldType: x-jsonld-id: "vr:fieldType" type: string description: Data type of the field. enum: - STRING - DATE - NUMBER - BOOLEAN - FILE_UPLOAD - IMAGE isRequired: x-jsonld-id: "vr:isRequired" type: boolean description: Whether this field is mandatory for the verification request. validationPattern: x-jsonld-id: "vr:validationPattern" type: string description: > Optional regex pattern for client-side validation (e.g., "^[A-Z]{2}[0-9]{13}$" for driving licence number). OutputFieldDescriptor: type: object description: Describes a single field in the verification result output. required: - fieldName - fieldType properties: fieldName: x-jsonld-id: "vr:fieldName" type: string description: Machine-readable field name (e.g., "holderName", "issueDate", "expiryDate"). displayName: x-jsonld-id: "vr:displayName" type: string description: Human-readable label for the field. fieldType: x-jsonld-id: "vr:fieldType" type: string enum: - STRING - DATE - NUMBER - BOOLEAN - OBJECT - IMAGE