tread.io File Attachments API

The File Attachments API from tread.io — 10 operation(s) for file attachments.

Operations 18

POST /v1/bulk_downloads Bulk download FileAttachments #
POST /v1/companies/{company-id}/orders/{order-id}/file_attachments Create a FileAttachment on an Order for a Company #
GET /v1/companies/{company-id}/orders/{order-id}/file_attachments Retrieve all FileAttachments for a given Order #
POST /v1/direct_uploads Create a DirectUpload #
POST /v1/driver_days/{driver-day-id}/file_attachments Create a FileAttachment on a DriverDay #
GET /v1/driver_days/{driver-day-id}/file_attachments Retrieve all FileAttachments for a given DriverDay #
GET /v1/file_attachments/{id} Retrieve a FileAttachment by ID #
PATCH /v1/file_attachments/{id} Update a FileAttachment by ID #
DELETE /v1/file_attachments/{id} Delete a FileAttachment by ID #
POST /v1/jobs/{job-id}/file_attachments Create a FileAttachment on a Job #
GET /v1/jobs/{job-id}/file_attachments Retrieve all FileAttachments for a given Job #
GET /v1/jobs/{job-id}/files Retrieve all associated FileAttachments for a Job #
POST /v1/loads/{load-id}/file_attachments Create a FileAttachment on a Load #
GET /v1/loads/{load-id}/file_attachments Retrieve all FileAttachments for a given Load #
POST /v1/orders/{order-id}/file_attachments Create a FileAttachment on an Order #
GET /v1/orders/{order-id}/file_attachments Retrieve all FileAttachments for a given Order #
POST /v1/projects/{project-id}/file_attachments Create a FileAttachment on a Project #
GET /v1/projects/{project-id}/file_attachments Retrieve all FileAttachments for a given Project #

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-file-attachments-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-file-attachments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Horizon API V1 File Attachments 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'
  license:
    name: Private
    url: https://tread.io
servers:
- description: production
  url: https://api.tread-horizon.com
