tread.io FileAttachments API

The FileAttachments API from tread.io — 10 operation(s) for fileattachments.

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-fileattachments-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-fileattachments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Horizon API V1 AccountExternalTruckIdentifier 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](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: FileAttachments
paths:
  /v1/bulk_downloads:
    parameters:
    - $ref: '#/components/parameters/Accept-Language'
    post:
      summary: Bulk download FileAttachments
      tags:
      - FileAttachments
      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`. \n\nThe `job_ids` and `filter[jobs]` params are mutually exclusive and at least one of these is required.\n\nOn 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:
      - FileAttachments
    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:
      - FileAttachments
      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:
      - FileAttachments
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/DirectUpload-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: post-v1-direct_uploads
      x-stoplight:
        id: tgme583womicv
      description: 'Create a `DirectUpload`.


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


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


        Once this is done you can use `signed_id` in place of a file in any endpoint that accepts file uploads.'
      x-internal: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectUpload-Create'
  /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:
      - FileAttachments
      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:
      - FileAttachments
      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:
      - FileAttachments
    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: \n\nFor Projects: `edit_project_attachments`\\\nFor Orders: `edit_order_attachments`\\\nFor Jobs: `edit_job_attachments`\\\nFor Loads: `edit_load_attachments`\\\nFor Driver Days: `edit_driver_day_attachments`\\\nFor Settlements: `edit_settlement_attachments`\\\n\nDrivers and Foremen that have this permission, can only edit `FileAttachments` that they have added."
      tags:
      - FileAttachments
      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: \n\nFor Projects: `delete_project_attachments`\\\nFor Orders:`delete_order_attachments`\\\nFor Jobs: `delete_job_attachments`\\\nFor Loads: `delete_load_attachments`\\\nFor Driver Days: `delete_driver_day_attachments`\\\nFor Settlements: `delete_settlement_attachments`\\\n\nDrivers and Foremen that have this permission, can only delete `FileAttachments` that they have added."
      tags:
      - FileAttachments
  /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:
      - FileAttachments
      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:
      - FileAttachments
      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:
      - FileAttachments
      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:\n * all `FileAttachments` on the `Job`\n * all `FileAttachments` on the `Job's` `Loads`\n * all `FileAttachments` on `Tickets` connected to this `Job`\n\n"
      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:
      - FileAttachments
    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:
      - FileAttachments
      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:
      - FileAttachments
      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:
      - FileAttachments
      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:
      - FileAttachments
    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:
      - FileAttachments
      parameters:
      - $ref: '#/components/parameters/page-after'
      - $ref: '#/components/parameters/page-before'
      - $ref: '#/components/parameters/page-limit'
components:
  schemas:
    FileAttachment-Read:
      title: FileAttachment-Read
      x-stoplight:
        id: 71buuls4yp0kr
      allOf:
      - type: object
        required:
        - category
        - description
        - file_attachable_id
        - file_attachable_type
        - file_url
        - mime_type
        - preview_url
        - preview_mime_type
        - uploaded_by
        - file_name
        - editable
        - deletable
        properties:
          category:
            $ref: '#/components/schemas/FileAttachmentCategory'
          description:
            type:
            - string
            - 'null'
            x-stoplight:
              id: tews9xplys3k7
          file_attachable_id:
            type: string
            x-stoplight:
              id: f5skb1dhphjd2
            format: uuid
          file_attachable_type:
            $ref: '#/components/schemas/FileAttachableType'
          file_url:
            type: string
            x-stoplight:
              id: sx7sp0pkep7jl
            format: uri
          mime_type:
            type: string
            x-stoplight:
              id: vxj0ktghbiic6
          preview_url:
            type:
            - string
            - 'null'
            x-stoplight:
              id: aa7aa0pkep7jl
            format: uri
            description: URL of the preview image. Clients should fall back to file_url if this is null.
          preview_mime_type:
            type:
            - string
            - 'null'
            x-stoplight:
              id: aaj0aaghbiic6
            description: mime-type of the preview. clients should fall back to mime_type if this is null.
          uploaded_by:
            $ref: '#/components/schemas/Principal-Read-Nested'
          file_name:
            type: string
            x-stoplight:
              id: p56co3cqi23xo
          editable:
            type: boolean
            x-stoplight:
              id: sfbexk1hpc12a
          deletable:
            type: boolean
            x-stoplight:
              id: e3gtfckh2zwk3
      - $ref: '#/components/schemas/Identifier'
      - $ref: '#/components/schemas/Timestamps'
    TreadId:
      title: TreadId
      x-stoplight:
        id: 43k4t5tl359m4
      type: object
      required:
      - tread_id
      properties:
        tread_id:
          type: string
          x-stoplight:
            id: zi3ld7djflw6f
          pattern: ^[0-9A-F]{6}$
          minLength: 6
          maxLength: 6
          example: ABC123
          description: Tread ID
      additionalProperties: false
    CompanyType:
      title: CompanyType
      x-stoplight:
        id: dkzo7gjbtb1b3
      enum:
      - broker
      - contractor
      - hauler
      - owner_operator
      - producer
      - super
      example: hauler
      description: Company Type
    Error:
      title: Error
      x-stoplight:
        id: 3g57kkik3l464
      type: object
      description: An Error.
      required:
      - code
      properties:
        code:
          type: string
          x-stoplight:
            id: 7o9x1t8v0bgfo
      additionalProperties: false
    ModelError-Item:
      title: ModelError-Item
      x-stoplight:
        id: b93chwval2t8d
      type: object
      required:
      - model
      - field
      - message
      properties:
        model:
          type: string
          x-stoplight:
            id: 30myfyjkno8ao
          description: The Model associated with this Error
        field:
          type: string
          x-stoplight:
            id: 8gl4ed3uxhdws
          description: The field associated with this Error
        message:
          type: string
          x-stoplight:
            id: bmgbrtmw17qsj
          description: The Error message
      additionalProperties: false
    M2MClient-Read-Nested:
      title: M2MClient-Read-Nested
      x-stoplight:
        id: hf6su2qgixxmz
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        required:
        - company
        properties:
          company:
            $ref: '#/components/schemas/Company-Read-Nested'
    Impersonation-Read-Minimal:
      title: Impersonation-Read-Minimal
      x-stoplight:
        id: 1h5th7jnqtxix
      type: object
      required:
      - impersonator
      - impersonated
      properties:
        impersonator:
          $ref: '#/components/schemas/User-Read-Minimal'
        impersonated:
          $ref: '#/components/schemas/User-Read-Minimal'
    UnauthenticatedError:
      title: UnauthenticatedError
      x-stoplight:
        id: 202o69l0fs40h
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object


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