tread.io Agave API

The Agave API from tread.io — 14 operation(s) for agave.

Operations 15

PATCH /v1/agave/customers/{id} Update an Agave-Customer #
PATCH /v1/agave/items/{id} Update an Agave-Item #
PATCH /v1/agave/ledger_accounts/{id} Update an Agave-LedgerAccount #
POST /v1/agave/link_tokens Create an AgaveLinkToken for the current Company #
POST /v1/agave/linked_accounts Create an Agave-LinkedAccount for the current Company #
GET /v1/agave/linked_accounts Retrieve Agave-LinkedAccounts for the current Company #
DELETE /v1/agave/linked_accounts/{id} Delete an Agave-LinkedAccount #
GET /v1/agave/linked_accounts/{linked-account-id}/customers Retrieve Agave-Customers for an Agave-LinkedAccount #
PUT /v1/agave/linked_accounts/{linked-account-id}/import Enqueue data import from an Agave-LinkedAccount #
GET /v1/agave/linked_accounts/{linked-account-id}/items Retrieve Agave-Items for an Agave-LinkedAccount #
GET /v1/agave/linked_accounts/{linked-account-id}/items/add_ons/typeahead Typeahead search on AddOns scoped to an Agave-LinkedAccount #
GET /v1/agave/linked_accounts/{linked-account-id}/items/services/typeahead Typeahead search on Services scoped to an Agave-LinkedAccount #
GET /v1/agave/linked_accounts/{linked-account-id}/ledger_accounts Retrieve Agave-LedgerAccounts for an Agave-LinkedAccount #
GET /v1/agave/linked_accounts/{linked-account-id}/vendors Retrieve Agave-Vendors for an Agave-LinkedAccount #
PATCH /v1/agave/vendors/{id} Update an Agave-Vendor #

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/treadio-agave-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

