Float Financial · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Float Public API

10 actions 10 updates documentation
Generated by API Evangelist Written by API Evangelist tooling for Float Financial's API. It is a proposal applied on top of the contract, not a document Float Financial publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptionsecuritycontacttermsOfServicex-security-contactx-api-evangelist-profileurlx-token-issuance-url

Targets 9

$.info
$.externalDocs
$
$.components.securitySchemes.bearerToken
$.paths['/v1/openapi'].get
$.servers
$.webhooks
$.components
$.tags

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Float Public API
  version: 1.0.0
x-provenance:
  generated: '2026-08-16'
  method: generated
  source: openapi/float-financial-openapi.yml
  extends: openapi/float-financial-openapi.yml
  note: >-
    Captures API Evangelist's enrichment of Float's published OpenAPI 3.1.0 without mutating it. Every action
    below states something established from Float's own public material — the docs, the live API, or the spec
    itself. Nothing is invented. The original document at openapi/_original/float-financial-openapi.json stays
    byte-for-byte as Float served it.
actions:
- target: $.info
  description: >-
    Add contact, licence-free terms and documentation links Float publishes but does not put in the spec.
  update:
    contact:
      name: Float Financial Support
      url: https://help.floatfinancial.com/hc/en-us
    termsOfService: https://floatfinancial.com/legal
    x-security-contact: security@floatfinancial.com
    x-api-evangelist-profile: https://apis.io/float-financial
- target: $.externalDocs
  description: Wire the documentation root, which the spec omits entirely.
  update:
    description: Float API Documentation
    url: https://docs.floatfinancial.com/
- target: $
  description: >-
    Apply the declared bearerToken scheme globally. Float defines components.securitySchemes.bearerToken but
    declares no top-level `security` and no per-operation `security`, so a generated client sends no credential
    on any of the 71 operations even though all but getOpenAPI require one.
  update:
    security:
    - bearerToken: []
- target: $.components.securitySchemes.bearerToken
  description: Document how the bearer token is obtained — Float documents this only in the help centre.
  update:
    description: >-
      Per-business API token. Create and manage tokens by logging in to app.floatfinancial.com as an
      Administrator and going to Settings > Business Settings > Developers. There is no sandbox or test
      environment: every token is a live production credential.
    x-token-issuance-url: https://app.floatfinancial.com/
    x-scoped: false
- target: $.paths['/v1/openapi'].get
  description: Record that the spec endpoint is the one anonymous operation.
  update:
    security: []
    x-auth-required: false
- target: $.servers
  description: Annotate the single production server with the absence of a sandbox.
  update:
  - url: https://api.floatfinancial.com
    description: >-
      Float's Production API. This is the ONLY environment — Float's own FAQ states it does not offer a sandbox
      or test environment for API access.
    x-environment: production
    x-sandbox-available: false
- target: $.webhooks
  description: >-
    Surface the four card-transaction webhook events Float documents in prose at
    https://docs.floatfinancial.com/docs/webhooks. The published spec's `webhooks` object is empty, so the event
    surface is invisible to any tool reading only the contract. Captured here as an annotation rather than as
    fabricated channel definitions; the full catalog lives in asyncapi/float-financial-webhooks.yml.
  update:
    x-float-webhook-events:
    - transaction.authorized
    - transaction.cleared
    - transaction.ready_to_export
    - transaction.export_requested
    x-float-webhook-signing: HMAC-SHA256 via Float-Signature, Float-Webhook-Id and Float-Timestamp headers
    x-float-webhook-payload: thin — {id, type, created_at, business_id, object:{id}}; re-fetch for detail
    x-float-webhook-docs: https://docs.floatfinancial.com/docs/webhooks
    x-api-evangelist-catalog: asyncapi/float-financial-webhooks.yml
- target: $.components
  description: >-
    Add the error envelope Float actually returns. Observed live on GET /v1/cards without credentials (HTTP 401):
    {"error":"UNAUTHORIZED","message":"Incorrect authentication credentials.","docs":"https://docs.floatfinancial.com"}.
    None of the 51 error responses in the published spec declares a schema, so generated clients have no error
    type.
  update:
    x-api-evangelist-schemas:
      FloatError:
        type: object
        description: >-
          The error envelope observed on live Float API responses. NOT declared in Float's published OpenAPI —
          reconstructed by API Evangelist from an observed response and offered back as a suggestion.
        properties:
          error:
            type: string
            description: Machine-readable error code in SCREAMING_SNAKE_CASE.
            examples:
            - UNAUTHORIZED
          message:
            type: string
            description: Human-readable explanation.
            examples:
            - Incorrect authentication credentials.
          docs:
            type: string
            format: uri
            description: Link to the Float API documentation.
            examples:
            - https://docs.floatfinancial.com
        required:
        - error
        - message
- target: $.tags
  description: >-
    Annotate the two BETA operations Float flags only in prose summaries, so tooling can filter pre-GA surface.
  update:
    x-api-evangelist-beta-operations:
    - operationId: createCard
      path: /v1/cards
      note: 'Summary is prefixed "BETA:". Issues a real card — there is no sandbox.'
    - operationId: createCardLimit
      path: /v1/card-limits
      note: 'Summary is prefixed "BETA:". Creates a real spend limit.'
- target: $.info
  description: >-
    Record the cross-cutting runtime semantics an agent needs and the contract does not carry.
  update:
    x-api-evangelist-conventions:
      pagination:
        style: page-number
        params:
        - page
        - page_size
        response_fields:
        - items
        - pages
      filtering:
        style: django-lookup-suffix
        params:
        - created_at__gte
        - created_at__lte
        - order_by
      idempotency:
        header: X-Idempotency-Key
        required: true
        operation_count: 9
        note: Declared on 9 of 22 writes; bulk create/PATCH operations are unprotected.
      rate_limits:
        published: false
        headers: none
      artifact: conventions/float-financial-conventions.yml