Float Public API

REST API (OpenAPI 3.1.0, 71 operations across 47 paths) for automating accounting and reporting against Float. Read card transactions, account transactions, bills, bill attachments, payments, reimbursements and receipts; manage the coding dimensions (GL codes, tax codes, tax components, custom fields, vendors, subsidiaries); read cards, card limits, teams, users, approval and submission policies; create and manage API accounting connections and webhook subscriptions. Bearer-token auth with per-business API tokens issued from the Float web app. Cursor-free page/page_size pagination with created_at range filters.

OpenAPI Specification

float-financial-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Float Public API
  version: 1.0.0
  description: Float's Public API
paths:
  /v1/account-transactions:
    get:
      operationId: getAccountTransactions
      summary: Retrieve a paginated list of account transactions
      parameters:
      - in: query
        name: account_id
        schema:
          type:
          - string
          - 'null'
          format: uuid
        description: Unique identifier of the account associated with the transactions
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: filter_type
        schema:
          enum:
          - ACCOUNTING_EXPORTABLE
          type: string
        description: "Type of filter to apply to the transactions\n - `ACCOUNTING_EXPORTABLE`: Transactions that can be found\
          \ on the Transaction Export flow\n\n* `ACCOUNTING_EXPORTABLE` - ACCOUNTING_EXPORTABLE"
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      - in: query
        name: transaction_type
        schema:
          enum:
          - CAPTURE
          - REFUND
          - TOPUP
          - TOPUP_REVERSAL
          - FUND_WITHDRAWAL
          - FUND_WITHDRAWAL_REVERSAL
          - BILLING_CHARGE
          - BILLING_REFUND
          - CASHBACK
          - CASHBACK_REFUND
          - FLOAT_COMPENSATION
          - INTEREST
          - INTEREST_REFUND
          - BILL_PAY_WITHDRAWAL
          - BILL_PAY_RETURN
          - DIRECT_PAYMENT_WITHDRAWAL
          - DIRECT_PAYMENT_RETURN
          - PERSONAL_REIMBURSEMENT_WITHDRAWAL
          - PERSONAL_REIMBURSEMENT_RETURN
          - TRANSFER_IN
          - TRANSFER_OUT
          - FX_TRANSFER_DEBIT
          - FX_TRANSFER_CREDIT
          - INCOMING_PAD
          - INCOMING_PAD_REVERSAL
          type: string
        description: 'Type of transaction to filter by


          * `CAPTURE` - CAPTURE

          * `REFUND` - REFUND

          * `TOPUP` - TOPUP

          * `TOPUP_REVERSAL` - TOPUP_REVERSAL

          * `FUND_WITHDRAWAL` - FUND_WITHDRAWAL

          * `FUND_WITHDRAWAL_REVERSAL` - FUND_WITHDRAWAL_REVERSAL

          * `BILLING_CHARGE` - BILLING_CHARGE

          * `BILLING_REFUND` - BILLING_REFUND

          * `CASHBACK` - CASHBACK

          * `CASHBACK_REFUND` - CASHBACK_REFUND

          * `FLOAT_COMPENSATION` - FLOAT_COMPENSATION

          * `INTEREST` - INTEREST

          * `INTEREST_REFUND` - INTEREST_REFUND

          * `BILL_PAY_WITHDRAWAL` - BILL_PAY_WITHDRAWAL

          * `BILL_PAY_RETURN` - BILL_PAY_RETURN

          * `DIRECT_PAYMENT_WITHDRAWAL` - DIRECT_PAYMENT_WITHDRAWAL

          * `DIRECT_PAYMENT_RETURN` - DIRECT_PAYMENT_RETURN

          * `PERSONAL_REIMBURSEMENT_WITHDRAWAL` - PERSONAL_REIMBURSEMENT_WITHDRAWAL

          * `PERSONAL_REIMBURSEMENT_RETURN` - PERSONAL_REIMBURSEMENT_RETURN

          * `TRANSFER_IN` - TRANSFER_IN

          * `TRANSFER_OUT` - TRANSFER_OUT

          * `FX_TRANSFER_DEBIT` - FX_TRANSFER_DEBIT

          * `FX_TRANSFER_CREDIT` - FX_TRANSFER_CREDIT

          * `INCOMING_PAD` - INCOMING_PAD

          * `INCOMING_PAD_REVERSAL` - INCOMING_PAD_REVERSAL'
      tags:
      - Account Transactions
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedResponse_AccountTransactionSchema'
          description: A paginated list of account transactions
  /v1/account-transactions/{transaction_id}:
    get:
      operationId: getAccountTransactionByTransactionId
      summary: Retrieve a single account transaction by transaction ID
      parameters:
      - in: path
        name: transaction_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Account Transactions
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTransactionSchema'
          description: A single account transaction
        '404':
          description: Transaction not found
  /v1/accounting-connections:
    get:
      operationId: getAccountingConnections
      summary: Retrieve all accounting connections for the business
      tags:
      - Accounting Connections
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountingConnectionListSchema'
          description: List of accounting connections
    post:
      operationId: createAccountingConnection
      summary: Create a new API accounting connection
      parameters:
      - in: header
        name: X-Idempotency-Key
        schema:
          type: string
        description: A unique key to ensure idempotency of the request
        required: true
      tags:
      - Accounting Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountingConnectionCreateSchema'
        required: true
      security:
      - bearerToken: []
      responses:
        '201':
          description: Accounting connection created successfully
        '400':
          description: Invalid request
  /v1/accounting-connections/{connection_id}:
    patch:
      operationId: updateAccountingConnection
      summary: Update an accounting connection
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Accounting Connections
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAccountingConnectionUpdateSchema'
      security:
      - bearerToken: []
      responses:
        '200':
          description: Accounting connection updated successfully
        '404':
          description: Accounting connection not found
    delete:
      operationId: deleteAccountingConnection
      summary: Delete an accounting connection
      parameters:
      - in: path
        name: connection_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Accounting Connections
      security:
      - bearerToken: []
      responses:
        '204':
          description: Accounting connection deleted successfully
        '404':
          description: Accounting connection not found
  /v1/accounts:
    get:
      operationId: getAccounts
      summary: Retrieve a paginated list of accounts
      parameters:
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Accounts
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_AccountViewSchema'
          description: A paginated list of accounts
  /v1/accounts/{account_id}:
    get:
      operationId: getAccountById
      summary: Retrieve a single account by ID
      parameters:
      - in: path
        name: account_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Accounts
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountViewSchema'
          description: A single account
        '404':
          description: Account not found
  /v1/approval-policies:
    get:
      operationId: getApprovalPolicies
      summary: Retrieve a paginated list of approval policies
      parameters:
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Approval Policies
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_ApprovalPolicySchema'
          description: A paginated list of approval policies
  /v1/approval-policies/{approval_policy_id}:
    get:
      operationId: getApprovalPolicyById
      summary: Retrieve an approval policy by ID
      parameters:
      - in: path
        name: approval_policy_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Approval Policies
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_ApprovalPolicySchema'
          description: A single approval policy
        '404':
          description: Approval policy not found
  /v1/bills:
    get:
      operationId: getBills
      summary: Retrieve a paginated list of bills
      parameters:
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: export_status
        schema:
          type: array
          items:
            enum:
            - EXPORTED
            - EXPORT_FAILED
            - READY_FOR_EXPORT
            - INVALID_FOR_EXPORT
            type: string
            description: '* `EXPORTED` - EXPORTED

              * `EXPORT_FAILED` - EXPORT_FAILED

              * `READY_FOR_EXPORT` - READY_FOR_EXPORT

              * `INVALID_FOR_EXPORT` - INVALID_FOR_EXPORT'
          default: []
        description: The export statuses of the bills to filter by.
        style: form
        explode: false
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Bills
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_BillSchema'
          description: A paginated list of bills
    patch:
      operationId: patchBills
      summary: Update multiple bills
      tags:
      - Bills
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBillBatchUpdateSchema'
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchUpdateResponseSchema'
          description: A response detailing successes and failures.
        '404':
          description: Bills not found
  /v1/bills/{bill_id}:
    get:
      operationId: getBillById
      summary: Retrieve a bill by ID
      parameters:
      - in: path
        name: bill_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Bills
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_BillSchema'
          description: A single bill
        '404':
          description: Bill not found
    patch:
      operationId: patchBill
      summary: Update bill
      parameters:
      - in: path
        name: bill_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Bills
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBillUpdateSchema'
      security:
      - bearerToken: []
      responses:
        '200':
          description: Bill updated successfully
        '404':
          description: Bill not found
  /v1/bills/{bill_id}/attachments:
    get:
      operationId: getBillAttachments
      summary: Retrieve a paginated list of bill attachments by bill ID
      parameters:
      - in: path
        name: bill_id
        schema:
          type: string
          format: uuid
        required: true
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Bill Attachments
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_BillAttachmentSchema'
          description: A paginated list of bill attachments
        '404':
          description: Bill not found
  /v1/bills/{bill_id}/sync:
    post:
      operationId: markBillAsSynced
      summary: Mark a bill as synced
      parameters:
      - in: header
        name: X-Idempotency-Key
        schema:
          type: string
        description: A unique key to ensure idempotency of the request
        required: true
      - in: path
        name: bill_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Bills
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyncInputSchema'
      security:
      - bearerToken: []
      responses:
        '200':
          description: Sync event recorded successfully
        '404':
          description: Bill not found
  /v1/bills/attachments/{bill_attachment_id}:
    get:
      operationId: getBillAttachmentById
      summary: Retrieve a bill attachment by ID
      parameters:
      - in: path
        name: bill_attachment_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Bill Attachments
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillAttachmentSchema'
          description: A single bill attachment
        '404':
          description: Bill attachment not found
  /v1/card-limits:
    get:
      operationId: getCardLimits
      summary: Retrieve a list of all card limits
      parameters:
      - in: query
        name: card_id
        schema:
          type:
          - string
          - 'null'
          format: uuid
        description: Unique identifier of the card to filter limits by.
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Card Limits
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_CardLimitSchema'
          description: A paginated list of all card limits
    post:
      operationId: createCardLimit
      summary: 'BETA: Create a new card limit'
      parameters:
      - in: header
        name: X-Idempotency-Key
        schema:
          type: string
        description: A unique key to ensure idempotency of the request
        required: true
      tags:
      - Card Limits
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCardLimitForCardSchema'
        required: true
      security:
      - bearerToken: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardLimitSchema'
          description: A single card limit
        '422':
          description: start_date is not enabled for this business
  /v1/card-limits/{card_limit_id}:
    get:
      operationId: getCardLimitById
      summary: Retrieve a single card limit by ID
      parameters:
      - in: path
        name: card_limit_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Card Limits
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardLimitSchema'
          description: A single card limit
        '404':
          description: Card limit not found
  /v1/card-transactions:
    get:
      operationId: getTransactions
      summary: Retrieve a list of paginated card transactions
      parameters:
      - in: query
        name: accounting_stage
        schema:
          enum:
          - IN_REVIEW
          - READY_TO_EXPORT
          - EXPORTED
          type: string
        description: 'The accounting stage of the card transactions to filter by.


          * `IN_REVIEW` - IN_REVIEW

          * `READY_TO_EXPORT` - READY_TO_EXPORT

          * `EXPORTED` - EXPORTED'
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Card Transactions
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_CardTransactionSchema'
          description: A paginated list of all card transactions
    patch:
      operationId: patchTransactions
      summary: Update multiple card transactions
      tags:
      - Card Transactions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCardTransactionBatchUpdateSchema'
      security:
      - bearerToken: []
      responses:
        '200':
          description: Card transactions updated successfully
        '404':
          description: Card transactions not found
  /v1/card-transactions/{transaction_id}:
    get:
      operationId: getTransactionById
      summary: Retrieve a single card transaction by ID
      parameters:
      - in: path
        name: transaction_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Card Transactions
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardTransactionSchema'
          description: A single card transaction
        '404':
          description: Card transaction not found
    patch:
      operationId: patchTransaction
      summary: Update card transaction
      parameters:
      - in: path
        name: transaction_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Card Transactions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedCardTransactionUpdateSchema'
      security:
      - bearerToken: []
      responses:
        '200':
          description: Card transaction updated successfully
        '404':
          description: Card transaction not found
  /v1/cards:
    get:
      operationId: getCards
      summary: Retrieve a list of all cards
      parameters:
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Cards
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_CardSchema'
          description: A paginated list of all cards
    post:
      operationId: createCard
      summary: 'BETA: Create a new card'
      parameters:
      - in: header
        name: X-Idempotency-Key
        schema:
          type: string
        description: A unique key to ensure idempotency of the request
        required: true
      tags:
      - Cards
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCardSchema'
        required: true
      security:
      - bearerToken: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardSchema'
          description: A single card
  /v1/cards/{card_id}:
    get:
      operationId: getCardById
      summary: Retrieve a single card by ID
      parameters:
      - in: path
        name: card_id
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Cards
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardSchema'
          description: A single card
        '404':
          description: Card not found
  /v1/custom-fields:
    get:
      operationId: getCustomFields
      summary: Retrieve a paginated list of custom fields
      parameters:
      - in: query
        name: created_at__gte
        schema:
          type: string
          format: date-time
          default: '1970-01-01T00:00:00Z'
        description: Filter for records created at or after this timestamp. Default is the epoch start time in UTC.
      - in: query
        name: created_at__lte
        schema:
          type:
          - string
          - 'null'
          format: date-time
        description: Filter for records created at or before this timestamp. Default is the current UTC time.
      - in: query
        name: order_by
        schema:
          enum:
          - created_at
          - -created_at
          type: string
          default: -created_at
          minLength: 1
        description: 'The ordering of the results. Use ''created_at'' for ascending order or ''-created_at'' for descending
          order.


          * `created_at` - created_at

          * `-created_at` - -created_at'
      - in: query
        name: page
        schema:
          type: integer
          minimum: 1
          default: 1
        description: The page number to retrieve, starting from 1.
      - in: query
        name: page_size
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 1000
        description: The number of items per page, maximum is 1000.
      tags:
      - Custom Fields
      security:
      - bearerToken: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountablePagedResponse_UnionType_MultiSelectSchema_StringSchema'
          description: A paginated list of custom fields
    post:
      operationId: createCustomFields
      summary: Create custom fields
      tags:
      - Custom Fields
      requestBody:


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