tread.io Sites API

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

OpenAPI Specification

treadio-sites-api-openapi.yml Raw ↑
openapi: 3.0.3
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