Fieldguide files API

Endpoints used to interact with Fieldguide Files

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/fieldguide-files-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fieldguide-files-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fieldguide api files API
  description: An API for interacting with the [Fieldguide](https://fieldguide.io) platform
  version: v1
  contact: {}
servers:
- url: https://api.fieldguide.io
  description: Fieldguide API
security:
- bearer: []
tags:
- name: files
  description: Endpoints used to interact with Fieldguide Files
paths:
  /v1/files/{uuid}:
    delete:
      operationId: delete_file_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the file to delete
        schema:
          format: uuid
          type: string
      responses:
        '204':
          description: No content. The file was deleted successfully.
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `requests.files:write` for request files, `engagements.files:write` for engagement files)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Delete the specified File
      tags:
      - files
    get:
      operationId: get_file_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the File to get details for
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: The File details
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FileRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `files:read`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Get details for a specific File
      tags:
      - files
      x-required-scopes:
      - files:read
  /v1/files/{uuid}/context:
    get:
      operationId: get_file_context_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the File
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: The File context
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FileContextRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `files:read`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Get context for a specific File
      tags:
      - files
      x-required-scopes:
      - files:read
  /v1/engagements/{uuid}/folders:
    get:
      operationId: list_engagement_folders_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Engagement for which to get Folders
        schema:
          format: uuid
          type: string
      - name: parent_folder_uuid
        required: false
        in: query
        description: An optional UUID of the parent folder
        schema:
          format: uuid
          type: string
      - name: page
        required: false
        in: query
        schema:
          type: number
          default: 1
          nullable: true
      - name: per_page
        required: false
        in: query
        schema:
          type: number
          default: 50
          nullable: true
          minimum: 1
          maximum: 200
      - name: sort_order
        required: false
        in: query
        description: Sort order for paginated results. Use `desc` to reverse the default ascending order.
        schema:
          type: string
          default: asc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: The list of Engagement Folders
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/EngagementFolderRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `engagements.files:read`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: List Folders that belong to the specified Engagement
      tags:
      - files
      x-required-scopes:
      - engagements.files:read
  /v1/engagements/{engagement_uuid}/folders/{folder_uuid}:
    get:
      operationId: get_engagement_folder_v1
      parameters:
      - name: engagement_uuid
        required: true
        in: path
        description: The UUID of the Engagement from which to get a Folder
        schema:
          format: uuid
          type: string
      - name: folder_uuid
        required: true
        in: path
        description: The UUID of the folder to fetch
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: The Engagement Folder with the specified UUID
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/EngagementFolderRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `engagements.files:read`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Fetch a Folder by Engagement and Folder UUIDs
      tags:
      - files
      x-required-scopes:
      - engagements.files:read
  /v1/engagements/{engagement_uuid}/files/{file_uuid}:
    get:
      operationId: get_engagement_file_v1
      parameters:
      - name: engagement_uuid
        required: true
        in: path
        description: The UUID of the Engagement from which to get a File
        schema:
          format: uuid
          type: string
      - name: file_uuid
        required: true
        in: path
        description: The UUID of the File to fetch
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: The Engagement File with the specified UUID
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/EngagementFileRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `engagements.files:read`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Fetch a File by Engagement and File UUIDs
      tags:
      - files
      x-required-scopes:
      - engagements.files:read
  /v1/engagements/{uuid}/files:
    get:
      operationId: list_engagement_files_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Engagement for which to get Files
        schema:
          format: uuid
          type: string
      - name: folder_uuid
        required: false
        in: query
        description: An optional UUID of the Folder to filter Files by
        schema:
          format: uuid
          type: string
      - name: page
        required: false
        in: query
        schema:
          type: number
          default: 1
          nullable: true
      - name: per_page
        required: false
        in: query
        schema:
          type: number
          default: 50
          nullable: true
          minimum: 1
          maximum: 200
      - name: sort_order
        required: false
        in: query
        description: Sort order for paginated results. Use `desc` to reverse the default ascending order.
        schema:
          type: string
          default: asc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: The list of Engagement Files
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/EngagementFileRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `engagements.files:read`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: List Files that belong to the specified Engagement
      tags:
      - files
      x-required-scopes:
      - engagements.files:read
    post:
      operationId: upload_engagement_file_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Engagement to upload the File to
        schema:
          format: uuid
          type: string
      requestBody:
        required: true
        description: The File to upload
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/EngagementFileCreate'
      responses:
        '200':
          description: The UUID of the File that was attached to the Engagement
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/EngagementFileRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `engagements.files:write`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Upload a File to the specified Engagement
      tags:
      - files
      x-required-scopes:
      - engagements.files:write
  /v1/requests/{uuid}/files:
    get:
      operationId: list_request_files_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Request to list Files for
        schema:
          format: uuid
          type: string
      - name: page
        required: false
        in: query
        schema:
          type: number
          default: 1
          nullable: true
      - name: per_page
        required: false
        in: query
        schema:
          type: number
          default: 50
          nullable: true
          minimum: 1
          maximum: 200
      - name: sort_order
        required: false
        in: query
        description: Sort order for paginated results. Use `desc` to reverse the default ascending order.
        schema:
          type: string
          default: asc
          enum:
          - asc
          - desc
      responses:
        '200':
          description: The Files for the specified Request
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FileRead'
        '401':
          description: Unauthorized
        '403':
          description: 'Forbidden


            Forbidden (requires scopes `requests.files:read`)'
        '404':
          description: Resource not found
      summary: Fetch the Files for the specified Request
      tags:
      - files
      x-required-scopes:
      - requests.files:read
    post:
      operationId: upload_request_file_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the request to upload the file to
        schema:
          format: uuid
          type: string
      requestBody:
        required: true
        description: File to upload to the Request
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/FileCreate'
      responses:
        '200':
          description: The UUID of the file that was attached to the Request
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/FileUploadRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden (requires scopes `requests.files:write`)
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Upload a File to the specified Request
      tags:
      - files
      x-required-scopes:
      - requests.files:write
