tread.io Companies API

The Companies API from tread.io — 14 operation(s) for companies.

Operations 20

POST /v1/companies Create a Company #
GET /v1/companies Retrieve a list of Companies #
GET /v1/companies/tread_id/{tread-id} Retrieve a Company by Tread ID #
GET /v1/companies/typeahead Typeahead search on Companies #
GET /v1/companies/{company-id}/children Return child Companies that belong to a Company #
GET /v1/companies/{company-id}/children/typeahead Typeahead search on Children for a Company #
GET /v1/companies/{company-id}/connected_companies Retrieve connected Companies For a Company #
GET /v1/companies/{company-id}/connected_companies/typeahead Typeahead search on connected Companies for a Company #
GET /v1/companies/{company-id}/managed_companies Retrieve managed Companies for a Company #
GET /v1/companies/{company-id}/managed_companies/{id} Retrieve a single managed Company #
PUT /v1/companies/{company-id}/managed_companies/{id} Create a managed Company #
DELETE /v1/companies/{company-id}/managed_companies/{id} Delete a managed Company #
GET /v1/companies/{company-id}/managed_companies/{managed-company-id}/connected_companies Retrieve connected Companies for a Managed Company #
GET /v1/companies/{company-id}/managed_companies/{managed-company-id}/connected_companies/typeahead Typeahead search connected Companies for a Managed Company #
GET /v1/companies/{id} Retrieve a single Company #
PATCH /v1/companies/{id} Update a Company #
DELETE /v1/companies/{id} Delete a Company #
POST /v1/direct_uploads Create a DirectUpload #

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-companies-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-companies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Horizon API V1 AccountExternalTruckIdentifier Companies 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: Companies
paths:
  /v1/companies:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a Company
      operationId: post-v1-companies
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Company-Read'
                    x-stoplight:
                      id: 7pg328jm7m9et
        '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'
      description: 'Create a new `Company`


        This endpoint requires the `create_company` permission'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Company-Create'
      tags:
      - Companies
    get:
      summary: Retrieve a list of Companies
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    x-stoplight:
                      id: 1ukjgv4iiql1q
                    type: array
                    items:
                      $ref: '#/components/schemas/Company-Read'
                      x-stoplight:
                        id: znts3ikkdf7sj
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies
      description: "Retrieve `Companies` visible to the currently authenticated `Company`.\n\nDatagrid search (`search[datagrid]`) queries against the following properties:\n * `legal_name`\n * `dba_name`\n * `parent_company:legal_name`\n * `type`\n * `saas_billing_plan`\n * `usage_status`"
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-datagrid'
  /v1/companies/tread_id/{tread-id}:
    parameters:
    - schema:
        type: string
        pattern: ^[0-9A-F]{6}$
        minLength: 6
        maxLength: 6
        example: ABC123
      name: tread-id
      in: path
      required: true
      description: Tread ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve a Company by Tread ID
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Company-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-companies-tread_id-tread-id
      x-stoplight:
        id: u2m9q5u0bdimj
      x-internal: true
      description: "Retrieve a `Company` by a `Tread ID`. \n\nThis endpoint requires the `connect_companies` `IamPermission`."
  /v1/companies/typeahead:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Companies
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Company-Read-Typeahead'
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-typeahead
      description: 'Typeahead search against the `legal_name` property for `Companies` visible to the currently authenticated `Company`.

        '
      x-internal: true
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      x-stoplight:
        id: qkqja5m9f9ixa
  /v1/companies/{company-id}/children:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Return child Companies that belong to a Company
      tags:
      - Companies
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    x-stoplight:
                      id: qh7o3ai9runxr
                    type: array
                    items:
                      $ref: '#/components/schemas/Company-Read-Nested'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-id-children
      x-stoplight:
        id: l2m3v9uf24jvn
      description: "Return child `Companies` for a `Company`\n\nDatagrid search (`search[datagrid]`) queries against the following properties:\n * `legal_name`\n * `dba_name`\n * `parent_company:legal_name`\n * `type`\n * `saas_billing_plan`\n * `usage_status`"
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-datagrid'
  /v1/companies/{company-id}/children/typeahead:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Children for a Company
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Company-Read-Typeahead'
                required:
                - data
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-accounts-typeahead
      description: Typeahead search against the `legal_name` property on `Children` for a `Company`.
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      x-stoplight:
        id: 0cc8k3gzl6bwu
      x-internal: true
  /v1/companies/{company-id}/connected_companies:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve connected Companies For a Company
      tags:
      - Companies
      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: l9ja95bu9woa9
                    items:
                      $ref: '#/components/schemas/Company-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-connected_companies
      x-stoplight:
        id: azyll9l637399
      description: Retrieve connected `Companies` For a `Company`
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/companies/{company-id}/connected_companies/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on connected Companies for a Company
      tags:
      - Companies
      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: q7owtmifrbwjm
                    items:
                      $ref: '#/components/schemas/Company-Read-Typeahead'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-connected_companies-typeahead
      x-stoplight:
        id: lbdv3e80844da
      description: 'Typeahead search against the `legal_name` property on connected `Companies` for a given `Company`.

        '
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
  /v1/companies/{company-id}/logo:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Update the logo for a Company
      operationId: post-v1-companies-:company_id-logo
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Company-Read'
                required:
                - data
        '400':
          $ref: '#/components/responses/Error'
        '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'
      description: "Add or replace the `logo` for a `Company`. \n\nThis endpoint requires the `edit_company` `IamPermission`\n\n* If you're using a `DirectUpload` then you must use the `application/json` mime-type and `logo` must be the `DirectUpload`'s `signed_id`\n* If you're using a file then you must use the `multipart/form-data` mime-type and `logo` must be a file.\n\nIn both cases the following restrictions apply:\n * `logo` cannot be larger than 100kb.\n * `logo` must be one of the following image types: `png`, `jpeg`, `gif`."
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Company-Logo-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/Company-Logo-Create'
        description: ''
      tags:
      - Companies
      x-internal: true
    get:
      summary: Retrieve the logo for a Company
      operationId: get-v1-companies-company_id-logo
      x-stoplight:
        id: 0btd243xc72zx
      x-internal: true
      description: Retrieve the logo for a `Company`.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Company-Logo-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      tags:
      - Companies
  /v1/companies/{company-id}/managed_companies:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve managed Companies for a Company
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: cha06aro11s33
                    items:
                      $ref: '#/components/schemas/Company-Read'
          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-companies-company_id-managed_companies
      x-stoplight:
        id: k4p7tg98a8tsp
      x-internal: true
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-after'
      description: 'Retrieve managed `Companies` for another `Company`.


        This endpoint requires the `platform_admin` `IamRole`.'
  /v1/companies/{company-id}/managed_companies/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: Managed Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve a single managed Company
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Company-Read'
                    x-stoplight:
                      id: mc5n3d10ntvthm
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-managed_companies-id
      x-stoplight:
        id: mc6yvgca2h7jk
      x-internal: true
      description: Retrieve a managed `Company` by ID.
    put:
      summary: Create a managed Company
      tags:
      - Companies
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Company-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: put-v1-companies-company_id-managed_companies-id
      x-stoplight:
        id: uk5tyvgca2h7j
      x-internal: true
      description: 'Create a managed `Company` for another `Company`.


        This endpoint requires the `platform_admin` `IamRole`.'
      requestBody:
        content:
          application/json: {}
    delete:
      summary: Delete a managed Company
      tags:
      - Companies
      responses:
        '204':
          description: No Content
          content: {}
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: delete-v1-companies-company-id-managed_companies-id
      x-stoplight:
        id: w30g0xogp0ptg
      description: 'Delete a managed `Company` from another `Company`.


        This endpoint requires the `platform_admin` `IamRole`.'
      x-internal: true
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/connected_companies:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve connected Companies for a Managed Company
      tags:
      - Companies
      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: mc1ja95bu9woa
                    items:
                      $ref: '#/components/schemas/Company-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-managed_companies-managed-company-id-connected_companies
      x-stoplight:
        id: mc2yll9l637399
      description: Retrieve connected `Companies` for a Managed `Company`
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/companies/{company-id}/managed_companies/{managed-company-id}/connected_companies/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Managing Company ID
    - schema:
        type: string
        format: uuid
      name: managed-company-id
      in: path
      required: true
      description: Managed Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search connected Companies for a Managed Company
      tags:
      - Companies
      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: mc3wtmifrbwjm
                    items:
                      $ref: '#/components/schemas/Company-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-companies-company-id-managed_companies-managed-company-id-connected_companies-typeahead
      x-stoplight:
        id: mc4dv3e80844da
      description: Typeahead search against the `legal_name` property on connected `Companies` for a Managed `Company`.
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
  /v1/companies/{id}:
    parameters:
    - schema:
        type: string
      name: id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve a single Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Company-Read'
                    x-stoplight:
                      id: ojn3d10ntvthm
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-id
      description: Retrieve a `Company` by ID
      tags:
      - Companies
      x-internal: true
    patch:
      summary: Update a Company
      operationId: patch-v1-companies-id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Company-Read'
                required:
                - data
        '400':
          $ref: '#/components/responses/Error'
        '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'
      description: 'Update a `Company` by ID


        This endpoint requires the `edit_company` permission'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Company-Update'
        description: Note that all parameters are optional - a caller need only provide the `Company` fields that they wish to change.
      tags:
      - Companies
    delete:
      summary: Delete a Company
      operationId: delete-v1-companies-id
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      x-internal: true
      description: 'Delete a `Company` by ID


        This endpoint requires the `delete_company` permission'
      tags:
      - Companies
  /v1/direct_uploads:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a DirectUpload
      tags:
      - Companies
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/DirectUpload-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: post-v1-direct_uploads
      x-stoplight:
        id: tgme583womicv
      description: 'Create a `DirectUpload`.


        The `checksum` _must_ be calculated exactly the way `rails` expects it ([javascript example](https://github.com/rails/rails/blob/main/activestorage/app/javascript/activestorage/file_checksum.js)).


        You should upload the file to `direct_upload.url` using any provided headers from `direct_upload.headers`.


        Once this is done you can use `signed_id` in place of a file in any endpoint that accepts file uploads.'
      x-internal: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectUpload-Create'
components:
  schemas:
    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
    Company-Read-Typeahead:
      title: Company-Read-Typeahead
      x-stoplight:
        id: vl8vd87brmcah
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        properties:
          legal_name:
            type: string
            description: Company Legal Name
            x-stoplight:
              id: gy5vtcbh7agl2
        required:
        - legal_name
      x-internal: true
    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
    TimeFormat:
      title: TimeFormat
      x-stoplight:
        id: 2fy67ypn6nohz
      enum:
      - 12-hour
      - 24-hour
      example: 12-hour
      default: 12-hour
    CompanyType:
      title: CompanyType
      x-stoplight:
        id: dkzo7gjbtb1b3
      enum:
      - broker
      - contractor
      - hauler
      - owner_operator
      - producer
      - super
      example: hauler
      description: Company Type
    Contact-Update:
      title: Contact-Update
      x-stoplight:
        id: p2ny8u55sfpcx
      type: object
      properties:
        name:
          type: string
          x-stoplight:
            id: wm2na5bv2uvvv
        email:
          x-stoplight:
            id: mdv25imtbstfh
          type: string
        phone:
          type: string
          x-stoplight:
            id: rtf4rqlgwt35i
          example: '+18885551234'
      additionalProperties: false
    UsageStatus:
      title: UsageStatus
      x-stoplight:
        id: m57ggtmxjg5pi
      enum:
      - demo
      - onboarding
      - active
      - suspended
      - churned
      - deleted
      description: Usage status
      default: demo
      example: demo
      x-internal: true
    Error:
      title: Error
      x-stoplight:
        id: 3g57kkik3l464
      type: object
      description: An Error.
      required:
      - code
      properties:
        code:
          type: string
          x-stoplight:
            id: 7o9x1t8v0bgfo
      additionalProperties: false
    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
        

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