openapi: 3.1.0 info: title: iDenfy IVS Core API version: 0.0.0 description: iDenfy Identity Verification Service's Core API documentation. contact: name: API Support url: https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1/group/-1 x-logo: url: /static/idenfy_logo.svg altText: iDenfy logo servers: - url: https://ivs.idenfy.com paths: /bank-card/tokens/: post: operationId: bankCardTokenCreate summary: Create session description: Creates a standalone bank card verification session. Your finances are pre-checked; insufficient finances reject the request with `402`. tags: - Bank Card Verification requestBody: content: application/json: schema: $ref: '#/components/schemas/BankCardTokenRequest' required: true security: - apiKeyPair: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/BankCardToken' description: '' '402': content: application/json: schema: $ref: '#/components/schemas/InsufficientFinances' description: Your finances cannot cover a bank card verification. Note that insufficient funds return `402`, not `403`. components: schemas: BankCardNoMatchReasonEnum: enum: - NAME_MISMATCH - NUMBER_MISMATCH - NAME_NOT_FOUND - NUMBER_NOT_FOUND - LIVENESS_FAILED type: string BankCardToken: type: object properties: tokenString: type: string readOnly: true description: Token string identifying the bank card verification session. expiration: type: string format: date-time readOnly: true description: Date and time when this token will become expired. isValid: type: boolean readOnly: true description: Indicates whether this token is valid. sessionUrl: type: string format: uri readOnly: true description: The URL to send your end user to in order to complete the card check. mobileCode: type: string nullable: true readOnly: true description: Eight-digit code the end user can enter in the iDenfy mobile app to open this session. Returned only when `generateMobileCode` was set. required: - expiration - isValid - sessionUrl - tokenString BankCardTokenRequest: type: object properties: expectedName: type: string description: The cardholder name the card is compared against. expectedLastFour: type: string nullable: true minLength: 4 maxLength: 4 description: The expected last four digits of the card number. When omitted, only the cardholder name is compared. lifetime: type: integer maximum: 2592000 minimum: 0 writeOnly: true default: 3600 description: The duration in seconds of bank card verification token validity. This clock starts when the session is created. sessionLength: type: integer maximum: 60 minimum: 1 nullable: true description: The capture countdown in minutes. This clock is independent of `lifetime` and starts at the capture step, not when the link is opened. theme: type: string nullable: true description: Name of a personalisation theme configured on your account. generateMobileCode: type: boolean default: false description: When `true`, the response includes a `mobileCode` the end user can enter in the iDenfy mobile app. successUrl: type: string format: uri nullable: true description: Where the end user is redirected after a successful check. failUrl: type: string format: uri nullable: true description: Where the end user is redirected after an unsuccessful check. An expired session never redirects. required: - expectedName BankCardVerificationStatusEnum: enum: - NOT_COMPARED - MATCH - NO_MATCH type: string BankCardVerificationWebhook: type: object properties: id: type: string format: uuid status: $ref: '#/components/schemas/BankCardVerificationStatusEnum' noMatchReason: allOf: - $ref: '#/components/schemas/BankCardNoMatchReasonEnum' nullable: true name: type: string nullable: true firstSix: type: string nullable: true lastFour: type: string nullable: true expiryDate: type: string format: date nullable: true nameMatch: type: boolean nullable: true lastFourMatch: type: boolean nullable: true required: - expiryDate - firstSix - id - lastFour - lastFourMatch - name - nameMatch - noMatchReason - status InsufficientFinances: type: object properties: message: type: string examples: - Action not allowed due to lack of funds or exceeded limit. code: type: string examples: - insufficient_finances detail: $ref: '#/components/schemas/InsufficientFinancesDetail' InsufficientFinancesDetail: type: object properties: detail: type: string missing_limits: type: array items: {} missing_additional_step_limits: type: array items: {} missing_funds: nullable: true description: General account funds only. Stays `null` when feature-specific finances are exhausted, so do not read it to detect that. missing_pool_funds: type: array items: $ref: '#/components/schemas/MissingPoolFund' description: Identifies which finances are short. expired_expenses: type: array items: {} MissingPoolFund: type: object properties: fund_pool: type: string description: Identifies which finances are short. missing: type: number format: float description: Shortfall in your account currency. `0` when no finances are configured for the feature at all, because nothing has been priced yet. required: - fund_pool - missing securitySchemes: apiKeyPair: type: http scheme: basic description: 'The request must contain basic auth headers where username is *API key* and password is *API secret*.
In order for you to start using our API you will need an **API key** and **API secret**.
Both can be retrieved by contacting *iDenfy''s support* or *iDenfy''s sales team*.' x-tagGroups: - name: Bank Card Verification tags: - Bank Card Verification - name: General tags: - Webhooks tags: - name: Bank Card Verification description: Bank card verification endpoints. - name: Webhooks description: Webhooks. externalDocs: description: For other/more docs on iDenfy services visit our main documentation page. url: https://documentation.idenfy.com webhooks: bankCardVerificationCompleted: post: operationId: bankCardVerificationCompleted description: This notification is sent when a bank card verification is completed. summary: Bank card verification completed externalDocs: description: Find info about webhook signing here. url: https://documentation.idenfy.com/security/CallbackSigning parameters: - in: header name: Idenfy-Event-Type schema: type: string enum: - BANK_CARD_VERIFICATION_COMPLETED required: true - in: header name: Idenfy-Signature schema: type: string description: Webhook signature tags: - Webhooks requestBody: content: application/json: schema: $ref: '#/components/schemas/BankCardVerificationWebhook' required: true responses: '200': description: Return a 200 status to indicate that the data was received successfully.