components:
  schemas:
    EngagementFileReadLinks:
      type: object
      properties:
        fieldguide:
          description: A URL the user can visit to view the Engagement File within the Fieldguide web application
          example:
            href: https://app.fieldguide.io/v1/engagements/2/documents?folder=0d7c72ee-28b3-4bc8-aea1-18bc7d9a8679&file=9b560ead-2b64-41f2-b9ae-826bdb866f1a
            title: Get the result of this job
            type: application/json
          allOf:
          - $ref: '#/components/schemas/HalLink'
      required:
      - fieldguide
    EngagementFolderRead:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: 821e8d9e-d2a8-480f-9187-5a685d3d0d71
          description: The unique identifier for the resource
        parent_folder_uuid:
          type: string
          format: uuid
          example: 721e8d9e-d2a8-480f-9187-5a685d3d0d71
          description: The folder that contains this one
          nullable: true
        engagement_uuid:
          type: string
          format: uuid
          example: 921e8d9e-d2a8-480f-9187-5a685d3d0d71
          description: The Engagement this Folder belongs to
        name:
          type: string
          example: Documents
          description: The name of the Folder
        path:
          type: string
          example: /grandparent/parent
          description: The path to the Folder from the Engagement root
        created_at:
          format: date-time
          type: string
          example: '2024-03-19T12:00:00Z'
          description: Timestamp of when the Folder was created
        _links:
          $ref: '#/components/schemas/EngagementFolderReadLinks'
      required:
      - uuid
      - parent_folder_uuid
      - engagement_uuid
      - name
      - path
      - created_at
      - _links
    EngagementFileRead:
      type: object
      properties:
        name:
          type: string
          example: Board of Directors.docx
        size:
          type: number
          example: 137437
        mime_type:
          type: string
          example: application/vnd.openxmlformats-officedocument.wordprocessingml.document
        url:
          type: string
          format: uri
          example: https://example.com/document.docx
          nullable: true
        url_expiration:
          type: string
          format: date-time
          example: '2023-01-01T12:30:00.000Z'
          nullable: true
        uuid:
          type: string
          format: uuid
          example: 91aeda5e-4a3c-4090-90b1-cbf09d4c1ba1
        created_at:
          type: string
          format: date-time
          example: '2023-01-01T12:30:00.000Z'
        updated_at:
          type: string
          format: date-time
          example: '2023-01-01T12:30:00.000Z'
          nullable: true
        engagement_uuid:
          type: string
          description: The UUID of the Engagement this File is associated with
          format: uuid
        folder_uuid:
          type: string
          description: The UUID of the Folder this File is associated with, or null if it sits at the Engagement root.
          format: uuid
          nullable: true
        _links:
          $ref: '#/components/schemas/EngagementFileReadLinks'
      required:
      - name
      - size
      - mime_type
      - url
      - url_expiration
      - uuid
      - created_at
      - updated_at
      - engagement_uuid
      - folder_uuid
      - _links
    HalLink:
      type: object
      properties:
        href:
          type: string
          example: https://example.com/resource/or/path
          format: uri
        title:
          type: string
          description: A human-readable title for the link
          example: A description for the link
        type:
          type: string
          description: The content-type
          example: text/html
      required:
      - href
      - type
    FileRead:
      type: object
      properties:
        name:
          type: string
          example: Board of Directors.docx
        size:
          type: number
          example: 137437
        mime_type:
          type: string
          example: application/vnd.openxmlformats-officedocument.wordprocessingml.document
        url:
          type: string
          format: uri
          example: https://example.com/document.docx
          nullable: true
        url_expiration:
          type: string
          format: date-time
          example: '2023-01-01T12:30:00.000Z'
          nullable: true
        uuid:
          type: string
          format: uuid
          example: 91aeda5e-4a3c-4090-90b1-cbf09d4c1ba1
        created_at:
          type: string
          format: date-time
          example: '2023-01-01T12:30:00.000Z'
        updated_at:
          type: string
          format: date-time
          example: '2023-01-01T12:30:00.000Z'
          nullable: true
      required:
      - name
      - size
      - mime_type
      - url
      - url_expiration
      - uuid
      - created_at
      - updated_at
    FileCreate:
      type: object
      properties:
        file:
          type: string
          format: binary
      required:
      - file
    FileContextRead:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: 4d50d252-be0c-4d69-b77a-5bbdfef83f54
        type:
          type: string
          enum:
          - engagement
          - request
          example: engagement
          description: The kind of object this file is attached to.
      required:
      - uuid
      - type
    EngagementFileCreate:
      type: object
      properties:
        file:
          type: string
          format: binary
        folder_uuid:
          type: string
          description: The Folder UUID of the Engagement this File is associated with
          format: uuid
      required:
      - file
    EngagementFolderReadLinks:
      type: object
      properties:
        fieldguide:
          description: A URL the user can visit to view the Engagement Folder within the Fieldguide web application
          example:
            href: https://app.fieldguide.io/engagements/123/documents?folder=abc-123
            title: View this Engagement Folder in Fieldguide
            type: text/html
          allOf:
          - $ref: '#/components/schemas/HalLink'
      required:
      - fieldguide
    FileUploadRead:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: 3e11fc6d-ecd0-4673-8a90-aa787ed391ec
      required:
      - uuid
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
externalDocs:
  description: Fieldguide API Documentation
  url: https://fieldguide.io/developers