openapi: 3.0.2 info: title: Finix Authorizations Onboarding Forms API description: $ref: api-descriptions/main.md contact: name: Finix url: https://finix.com email: support@finixpayments.com version: '2022-02-01' servers: - description: Sandbox server to be used for testing and development url: https://finix.sandbox-payments-api.com security: - BasicAuth: [] tags: - name: Onboarding Forms description: $ref: api-descriptions/tags/onboarding-forms.md paths: /onboarding_forms: parameters: [] post: summary: Create an Onboarding Form operationId: createOnboardingForm responses: '200': $ref: '#/components/responses/OnboardingForm' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' '422': $ref: '#/components/responses/Error422InvalidField' description: 'Create an `onboarding_form` with the name of the processor you plan to onboard users to and the links they` get redirected to when completing or moving away from the Finix Onboarding Form. Only **ROLE_PARTNER** credentials can be used to create an `onboarding_form`.' requestBody: $ref: '#/components/requestBodies/CreateOnboardingFormRequest' tags: - Onboarding Forms x-java-method-name: create x-codeSamples: - lang: cURL label: curl source: $ref: xcode/curl/onboarding-form/create-onboarding-form.md x-python-method-name: create /onboarding_forms/{onboarding_form_id}: parameters: - schema: type: string name: onboarding_form_id description: The id of the `onboarding_form`. in: path required: true get: summary: Fetch an Onboarding Form operationId: getOnboardingForm responses: '200': $ref: '#/components/responses/OnboardingForm' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' '422': $ref: '#/components/responses/Error422InvalidField' description: Retrieve the details of an `onboarding_form`. tags: - Onboarding Forms x-java-method-name: get x-codeSamples: - lang: cURL label: curl source: $ref: xcode/curl/onboarding-form/fetch-onboarding-form.md x-python-method-name: get /onboarding_forms/{onboarding_form_id}/links: parameters: - schema: type: string name: onboarding_form_id in: path required: true description: The ID of the `onboarding_form` resource. post: summary: Create an Onboarding Form Link operationId: createOnboardingFormLink responses: '200': $ref: '#/components/responses/OnboardingFormLink' '401': $ref: '#/components/responses/ErrorUnauthorized' '403': $ref: '#/components/responses/ErrorForbidden403' '404': $ref: '#/components/responses/ErrorNotFound' '406': $ref: '#/components/responses/Error406NotAcceptable' '422': $ref: '#/components/responses/Error422InvalidField' description: Use the `onboarding_forms` API to create a link that can return users to where they left off completing their Finix Onboarding Form. requestBody: $ref: '#/components/requestBodies/CreateOnboardingFormLinkRequest' tags: - Onboarding Forms x-java-method-name: createLink x-codeSamples: - lang: cURL label: curl source: $ref: xcode/curl/onboarding-form/onboarding-form-link.md x-python-method-name: create_link components: schemas: Error422InvalidFieldList: type: object description: Invalid field title: '' properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object properties: code: type: string enum: - INVALID_FIELD field: type: string logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string Error403ForbiddenList: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - FORBIDDEN logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string description: '' title: '' UpdatedAt: type: string title: UpdatedAt format: date-time description: Timestamp of when the object was last updated. OnboardingForm: type: object x-examples: {} title: OnboardingForm properties: id: type: string description: The ID of the `onboarding_form` resource. created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' merchant_processors: type: array description: An array of objects with the processors and gateways users will be onboarded to. items: type: object properties: processor: type: string description: The name of the processor you plan to onboard users to. onboarding_data: $ref: '#/components/schemas/OnboardingFormOnboardingData' onboarding_link: type: object description: The information of the initial onboarding link. This is only provided when creating an `onboarding_form`. properties: expires_at: type: string description: A UTC timestamp detailing when the onboarding form expires and will no longer be available via `link_url`. To generate a new link to the same form, see [Get an Onboarding Form URL](/guides/onboarding/onboarding-form/#get-an-onboarding-form-url). link_url: type: string description: The URL of the user's Finix Onboarding Form. Users can use the `link_url` to return to the form until the link expires. status: type: string description: Status of the `onboarding_from`. enum: - IN_PROGRESS - COMPLETED tags: $ref: '#/components/schemas/Tags' Error404NotFoundList: type: object properties: total: type: integer _embedded: type: object properties: errors: type: array items: type: object additionalProperties: true properties: code: type: string enum: - NOT_FOUND logref: $ref: '#/components/schemas/LogRef' message: type: string _links: type: object properties: source: type: object properties: href: type: string LogRef: title: LogRef type: object properties: logref: type: string OnboardingFormOnboardingData: title: OnboardingFormOnboardingData x-stoplight: id: lu5e8v4djdyv7 type: object description: The prefilled information of the user that's being onboarded. For more information, see [Prefilling Fields](/guides/onboarding/onboarding-forms/#prefilling-fields). properties: additional_underwriting_data: type: object description: Additional underwriting data about the user. properties: annual_ach_volume: type: integer description: The approximate annual ACH sales expected to be processed (in cents) by this merchant (max 10 characters). average_ach_transfer_amount: type: integer description: The approximate average ACH sale amount (in cents) for this merchant. average_card_transfer_amount: type: integer description: The average credit card sale amount (in cents) for this merchant. business_description: type: string minLength: 1 description: Description of this merchant's business (max 200 characters). card_volume_distribution: type: object description: The distribution of the merchant's credit card volume The sum of `card_volume_distribution` must be 100. nullable: true properties: card_present_percentage: type: integer description: The percentage of the merchant's volume that's card present (between 0 and 100). ecommerce_percentage: type: integer description: The percentage of the merchant's business that is eCommerce (between 0 and 100). mail_order_telephone_order_percentage: type: integer description: The percentage of the merchant's business that is a mail or telephone order (between 0 and 100). credit_check_allowed: type: boolean description: Sets if this merchant has consented and accepted to a credit check. credit_check_ip_address: type: string minLength: 1 description: The IP address of the merchant when they consented to a credit check (e.g., 42.1.1.112 ). credit_check_timestamp: type: string minLength: 1 description: A timestamp of when this merchant consented to a credit check (e.g., 2021-04-28T16:42:55Z). credit_check_user_agent: type: string minLength: 1 description: The details of the browser that was used when this merchant consented to a credit check (e.g., Mozilla 5.0 (Macintosh; Intel Mac OS X 10 _14_6)). merchant_agreement_accepted: type: boolean description: Sets whether this merchant has accepted the terms and conditions of the merchant agreement. merchant_agreement_ip_address: type: string minLength: 1 description: IP address of the merchant when this merchant accepted the merchant agreement (e.g., 42.1.1.113). merchant_agreement_timestamp: type: string minLength: 1 description: Timestamp of when the merchant accepted Finix's Terms of Service (e.g., 2021-04-28T16:42:55Z). merchant_agreement_user_agent: type: string minLength: 1 description: The details of the browser that was used when this merchant accepted Finix's Terms of Service (e.g., Mozilla 5.0 (Macintosh; Intel Mac OS X 10 _14_6)). refund_policy: type: string minLength: 1 description: Include the value that best applies to the merchant's refund policy. enum: - NO_REFUNDS - MERCHANDISE_EXCHANGE_ONLY - WITHIN_30_DAYS - OTHER volume_distribution_by_business_type: type: object description: Merchant's distribution of credit card volume by business type. Sum of `volume_distribution_by_business_type` must be 100. nullable: true properties: business_to_business_volume_percentage: type: integer description: The percentage of the merchant's volume that's business to business (between 0 and 100). business_to_consumer_volume_percentage: type: integer description: The percentage of the merchant's volume that's business to consumer (between 0 and 100). consumer_to_consumer_volume_percentage: type: integer description: Merchant's percentage of volume that is consumer to consumer (between 0 and 100). other_volume_percentage: type: integer description: The percentage of the merchant's volume that isn't represented by the previous fields (between 0 and 100). person_to_person_volume_percentage: type: integer description: The percentage the merchant's volume that's person to person (between 0 and 100). associated_entities: type: array description: The `entities` saved in the `associated_identities` of the user. For more information, see [Create an Associated Identity](/guides/onboarding/onboarding-form/#prefilling-fields). items: type: object description: Underwriting data that's required to verify the `Identity`. properties: annual_card_volume: type: integer description: The annual credit card sales (in cents) expected to be processed (max 19 characters). business_address: type: object description: The primary address for the legal entity. nullable: true properties: city: type: string description: City (max 20 characters). minLength: 1 country: type: string minLength: 1 line2: type: string minLength: 1 description: Second line of the address (max 35 characters). line1: type: string minLength: 1 description: First line of the address (max 35 characters). postal_code: type: string minLength: 1 description: Zip or Postal code (max 7 characters). region: type: string minLength: 1 description: 2-letter state code. business_name: type: string minLength: 1 description: Abbreviated names of the business. If there are no abbreviated name, leave this field blank. nullable: true business_phone: type: string minLength: 1 description: Customer service phone number where the merchant can be reached (max 10 characters). business_tax_id: type: string minLength: 1 description: Nine digit Tax Identification Number (TIN), Employer Identification Number (EIN). If the `business_type` is **INDIVIDUAL\_SOLE\_PROPRIETORSHIP** and they do not have an EIN, use the sole proprietor's Social Security Number (SSN). business_type: type: string minLength: 1 description: Include the value that best applies to the merchant. enum: - INDIVIDUAL_SOLE_PROPRIETORSHIP - CORPORATION - LIMITED_LIABILITY_COMPANY - PARTNERSHIP - ASSOCIATION_ESTATE_TRUST - TAX_EXEMPT_ORGANIZATION - INTERNATIONAL_ORGANIZATION - GOVERNMENT_AGENCY default_statement_descriptor: type: string minLength: 1 description: The description of the merchant that appears on the buyer's bank or card statement. dob: type: object description: 'The control owner''s date of birth. ' properties: day: type: integer month: type: integer year: type: integer doing_business_as: type: string minLength: 1 description: Alternate names of the business. If there are no other names, pass the same value used for `business_name` (max 60 characters). email: type: string minLength: 1 description: The email address of the principal control owner where they can be reached (max 100 characters). first_name: type: string minLength: 1 description: The legal first name of the control owner (max 20 characters). has_accepted_credit_cards_previously: type: boolean description: Defaults to **false** if not passed. incorporation_date: type: object description: The date the company was founded and registered. nullable: true properties: day: type: integer description: Day business was incorporated (between 1 and 31). month: type: integer description: Month business was incorporated (between 1 and 12). year: type: integer description: Year business was incorporated (4-digit). last_name: type: string minLength: 1 description: The `Identity` owner's legal last name. max_transaction_amount: type: integer description: The maximum amount (in cents) that can be charged for a single transaction (max 12 characters). mcc: type: string minLength: 1 description: The Merchant Category Code ([MCC](http://www.dm.usda.gov/procurement/card/card\_x/mcc.pdf)) that this merchant will be classified under. For a list of approved MCCs, see [Approved Merchant Category Codes.](/docs/guides/business/security-and-compliance/approved-merchants/) ownership_type: type: string minLength: 1 description: 'Values can be either: