openapi: 3.1.0 info: title: Fin.com Authentication Catalogue API version: 1.0.0 description: A simple API specificationFo servers: - url: https://sandbox.api.fin.com description: Sandbox server - url: https://api.fin.com description: Production server tags: - name: Catalogue description: 'A set of endpoints to retrieve contextual data to assemble requests to fin.com''s API ' paths: /v1/industries: get: summary: List Industries description: Retrieve a list of available industries x-mint: content: "\n This endpoint is used for **Create Business Customer V1** only. It is not applicable for Create Business Customer V2.\n\n" tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' responses: '200': description: List of industries retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' industries: type: array items: type: object properties: id: type: integer example: 1 title: type: string example: Oilseed Except Soybean Farming '401': $ref: '#/components/responses/AuthenticationError' /v1/occupations: get: summary: List Occupations description: Retrieve a list of available occupations tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' responses: '200': description: List of occupations retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' occupations: type: array items: type: object properties: id: type: integer example: 1 title: type: string example: Software Engineer '401': $ref: '#/components/responses/AuthenticationError' /v1/source-of-funds: get: summary: List Source of Funds description: Retrieve a list of available source of funds tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' - name: type in: query description: Filter source of funds by type required: true schema: type: string enum: - INDIVIDUAL - BUSINESS responses: '200': description: List of source of funds retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' source_of_funds: type: array items: type: object properties: id: type: integer example: 1 title: type: string example: Employment Income '401': $ref: '#/components/responses/AuthenticationError' /v1/source-of-wealth: get: summary: List Source of Wealth description: Retrieve a list of available source of wealth options tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' - name: type in: query description: Filter source of wealth by type required: true schema: type: string enum: - INDIVIDUAL - BUSINESS responses: '200': description: List of source of wealth retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' source_of_wealth: type: array items: type: object properties: id: type: integer example: 1 title: type: string example: Business dividends or profits example: data: pagination: current_page: 1 per_page: 10 total_page: 1 total: 7 source_of_wealth: - id: 1 title: Business dividends or profits - id: 2 title: Investment income - id: 3 title: Real estate - id: 4 title: Inheritance - id: 5 title: Salary - id: 6 title: Sale of business - id: 7 title: Other '401': $ref: '#/components/responses/AuthenticationError' /v1/purposes: get: summary: List Account Purposes description: Retrieve a list of available account purposes tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' - name: type in: query description: Filter account purposes by type required: true schema: type: string enum: - INDIVIDUAL - BUSINESS responses: '200': description: List of account purposes retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' purposes: type: array items: type: object properties: id: type: integer example: 1 title: type: string example: Personal Savings '401': $ref: '#/components/responses/AuthenticationError' /v1/countries: get: summary: List Generic Country Codes description: Retrieve a list of country specific codes following ISO 3166-1 alpha-3 standard tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' responses: '200': description: List of countries retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' countries: type: array items: type: object properties: code: type: string example: BLR name: type: string example: Belarus currency_code: type: string example: BYN phone_code: type: string example: '+375' flag_url: type: string format: uri example: https://flagcdn.com/by.svg postal_code: type: object properties: required: type: boolean example: true regex: type: string nullable: true example: \A\d{6}\Z example: data: pagination: current_page: 1 per_page: 20 total_page: 13 total: 248 countries: - code: AFG name: Afghanistan currency_code: AFN phone_code: '+93' flag_url: https://flagcdn.com/af.svg postal_code: required: true regex: \A\d{4}\Z - code: ALA name: Ă…land Islands currency_code: EUR phone_code: '+358' flag_url: https://flagcdn.com/ax.svg postal_code: required: true regex: \A22\d{3}\Z - code: ALB name: Albania currency_code: ALL phone_code: '+355' flag_url: https://flagcdn.com/al.svg postal_code: required: true regex: \A\d{4}\Z - code: DZA name: Algeria currency_code: DZD phone_code: '+213' flag_url: https://flagcdn.com/dz.svg postal_code: required: true regex: \A\d{5}\Z - code: ASM name: American Samoa currency_code: USD phone_code: +1-684 flag_url: https://flagcdn.com/as.svg postal_code: required: true regex: \A(96799)(?:[ \-](\d{4}))?\Z - code: AND name: Andorra currency_code: EUR phone_code: '+376' flag_url: https://flagcdn.com/ad.svg postal_code: required: true regex: \AAD[1-7]0\d\Z - code: AGO name: Angola currency_code: AOA phone_code: '+244' flag_url: https://flagcdn.com/ao.svg postal_code: required: false regex: null - code: AIA name: Anguilla currency_code: XCD phone_code: +1-264 flag_url: https://flagcdn.com/ai.svg postal_code: required: true regex: \A(?:AI-)?2640\Z - code: ATA name: Antarctica flag_url: https://flagcdn.com/aq.svg postal_code: required: false regex: null - code: ATG name: Antigua and Barbuda currency_code: XCD phone_code: +1-268 flag_url: https://flagcdn.com/ag.svg postal_code: required: false regex: null - code: ARG name: Argentina currency_code: ARS phone_code: '+54' flag_url: https://flagcdn.com/ar.svg postal_code: required: true regex: \A((?:[A-HJ-NP-Z])?\d{4})([A-Z]{3})?\Z - code: ARM name: Armenia currency_code: AMD phone_code: '+374' flag_url: https://flagcdn.com/am.svg postal_code: required: true regex: \A(?:37)?\d{4}\Z - code: ABW name: Aruba currency_code: AWG phone_code: '+297' flag_url: https://flagcdn.com/aw.svg postal_code: required: false regex: null - code: AUS name: Australia currency_code: AUD phone_code: '+61' flag_url: https://flagcdn.com/au.svg postal_code: required: true regex: \A\d{4}\Z - code: AUT name: Austria currency_code: EUR phone_code: '+43' flag_url: https://flagcdn.com/at.svg postal_code: required: true regex: \A\d{4}\Z - code: AZE name: Azerbaijan currency_code: AZN phone_code: '+994' flag_url: https://flagcdn.com/az.svg postal_code: required: true regex: \A\d{4}\Z - code: BHS name: Bahamas currency_code: BSD phone_code: +1-242 flag_url: https://flagcdn.com/bs.svg postal_code: required: false regex: null - code: BHR name: Bahrain currency_code: BHD phone_code: '+973' flag_url: https://flagcdn.com/bh.svg postal_code: required: true regex: \A(?:\d|1[0-2])\d{2}\Z - code: BGD name: Bangladesh currency_code: BDT phone_code: '+880' flag_url: https://flagcdn.com/bd.svg postal_code: required: true regex: \A\d{4}\Z - code: BRB name: Barbados currency_code: BBD phone_code: +1-246 flag_url: https://flagcdn.com/bb.svg postal_code: required: true regex: \ABB\d{5}\Z '401': $ref: '#/components/responses/AuthenticationError' /v1/countries/{country_code}/subdivisions: get: summary: 'List Subdivision Codes: ISO 3166-1 alpha-2' description: Retrieve a list of subdivision codes for a specific country following ISO 3166-2 standard tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/CountryCodeParam' responses: '200': description: List of subdivisions retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: subdivisions: type: array items: type: object properties: name: type: string example: Bandarban code: type: string example: BD-01 '401': $ref: '#/components/responses/AuthenticationError' /v1/transaction-purposes: get: summary: List Transaction Purposes description: Retrieve a list of available transaction purposes tags: - Catalogue security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/PerPageParam' - $ref: '#/components/parameters/CurrentPageParam' - name: type in: query description: Filter transaction purposes by type required: true schema: type: string enum: - INDIVIDUAL - BUSINESS responses: '200': description: List of transaction purposes retrieved successfully content: application/json: schema: type: object properties: data: type: object properties: pagination: $ref: '#/components/schemas/Pagination' transaction_purposes: type: array items: type: object properties: id: type: integer example: 1 title: type: string example: Personal Transfer '401': $ref: '#/components/responses/AuthenticationError' components: parameters: CountryCodeParam: name: country_code in: path description: ISO 3166-1 alpha-3 country code required: true schema: $ref: '#/components/schemas/CountryCode' PerPageParam: name: per_page in: query description: Number of items to return per page required: false schema: type: integer default: 10 minimum: 1 maximum: 512 CurrentPageParam: name: current_page in: query description: The page number to retrieve required: false schema: type: integer default: 1 minimum: 1 responses: AuthenticationError: description: Authentication failed due to invalid credentials content: application/json: schema: type: object properties: message: type: string example: Authentication failed schemas: CountryCode: type: string description: ISO 3166-1 alpha-3 country code example: USA enum: - AFG - ALB - DZA - ASM - AND - AGO - AIA - ATA - ATG - ARG - ARM - ABW - AUS - AUT - AZE - BHS - BHR - BGD - BRB - BLR - BEL - BLZ - BEN - BMU - BTN - BOL - BES - BIH - BWA - BVT - BRA - IOT - BRN - BGR - BFA - BDI - CPV - KHM - CMR - CAN - CYM - CAF - TCD - CHL - CHN - CXR - CCK - COL - COM - COD - COG - COK - CRI - HRV - CUB - CUW - CYP - CZE - CIV - DNK - DJI - DMA - DOM - ECU - EGY - SLV - GNQ - ERI - EST - SWZ - ETH - FLK - FRO - FJI - FIN - FRA - GUF - PYF - ATF - GAB - GMB - GEO - DEU - GHA - GIB - GRC - GRL - GRD - GLP - GUM - GTM - GGY - GIN - GNB - GUY - HTI - HMD - VAT - HND - HKG - HUN - ISL - IND - IDN - IRN - IRQ - IRL - IMN - ISR - ITA - JAM - JPN - JEY - JOR - KAZ - KEN - KIR - PRK - KOR - KWT - KGZ - LAO - LVA - LBN - LSO - LBR - LBY - LIE - LTU - LUX - MAC - MDG - MWI - MYS - MDV - MLI - MLT - MHL - MTQ - MRT - MUS - MYT - MEX - FSM - MDA - MCO - MNG - MNE - MSR - MAR - MOZ - MMR - NAM - NRU - NPL - NLD - NCL - NZL - NIC - NER - NGA - NIU - NFK - MNP - NOR - OMN - PAK - PLW - PSE - PAN - PNG - PRY - PER - PHL - PCN - POL - PRT - PRI - QAT - MKD - ROU - RUS - RWA - REU - BLM - SHN - KNA - LCA - MAF - SPM - VCT - WSM - SMR - STP - SAU - SEN - SRB - SYC - SLE - SGP - SXM - SVK - SVN - SLB - SOM - ZAF - SGS - SSD - ESP - LKA - SDN - SUR - SJM - SWE - CHE - SYR - TWN - TJK - TZA - THA - TLS - TGO - TKL - TON - TTO - TUN - TUR - TKM - TCA - TUV - UGA - UKR - ARE - GBR - UMI - USA - URY - UZB - VUT - VEN - VNM - VGB - VIR - WLF - ESH - YEM - ZMB - ZWE - ALA Pagination: type: object properties: current_page: type: integer example: 1 per_page: type: integer example: 10 total_page: type: integer example: 1 total: type: integer example: 10 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer token authentication. Obtain token from [Issue a Token](https://developer.fin.com/api-reference/authentication/issue-a-token) endpoint