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/tokens/: post: operationId: bankTokensCreate summary: Generate bank verification token tags: - Bank requestBody: content: application/json: schema: $ref: '#/components/schemas/BankTokenRequest' security: - apiKeyPair: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/BankToken' description: '' /bank/verifications/{verificationId}/accounts/{accountId}/transactions/: get: operationId: bankVerificationsAccountsTransactionsList summary: List bank verification account transactions parameters: - in: path name: accountId schema: type: string required: true - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: perPage required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: verificationId schema: type: string required: true tags: - Bank security: - apiKeyPair: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedBankTransactionList' description: '' components: schemas: BankAccess: type: object properties: accounts: type: boolean default: false balances: type: boolean default: false transactions: type: boolean default: false BankAccessRequest: type: object properties: accounts: type: boolean default: false balances: type: boolean default: false transactions: type: boolean default: false BankAccountWebhook: type: object properties: id: type: string format: uuid readOnly: true name: type: string nullable: true maxLength: 128 iban: type: string nullable: true maxLength: 34 currency: type: string maxLength: 3 balancesOverview: allOf: - $ref: '#/components/schemas/BankBalancesOverviewWebhook' nullable: true transactionsCount: type: number format: double nullable: true required: - balancesOverview - currency - id - transactionsCount BankBalancesOverviewWebhook: type: object properties: bookedBalance: type: number format: double nullable: true availableBalance: type: number format: double nullable: true required: - availableBalance - bookedBalance BankPartyIdentification: type: object properties: fullName: type: string nullable: true maxLength: 128 BankToken: type: object properties: tokenString: type: string readOnly: true description: Token string used for authentication. expiration: type: string format: date-time readOnly: true description: Date and time when this token will become expired. isValid: type: boolean description: Indicates whether this token is valid. readOnly: true country: allOf: - $ref: '#/components/schemas/BankTokenCountryEnum' nullable: true bank: type: string nullable: true maxLength: 32 access: $ref: '#/components/schemas/BankAccess' required: - expiration - isValid - tokenString BankTokenCountryEnum: enum: - AT - BE - BG - HR - CY - DK - EE - FI - FR - DE - GR - HU - IS - IE - IT - LV - LT - LU - MT - NL - 'NO' - PL - PT - RO - SK - SI - ES - SE type: string BankTokenRequest: type: object properties: lifetime: type: integer maximum: 2592000 minimum: 0 writeOnly: true default: 3600 description: The duration in seconds of bank verification token validity. country: allOf: - $ref: '#/components/schemas/BankTokenCountryEnum' nullable: true bank: type: string nullable: true maxLength: 32 access: $ref: '#/components/schemas/BankAccessRequest' BankTransaction: type: object properties: creditor: $ref: '#/components/schemas/BankPartyIdentification' debtor: $ref: '#/components/schemas/BankPartyIdentification' bookingDate: type: string format: date nullable: true transactionDate: type: string format: date nullable: true transactionAmount: $ref: '#/components/schemas/BankTransactionAmount' required: - creditor - debtor - transactionAmount BankTransactionAmount: type: object properties: amount: type: string format: decimal pattern: ^-?\d{0,14}(?:\.\d{0,2})?$ currency: type: string maxLength: 3 required: - amount - currency BankVerificationWebhook: type: object properties: id: type: string format: uuid readOnly: true country: allOf: - $ref: '#/components/schemas/CountryEnum' nullable: true bank: type: string nullable: true maxLength: 32 accounts: type: array items: $ref: '#/components/schemas/BankAccountWebhook' nullable: true riskLevel: allOf: - $ref: '#/components/schemas/RiskLevelEnum' nullable: true required: - accounts - id - riskLevel CountryEnum: enum: - AF - AX - AL - DZ - AS - AD - AO - AI - AQ - AG - AR - AM - AW - AU - AT - AZ - BS - BH - BD - BB - BY - BE - BZ - BJ - BM - BT - BO - BQ - BA - BW - BV - BR - IO - BN - BG - BF - BI - CV - KH - CM - CA - KY - CF - TD - CL - CN - CX - CC - CO - KM - CG - CK - CR - CI - HR - CU - CW - CY - CZ - CD - DK - DJ - DM - DO - EC - EG - SV - GQ - ER - EE - SZ - ET - FK - FO - FJ - FI - FR - GF - PF - TF - GA - GM - GE - DE - GH - GI - GR - GL - GD - GP - GU - GT - GG - GN - GW - GY - HT - HM - HN - HK - HU - IS - IN - ID - IR - IQ - IE - IM - IL - IT - JM - JP - JE - JO - KZ - KE - KI - XK - KW - KG - LA - LV - LB - LS - LR - LY - LI - LT - LU - MO - MG - MW - MY - MV - ML - MT - MH - MQ - MR - MU - YT - MX - FM - MD - MC - MN - ME - MS - MA - MZ - MM - NA - NR - NP - NL - NC - NZ - NI - NE - NG - NU - NF - KP - MK - MP - 'NO' - OM - PK - PW - PS - PA - PG - PY - PE - PH - PN - PL - PT - PR - QA - RE - RO - RU - RW - BL - SH - KN - LC - MF - PM - VC - WS - SM - ST - SA - SN - RS - SC - SL - SG - SX - SK - SI - SB - SO - ZA - GS - KR - SS - ES - LK - SD - SR - SJ - SE - CH - SY - TW - TJ - TZ - TH - TL - TG - TK - TO - TT - TN - TR - TM - TC - TV - UG - UA - AE - GB - UM - US - UY - UZ - VU - VA - VE - VN - VG - VI - WF - EH - YE - ZM - ZW type: string PaginatedBankTransactionList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=4 previous: type: string nullable: true format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/BankTransaction' RiskLevelEnum: enum: - VERY_LOW - LOW - MEDIUM - HIGH - VERY_HIGH - NOT_CHECKED type: string AccountCheckWebhookStatusEnum: enum: - 1 - 2 - 3 - 4 - 5 AccountCheckWebhook: type: object properties: scanRef: type: string nullable: true readOnly: true clientId: type: string nullable: true authToken: type: string nullable: true date: type: string nullable: true status: allOf: - $ref: '#/components/schemas/AccountCheckWebhookStatusEnum' readOnly: true score: type: number format: double readOnly: true facebookScore: type: number format: double nullable: true gmailScore: type: number format: double nullable: true ipScore: type: number format: double nullable: true required: - scanRef - score - status 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: General tags: - Webhooks - Bank tags: - name: Bank description: Bank 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: bankVerification: post: operationId: bankVerification description: This notification is sent when a bank verification is completed. summary: Bank verification 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_VERIFICATION required: true - in: header name: Idenfy-Signature schema: type: string description: Webhook signature tags: - Webhooks requestBody: content: application/json: schema: $ref: '#/components/schemas/BankVerificationWebhook' required: true responses: '200': description: Return a 200 status to indicate that the data was received successfully. accountCheck: post: operationId: accountCheck description: This notification is sent when an account social media check is completed. summary: Account check 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: - ACCOUNT_CHECK required: true - in: header name: Idenfy-Signature schema: type: string description: Webhook signature tags: - Webhooks requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountCheckWebhook' responses: '200': description: Return a 200 status to indicate that the data was received successfully.