tread.io Sites API

The Sites API from tread.io — 28 operation(s) for sites.

Operations 36

GET /v1/companies/{company-id}/orders/{order-id}/default_sites/{waypoint-type} Retrieve default sites for an order, given a waypoint type. #
PUT /v1/companies/{company-id}/orders/{order-id}/default_sites/{waypoint-type}/{site-id} Add a site to default site list on order #
DELETE /v1/companies/{company-id}/orders/{order-id}/default_sites/{waypoint-type}/{site-id} Delete a single site from a default list of an order. #
GET /v1/companies/{company-id}/orders/{order-id}/sites/typeahead Typeahead search on Sites that belong to Order's Company #
GET /v1/companies/{company-id}/sites Retrieve Sites that belong to a Company #
GET /v1/companies/{company-id}/sites/dispatch Retrieve Sites based on the current Dispatch results for a Company #
GET /v1/companies/{company-id}/sites/dispatch/typeahead Retrieve Sites based on the current Dispatch results for a Company #
GET /v1/companies/{company-id}/sites/typeahead Typeahead search on Sites for a Company #
GET /v1/companies/{company-id}/sites/{id} Retrieve a single Site for a Company #
GET /v1/companies/{company-id}/sites/{site-id}/additional_geofences Retrieve additional geofences for a Site #
GET /v1/companies/{company-id}/sites/{site-id}/contacts Retrieve Contacts for a Site within a Company #
GET /v1/companies/{company-id}/sites/{site-id}/stats Retrieve SiteEquipmentStats for given Site #
GET /v1/orders/{order-id}/default_sites/{waypoint-type} Retrieve default sites for an order, given a waypoint type. #
PUT /v1/orders/{order-id}/default_sites/{waypoint-type}/{site-id} Add a site to default site list on order #
DELETE /v1/orders/{order-id}/default_sites/{waypoint-type}/{site-id} Delete a single site from a default list of an order. #
GET /v1/orders/{order-id}/sites/typeahead Typeahead search on Sites that belong to Order's Company #
GET /v1/projects/{project-id}/default_sites/{waypoint-type} Retrieve default sites for a project, given a waypoint type. #
PUT /v1/projects/{project-id}/default_sites/{waypoint-type}/{site-id} Add a site to default site list on order #
DELETE /v1/projects/{project-id}/default_sites/{waypoint-type}/{site-id} Delete a single site from a default list of an order. #
POST /v1/sites Create a new Site #
GET /v1/sites Retrieve Sites that belong to the current Company #
GET /v1/sites/dispatch Retrieve Sites based on the current Dispatch results #
GET /v1/sites/dispatch/typeahead Retrieve Sites based on the current Dispatch results #
GET /v1/sites/typeahead Typeahead search on Sites #
GET /v1/sites/{id} Retrieve a single Site #
PATCH /v1/sites/{id} Update a Site #
DELETE /v1/sites/{id} Delete a Site by ID #
PUT /v1/sites/{site-id}/activate Activate a Site #
POST /v1/sites/{site-id}/additional_geofences Create an Additional Geofence for a Site #
GET /v1/sites/{site-id}/additional_geofences Retrieve additional geofences for a Site #
PATCH /v1/sites/{site-id}/additional_geofences/bulk_assign Bulk assign Additional Geofences for a Site #
GET /v1/sites/{site-id}/additional_geofences/{id} Retrieve an Additional Geofence by ID #
PATCH /v1/sites/{site-id}/additional_geofences/{id} Update an Additional Geofence for a Site #
GET /v1/sites/{site-id}/contacts Retrieve Contacts for a Site #
PATCH /v1/sites/{site-id}/contacts/bulk_assign Assign Contacts for a Site #
PUT /v1/sites/{site-id}/deactivate Deactivate a Site #

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-sites-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-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Horizon API V1 AccountExternalTruckIdentifier Sites 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: Sites
paths:
  /v1/companies/{company-id}/orders/{order-id}/default_sites/{waypoint-type}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: order-id
      in: path
      required: true
      description: Order ID
    - schema:
        type: string
        enum:
        - pickup
        - drop_off
      name: waypoint-type
      in: path
      required: true
      description: Waypoint type
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve default sites for an order, given a waypoint type.
      tags:
      - Sites
      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/Site-Read-Nested'
        '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-orders-order-id-default-sites
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      description: 'Retrieve the `Sites` that belong to the default list of an `Order`, given a particular ''WaypointType''.

        '
      x-internal: true
      x-stoplight:
        id: ol22e12bbdlir
  /v1/companies/{company-id}/orders/{order-id}/default_sites/{waypoint-type}/{site-id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: order-id
      in: path
      required: true
      description: Order ID
    - schema:
        type: string
        enum:
        - pickup
        - drop_off
      name: waypoint-type
      in: path
      required: true
      description: Waypoint type
    - schema:
        type: string
        format: uuid
      name: site-id
      in: path
      required: true
      description: Site ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Add a site to default site list on order
      tags:
      - Sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Site-Read-Nested'
        '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'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-companies-company-id-orders-order-id-default_sites-waypoint-type-site-id
      x-stoplight:
        id: 3dklcp6i2iauu
      description: "Add a `Site` to the default_site list for an `Order`, given a particular 'WaypointType'.\n\nNote: The underlying site grouping will be created automatically when the first \nsite is added for a given order. "
      x-internal: true
    delete:
      summary: Delete a single site from a default list of an order.
      tags:
      - Sites
      responses:
        '204':
          description: Shared Response
        '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'
      operationId: delete-v1-companies-company-id-orders-order-id-default_sites-waypoint-type-site-id
      x-stoplight:
        id: 4ge4go0471034
      description: Delete a `Site` to the default_site list for an `Order`, given a particular 'WaypointType'.
      x-internal: true
  /v1/companies/{company-id}/orders/{order-id}/sites/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: order-id
      in: path
      required: true
      description: Order ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Sites that belong to Order's Company
      tags:
      - Sites
      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: kiktkjftpqqlc
                    items:
                      $ref: '#/components/schemas/Site-Read-Typeahead'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-orders-order-id-sites-typeahead
      x-stoplight:
        id: mi17lfpvzrzfk
      description: Typeahead search against the `name`, or `external_id` property for `Sites` that belong to the `Order`'s `Company`
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      - $ref: '#/components/parameters/filter-states'
  /v1/companies/{company-id}/sites:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Sites that belong to a Company
      tags:
      - Sites
      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:
                    type: array
                    items:
                      $ref: '#/components/schemas/Site-Read'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-sites
      x-stoplight:
        id: 9awynfd74xo81
      description: Retrieve `Sites` for a `Company`.
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/filter-department_ids'
      - $ref: '#/components/parameters/filter-site_types'
      - $ref: '#/components/parameters/filter-shared'
      - $ref: '#/components/parameters/filter-sender_company_ids'
  /v1/companies/{company-id}/sites/dispatch:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - 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. '
    get:
      summary: Retrieve Sites based on the current Dispatch results for a Company
      tags:
      - Sites
      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/Site-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-sites-dispatch-index
      description: Returns `Sites`, but instead of all `Sites` for a `Company` this returns all `Sites` that are associated to the dispatch list, where the dispatch list is defined by the `filter` and `search` inputs that belong to a `Company`.
      parameters:
      - $ref: '#/components/parameters/filter-dispatch_number_ids'
      - $ref: '#/components/parameters/filter-job-company_ids'
      - $ref: '#/components/parameters/filter-job-customer_account_ids'
      - $ref: '#/components/parameters/filter-job-driver_ids'
      - $ref: '#/components/parameters/filter-job-dropoff_site_ids'
      - $ref: '#/components/parameters/filter-job-end_date'
      - $ref: '#/components/parameters/filter-job-equipment_ids'
      - $ref: '#/components/parameters/filter-job-external_ids'
      - $ref: '#/components/parameters/filter-job-material_ids'
      - $ref: '#/components/parameters/filter-job-pickup_site_ids'
      - $ref: '#/components/parameters/filter-job-project_ids'
      - $ref: '#/components/parameters/filter-job-service_ids'
      - $ref: '#/components/parameters/filter-job-site_types'
      - $ref: '#/components/parameters/filter-job-start_date'
      - $ref: '#/components/parameters/filter-job-states'
      - $ref: '#/components/parameters/filter-job-vendor_account_ids'
      - $ref: '#/components/parameters/search-job-datagrid'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/facet-search-query'
      - $ref: '#/components/parameters/facet-filter-waypoint-type'
      x-stoplight:
        id: 4sw2sqdp0ofig
  /v1/companies/{company-id}/sites/dispatch/typeahead:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Sites based on the current Dispatch results for a Company
      tags:
      - Sites
      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: 8y3ie0nhvchzr
                    items:
                      $ref: '#/components/schemas/Site-Read-Typeahead'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-sites-dispatch-typeahead
      x-stoplight:
        id: ln1vlnl01hf87
      description: Returns `Sites` in a typeahead style but instead of all `Sites` for a `Company` this returns all `Sites` that are associated to the dispatch list, where the dispatch list is defined by the `filter` and `search` inputs that belong to a `Company`.
      parameters:
      - $ref: '#/components/parameters/filter-dispatch_number_ids'
      - $ref: '#/components/parameters/filter-job-company_ids'
      - $ref: '#/components/parameters/filter-job-customer_account_ids'
      - $ref: '#/components/parameters/filter-job-driver_ids'
      - $ref: '#/components/parameters/filter-job-dropoff_site_ids'
      - $ref: '#/components/parameters/filter-job-end_date'
      - $ref: '#/components/parameters/filter-job-equipment_ids'
      - $ref: '#/components/parameters/filter-job-external_ids'
      - $ref: '#/components/parameters/filter-job-material_ids'
      - $ref: '#/components/parameters/filter-job-pickup_site_ids'
      - $ref: '#/components/parameters/filter-job-project_ids'
      - $ref: '#/components/parameters/filter-job-service_ids'
      - $ref: '#/components/parameters/filter-job-site_types'
      - $ref: '#/components/parameters/filter-job-start_date'
      - $ref: '#/components/parameters/filter-job-states'
      - $ref: '#/components/parameters/filter-job-vendor_account_ids'
      - $ref: '#/components/parameters/search-job-datagrid'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/facet-search-query'
      - $ref: '#/components/parameters/facet-filter-waypoint-type'
  /v1/companies/{company-id}/sites/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 Sites for a Company
      tags:
      - Sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Site-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'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-site-typeahead
      description: Typeahead search against the `name`, or `external_id` property on `Sites` for a `Company`.
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      - $ref: '#/components/parameters/filter-states'
      - $ref: '#/components/parameters/filter-site_types'
      x-stoplight:
        id: xbth42mtawc3k
      x-internal: true
  /v1/companies/{company-id}/sites/{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: Site ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve a single Site for a Company
      tags:
      - Sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Site-Read'
                required:
                - data
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-sites-id
      description: Retrieve a `Site` by ID for a `Company`
  /v1/companies/{company-id}/sites/{site-id}/additional_geofences:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
      name: site-id
      in: path
      required: true
      description: Site ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve additional geofences for a Site
      tags:
      - Sites
      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/NextBillionGeofence-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-sites-site_id-additional_geofences
      description: Retrieve additional `geofences` for a `Site` by `site_id`
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/companies/{company-id}/sites/{site-id}/contacts:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
      name: site-id
      in: path
      required: true
      description: Site ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve Contacts for a Site within a Company
      tags:
      - Sites
      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/Contact-Read-Nested'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-sites-site-id-contacts
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      description: Retrieve all `Contacts` for a `Site` within a specific `Company`. This endpoint includes explicit company-level authorization to ensure the site belongs to the specified company.
  /v1/companies/{company-id}/sites/{site-id}/stats:
    parameters:
    - schema:
        type: string
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
      name: site-id
      in: path
      required: true
      description: Site ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve SiteEquipmentStats for given Site
      tags:
      - Sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/SiteEquipmentStats-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-site-id-stats
      x-stoplight:
        id: qh30wcbj1agpo
      description: Retrieve `SiteEquipmentStats` for given `Site` by `ID`.
  /v1/orders/{order-id}/default_sites/{waypoint-type}:
    parameters:
    - schema:
        type: string
      name: order-id
      in: path
      required: true
      description: Order ID
    - schema:
        type: string
        enum:
        - pickup
        - drop_off
      name: waypoint-type
      in: path
      required: true
      description: Waypoint type
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve default sites for an order, given a waypoint type.
      tags:
      - Sites
      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/Site-Read-Nested'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-orders-order-id-default-sites
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      description: 'Retrieve the `Sites` that belong to the default list of an `Order`, given a particular ''WaypointType''.

        '
      x-internal: true
      x-stoplight:
        id: wguhj02d3b7rh
      deprecated: true
  /v1/orders/{order-id}/default_sites/{waypoint-type}/{site-id}:
    parameters:
    - schema:
        type: string
      name: order-id
      in: path
      required: true
      description: Order id
    - schema:
        type: string
        enum:
        - pickup
        - drop_off
      name: waypoint-type
      in: path
      required: true
      description: Waypoint type
    - schema:
        type: string
      name: site-id
      in: path
      required: true
      description: Site id
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Add a site to default site list on order
      tags:
      - Sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Site-Read-Nested'
        '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'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-orders-order-id-default_sites-waypoint-type-site-id
      x-stoplight:
        id: bgblx8ozfx49v
      description: "Add a `Site` to the default_site list for an `Order`, given a particular 'WaypointType'.\n\nNote: The underlying site grouping will be created automatically when the first \nsite is added for a given order. "
      x-internal: true
      deprecated: true
    delete:
      summary: Delete a single site from a default list of an order.
      tags:
      - Sites
      responses:
        '204':
          description: Shared Response
        '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'
      operationId: delete-v1-orders-order-id-default_sites-waypoint-type-site-id
      x-stoplight:
        id: 0xv7jo7tt2k44
      description: Delete a `Site` to the default_site list for an `Order`, given a particular 'WaypointType'.
      x-internal: true
      deprecated: true
  /v1/orders/{order-id}/sites/typeahead:
    parameters:
    - schema:
        type: string
      name: order-id
      in: path
      required: true
      description: Order ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Typeahead search on Sites that belong to Order's Company
      tags:
      - Sites
      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: kiktkjftpqqlc
                    items:
                      $ref: '#/components/schemas/Site-Read-Typeahead'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-orders-order-id-sites-typeahead
      x-stoplight:
        id: g8ff3h891sb9p
      description: Typeahead search against the `name`, or `external_id` property for `Sites` that belong to the `Order`'s `Company`
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/search-query'
      - $ref: '#/components/parameters/filter-states'
      deprecated: true
  /v1/projects/{project-id}/default_sites/{waypoint-type}:
    parameters:
    - schema:
        type: string
        enum:
        - pickup
        - drop_off
      name: waypoint-type
      in: path
      required: true
      description: Waypoint type
    - schema:
        type: string
      name: project-id
      in: path
      required: true
      description: Project Id
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve default sites for a project, given a waypoint type.
      tags:
      - Sites
      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/Site-Read-Nested'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-projects-project-id-default-sites
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      description: 'Retrieve the `Sites` that belong to the default list of an `Project`, given a particular ''WaypointType''.

        '
      x-stoplight:
        id: x9tdnf2b680k9
      x-internal: true
  /v1/projects/{project-id}/default_sites/{waypoint-type}/{site-id}:
    parameters:
    - schema:
        type: string
        enum:
        - pickup
        - drop_off
      name: waypoint-type
      in: path
      required: true
      description: Waypoint type
    - schema:
        type: string
      name: site-id
      in: path
      required: true
      description: Site id
    - schema:
        type: string
      name: project-id
      in: path
      required: true
      description: Project id
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Add a site to default site list on order
      tags:
      - Sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Site-Read-Nested'
        '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'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-projects-project-id-default_sites-waypoint-type-site-id
      description: "Add a `Site` to the default_site list for an `Project`, given a particular 'WaypointType'.\n\nNote: The underlying site grouping will be created automatically when the first \nsite is added for a given project. "
      x-internal: true
      x-stoplight:
        id: ucjvqgmfu1q80
    delete:
      summary: Delete a single site from a default list of an order.
      tags:
      - Sites
      responses:
        '204':
          description: Shared Response
        '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'
      operationId: delete-v1-projects-project-id-default_sites-waypoint-type-site-id
      description: Delete a `Site` to the default_site list for an `Order`, given a particular 'WaypointType'.
      x-internal: true
      x-stoplight:
        id: kpx387ps3xdlg
  /v1/sites:
    

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