JustiFi website screenshot

JustiFi

JustiFi is an embedded-payments and PayFac-as-a-service platform that lets SaaS companies add payment processing to their software. Its REST API (base https://api.justifi.ai/v1) plus StencilJS web components handle sub-merchant onboarding, card and bank-account tokenization, payments, refunds, disputes, payouts, proceeds, checkouts, and card-present terminals, while JustiFi carries the PCI-DSS Level 1, SOC 2, and GDPR compliance burden. Authentication is OAuth 2.0 client-credentials yielding 24-hour Bearer tokens, with idempotent money movement, cursor pagination, and webhook events. Backed by Emergence Capital.

JustiFi publishes 27 APIs on the APIs.io network, including Ach Return Fees API, Address API, API Credentials API, and 24 more. Tagged areas include Company, Fintech, Payments, Embedded Payments, and Payment Facilitation.

The JustiFi catalog on APIs.io includes 1 event-driven AsyncAPI specification.

JustiFi’s developer surface includes documentation, API reference, getting-started guide, engineering blog, pricing, signup flow, CLI, and 20 more developer resources.

53.3/100 developing ▬ flat Agent 72/100 agent native Full breakdown ↓
scored 2026-07-27 · rubric v0.5
AccessSelf serve
27 APIs 1 MCP Servers
CompanyFintechPaymentsEmbedded PaymentsPayment FacilitationPayoutsDevelopersAPI

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 53.3/100 · developing
Contract Quality 15.1 / 25
Developer Ergonomics 16.5 / 20
Commercial Clarity 8.4 / 20
Operational Transparency 2.7 / 13
Governance 0.0 / 12
Discoverability 10.0 / 10
Agent readiness — 72/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 9 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/justifi: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 27

Individual APIs this provider publishes, each with its own machine-readable definition.

JustiFi Ach Return Fees API

ACH return fees are fees charged by financial institutions when an ACH (Automated Clearing House) transaction is returned due to insufficient funds or other reasons. If an ACH t...

JustiFi Address API

Creating an Address entity provides the necessary information to identify and locate a physical address. It may be associated with an Identity entity or Business entity to provi...

JustiFi API Credentials API

The API Credentials API from JustiFi — 1 operation(s) for api credentials.

JustiFi Balance Transactions API

Balance transactions are the reflection of any movement of funds that affects the balance of an account. Oftentimes, a single financial transaction (like a payment) will result ...

JustiFi Bank Account API

Create/manage bank accounts for your businesses. These accounts are used for paying out earnings for usage of various products, for example card processing.

JustiFi Bind Insurance API

The Bind Insurance API from JustiFi — 1 operation(s) for bind insurance.

JustiFi Business API

Creating a business entity is an essential step in integrating your business operations with JustiFi. It is also necessary to comply with local laws and regulations governing yo...

JustiFi Checkouts API

Checkouts can be used to collect payments directly via API, or using our Checkout component. You can use a checkout to complete a payment via JustiFi, via BNPL, via terminal, an...

JustiFi Disputes API

A customer may dispute their payment with the card issuer/bank if they believe the charge is erroneous. When this happens, a dispute record is created and associated with their ...

JustiFi Document API

Create/manage documents attached to your businesses and identities. When a document record is created using this API the response object returns a presigned url used to upload t...

JustiFi Fee Configurations API

Standard Fee Configurations allow platforms to set per-sub-account fee rates that are automatically applied at payment time. Configurations are managed per fee type — creating a...

JustiFi Identity API

Creating an identity establishes a unique identification for people associated with your business. Accurately providing your information is crucial in ensuring that your identit...

JustiFi Payment Method Groups API

Payment method groups are a way to associate payment methods to a single group for easy access.

JustiFi Payment Methods API

Payment methods refer to the specific form of payment each customer uses (e.g. their credit card). Payment methods are tokenized, then charged at time of payment.

JustiFi Payments API

To charge a payment method the desired amount, you'll use a payment. You can choose whether to charge a payment method that's already been tokenized or tokenize a new one when y...

JustiFi Payout Holds API

A payout hold is a resource that temporarily hold or pause payouts for a sub account. This feature is used for risk management, compliance, or business rule enforcement. Holds c...

JustiFi Payouts API

Each day, a payout containing that day's funds is automatically created for the purpose of distributing those funds to the active bank account. Payout amounts are calculated by ...

JustiFi Proceeds API

Proceeds represent your platform's take-home portion of the fees from your sub account's financial transactions. Proceeds are batched together according to the payout schedule c...

JustiFi Provisioning API

Provisioning API for Products serves as an automated interface to configure resources based on your current entities informations, for example creating an account for card proce...

JustiFi Refunds API

When you refund a payment, a refund object is created. You can retrieve information about the refunds you've issued.

JustiFi Reports API

Reports can be used to pull data for various different resources. They are CSV format, and can be filtered by date and sub account. Once a the create endpoint is called via POST...

JustiFi Sub Accounts API

Sub Accounts are the representation of your platform's customers for payment processing in JustiFi and are associated with your platform account. To gain approval for payment pr...

JustiFi Terminals API

JustiFi provides a card present solution which allows you to collect a payment via a terminal provider via one of our technology partners. To collect a payment via terminal, you...

JustiFi Terminals Orders API

Terminals Orders API for order management

JustiFi Terms and Conditions API

Legally binding rules and agreements that outline the rights, responsibilities, and limitations governing the use of the platform.

JustiFi Voids API

The Voids API from JustiFi — 1 operation(s) for voids.

JustiFi Web Component Tokens API

The Web Component Tokens API from JustiFi — 1 operation(s) for web component tokens.

Scroll for all 27

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

justifi-mcp.yml

MCP SERVER

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Justifi Authentication

oauth2/apiKey · 3 schemes

SECURITY

Justifi Domain Security

TLSv1.3 · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Justifi Agentic Access

90 operations · 41 acting

90 operations · 41 acting

AGENTIC

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 5

Pagination, idempotency, versioning, errors, and events

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: justifi
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/justifi.png
name: JustiFi
description: JustiFi is an embedded-payments and PayFac-as-a-service platform that lets SaaS companies add payment processing
  to their software. Its REST API (base https://api.justifi.ai/v1) plus StencilJS web components handle sub-merchant onboarding,
  card and bank-account tokenization, payments, refunds, disputes, payouts, proceeds, checkouts, and card-present terminals,
  while JustiFi carries the PCI-DSS Level 1, SOC 2, and GDPR compliance burden. Authentication is OAuth 2.0 client-credentials
  yielding 24-hour Bearer tokens, with idempotent money movement, cursor pagination, and webhook events. Backed by Emergence
  Capital.
url: https://raw.githubusercontent.com/api-evangelist/justifi/refs/heads/main/apis.yml
x-type: company
x-source: vc-portfolio
x-backed-by:
- emergence-capital
x-tier: stub
x-tier-reason: portfolio-lead
specificationVersion: '0.20'
created: '2026-07-17'
modified: '2026-07-19'
tags:
- Company
- Fintech
- Payments
- Embedded Payments
- Payment Facilitation
- Payouts
- Developers
- API
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
apis:
- aid: justifi:justifi-ach-return-fees-api
  name: JustiFi Ach Return Fees API
  description: 'ACH return fees are fees charged by financial institutions when an ACH (Automated Clearing House) transaction

    is returned due to insufficient funds or other reasons.

    If an ACH transaction is returned for any reason, the financial institution may charge a fee to the sender of the transaction.

    These fees can vary depending on the policies of the financial institution and the reason for the return.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Ach Return Fees
  properties:
  - type: OpenAPI
    url: openapi/justifi-ach-return-fees-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-address-api
  name: JustiFi Address API
  description: Creating an Address entity provides the necessary information to identify and locate a physical address. It
    may be associated with an Identity entity or Business entity to provide a more complete picture of the parties involved.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Address
  properties:
  - type: OpenAPI
    url: openapi/justifi-address-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-api-credentials-api
  name: JustiFi API Credentials API
  description: The API Credentials API from JustiFi — 1 operation(s) for api credentials.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - API Credentials
  properties:
  - type: OpenAPI
    url: openapi/justifi-api-credentials-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-balance-transactions-api
  name: JustiFi Balance Transactions API
  description: 'Balance transactions are the reflection of any movement of funds that affects the balance of an account.

    Oftentimes, a single financial transaction (like a payment) will result in the creation of many balance

    transactions in order to document the flow of funds between multiple accounts. Other financial transactions

    that result in balance transactions include refunds, disputes, and payouts.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Balance Transactions
  properties:
  - type: OpenAPI
    url: openapi/justifi-balance-transactions-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-bank-account-api
  name: JustiFi Bank Account API
  description: Create/manage bank accounts for your businesses. These accounts are used for paying out earnings for usage
    of various products, for example card processing.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Bank Account
  properties:
  - type: OpenAPI
    url: openapi/justifi-bank-account-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-bind-insurance-api
  name: JustiFi Bind Insurance API
  description: The Bind Insurance API from JustiFi — 1 operation(s) for bind insurance.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Bind Insurance
  properties:
  - type: OpenAPI
    url: openapi/justifi-bind-insurance-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-business-api
  name: JustiFi Business API
  description: 'Creating a business entity is an essential step in integrating your business operations with JustiFi.

    It is also necessary to comply with local laws and regulations governing your operations.

    To create a new business entity, you will need to provide basic information such as the business name, website, business
    type, business structure, and your industry.

    You may also add details like the legal address, tax ID, and ownership structure.

    Providing detailed and accurate information about the business entity is essential for ensuring legal compliance, financial
    accuracy, and it can also help avoid potential legal and financial issues.


    Business classification encompasses both the type of business and its operational structure.

    Use the following table to map your current business type and structure to the correct business classification:


    | Business Type     | Business Structure                    | Business Classification |

    | -------------     | ------------------                    | ----------------------- |

    | individual        | *                                     | sole_proprietor         |

    | for_profit        | unincorporated_association            | sole_proprietor         |

    | for_profit        | sole_proprietorship                   | sole_proprietor         |

    | for_profit        | public_partnership                    | partnership             |

    | for_profit        | private_partnership                   | partnership             |

    | for_profit        | private_corporation                   | corporation             |

    | for_profit        | public_corporation                    | public_company          |

    | for_profit        | multi_llc                             | limited                 |

    | for_profit        | single_llc                            | limited                 |

    | non_profit        | incorporated                          | non_profit              |

    | non_profit        | unincorporated                        | non_profit              |

    | government_entity | government_unit                       | government              |

    | government_entity | government_instrumentality            | government              |

    | government_entity | tax_exempt_government_instrumentality | government              |


    Please, choose whether you want to use the business classification (preferred) or the business type and structure (deprecated),
    but not both. Business classification is a simplification of business type and structure with the same goals.


    _Note: If you use the classification, it will not have the exact same correspondence with the business type and structure
    from the previous table because there are fewer classifications than types/structures._'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Business
  properties:
  - type: OpenAPI
    url: openapi/justifi-business-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-checkouts-api
  name: JustiFi Checkouts API
  description: 'Checkouts can be used to collect payments directly via API, or using our Checkout component.

    You can use a checkout to complete a payment via JustiFi, via BNPL, via terminal,

    and to purchase insurance in a single transaction.


    All attempts to complete a payment will be recorded, along with the outcome of a payment.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Checkouts
  properties:
  - type: OpenAPI
    url: openapi/justifi-checkouts-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-disputes-api
  name: JustiFi Disputes API
  description: 'A customer may dispute their payment with the card issuer/bank if they believe

    the charge is erroneous. When this happens, a dispute record is created and

    associated with their original payment.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Disputes
  properties:
  - type: OpenAPI
    url: openapi/justifi-disputes-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-document-api
  name: JustiFi Document API
  description: 'Create/manage documents attached to your businesses and identities. When a document record

    is created using this API the response object returns a presigned url used to upload this

    document to an encrypted bucket. The presigned url can then be used to upload directly to an

    AWS s3 bucket, with a command like `curl -X PUT -T /path/to/file.pdf "insert presigned url"`.

    You must use the PUT method. This can also be accomplished from a backend or mobile app, from the browser or using our
    web components.

    After upload is complete the status changes from `pending` to `uploaded`.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Document
  properties:
  - type: OpenAPI
    url: openapi/justifi-document-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-fee-configurations-api
  name: JustiFi Fee Configurations API
  description: 'Standard Fee Configurations allow platforms to set per-sub-account fee rates that are automatically applied
    at payment time. Configurations are managed per fee type — creating a new configuration for the same fee type automatically
    retires the previous one.


    For a detailed guide on configurable fees, including the fee hierarchy, calculation formula, and examples, see the [Configurable
    Fees documentation](https://docs.justifi.tech/configurableFees/overview).'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Fee Configurations
  properties:
  - type: OpenAPI
    url: openapi/justifi-fee-configurations-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-identity-api
  name: JustiFi Identity API
  description: Creating an identity establishes a unique identification for people associated with your business. Accurately
    providing your information is crucial in ensuring that your identity is properly verified and maintained, and can have
    important consequences for a variety of financial and legal transactions. Our platform has a secure database for storing
    identity information, encryption and other security measures to protect your sensitive data.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Identity
  properties:
  - type: OpenAPI
    url: openapi/justifi-identity-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-payment-method-groups-api
  name: JustiFi Payment Method Groups API
  description: Payment method groups are a way to associate payment methods to a single group for easy access.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Payment Method Groups
  properties:
  - type: OpenAPI
    url: openapi/justifi-payment-method-groups-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-payment-methods-api
  name: JustiFi Payment Methods API
  description: 'Payment methods refer to the specific form of payment each customer uses

    (e.g. their credit card). Payment methods are tokenized, then charged at time of payment.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Payment Methods
  properties:
  - type: OpenAPI
    url: openapi/justifi-payment-methods-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-payments-api
  name: JustiFi Payments API
  description: 'To charge a payment method the desired amount, you''ll use a payment.

    You can choose whether to charge a payment method that''s already been

    tokenized or tokenize a new one when you create the payment.

    If a payment fails, the status will reflect it and an error code will be returned.

    You can retrieve information about your payments and refund them if needed.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Payments
  properties:
  - type: OpenAPI
    url: openapi/justifi-payments-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-payout-holds-api
  name: JustiFi Payout Holds API
  description: 'A payout hold is a resource that temporarily hold or pause payouts for a sub account.

    This feature is used for risk management, compliance, or business rule enforcement.

    Holds can be created automatically by the system (e.g., for first payments) or manually by JustiFi staff..'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Payout Holds
  properties:
  - type: OpenAPI
    url: openapi/justifi-payout-holds-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-payouts-api
  name: JustiFi Payouts API
  description: 'Each day, a payout containing that day''s funds is automatically created for the

    purpose of distributing those funds to the active bank account. Payout amounts are calculated by

    summing the associated balance transactions for that specific day.


    Payouts are processed each day at 11:30am US/Central time. A Platform can also configure each

    sub account to have an expedited payout priority. If this is enabled, the payout will be settled on the

    day the payout is generated. Otherwise, standard payouts will settle the next business day.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Payouts
  properties:
  - type: OpenAPI
    url: openapi/justifi-payouts-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-proceeds-api
  name: JustiFi Proceeds API
  description: 'Proceeds represent your platform''s take-home portion of the fees from your sub account''s financial transactions.

    Proceeds are batched together according to the payout schedule configured on your account, then transferred

    to your active bank account.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Proceeds
  properties:
  - type: OpenAPI
    url: openapi/justifi-proceeds-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-provisioning-api
  name: JustiFi Provisioning API
  description: Provisioning API for Products serves as an automated interface to configure resources based on your current
    entities informations, for example creating an account for card processing.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Provisioning
  properties:
  - type: OpenAPI
    url: openapi/justifi-provisioning-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-refunds-api
  name: JustiFi Refunds API
  description: 'When you refund a payment, a refund object is created. You can retrieve

    information about the refunds you''ve issued.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Refunds
  properties:
  - type: OpenAPI
    url: openapi/justifi-refunds-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-reports-api
  name: JustiFi Reports API
  description: 'Reports can be used to pull data for various different resources. They are CSV format, and can be filtered
    by date and sub account.

    Once a the create endpoint is called via POST, a report will be in `created` status. The report will move to `processing`
    status once it is being generated.

    Finally, when the report is generated, and the CSV file is available, the report will be in `completed` status.


    To download a report, you can use the `download_url` provided in the response when retrieving a report. We use presigned
    URLs to allow you to download the report directly

    from our S3 bucket.


    ## Report Types


    ### Payout Report

    Contains balance transaction data for payouts.


    | Column | Description |

    | ------ | ----------- |

    | id | Balance transaction ID |

    | type | Transaction type |

    | currency | Currency |

    | amount | Amount in cents |

    | fee | Fee amount in cents |

    | net | Net amount in cents |

    | source_id | Source object ID |

    | source_account_id | Source account ID |

    | source_type | Source object type |

    | source_amount | Source amount in cents |

    | available_on | When funds become available |

    | payment_id | Associated payment ID |

    | created_at | Creation timestamp |

    | payment_method_name | Payment method name |

    | source_payment_id | Payment ID associated with the source |

    | payout_id | Associated payout ID |

    | payout_created_at | Payout creation timestamp |

    | payout_deposits_at | Expected payout deposit date |


    ### Proceeds Report

    Contains platform proceeds data.


    | Column | Description |

    | ------ | ----------- |

    | id | Balance transaction ID |

    | type | Transaction type |

    | currency | Currency code |

    | amount | Amount in cents |

    | fee | Fee amount in cents |

    | net | Net amount in cents |

    | source_id | Source object ID |

    | source_account_id | Source account ID |

    | source_type | Source object type |

    | source_amount | Source amount in cents |

    | application_fee_amount | Application fee in cents |

    | platform_fee_amount | Platform fee in cents |

    | proceeds | Calculated proceeds in cents |

    | available_on | When funds become available |

    | created_at | Creation timestamp |

    | fee_major_category | Fee major category |

    | fee_minor_category | Fee minor category |

    | fee_description | Fee description |

    | fee_product_code | Fee product code |

    | fee_batch_date | Fee batch date |

    | payment_method_type | Payment method type |

    | payment_method_brand | Payment method brand |

    | source_payment_id | Payment ID associated with the source |

    | payout_id | Associated payout ID |

    | payout_created_at | Payout creation timestamp |

    | payout_deposits_at | Expected payout deposit date |'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Reports
  properties:
  - type: OpenAPI
    url: openapi/justifi-reports-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-sub-accounts-api
  name: JustiFi Sub Accounts API
  description: 'Sub Accounts are the representation of your platform''s customers for payment processing in JustiFi and are
    associated with your platform account.

    To gain approval for payment processing each of your customers need to be onboarded as a business via [web compoenent](https://docs.justifi.tech/api-spec#tag/Onboarding-via-Component),
    [hosted onboarding](https://docs.justifi.tech/api-spec#tag/Hosted-Onboarding) or [API](https://docs.justifi.tech/api-spec#tag/Onboarding-via-API).

    During the onboarding process a sub account is automatically created for each business and updated along the way.

    Payments can be processed through a sub account once it''s status is `enabled`.

    | Status             | Description |

    | -----------        | ----------- |

    | created            | this sub account has been created (via Sub Accounts API), but we haven''t received their onboarding
    entry yet |

    | submitted          | we''ve received this sub account''s onboarding entry (via hosted onboarding or API) and we''re
    reviewing their information |

    | information_needed | we reviewed this sub account''s onboarding entry and found an issue; we need more information before
    we can enable this account |

    | enabled            | this sub account is approved to process payments _note: test accounts are automatically enabled_
    |

    | rejected           | this sub account didn''t pass approval, so they won''t be able to process payments |

    | disabled           | this sub account was previously approved, but has since become ineligible to process payments (e.g.
    due to fraud) |

    | archived           | this sub account has been archived; they won''t be able to process payments (but their record will
    remain for historical reasons) |'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Sub Accounts
  properties:
  - type: OpenAPI
    url: openapi/justifi-sub-accounts-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-terminals-api
  name: JustiFi Terminals API
  description: 'JustiFi provides a card present solution which allows you to collect a payment via a terminal provider via
    one of our technology partners.


    To collect a payment via terminal, you must first ensure you ask the JustiFi team to enable the card present feature for
    your platform. Next, we will work to provision and configure terminals for your sub accounts.


    Once you have configured a terminal, you must complete the following steps to complete a payment:


    1. Create a Checkout

    2. Send a checkout to a terminal

    3. Terminal processes payment async

    4. Handle checkout.completed event (recommended)

    5. OR poll checkouts API for status change (optional)


    ### Create a checkout

    [Create a Checkout](https://docs.justifi.tech/api-spec#tag/Checkouts/operation/CreateCheckout) with the amount you''d
    like to capture, and a description of the payment.


    ### Send a checkout to a terminal

    [POST to the terminal pay endpoint](https://docs.justifi.tech/api-spec#tag/Terminals/operation/payTerminal) which will
    be used to send your checkout to a terminal for processing. This process can take some time as it requires customer interaction.
    For this reason, the API will return immediately but the process is asynchronusly happening on a terminal.


    ### Terminal processes payment async

    At this point, the process is handed over to the terminal to complete. Once the payment transaction is completed, we will
    publish an event for you to continue the process and take further action, as noted in the next step.


    ### Handle checkout.completed event

    Create an [Event Publisher](https://docs.justifi.tech/api-spec#tag/Events) which publishes [`checkout.completed` events](https://docs.justifi.tech/api-spec#tag/Events/operation/checkoutEvent).
    This will provide a means to ensure the payment was successful. You can also listen to checkout completion events, for
    example a checkout.completion.failed event will be published each time a card is attempted to be processed but the transaction
    fails for some reason.


    ### Poll checkouts API for status change

    If you do not have the ability to handle event publishing, you could poll our checkout API with the id of the checkout
    you are processing. Contine to poll until the checkout status attribute changes. We recommend you use the checkout events
    instead of this approach.'
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Terminals
  properties:
  - type: OpenAPI
    url: openapi/justifi-terminals-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-terminals-orders-api
  name: JustiFi Terminals Orders API
  description: Terminals Orders API for order management
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Terminals Orders
  properties:
  - type: OpenAPI
    url: openapi/justifi-terminals-orders-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-terms-and-conditions-api
  name: JustiFi Terms and Conditions API
  description: Legally binding rules and agreements that outline the rights, responsibilities, and limitations governing the
    use of the platform.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Terms and Conditions
  properties:
  - type: OpenAPI
    url: openapi/justifi-terms-and-conditions-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentication
    url: authentication/justifi-authentication.yml
  - type: ErrorCatalog
    url: errors/justifi-problem-types.yml
  - type: DeclineCodes
    url: errors/justifi-decline-codes.yml
  - type: DataModel
    url: data-model/justifi-data-model.yml
- aid: justifi:justifi-voids-api
  name: JustiFi Voids API
  description: The Voids API from JustiFi — 1 operation(s) for voids.
  humanURL: https://docs.justifi.tech/api-spec
  baseURL: https://api.justifi.ai/v1
  tags:
  - Voids
  properties:
  - type: OpenAPI
    url: openapi/justifi-voids-api-openapi.yml
  - type: Webhooks
    url: asyncapi/justifi-webhooks.yml
  - type: Authentica

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/justifi/refs/heads/main/apis.yml