Stax Admin API

The Admin API from Stax — 1 operation(s) for admin.

Operations 1

POST /admin/enroll Enroll a Merchant #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stax-admin-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stax-admin-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: stax-api Admin API
  version: '0.1'
servers:
- url: https://apiprod.fattlabs.com/
security:
- ApiKeyAuth: []
tags:
- name: Admin
paths:
  /admin/enroll:
    post:
      summary: Enroll a Merchant
      description: Simultaneously create a merchant, registers the merchant, and creates a user record in a single request, associating them together.
      operationId: enroll-a-merchant
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                skip_account_page:
                  type: boolean
                  description: Set to true to skip the setPassword page for the user when logging in.
                hide_prefilled_fields:
                  type: boolean
                  description: When a field is pre-populated, it will not be displayed to a merchant. This can declutter the information presented to the merchant to be filled out.
                registration:
                  properties:
                    pricing_plan:
                      type: string
                      description: Must be a valid pricing plan for the requesting user's Brand.
                      default: test-pricing
                    business_email:
                      type: string
                      description: The email for the business.
                    email:
                      type: string
                      description: The principal owner's email.
                    business_legal_name:
                      type: string
                      description: Merchant business legal name. 100 character max.
                    business_dba:
                      type: string
                      description: Merchant business 'Doing Business As' name. Should be same as legal name if no DBA exists.
                    business_website:
                      type: string
                      description: Merchant business website address (include http://). 100 character max.
                    business_phone_number:
                      type: string
                      description: 'Merchant business phone number. Format: (999) 999-9999, 9999999999, or 999-999-9999.'
                    business_fax:
                      type: string
                      description: 'Merchant fax number. Format: (999) 999-9999, 9999999999, or 999-999-9999.'
                    business_address_1:
                      type: string
                      description: Merchant business address line 1. 100 character max.
                    business_address_2:
                      type: string
                      description: Merchant business address line 2. 100 character max.
                    business_address_city:
                      type: string
                      description: Merchant business city.
                    business_address_state:
                      type: string
                      description: Two-letter state abbreviation (e.g., FL).
                    business_address_zip:
                      type: string
                      description: Merchant business ZIP code.
                    business_address_country:
                      type: string
                      description: Merchant business country. 2 character max.
                    business_open_date:
                      type: string
                      description: 'Merchant business open date. Format: MM/DD/YYYY.'
                    business_tax_id:
                      type: string
                      description: 'Merchant business tax ID. Format: 12-3456789.'
                    company_type:
                      type: string
                      description: 'Entity type. Values: A (Association/Estate/Trust), G (Government), S (Individual/Sole Proprietor), F (Financial Institution), L (LLC), E (Tax-Exempt 501C), P (Partnership), V (Private Corporation), B (Public Corporation), R (SEC-Registered Entity).'
                    entity_ownership_type:
                      type: string
                      description: Ownership type (e.g., PRIVATE).
                    first_name:
                      type: string
                      description: Merchant owner/signer first name. 100 character max.
                    last_name:
                      type: string
                      description: Merchant owner/signer last name. 100 character max.
                    title:
                      type: string
                      description: Merchant owner title (e.g., Mr Prez).
                    job_title:
                      type: string
                      description: Merchant owner job title. Same as title.
                    phone_number:
                      type: string
                      description: 'Owner/signer phone number. Format: (999) 999-9999.'
                    user_dob:
                      type: string
                      description: 'Owner date of birth. Format: MM/DD/YYYY.'
                    user_ssn:
                      type: string
                      description: Primary owner/signer Social Security Number.
                    owner_address_1:
                      type: string
                      description: Owner/signer address line 1.
                    owner_address_2:
                      type: string
                      description: Owner/signer address line 2.
                    owner_address_city:
                      type: string
                      description: Owner/signer city.
                    owner_address_state:
                      type: string
                      description: Owner/signer two-letter state abbreviation.
                    owner_address_zip:
                      type: string
                      description: Owner/signer ZIP/postal code.
                    owner_address_country:
                      type: string
                      description: Owner/signer country (e.g., USA).
                    principal_owners_name:
                      type: string
                      description: Merchant owner principal first and last name.
                    service_you_provide:
                      type: string
                      description: Description of the merchant's main service or product. 200 character max.
                    annual_volume:
                      type: string
                      description: Merchant annual credit card volume. 100 character max.
                    avg_trans_size:
                      type: string
                      description: Merchant average transaction size.
                    highest_trans_amount:
                      type: string
                      description: Merchant reported highest credit card transaction amount.
                    card_present_percent:
                      type: string
                      description: Percentage of volume where the card is physically present (e.g., terminal transactions).
                    card_not_present_percent:
                      type: string
                      description: Percentage of volume where the card is not present (e.g., online or keyed-in transactions).
                    card_swiped_percent:
                      type: string
                      description: Percentage of volume from card-swiped transactions.
                    moto_percent:
                      type: string
                      description: Percentage of volume taken via mail order/telephone order. Typically the same as card_not_present_percent.
                    internet:
                      type: string
                      description: Percentage of volume taken over the internet.
                    b2b_percent:
                      type: string
                      description: Merchant business-to-business volume percentage.
                    international:
                      type: string
                      description: Merchant international volume percentage.
                    refund_policy:
                      type: string
                      description: 'Merchant refund policy. Values: N (No Refunds), E (Merchandise Exchange Only), T (30 Days or Fewer), O (Other).'
                    bank_routing_number:
                      type: string
                      description: Billing bank routing number.
                    bank_account_number:
                      type: string
                      description: Billing bank account number.
                    bank_account_owner_name:
                      type: string
                      description: Billing bank account owner name.
                    secondary_bank_routing_number:
                      type: string
                      description: Secondary bank routing number.
                    secondary_bank_account_number:
                      type: string
                      description: Secondary bank account number.
                    secondary_bank_account_purpose:
                      type: string
                      description: Purpose of the secondary bank account (e.g., fees).
                    chosen_processing_method:
                      type: string
                      description: How the merchant will process payments (e.g., api).
                    underwriting_status:
                      type: string
                      description: Underwriting status to set (e.g., APPROVED).
                    field_permissions:
                      type: string
                      description: JSON object that manually controls field permissions.
                    amex_direct_number:
                      type: integer
                      description: If you have over a million in AMEX sales, AMEX will have provided a 10-digit direct number.
                    amex_annual_volume:
                      type: string
                      default: ''
                      description: The predicted annual gross sales of AMEX cards.
                    electronic_signature:
                      type: string
                    credit_inquiry_electronic_signature:
                      type: string
                    application_agreed_at:
                      type: string
                    countersigned_at:
                      type: string
                    signature_status:
                      type: string
                    meta:
                      type: array
                      items:
                        properties:
                          owner_citizenship:
                            type: string
                            description: 3 character ISO country code for company representative, eg. ALA.
                          ownership_percentage:
                            type: string
                            description: The ownership percentage for primary owner, eg. 50.
                          representatives:
                            type: array
                            items:
                              properties:
                                title:
                                  type: string
                                  description: Position within the organization.
                                first_name:
                                  type: string
                                  description: Name of representative.
                                last_name:
                                  type: string
                                  description: Surname of representative.
                                email:
                                  type: string
                                  description: Representative email.
                                ownership_percentage:
                                  type: string
                                  description: Ownership percentage for company representatives, eg. 50
                                phone:
                                  type: string
                                  description: Representative phone number.
                                address_1:
                                  type: string
                                address_2:
                                  type: string
                                address_city:
                                  type: string
                                address_state:
                                  type: string
                                  description: State (two letter) (ex. FL).
                                address_zip:
                                  type: string
                                citizenship:
                                  type: string
                                  description: 3 character ISO country code for company representative, eg. ALA.
                                ssn:
                                  type: string
                                  description: Representative social security number.
                                type:
                                  type: string
                                  enum:
                                  - Beneficial Owner
                                  - Guarantor
                                  description: Type of owner.
                              type: object
                            description: Any additional representatives (required for any owner/representative with 25% or more ownership).
                        type: object
                  required:
                  - pricing_plan
                  - business_email
                  - email
                  type: object
                user:
                  properties:
                    email:
                      type: string
                      description: Provide the user's email if they exist; all other details will be ignored. For best practice, provide the rest of the details to ensure user creation. User.email must not be a Stax Connect level user.
                    name:
                      type: string
                      description: User's full name. This is required for new users.
                    password:
                      type: string
                      description: (required for new user).
                    password_confirmation:
                      type: string
                      description: (required for new user).
                  required:
                  - email
                  type: object
                merchant:
                  properties:
                    plan:
                      type: string
                      description: The plan which sets Stax Pay configuration.
                      default: premium
                    company_name:
                      type: string
                      description: Name of the company.
                    contact_email:
                      type: string
                      description: Email for communication.
                    hosted_payments_token:
                      type: string
                      description: Each merchant record has a unique identifier for StaxJs. If not specified, one is autogenerated with the company name and a random string.
                  required:
                  - plan
                  - company_name
                  - contact_email
                  type: object
            examples:
              Example Request:
                summary: Example Request
                value: "{\n    \"skip_account_page\": true,\n    \"merchant\": {\n        \"plan\":\"premium\",\n        \"company_name\": \"Stax\",\n        \"contact_name\": \"James Holden\",\n        \"contact_email\": \"James.Holden@example.com\",\n        \"contact_phone\": \"4035551234\",\n        \"address_1\": \"25 Wall Street\",\n        \"address_2\": \"Suite 1\",\n        \"address_city\": \"Orlando\",\n        \"address_state\": \"FL\",\n        \"address_zip\": \"32801\",\n        \"hosted_payments_token\": \"Stax-c3073a83d4a2\",\n        \"currency\": [\"USD\"],\n        \"status\": \"PENDING\",\n    },\n    \"registration\": {\n        \"pricing_plan\": \"test-pricing\",\n        \"underwriting_status\": \"APPROVED\",\n        \"first_name\": \"Post\",\n        \"last_name\": \"Man\",\n        \"email\": \"postman@example.com\",\n        \"title\": \"Mr Prez\",\n        \"company_type\": \"A\",\n        \"entity_ownership_type\": \"PRIVATE\",\n        \"business_phone_number\": \"5555555555\",\n        \"business_legal_name\": \"Consulting by Post\",\n        \"business_dba\": \"Post's Consulting\",\n        \"business_website\": \"https://example.com/\",\n        \"business_fax\": \"5555555555\",\n        \"business_email\": \"postman@example.com\",\n        \"owner_address_1\": \"618 E South St\",\n        \"owner_address_2\": \"Suite 510\",\n        \"owner_address_city\": \"Orlando\",\n        \"owner_address_state\": \"\",\n        \"owner_address_zip\": \"55555\",\n        \"owner_address_country\": \"USA\",\n        \"meta\": {\n          \"ownership_percentage\": \"100\",\n          \"owner_citizenship\":\"ALA\",\n          \"representatives\": [\n            {\n              \"title\": \"king supreme ceo\",\n              \"first_name\": \"David\",\n              \"last_name\": \"Sandra\",\n              \"email\": \"davesandra344@gmail.com\",\n              \"ownership_percentage\": \"40\",\n              \"phone\": \"5555555555\",\n              \"address_1\": \"100 S Orange Ave\",\n              \"address_2\": \"Suite 400\",\n              \"address_city\": \"Orlando\",\n              \"address_state\": \"CA\",\n              \"address_zip\": \"55555\",\n              \"citizenship\":\"ALB\",\n              \"ssn\": \"123445666\",\n              \"type\": \"Beneficial Owner\"\n            }\n          ]\n        },\n        \"business_tax_id\": \"123456789\",\n        \"business_open_date\": \"12/25/2020\",\n        \"job_title\": \"Mr Prez\",\n        \"service_you_provide\": \"consulting services\",\n        \"annual_volume\": \"1000\",\n        \"highest_trans_amount\": \"100000\",\n        \"card_not_present_percent\": \"100\",\n        \"bank_routing_number\": \"021000021\",\n        \"bank_account_number\": \"9876543210\",\n        \"bank_account_owner_name\": \"Post Man\",\n        \"secondary_bank_routing_number\": \"021000021\",\n        \"secondary_bank_account_number\": \"9876543210\",\n        \"secondary_bank_account_purpose\": \"fees\",\n        \"principal_owners_name\": \"Post Man\",\n        \"chosen_processing_method\": \"api\"\n    },\n    \"user\": {\n        \"name\": \"James Holden\",\n        \"email\": \"James.Holden@example.com\",\n        \"team_role\": \"staff\",\n        \"team_enabled\": true,\n        \"password\": \"YesYouNeedToProvideThisAndAConfirmationToCreateAUser\",\n        \"password_confirmation\": \"YesYouNeedToProvideThisAndAConfirmationToCreateAUser\"\n    }\n}"
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJnb2RVc2VyIjpudWxsLCJtZXJjaGFudCI6IjdmZTk3ZTBmLTJlN2EtNDgxNy04NzJiLTZlYjg2ZWVhODQyYyIsInN1YiI6IjQwZmU4YTUyLWZiNzEtNGJlYy04OZZZZZZZZZZGMxOGE1MCIsImJyYW5kIjoiZmF0dG1lcmNoYW50ZZZZZZZZZZZZZZbGwiLCJpYXQiOjE2MzA2NzQ1NzUsImV4cCI6MTYzMTAyMDE3NSwibmJmIjoxNjMwNjc0NTc1LCJqdGkiOiJHclA2RTd5ZFlRTDdUS04yIiwiYXNzdW1pbmciOmZhbHNlfQ.zKFWYDSoUajuVq-n-7dlDwjAXvC44weYDBk8Y2C1qn8
                    user:
                      id: 40fe8a52-fb71-4bec-89b3-a48f1dc18a50
                      system_admin: false
                      name: James Holden
                      email: James.Holden@example.com
                      email_verification_sent_at: null
                      email_verified_at: null
                      created_at: '2021-09-03 13:09:34'
                      updated_at: '2021-09-03 13:09:34'
                      is_default: false
                      is_api_key: false
                      deleted_at: null
                      gravatar: //www.gravatar.com/avatar/3bb87cb08d869fcf9a21748861bcec08
                      team_role: admin
                      team_admin: true
                      team_enabled: true
                      merchant_options: []
                      acknowledgments:
                        setPassword: true
                      options: null
                      brand: fattmerchant
                    merchant:
                      id: 7fe97e0f-2e7a-4817-872b-6eb86eea842c
                      mid: ''
                      status: PENDING
                      subdomain: ''
                      company_name: Stax
                      display_name: Fattmerchant
                      contact_name: Fattmerchant
                      contact_email: info2@fattmerchant.com
                      contact_phone: '8555503288'
                      address_1: 25 Wall Street
                      address_2: Suite 1
                      address_city: Orlando
                      address_state: FL
                      address_zip: '32801'
                      hosted_payments_token: Fattmerchant-c3073a83d4a2
                      currency:
                      - USD
                      plan:
                        id: 42392492-ee45-41ea-8c43-a40a41ab1ba2
                        merchant_id: 7fe97e0f-2e7a-4817-872b-6eb86eea842c
                        user_id: 40fe8a52-fb71-4bec-89b3-a48f1dc18a50
                        name: test
                        created_at: '2021-09-03 13:09:34'
                        updated_at: '2021-09-03 13:09:34'
                      options: null
                      gateway_type: null
                      processor: ''
                      partner: null
                      product_type: Other
                      is_enterprise: false
                      is_payfac: true
                      is_sandbox: false
                      is_test_mode: 0
                      fm_billing_schedule_id: null
                      fee_reconciliation_payment_method_id: null
                      welcome_email_sent_at: null
                      created_at: '2021-09-03 13:09:34'
                      updated_at: '2021-09-03 13:09:34'
                      deleted_at: null
                      brand: fattmerchant
                      risk_hold: false
                      branding: null
                      allow_ach: false
                      is_portal: false
                      is_flat_rate: true
                      allow_credits: false
                      allow_terminal: false
                      gateways: []
                      is_surcharge_enabled: false
                      is_trust: false
                      underwriting_status: null
                      underwriting_substatuses: null
                      allow_cnp_digital_wallet: false
                      registration:
                        merchant_id: 7fe97e0f-2e7a-4817-872b-6eb86eea842c
                        user_id: 40fe8a52-fb71-4bec-89b3-a48f1dc18a50
                        electronic_signature: null
                        credit_inquiry_electronic_signature: null
                        application_agreed_at: null
                        countersigned_at: null
                        signature_status: null
                        application_status: null
                        underwriting_status: null
                        underwriting_substatuses: null
                        underwriting_note: null
                        meta:
                          owner_citizenship: ALA
                          ownership_percentage: '40'
                          representatives:
                          - title: king supreme ceo
                            first_name: David
                            last_name: Sandra
                            email: davesandra344@gmail.com
                            ownership_percentage: '40'
                            phone: '5555555555'
                            address_1: 100 S Orange Ave
                            address_2: Suite 400
                            address_city: Orlando
                            address_state: CA
                            address_zip: '55555'
                            citizenship: ALB
                            ssn: '123445666'
                            type: Beneficial Owner
                        first_name: null
                        last_name: null
                        email: null
                        title: null
                        company_type: null
                        entity_ownership_type: PRIVATE
                        phone_number: null
                        source: null
                        promo_code: null
                        ref_code: null
                        plan: null
                        fm_pc_name: null
                        business_legal_name: Consulting by Post
                        business_dba: null
                        business_website: null
                        business_fax: null
                        business_email: null
                        business_address_1: null
                        business_address_2: null
                        business_address_city: null
                        business_address_state: null
                        business_address_zip: null
                        business_address_country: null
                        owner_address_1: ''
                        owner_address_2: ''
                        owner_address_city: ''
                        owner_address_state: ''
                        owner_address_zip: ''
                        owner_address_country: ''
                        user_ip: null
                        user_ssn: null
                        user_dob: null
                        business_phone_number: null
                        business_tax_id: null
                        business_open_date: null
                        job_title: null
                        refund_policy: null
                        reason_for_applying: null
                        service_you_provide: null
                        annual_volume: null
                        avg_trans_size: null
                        highest_trans_amount: null
                        card_present_percent: null
                        card_not_present_percent: null
                        card_swiped_percent: null
                        moto_percent: null
                        b2b_percent: null
                        bank_routing_number: null
                        bank_account_number: null
                        bank_account_owner_name: null
                        secondary_bank_routing_number: null
                        secondary_bank_account_number: null
                        secondary_bank_account_owner_name: null
                        secondary_bank_account_type: null
                        secondary_bank_account_purpose: null
                        principal_owners_name: null
                        chosen_plan: null
                        chosen_processing_method: null
                        plan_txamnt: '.15'
                        plan_dcamnt: '2.99'
                        plan_ach_cap: '9999'
                        plan_ach_txamnt: '0'
                        plan_ach_dcamnt: '1.00'
                        plan_nabu: null
                        referred_by: null
                        created_at: '2021-09-03 13:09:34'
                        updated_at: '2021-09-03 13:09:35'
                        deleted_at: null
                        paper_statement: false
                        num_of_locs: ''
                        addl_loc: false
                        addl_loc_main_mid: ''
                        internet: ''
                        international: ''
                        mcc: ''
                        proc_change: ''
                        seasonal_flag: false
                        seasonal_months: ''
                        bus_type: ''
                        sub_bus_type: ''
                        special_proc: ''
                        pos_software_publisher: ''
                        pos_software_name: ''
                        pos_software_version: ''
                        site_inspection: ''
                        location_type: ''
                        network: ''
                        bank_account_type: ''
                        mcc_addl_desc: ''
                        business_location_address_1: null
                        business_location_address_2: null
                        business_location_address_city: null
                        business_location_address_country: null
                        business_location_address_state: null
                        business_location_address_zip: null
                        business_location_email: null
                        business_location_fax: null
                        business_location_phone_number: null
                        note: null
                        credit_qual_disc_rate: '2.99'
                        credit_qual_trans_fee: '.15'
                        credit_mid_disc_rate: '2.99'
                        credit_mid_trans_fee: '.15'
                        credit_non_disc_rate: '2.99'
                        credit_non_trans_fee: '.15'
                        amex_qual_disc_rate: '3.5'
                        amex_qual_trans_fee: '.15'
                        amex_mid_disc_rate: '3.5'
                        amex_mid_trans_fee: '.15'
                        amex_non_disc_rate: '3.5'
                        amex_non_trans_fee: '.15'
                        is_flat_rate: true
                        pricing_plan: finix
                        finix_merchant_id: ''
                        finix_identity_id: ''
                        annual_gross_ach_revenue: null
                        avg_ach_transaction: null
                        largest_ach_transaction: null
                        cp_transaction_rate: '2.99'
                        cp_per_item_rate: '.15'
                        cp_amex_rate: '3.5'
                        cp_amex_per_item_rate: '.15'
                        warnings: null
                        merchant_autoverification_authorization: null
                        chargeback_percent: null
                        annual_gross_shopping_cart_revenue: null
                        avg_shopping_cart_transaction: null
                        largest_shopping_cart_transaction: null
                        shopping_cart_card_present_percent: null
                        shopping_cart_b2b_percent: null
                        shopping_cart_international: null
                        cp_credit_surcharge_rate: null
                        cnp_credit_surcharge_rate: null
                        cp_debit_trans_fee: null
                        cnp_debit_trans_fee: null
                        cp_debit_discount_rate: null
                        cnp_debit_discount_rate: null
                        files: []
                        brand: fattmerchant
                        underwriting_substatus: null
                        empty_required_fields:
                        - business_dba
                        - business_address_1
                        - business_address_city
                        - business_address_state
                        - business_address_zip
                        - business_tax_id
                        - business_open_date
                        - service_you_provide
                        - annual_volume
                        - avg_trans_size
                        - highest_trans_amount
                        - card_present_percent
                        - b2b_percent
                        - international
                        - refund_policy
                        - bank_account_owner_name
                        - bank_routing_number
                        - bank_account_number
                        - title
                        - user_dob
                        - user_ssn
                        - first_name
                        - last_name
                        - email
                        - phone_number
                        - owner_address_1
                        - owner_address_city
                        - owner_address_state
                        - owner_address_zip
                        latest_file_uploaded_at: null
                    registration:
                      business_lega

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stax/refs/heads/main/openapi/stax-admin-api-openapi.yml