{
  "openapi": "3.0.1",
  "info": {
    "title": "Account Verification API",
    "description": "Spare account verification API documentation",
    "termsOfService": "https://terms.tryspare.com/en",
    "contact": {
      "name": "Spare Arabian Financial Co.",
      "email": "hello@tryspare.com"
    },
    "license": {
      "name": "Spare Arabian Financial Co."
    },
    "version": "2.0"
  },
  "paths": {
    "/api/v2.0/av/AccountVerification/IdMatch": {
      "post": {
        "tags": [
          "AccountVerification"
        ],
        "summary": "Verifies if the account ID matches the provided identification details.",
        "description": "**Unique resource name :** av.v2.account_verification.id_match\r\n            \r\n**Important!:**\r\n- The provided IBAN must be a valid KSA IBAN.\r\n- The `idValue` must be a valid KSA national ID, Iqama number, or registration number.\r\n- Ensure the request model adheres to the required format for successful validation.",
        "requestBody": {
          "description": "The model containing the account verification request details.\r\nIt includes fields such as IBAN, ID value, and other required verification parameters.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Verification was successful. The response includes the verification details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdVerificationResponseAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The provided request model is invalid.\r\n- The IBAN is not a valid KSA IBAN.\r\n- The `idValue` is not a valid KSA national ID, Iqama number, or registration number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/AccountVerification/Corporate": {
      "post": {
        "tags": [
          "AccountVerification"
        ],
        "summary": "Verifies a corporate account by matching the IBAN with the provided Company Registration (CR) or Unified National Number (UNN).",
        "description": "**Unique resource name :** av.v2.account_verification.corporate\r\n            \r\n**Important!:**\r\n- This endpoint is designed for clients who may not know which ID type to use and want to send all information for comprehensive validation.\r\n- The IBAN must be a valid KSA IBAN.",
        "requestBody": {
          "description": "The model containing the corporate verification request details.\r\nThis includes the IBAN, CR, and UNN, which are validated in this operation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CorporateVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Verification was successful. The response includes the verification details for the IBAN and associated CR or UNN.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdVerificationResponseAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The provided request model is invalid.\r\n- The IBAN, CR, or UNN does not meet the required format or validation criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/BeneficiaryVerification/Match": {
      "post": {
        "tags": [
          "BeneficiaryVerification"
        ],
        "summary": "Retrieves the name of the beneficiary associated with the specified IBAN.",
        "description": "**Unique resource name :** av.v2.beneficiary_verification.match\r\n            \r\n**Important!:**\r\n- The IBAN must be a valid KSA IBAN.\r\n- The request model must include all required details for successful beneficiary retrieval.",
        "requestBody": {
          "description": "The model containing the beneficiary verification request details.\r\nThis includes the IBAN required to retrieve the beneficiary name.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BeneficiaryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Retrieval was successful. The response includes the beneficiary name and associated details.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BeneficiaryVerificationResponseAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The provided request model is invalid.\r\n- The IBAN is not a valid KSA IBAN.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/CommercialRegistration/Information": {
      "get": {
        "tags": [
          "CommercialRegistration"
        ],
        "summary": "Retrieves detailed commercial registration information for the specified unified number.",
        "description": "**Unique resource name :** av.v2.commercial_registration.information\r\n            \r\n**Important!:**\r\n- Requires a valid Saudi Arabia Unified National Number (UNN) to successfully retrieve the information.\r\n- The UNN must meet the validation criteria for Saudi Arabia.",
        "parameters": [
          {
            "name": "unifiedNationalNumber",
            "in": "query",
            "description": "The unique Unified National Number (UNN) to fetch the associated commercial registration information.\r\nEnsure that the UNN is valid and formatted according to Saudi Arabia's standards.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Language, by default is arabic",
            "schema": {
              "$ref": "#/components/schemas/Language"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the commercial registration information for the provided UNN.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommercialRegistrationInformationResponseAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The input UNN is invalid or does not meet the required format.\r\n- The request fails validation checks.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/CommonVerification/Match": {
      "post": {
        "tags": [
          "CommonVerification"
        ],
        "summary": "Verifies if the provided IBAN and ID match and retrieves the beneficiary name associated with the IBAN.",
        "description": "**Unique resource name :** av.v2.account_verification_pro.match\r\n            \r\n**Important!:**\r\n- The IBAN must be a valid KSA IBAN.\r\n- The `idValue` must be valid according to the required format (e.g., National ID, Iqama number, or Registration number).\r\n- The request validates the IBAN and ID match and also fetches the associated beneficiary name.",
        "requestBody": {
          "description": "The model containing the IBAN and ID for verification, along with any other necessary information.\r\nIt also includes details for retrieving the associated beneficiary name.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommonAccountVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Verification was successful. The response includes details of the matched account and the beneficiary name.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonAccountVerificationResponseAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The provided request model is invalid.\r\n- The IBAN is not a valid KSA IBAN.\r\n- The `idValue` does not meet the required validation criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/CommonVerification/Corporate": {
      "post": {
        "tags": [
          "CommonVerification"
        ],
        "summary": "Verifies a corporate account by matching the IBAN with the provided Company Registration (CR) or Unified National Number (UNN)\r\nand combines it with Beneficiary Verification.",
        "description": "**Unique resource name :** av.v2.account_verification_pro.corporate\r\n            \r\n**Important!:**\r\n- The IBAN must be a valid KSA IBAN.\r\n- The CR or UNN must be valid 10-digit numbers.\r\n- The beneficiaryName will be verified against the account holder name.",
        "requestBody": {
          "description": "The model containing the corporate verification request details with beneficiary information.\r\nThis includes the IBAN, CR, UNN, and beneficiary name to be validated in this operation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CorporateBeneficiaryVerificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Verification was successful. The response includes the verification details for both the corporate ID and beneficiary.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonCorporateVerificationResponseAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The provided request model is invalid.\r\n- The IBAN, CR, or UNN does not meet the required format or validation criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/FreelancerVerification/CertificateDetails": {
      "post": {
        "tags": [
          "FreelancerVerification"
        ],
        "summary": "Fetches freelancer certificate details for the provided National ID and Certificate Number.",
        "description": "**Unique resource name :** av.v2.kyc.freelance_details\r\n            \r\n**Important!:**\r\n- The National ID (NID) and government-issued Certificate Number (CNN) must be valid.\r\n- The Certificate Number must be between 6-14 digits.\r\n- This endpoint retrieves detailed information about the freelancer certificate.",
        "requestBody": {
          "description": "The model containing the freelancer certificate request details, including the National ID and Certificate Number.\r\nThe unique Certificate Number for which to fetch the status.\r\nEnsure the number is between 6-14 digits and adheres to validation rules.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FreelanceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Returns the freelance details, including the certificate status and associated information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FreelanceVerificationResultAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The provided request model is invalid.\r\n- The National ID or Certificate Number is not properly formatted or does not meet the validation criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/api/v2.0/av/FreelancerVerification/GetCertificateStatus": {
      "get": {
        "tags": [
          "FreelancerVerification"
        ],
        "summary": "Fetches the status of a freelancer certificate for the provided Certificate Number.",
        "description": "**Unique resource name :** av.v2.kyc.certificate_status\r\n            \r\n**Important!:**\r\n- The Certificate Number must be between 6-14 digits.\r\n- This endpoint retrieves the current status of the freelancer's certificate.",
        "parameters": [
          {
            "name": "certificateNumber",
            "in": "query",
            "description": "The unique Certificate Number for which to fetch the status.\r\nEnsure the number is between 6-14 digits and adheres to validation rules.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the certificate status details, including the verification status and other associated information.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FreelancerCertificateStatusResultAccountVerificationApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request. This response is returned if:\r\n- The certificate number validation fails.\r\n- The provided certificate number does not meet the required format or criteria.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectApiResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Retry after a short wait.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountVerificationApiError": {
        "enum": [
          "INVALID_DATA",
          "ACCOUNT_VERIFICATION_FAILED",
          "SERVER_ERROR",
          "SUBSCRIPTION_EXPIRED"
        ],
        "type": "string"
      },
      "AccountVerificationIdType": {
        "enum": [
          "NATIONAL_ID",
          "COMPANY_REGISTRATION_NUMBER",
          "IQAMA",
          "UNN",
          "UNKNOWN"
        ],
        "type": "string"
      },
      "ApiError": {
        "enum": [
          "INVALID_DATA",
          "INVALID_SIGNATURE",
          "RESOURCE_LOCKED",
          "COUNTRY_NOT_FOUND",
          "CURRENCY_NOT_FOUND",
          "PROVIDER_NOT_FOUND",
          "CONNECTION_NOT_FOUND",
          "INSUFFICIENT_CONSENT_PERMISSIONS",
          "CONSENT_EXPIRED",
          "CONSENT_REVOKED",
          "CONSENT_UNAUTHORIZED",
          "CONSENT_NOT_FOUND",
          "ACCOUNT_INFORMATION_REPORT_NOT_FOUND",
          "MULTIPLE_CURRENCY_NOT_ALLOWED",
          "MULTIPLE_CONSENT_DATE_NOT_ALLOWED",
          "PAYMENT_NOT_FOUND",
          "CONSENT_REJECTED",
          "PAYMENT_REQUEST_NOT_FOUND",
          "CUSTOMER_NOT_FOUND",
          "REAL_ESTATE_VERIFY_NOT_FOUND",
          "REAL_ESTATE_VALIDATE_NOT_FOUND",
          "REAL_ESTATE_SEARCH_NOT_FOUND",
          "CUSTOMER_ALREADY_EXISTS",
          "BANK_ACCOUNT_NOT_FOUND",
          "SERVER_ERROR",
          "PROVIDER_CONNECTION_FAILURE",
          "TRANSACTION_NOT_FOUND",
          "ACCOUNT_INFORMATION_ACCESS_REQUEST_NOT_FOUND",
          "CONSENT_REVOCATION_FAILED",
          "CONSENT_REVOKED_OR_EXPIRED",
          "SUBSCRIPTION_EXPIRED",
          "NOT_SUBSCRIBED_TO_SERVICE",
          "BENEFICIARY_NOT_FOUND",
          "PARTIES_NOT_FOUND",
          "DIRECT_DEBIT_NOT_FOUND",
          "SCHEDULED_PAYMENT_NOT_FOUND",
          "DEBTOR_ACCOUNT_NOT_FOUND",
          "CREDITOR_ACCOUNT_NOT_FOUND",
          "UNAUTHORIZED_IP_ADDRESS",
          "REAL_ESTATE_FAILED"
        ],
        "type": "string"
      },
      "Bank": {
        "type": "object",
        "properties": {
          "englishName": {
            "type": "string",
            "nullable": true
          },
          "arabicName": {
            "type": "string",
            "nullable": true
          },
          "bankCode": {
            "type": "string",
            "nullable": true
          },
          "swiftCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BeneficiaryRequest": {
        "required": [
          "iban"
        ],
        "type": "object",
        "properties": {
          "beneficiaryName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "iban": {
            "minLength": 1,
            "type": "string",
            "description": "Account IBAN.",
            "example": "SA0380000000608010167519"
          }
        },
        "additionalProperties": false
      },
      "BeneficiaryVerificationResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/VerificationResult"
          },
          "bank": {
            "$ref": "#/components/schemas/Bank"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          },
          "beneficiaryName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "inputBeneficiaryName": {
            "type": "string",
            "nullable": true
          },
          "retrievedBeneficiaryName": {
            "type": "string",
            "nullable": true
          },
          "accountIdentifier": {
            "type": "string",
            "nullable": true
          },
          "accountStatus": {
            "type": "string",
            "nullable": true
          },
          "executionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          }
        },
        "additionalProperties": false
      },
      "BeneficiaryVerificationResponseAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/BeneficiaryVerificationResponse"
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationActivities": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationCapital": {
        "type": "object",
        "properties": {
          "currencyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "currencyName": {
            "type": "string",
            "nullable": true
          },
          "contributionCapital": {
            "$ref": "#/components/schemas/CommercialRegistrationContributionCapital"
          },
          "stockCapital": {
            "$ref": "#/components/schemas/CommercialRegistrationStockCapital"
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationCharacters": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationCommerce": {
        "type": "object",
        "properties": {
          "store": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationStore"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationContactInfo": {
        "type": "object",
        "properties": {
          "phoneNumber": {
            "type": "string",
            "nullable": true
          },
          "mobileNumber": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true,
            "description": "Email address."
          },
          "websiteUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationContributionCapital": {
        "type": "object",
        "properties": {
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "inKindCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "cashCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "contributionValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalCashContribution": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "totalInKindContribution": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationDate": {
        "type": "object",
        "properties": {
          "gregorian": {
            "type": "string",
            "nullable": true
          },
          "hijri": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "formName": {
            "type": "string",
            "nullable": true
          },
          "formId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "characters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationCharacters"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationFiscalYear": {
        "type": "object",
        "properties": {
          "isFirst": {
            "type": "boolean",
            "nullable": true
          },
          "calendarTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "calendarTypeName": {
            "type": "string",
            "nullable": true
          },
          "endMonth": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "endDay": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "endYear": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationInformation": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "commercialRegistrationNumber": {
            "type": "string",
            "nullable": true
          },
          "langId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "companyDuration": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "versionNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "commercialRegistrationCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "languageName": {
            "type": "string",
            "nullable": true
          },
          "commercialRegistrationNationalNumber": {
            "type": "string",
            "nullable": true
          },
          "isMain": {
            "type": "boolean",
            "nullable": true
          },
          "issueDateGregorian": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          },
          "issueDateHijri": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          },
          "mainCommercialRegistryNationalNumber": {
            "type": "string",
            "nullable": true
          },
          "mainCommercialRegistryNumber": {
            "type": "string",
            "nullable": true
          },
          "inLiquidationProcess": {
            "type": "boolean",
            "nullable": true
          },
          "hasEcommerce": {
            "type": "boolean",
            "nullable": true
          },
          "headquarterCityId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "headquarterCityName": {
            "type": "string",
            "nullable": true
          },
          "isLicenseBased": {
            "type": "boolean",
            "nullable": true
          },
          "licenseIssuerNationalNumber": {
            "type": "string",
            "nullable": true
          },
          "licenseIssuerName": {
            "type": "string",
            "nullable": true
          },
          "partnersNationalityId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "PartnersNationalityName": {
            "type": "string",
            "nullable": true
          },
          "entityType": {
            "$ref": "#/components/schemas/CommercialRegistrationEntity"
          },
          "status": {
            "$ref": "#/components/schemas/CommercialRegistrationStatus"
          },
          "contactInfo": {
            "$ref": "#/components/schemas/CommercialRegistrationContactInfo"
          },
          "commerce": {
            "$ref": "#/components/schemas/CommercialRegistrationCommerce"
          },
          "capital": {
            "$ref": "#/components/schemas/CommercialRegistrationCapital"
          },
          "fiscalYear": {
            "$ref": "#/components/schemas/CommercialRegistrationFiscalYear"
          },
          "parties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationParty"
            },
            "nullable": true
          },
          "management": {
            "$ref": "#/components/schemas/CommercialRegistrationManagement"
          },
          "activities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationActivities"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationInformationResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "information": {
            "$ref": "#/components/schemas/CommercialRegistrationInformation"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationInformationResponseAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/CommercialRegistrationInformationResponse"
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationManagement": {
        "type": "object",
        "properties": {
          "structureId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "structureName": {
            "type": "string",
            "nullable": true
          },
          "managers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationManagers"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationManagers": {
        "type": "object",
        "properties": {
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "isLicensed": {
            "type": "boolean",
            "nullable": true
          },
          "nationality": {
            "$ref": "#/components/schemas/CommercialRegistrationNationality"
          },
          "identity": {
            "$ref": "#/components/schemas/CommercialRegistrationPartyIdentity"
          },
          "positions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationPositions"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationNationality": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationPartnerShare": {
        "type": "object",
        "properties": {
          "cashContributionCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "inKindContributionCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "totalContributionCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationPartnership": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationParty": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "crNumber": {
            "type": "string",
            "nullable": true
          },
          "licenseNo": {
            "type": "string",
            "nullable": true
          },
          "identity": {
            "$ref": "#/components/schemas/CommercialRegistrationPartyIdentity"
          },
          "partnership": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationPartnership"
            },
            "nullable": true
          },
          "partnerShare": {
            "$ref": "#/components/schemas/CommercialRegistrationPartnerShare"
          },
          "nationality": {
            "$ref": "#/components/schemas/CommercialRegistrationNationality"
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationPartyIdentity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationPositions": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "confirmationDate": {
            "$ref": "#/components/schemas/CommercialRegistrationDate"
          },
          "reactivationDate": {
            "$ref": "#/components/schemas/CommercialRegistrationDate"
          },
          "suspensionDate": {
            "$ref": "#/components/schemas/CommercialRegistrationDate"
          },
          "deletionDate": {
            "$ref": "#/components/schemas/CommercialRegistrationDate"
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationStockCapital": {
        "type": "object",
        "properties": {
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "cashCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "inKindCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "capital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "announcedCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "paidCapital": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "stocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationStocks"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationStocks": {
        "type": "object",
        "properties": {
          "typeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "classReferenceID": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "className": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationStore": {
        "type": "object",
        "properties": {
          "authenticationPlatformUrl": {
            "type": "string",
            "nullable": true
          },
          "storeUrl": {
            "type": "string",
            "nullable": true
          },
          "storeActivities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommercialRegistrationStoreActivities"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommercialRegistrationStoreActivities": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          }
        },
        "additionalProperties": false
      },
      "CommonAccountVerificationRequest": {
        "required": [
          "iban",
          "idValue"
        ],
        "type": "object",
        "properties": {
          "iban": {
            "minLength": 1,
            "type": "string",
            "description": "Account IBAN.",
            "example": "SA0380000000608010167519"
          },
          "idType": {
            "$ref": "#/components/schemas/AccountVerificationIdType"
          },
          "beneficiaryName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "idValue": {
            "minLength": 1,
            "type": "string",
            "description": "Identification value, matching the selected ID type."
          }
        },
        "additionalProperties": false
      },
      "CommonAccountVerificationResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "inputBeneficiaryName": {
            "type": "string",
            "nullable": true
          },
          "accountStatus": {
            "type": "string",
            "nullable": true
          },
          "accountIdentifier": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/VerificationResult"
          },
          "bank": {
            "$ref": "#/components/schemas/Bank"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          },
          "idType": {
            "$ref": "#/components/schemas/AccountVerificationIdType"
          },
          "idValue": {
            "type": "string",
            "nullable": true,
            "description": "Identification value, matching the selected ID type."
          },
          "beneficiaryName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "executionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          }
        },
        "additionalProperties": false
      },
      "CommonAccountVerificationResponseAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/CommonAccountVerificationResponse"
          }
        },
        "additionalProperties": false
      },
      "CommonCorporateVerificationResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "inputBeneficiaryName": {
            "type": "string",
            "nullable": true
          },
          "accountStatus": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/VerificationResult"
          },
          "bank": {
            "$ref": "#/components/schemas/Bank"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          },
          "idType": {
            "$ref": "#/components/schemas/AccountVerificationIdType"
          },
          "idValue": {
            "type": "string",
            "nullable": true,
            "description": "Identification value, matching the selected ID type."
          },
          "beneficiaryName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "executionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          }
        },
        "additionalProperties": false
      },
      "CommonCorporateVerificationResponseAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/CommonCorporateVerificationResponse"
          }
        },
        "additionalProperties": false
      },
      "CorporateBeneficiaryVerificationRequest": {
        "required": [
          "iban"
        ],
        "type": "object",
        "properties": {
          "beneficiaryName": {
            "maxLength": 255,
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "iban": {
            "minLength": 1,
            "type": "string",
            "description": "Account IBAN.",
            "example": "SA0380000000608010167519"
          },
          "unn": {
            "type": "string",
            "nullable": true,
            "description": "Company or entity registration identifier."
          },
          "companyRegistrationNumber": {
            "type": "string",
            "nullable": true,
            "description": "Company registration number."
          }
        },
        "additionalProperties": false
      },
      "CorporateVerificationRequest": {
        "required": [
          "iban"
        ],
        "type": "object",
        "properties": {
          "iban": {
            "minLength": 1,
            "type": "string",
            "description": "Account IBAN.",
            "example": "SA0380000000608010167519"
          },
          "unn": {
            "type": "string",
            "nullable": true,
            "description": "Company or entity registration identifier."
          },
          "companyRegistrationNumber": {
            "type": "string",
            "nullable": true,
            "description": "Company registration number."
          }
        },
        "additionalProperties": false
      },
      "FreelanceCertificateDataResponse": {
        "type": "object",
        "properties": {
          "expiryDate": {
            "type": "string",
            "nullable": true,
            "description": "Expiry date (ISO 8601).",
            "format": "date-time",
            "example": "2025-01-01T00:00:00Z"
          },
          "number": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "revokedAt": {
            "type": "string",
            "nullable": true
          },
          "issueDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          },
          "speciality": {
            "$ref": "#/components/schemas/FreelanceCertificateSpecialityResponse"
          },
          "canceledAt": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelanceCertificateDetailsResponse": {
        "type": "object",
        "properties": {
          "englishName": {
            "type": "string",
            "nullable": true
          },
          "nationalId": {
            "type": "string",
            "nullable": true,
            "description": "National identity number of the individual."
          },
          "arabicName": {
            "type": "string",
            "nullable": true
          },
          "nationalIdExpiryDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          },
          "certificate": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FreelanceCertificateDataResponse"
            },
            "nullable": true
          },
          "gender": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelanceCertificateSpecialityCategoryResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "nameEn": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelanceCertificateSpecialityResponse": {
        "type": "object",
        "properties": {
          "category": {
            "$ref": "#/components/schemas/FreelanceCertificateSpecialityCategoryResponse"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Name associated with this object."
          },
          "nameEn": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelanceRequest": {
        "required": [
          "certificateNumber",
          "nationalId"
        ],
        "type": "object",
        "properties": {
          "nationalId": {
            "minLength": 1,
            "type": "string",
            "description": "National identity number of the individual."
          },
          "certificateNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Certificate number."
          }
        },
        "additionalProperties": false
      },
      "FreelanceVerificationResult": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/FreelanceCertificateDetailsResponse"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelanceVerificationResultAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/FreelanceVerificationResult"
          }
        },
        "additionalProperties": false
      },
      "FreelancerCertificateStatusData": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "nullable": true
          },
          "revokedAt": {
            "type": "string",
            "nullable": true
          },
          "issueAt": {
            "type": "string",
            "nullable": true
          },
          "canceledAt": {
            "type": "string",
            "nullable": true
          },
          "expiryDate": {
            "type": "string",
            "nullable": true,
            "description": "Expiry date (ISO 8601).",
            "format": "date-time",
            "example": "2025-01-01T00:00:00Z"
          },
          "licenseNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelancerCertificateStatusResult": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/FreelancerCertificateStatusData"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FreelancerCertificateStatusResultAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/FreelancerCertificateStatusResult"
          }
        },
        "additionalProperties": false
      },
      "IdVerificationRequest": {
        "required": [
          "iban",
          "idType",
          "idValue"
        ],
        "type": "object",
        "properties": {
          "iban": {
            "minLength": 1,
            "type": "string",
            "description": "Account IBAN.",
            "example": "SA0380000000608010167519"
          },
          "idType": {
            "$ref": "#/components/schemas/AccountVerificationIdType"
          },
          "idValue": {
            "minLength": 1,
            "type": "string",
            "description": "Identification value, matching the selected ID type."
          }
        },
        "additionalProperties": false
      },
      "IdVerificationResponse": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "nullable": true
          },
          "result": {
            "$ref": "#/components/schemas/VerificationResult"
          },
          "bank": {
            "$ref": "#/components/schemas/Bank"
          },
          "errorDescription": {
            "type": "string",
            "nullable": true
          },
          "idType": {
            "$ref": "#/components/schemas/AccountVerificationIdType"
          },
          "idValue": {
            "type": "string",
            "nullable": true,
            "description": "Identification value, matching the selected ID type."
          },
          "beneficiaryName": {
            "type": "string",
            "nullable": true,
            "description": "Name of the beneficiary to verify or pay."
          },
          "executionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Format: ISO 8601 date-time (e.g. `2025-01-01T00:00:00Z`).",
            "example": "2025-01-01T00:00:00Z"
          }
        },
        "additionalProperties": false
      },
      "IdVerificationResponseAccountVerificationApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/AccountVerificationApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "$ref": "#/components/schemas/IdVerificationResponse"
          }
        },
        "additionalProperties": false
      },
      "Language": {
        "enum": [
          "ar",
          "en"
        ],
        "type": "string"
      },
      "ObjectApiResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ApiError"
          },
          "errorDescription": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "nullable": true
            },
            "nullable": true
          },
          "data": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VerificationResult": {
        "enum": [
          "MATCH",
          "NO_MATCH",
          "ERROR"
        ],
        "type": "string"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Please enter into field the word 'Bearer' followed by a space and JWT",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "servers": [
    {
      "url": "https://sandbox.sparefinancial.sa",
      "description": "Sandbox"
    }
  ]
}