treadio-agave-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Horizon API V1 AccountExternalTruckIdentifier Agave API
  version: '1.0'
  contact:
    name: Tread
    url: https://tread.io
    email: developers@tread.io
  description: 'This is the Version 1 implementation.


    When in doubt we default to the practices outlined [here](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#advanced-queries)'
  license:
    name: Private
    url: https://tread.io
servers:
- description: production
  url: https://api.tread-horizon.com
security:
- bearerAuth: []
tags:
- name: Agave
paths:
  /v1/agave/customers/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: Agave-Customer ID
    - $ref: '#/components/parameters/Accept-Language'
    patch:
      summary: Update an Agave-Customer
      tags:
      - Agave
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Agave-Customer-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-agave-customers-id
      x-stoplight:
        id: 3ihitjkp62vnk
      x-internal: true
      description: 'Update an `Agave-Customer`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/Agave-Customer-Update'
  /v1/agave/items/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: Agave-Item ID
    - $ref: '#/components/parameters/Accept-Language'
    patch:
      summary: Update an Agave-Item
      tags:
      - Agave
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Agave-Item-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-agave-items-id
      x-stoplight:
        id: cs1oyxjyxh309
      x-internal: true
      description: 'Update an `Agave-Item`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/Agave-Item-Update'
  /v1/agave/ledger_accounts/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: Agave-LedgerAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    patch:
      summary: Update an Agave-LedgerAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Agave-LedgerAccount-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-agave-ledger_accounts-id
      x-stoplight:
        id: pyo2sexut4m9u
      description: 'Update an `Agave-LedgerAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      x-internal: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/Agave-LedgerAccount-Update'
  /v1/agave/link_tokens:
    parameters:
    - name: Accept-Language
      in: header
      schema:
        type: string
        default: en
        example: en
      description: 'The Accept-Language request HTTP header indicates the natural language and locale that the client prefers. '
    post:
      summary: Create an AgaveLinkToken for the current Company
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Agave-LinkToken-Read'
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
      operationId: post-v1-agave-link_tokens
      x-stoplight:
        id: nben505xkur8w
      description: 'Create an `AgaveLinkToken` for the current `Company`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
      x-internal: true
      tags:
      - Agave
  /v1/agave/linked_accounts:
    parameters:
    - name: Accept-Language
      in: header
      schema:
        type: string
        default: en
        example: en
      description: 'The Accept-Language request HTTP header indicates the natural language and locale that the client prefers. '
    post:
      summary: Create an Agave-LinkedAccount for the current Company
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Agave-LinkedAccount-Read'
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: post-v1-agave-linked_accounts
      x-stoplight:
        id: 2aitl2glgzcca
      x-internal: true
      description: 'Create an `Agave-LinkedAccount` for the current `Company`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/Agave-LinkedAccount-Create'
      tags:
      - Agave
    get:
      summary: Retrieve Agave-LinkedAccounts for the current Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Agave-LinkedAccount-Read'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts
      x-stoplight:
        id: 4qofrkjh7tphr
      x-internal: true
      description: 'Retrieve `Agave-LinkedAccounts` for the current `Company`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      tags:
      - Agave
  /v1/agave/linked_accounts/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    delete:
      summary: Delete an Agave-LinkedAccount
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
      operationId: delete-v1-users-me-agave-linked_accounts-id
      x-stoplight:
        id: kvqbmo1sx8fr9
      x-internal: true
      description: 'Delete an `Agave-LinkedAccount` by id.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
      tags:
      - Agave
  /v1/agave/linked_accounts/{linked-account-id}/customers:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount id
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Agave-Customers for an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: 3g6sa38l1xv3v
                    items:
                      $ref: '#/components/schemas/Agave-Customer-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts-linked-account-id-customers
      x-stoplight:
        id: qzt0nu0bahjzy
      x-internal: true
      description: 'Retrieve `Agave-Customers` for an `Agave-LinkedAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/agave/linked_accounts/{linked-account-id}/import:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Enqueue data import from an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
      operationId: put-v1-agave-linked_accounts-linked-account-id-import
      x-stoplight:
        id: 6q3gmr9rcq6tm
      description: 'Enqueue data import for an `Agave-LinkedAccount`


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      x-internal: true
  /v1/agave/linked_accounts/{linked-account-id}/items:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Agave-Items for an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: ado28g222z4y2
                    items:
                      $ref: '#/components/schemas/Agave-Item-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts-linked-account-id-items
      x-stoplight:
        id: 6j68llrei5xng
      x-internal: true
      description: 'Retrieve `Agave-Items` for an `Agave-LinkedAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/agave/linked_accounts/{linked-account-id}/items/add_ons/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on AddOns scoped to an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: 7mqdfzg1yho0o
                    items:
                      $ref: '#/components/schemas/AddOn-Read-Typeahead'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts-linked-account-id-items-add_ons-typeahead
      x-stoplight:
        id: hswcyuoepyzhy
      x-internal: true
      description: '`Typeahead` search on `AddOns` scoped to an `Agave-LinkedAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
  /v1/agave/linked_accounts/{linked-account-id}/items/services/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Services scoped to an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: pdwkegjy8huoz
                    items:
                      $ref: '#/components/schemas/Service-Read-Typeahead'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts-linked-account-id-items-services-typeahead
      x-stoplight:
        id: i05exkukrj5wr
      x-internal: true
      description: '`Typeahead` search on `Services` scoped to an `Agave-LinkedAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
  /v1/agave/linked_accounts/{linked-account-id}/ledger_accounts:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Agave-LedgerAccounts for an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: qhhrmwo9w76k6
                    items:
                      $ref: '#/components/schemas/Agave-LedgerAccount-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts-linked-account-id-ledger_accounts
      x-stoplight:
        id: z5s2r0guuzarg
      x-internal: true
      description: 'Retrieve `Agave-LedgerAccounts` for an `Agave-LinkedAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/agave/linked_accounts/{linked-account-id}/vendors:
    parameters:
    - schema:
        type: string
        format: uuid
      name: linked-account-id
      in: path
      required: true
      description: Agave-LinkedAccount ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Agave-Vendors for an Agave-LinkedAccount
      tags:
      - Agave
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Agave-Vendor-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-agave-linked_accounts-linked-account-id-vendors
      x-stoplight:
        id: p38hj91oqbq5i
      x-internal: true
      description: 'Retrieve `Agave-Vendors` for an `Agave-LinkedAccount`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/agave/vendors/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: Agave-Vendor ID
    - $ref: '#/components/parameters/Accept-Language'
    patch:
      summary: Update an Agave-Vendor
      tags:
      - Agave
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Agave-Vendor-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-agave-vendors-id
      x-stoplight:
        id: 1n1tnm0y782x6
      description: 'Update an `Agave-Vendor`.


        This endpoint requires the `manage_accounting_integration` `IamPermission`.'
      x-internal: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              $ref: '#/components/schemas/Agave-Vendor-Update'
components:
  schemas:
    Agave-Vendor-Update:
      title: Agave-Vendor-Update
      x-stoplight:
        id: lr3wtd2gkfou2
      type: object
      required:
      - vendor_account_id
      properties:
        vendor_account_id:
          type:
          - string
          - 'null'
          x-stoplight:
            id: b16yo6eo40982
      additionalProperties: false
    Address-Read:
      title: Address-Read
      x-stoplight:
        id: v1mcd2qgns2tf
      type: object
      required:
      - thoroughfare
      - premise
      - locality
      - administrative_area
      - postal_code
      - country
      - lat
      - lon
      - place_id
      properties:
        thoroughfare:
          type: string
          x-stoplight:
            id: 8wrr7qkc9ilqn
        premise:
          type:
          - string
          - 'null'
          x-stoplight:
            id: z4jth408out1q
        locality:
          type: string
          x-stoplight:
            id: kfby6wqpgvxbz
        administrative_area:
          type: string
          x-stoplight:
            id: c9bkrloxf4t8d
        postal_code:
          type: string
          x-stoplight:
            id: 7zq51k1mof3o3
        country:
          type: string
          x-stoplight:
            id: iydw9q619ya01
          pattern: ^[A-Z]{2}
          example: US
          minLength: 2
          maxLength: 2
        lat:
          type:
          - string
          - 'null'
          x-stoplight:
            id: kqu1qtf9rivh1
          description: "latitude of the `Address`. \n\nMust be a stringified number between -90 and 90 inclusive.\n\nRequired if `lon` is present."
        lon:
          type:
          - string
          - 'null'
          x-stoplight:
            id: oly2yabkzpk9g
          description: "longitude of the `Address`. \n\nMust be a stringified number between -180 and 180 inclusive.\n\nRequired if `lat` is present."
        place_id:
          type:
          - string
          - 'null'
          x-stoplight:
            id: im1fdq7qqxdij
          description: NextBillion placeID
      additionalProperties: false
    Agave-LinkedAccount-Read:
      title: Agave-LinkedAccount-Read
      x-stoplight:
        id: 0sjsyp9wacv42
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - $ref: '#/components/schemas/Timestamps'
      - type: object
        x-stoplight:
          id: 6oqjh5b78v7kp
        required:
        - status
        - agave_source_system
        - synchronized_at
        properties:
          status:
            x-stoplight:
              id: 7aabj92ggrge9
            enum:
            - pending
            - unlinked
            - linked
            - invalid
          synchronized_at:
            type:
            - string
            - 'null'
            x-stoplight:
              id: aaa123jpq0ga9
            format: date-time
            description: ISO8601 timestamp with local timezone
          agave_source_system:
            $ref: '#/components/schemas/Agave-SourceSystem-Read'
      x-internal: true
      type: object
      additionalProperties: false
    Agave-Itemizable-Read:
      title: Agave-Itemizable-Read
      x-stoplight:
        id: 3172d842y14iu
      allOf:
      - required:
        - type
        - name
        type: object
        properties:
          type:
            $ref: '#/components/schemas/AgaveItemizableType'
          name:
            type: string
            x-stoplight:
              id: oqzh1lv82z4hc
      - $ref: '#/components/schemas/Identifier'
    TreadId:
      title: TreadId
      x-stoplight:
        id: 43k4t5tl359m4
      type: object
      required:
      - tread_id
      properties:
        tread_id:
          type: string
          x-stoplight:
            id: zi3ld7djflw6f
          pattern: ^[0-9A-F]{6}$
          minLength: 6
          maxLength: 6
          example: ABC123
          description: Tread ID
      additionalProperties: false
    Service-Read-Typeahead:
      title: Service-Read-Typeahead
      x-stoplight:
        id: hzokhwqcwvue5
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        properties:
          name:
            type: string
            description: Service name
        required:
        - name
    CompanyType:
      title: CompanyType
      x-stoplight:
        id: dkzo7gjbtb1b3
      enum:
      - broker
      - contractor
      - hauler
      - owner_operator
      - producer
      - super
      example: hauler
      description: Company Type
    ModelError-Item:
      title: ModelError-Item
      x-stoplight:
        id: b93chwval2t8d
      type: object
      required:
      - model
      - field
      - message
      properties:
        model:
          type: string
          x-stoplight:
            id: 30myfyjkno8ao
          description: The Model associated with this Error
        field:
          type: string
          x-stoplight:
            id: 8gl4ed3uxhdws
          description: The field associated with this Error
        message:
          type: string
          x-stoplight:
            id: bmgbrtmw17qsj
          description: The Error message
      additionalProperties: false
    Error:
      title: Error
      x-stoplight:
        id: 3g57kkik3l464
      type: object
      description: An Error.
      required:
      - code
      properties:
        code:
          type: string
          x-stoplight:
            id: 7o9x1t8v0bgfo
      additionalProperties: false
    AgaveLedgerAccountType:
      title: AgaveLedgerAccountType
      x-stoplight:
        id: 0fw523s0lhy2s
      enum:
      - AccountsPayable
      - AccountsReceivable
    Contact-Read-Nested:
      title: Contact-Read-Nested
      x-stoplight:
        id: 3u6d8qhsz5ehn
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        required:
        - name
        - email
        - phone
        properties:
          name:
            type:
            - string
            - 'null'
            x-stoplight:
              id: sd80y9pbgvkok
          email:
            type:
            - string
            - 'null'
            x-stoplight:
              id: 883fmt34pdeaj
          phone:
            type:
            - string
            - 'null'
            x-stoplight:
              id: wdtqyju4t4u06
            example: '+18885551234'
      description: ''
    Agave-Vendor-Read:
      title: Agave-Vendor-Read
      x-stoplight:
        id: 19aj32kx08rlz
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - $ref: '#/components/schemas/Timestamps'
      - x-stoplight:
          id: 9nl3xiebb1fae
        type: object
        required:
        - data
        properties:
          data:
            $ref: '#/components/schemas/AgaveApi-Vendor-Read'
          vendor_account:
            $ref: '#/components/schemas/Account-Read-Nested'
    Agave-LinkedAccount-Create:
      title: Agave-LinkedAccount-Create
      x-stoplight:
        id: 2zhawfbdfuxfx
      type: object
      x-internal: true
      required:
      - public_token
      properties:
        public_token:
          type: string
          x-stoplight:
            id: 05rrotk62krdw
      additionalProperties: false
    Address-Read-Nested:
      title: Address-Read-Nested
      x-stoplight:
        id: cvym2dzuo375q
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - $ref: '#/components/schemas/Address-Read'
    NullableAgaveItemizableType:
      title: NullableAgaveItemizableType
      x-stoplight:
        id: zl9obcee7qvmi
      allOf:
      - $ref: '#/components/schemas/AgaveItemizableType'
      type:
      - string
      - 'null'
    Account-Read-Nested:
      title: Account-Read-Nested
      x-stoplight:
        id: zo8r3gsz1tm5h
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - $ref: '#/components/schemas/Discardable'
      - type: object
        x-stoplight:
          id: gl7hua7pv8xka
        required:
        - name
        - account_types
        - external_id
        - accounting_id
        - company
        - schedule_on
        properties:
          name:
            type: string
            x-stoplight:
              id: a7g065w5byfcf
          account_types:
            type: array
            x-stoplight:
              id: a0e9c3lpr1wad
            items:
              $ref: '#/components/schemas/AccountType'
          external_id:
            type:
            - string
            - 'null'
            x-stoplight:
              id: yfrec4y0a90cb
          accounting_id:
            type:
            - string
            - 'null'
            x-stoplight:
              id: yfsec5y0a91cb
          company:
            type: object
            x-stoplight:
              id: 9loqtu14mvlnq
            

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