security:
- bearerAuth: []
tags:
- name: File Attachments
paths:
  /v1/bulk_downloads:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Bulk download FileAttachments
      tags:
      - File Attachments
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/BulkDownload-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: post-v1-bulk_downloads
      x-stoplight:
        id: qxegczlt0vjwh
      x-internal: true
      description: 'This endpoint starts a bulk download of `FileAttachments`.


        The `job_ids` and `filter[jobs]` params are mutually exclusive and at least one of these is required.


        On success the caller should subscribe to the `BulkDownloadResult` `RTU` using the `id` in the response.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDownload-Create'
  /v1/companies/{company-id}/orders/{order-id}/file_attachments:
    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'
    post:
      summary: Create a FileAttachment on an Order for a Company
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-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: post-v1-companies-company-id-orders-order_id-file_attachments
      x-stoplight:
        id: wio0e2z2gq5wo
      description: 'Create a `FileAttachment` related to an `Order`. Requires permission to create attachment on `Order`—`create_order_attachments`.


        * If you''re using a `DirectUpload` then you must use the `application/json` mime-type and `file` must be the `DirectUpload`''s `signed_id`

        * If you''re using a file then you must use the `multipart/form-data` mime-type and `file` must be a file.'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
      tags:
      - File Attachments
    get:
      summary: Retrieve all FileAttachments for a given Order
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    x-stoplight:
                      id: tj07k22i6yxkl
                    type: array
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-orders-order_id-file_attachments
      x-stoplight:
        id: nmvovd2feee9c
      description: Retrieve all `FileAttachments` for a given `Order`
      tags:
      - File Attachments
      parameters:
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
  /v1/direct_uploads:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a DirectUpload
      tags:
      - File Attachments
      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).


        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'
  /v1/driver_days/{driver-day-id}/file_attachments:
    parameters:
    - schema:
        type: string
      name: driver-day-id
      in: path
      required: true
      description: Driver Day ID
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a FileAttachment on a DriverDay
      tags:
      - File Attachments
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-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: post-v1-driver_days-driver-day-id-file_attachments
      x-stoplight:
        id: 8nu308410yk0c
      description: 'Create a `FileAttachment` related to a `DriverDay`. Requires permission to create attachment on `DriverDay`—`create_driver_day_attachments`.


        * If you''re using a `DirectUpload` then you must use the `application/json` mime-type and `file` must be the `DirectUpload`''s `signed_id`

        * If you''re using a file then you must use the `multipart/form-data` mime-type and `file` must be a file.'
      parameters: []
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              $ref: '#/components/schemas/FileAttachment-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
    get:
      summary: Retrieve all FileAttachments for a given DriverDay
      tags:
      - File Attachments
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: gd8jklxjcxcvl
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-driver_days-driver-day-id-file_attachments
      x-stoplight:
        id: 2wcbb9rjtaj7i
      description: Retrieve all `FileAttachments` for a given `DriverDay`
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-after'
  /v1/file_attachments/{id}:
    parameters:
    - schema:
        type: string
        format: uuid
      name: id
      in: path
      required: true
      description: 'The ID of the file attachment you''re operating on '
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve a FileAttachment by ID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-file_attachments-file_attachment_id
      x-stoplight:
        id: flpyoj876qp2p
      description: Read a specific `FileAttachment`
      tags:
      - File Attachments
    patch:
      summary: Update a FileAttachment by ID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: patch-v1-file_attachments-file_attachment_id
      x-stoplight:
        id: am4r9ekeskla9
      description: 'Update `FileAttachment` by ID. Requires permission to edit attachment on a particular object:


        For Projects: `edit_project_attachments`\

        For Orders: `edit_order_attachments`\

        For Jobs: `edit_job_attachments`\

        For Loads: `edit_load_attachments`\

        For Driver Days: `edit_driver_day_attachments`\

        For Settlements: `edit_settlement_attachments`\


        Drivers and Foremen that have this permission, can only edit `FileAttachments` that they have added.'
      tags:
      - File Attachments
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Update'
    delete:
      summary: Delete a FileAttachment by ID
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: delete-v1-file_attachments-file_attachment_id
      x-stoplight:
        id: tgfqi473ukd0j
      description: 'Delete `FileAttachment` by ID. Requires permission to delete attachment on a particular object:


        For Projects: `delete_project_attachments`\

        For Orders:`delete_order_attachments`\

        For Jobs: `delete_job_attachments`\

        For Loads: `delete_load_attachments`\

        For Driver Days: `delete_driver_day_attachments`\

        For Settlements: `delete_settlement_attachments`\


        Drivers and Foremen that have this permission, can only delete `FileAttachments` that they have added.'
      tags:
      - File Attachments
  /v1/jobs/{job-id}/file_attachments:
    parameters:
    - schema:
        type: string
        format: uuid
      name: job-id
      in: path
      required: true
      description: 'The ID of the job you''re operating on '
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a FileAttachment on a Job
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-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: post-v1-jobs-job_id-file_attachments
      x-stoplight:
        id: wy2nbmoa1w8ve
      description: 'Create a `FileAttachment` related to an `Job`. Requires permission to create attachment on `Job`—`create_job_attachments`.


        * If you''re using a `DirectUpload` then you must use the `application/json` mime-type and `file` must be the `DirectUpload`''s `signed_id`

        * If you''re using a file then you must use the `multipart/form-data` mime-type and `file` must be a file.'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
      tags:
      - File Attachments
      x-internal: true
    get:
      summary: Retrieve all FileAttachments for a given Job
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: bws8um7tyq6zq
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-jobs-job_id-file_attachments
      x-stoplight:
        id: pbhvztovzeq3q
      description: Retrieve all `FileAttachments` for a given `Job`
      tags:
      - File Attachments
      parameters:
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
  /v1/jobs/{job-id}/files:
    parameters:
    - schema:
        type: string
        format: uuid
      name: job-id
      in: path
      description: Job ID
      required: true
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve all associated FileAttachments for a Job
      tags:
      - File Attachments
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: zcvhcyrqhy1os
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-jobs-job-id-files
      x-stoplight:
        id: z4p1ctnwuedlr
      description: 'This endpoint retrieves all associated `FileAttachments` for a `Job`, specifically:

        * all `FileAttachments` on the `Job`

        * all `FileAttachments` on the `Job''s` `Loads`

        * all `FileAttachments` on `Tickets` connected to this `Job`'
      parameters:
      - $ref: '#/components/parameters/page-limit'
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
  /v1/loads/{load-id}/file_attachments:
    parameters:
    - schema:
        type: string
        format: uuid
      name: load-id
      in: path
      required: true
      description: 'The ID of the load you''re operating on '
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a FileAttachment on a Load
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-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: post-v1-loads-load-id-file_attachments
      x-stoplight:
        id: ic212tirenvan
      description: 'Create a `FileAttachment` related to an `Load`. Requires permission to create attachment on `Load`—`create_load_attachments`.


        * If you''re using a `DirectUpload` then you must use the `application/json` mime-type and `file` must be the `DirectUpload`''s `signed_id`

        * If you''re using a file then you must use the `multipart/form-data` mime-type and `file` must be a file.'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
      tags:
      - File Attachments
    get:
      summary: Retrieve all FileAttachments for a given Load
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    x-stoplight:
                      id: 121cwskv2zirr
                    type: array
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-loads-load-id-file_attachments
      x-stoplight:
        id: g4ldnfvd0tf8g
      description: Retrieve all `FileAttachments` for a given `Load`
      tags:
      - File Attachments
      parameters:
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
  /v1/orders/{order-id}/file_attachments:
    parameters:
    - schema:
        type: string
        format: uuid
      name: order-id
      in: path
      required: true
      description: 'The ID of the order you''re operating on '
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a FileAttachment on an Order
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-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: post-v1-orders-order_id-file_attachments
      x-stoplight:
        id: hc7nwzlt5x6ae
      description: 'Create a `FileAttachment` related to an `Order`. Requires permission to create attachment on `Order`—`create_order_attachments`.


        * If you''re using a `DirectUpload` then you must use the `application/json` mime-type and `file` must be the `DirectUpload`''s `signed_id`

        * If you''re using a file then you must use the `multipart/form-data` mime-type and `file` must be a file.'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
      tags:
      - File Attachments
      deprecated: true
    get:
      summary: Retrieve all FileAttachments for a given Order
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    x-stoplight:
                      id: tj07k22i6yxkl
                    type: array
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-orders-order_id-file_attachments
      x-stoplight:
        id: rqdbk8gf13faa
      description: Retrieve all `FileAttachments` for a given `Order`
      tags:
      - File Attachments
      parameters:
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
      deprecated: true
  /v1/projects/{project-id}/file_attachments:
    parameters:
    - schema:
        type: string
        format: uuid
      name: project-id
      in: path
      description: 'The ID of the project you''re operating on '
      required: true
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Create a FileAttachment on a Project
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/FileAttachment-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: post-v1-projects-project_id-file_attachments
      x-stoplight:
        id: 423h0z6d6mc7b
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
          application/json:
            schema:
              $ref: '#/components/schemas/FileAttachment-Create'
      description: 'Create a `FileAttachment` related to a `Project`. Requires permission to create attachment on `Project`—`create_project_attachments`.


        * If you''re using a `DirectUpload` then you must use the `application/json` mime-type and `file` must be the `DirectUpload`''s `signed_id`

        * If you''re using a file then you must use the `multipart/form-data` mime-type and `file` must be a file.'
      tags:
      - File Attachments
    get:
      summary: Retrieve all FileAttachments for a given Project
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: hvcshzfiz4hlu
                    items:
                      $ref: '#/components/schemas/FileAttachment-Read'
          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-projects-project_id-file_attachments
      x-stoplight:
        id: tfbkyg0njj4tt
      description: Retrieve all `FileAttachments` for a given `Project`
      tags:
      - File Attachments
      parameters:
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
components:
  schemas:
    ModelError:
      title: ModelError
      x-stoplight:
        id: nhp6714o4j1qt
      description: A Model-specific error
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object
        required:
        - errors
        properties:
          errors:
            type: array
            x-stoplight:
              id: m4ul9vcq2deh6
            items:
              $ref: '#/components/schemas/ModelError-Item'
    User-Read-Typeahead:
      title: User-Read-Typeahead
      x-stoplight:
        id: ttbbss5b5k66f
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        required:
        - first_name
        - last_name
        properties:
          first_name:
            type: string
            description: First name
            x-stoplight:
              id: gwo999rcdahmg
          last_name:
            type: string
            description: Last name
            x-stoplight:
              id: l9omnnsq644bh
      description: ''
    FileAttachment-Create:
      title: FileAttachment-Create
      x-stoplight:
        id: 6ov5mmeta4q9b
      type: object
      required:
      - file
      properties:
        file:
          x-stoplight:
            id: vhz4kd26m4atp
          anyOf:
          - x-stoplight:
              id: nax3vntqjrgyh
            format: binary
          - x-stoplight:
              id: zeyj90b4r3ds5
          type: string
        category:
          $ref: '#/components/schemas/FileAttachmentCategory'
        description:
          type: string
          x-stoplight:
            id: u5wjqpawbht5v
      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
        message:
          type: string
          x-stoplight:
            id: bmgbrtmw17qsj
          description: The Error message
      additionalProperties: false
    BulkDownload-Create:
      title: BulkDownload-Create
      x-stoplight:
        id: dginlau2z9kwc
      type: object
      required:
      - type
      properties:
        type:
          x-stoplight:
            id: bkfphr54z8e8u
          enum:
          - pdf
          - zip
        job_ids:
          type: array
          x-stoplight:
            id: 10qpu61ctkte7
          items:
            x-stoplight:
              id: dr8frggqtjuit
            type: string
            format: uuid
        filter:
          type: object
          x-stoplight:
            id: bfq6p121blguj
          properties:
            job:
              type: object
              x-stoplight:
                id: 2mvncci7daqfc
              properties:
                states:
                  type: array
                  x-stoplight:
                    id: qqookotjggzde
                  items:
                    $ref: '#/components/schemas/JobState'
                customer_account_ids:
                  type: array
                  x-stoplight:
                    id: wz8zonskz97iy
                  items:
                    x-stoplight:
                      id: x89yk8ot1xtln
                    type: string
                    format: uuid
                driver_ids:
                  type: array
                  x-stoplight:
                    id: inn9jbnu2xetg
                  items:
                    x-stoplight:
                      id: yo67fubgekey2
                    type: string
                    format: uuid
                dropoff_site_ids:
                  type: array
                  x-stoplight:
                    id: jeq43zqrp9lsx
                  items:
                    x-stoplight:
                      id: avvutvbuvurmx
                    type: string
                    format: uuid
                foreman_ids:
                  type: array
                  x-stoplight:
                    id: 1tnty976sj2n5
                  items:
                    x-stoplight:
                      id: fi63f0hbe8alo
                    type: string
                    format: uuid
                'pickup_site_ids:':
                  type: array
                  x-stoplight:
                    id: n9i5cpr7yu64i
                  items:
                    x-stoplight:
                      id: bo329ui51q3hw
                    type: string
                    format: uuid


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