Fieldguide milestones API

Endpoints used to interact with Fieldguide Milestones

Operations 2

GET /v1/milestones/{uuid} Fetch the specified Milestone #
GET /v1/engagements/{engagement_uuid}/milestones List Milestones that belong to the specified Engagement #

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-milestones-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

fieldguide-milestones-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fieldguide Milestones 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: milestones
  description: Endpoints used to interact with Fieldguide Milestones
paths:
  /v1/milestones/{uuid}:
    get:
      operationId: get_milestone_v1
      parameters:
      - name: uuid
        required: true
        in: path
        description: The UUID of the Milestone to retrieve
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: The visible Milestone
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MilestoneRead'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: 'Forbidden


            Forbidden (requires scopes `milestones:read`)'
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: Fetch the specified Milestone
      tags:
      - milestones
      x-required-scopes:
      - milestones:read
  /v1/engagements/{engagement_uuid}/milestones:
    get:
      operationId: list_milestones_by_engagement_v1
      parameters:
      - name: engagement_uuid
        required: true
        in: path
        description: The UUID of the Engagement to retrieve Milestones for
        schema:
          format: uuid
          type: string
      - name: associated_engagement_status
        required: false
        in: query
        description: Filter by the optional Engagement lifecycle phase associated with each Milestone. This is not the Engagement's current status and does not determine Milestone completion.
        schema:
          $ref: '#/components/schemas/MilestoneAssociatedEngagementStatus'
      - name: client_can_view
        required: false
        in: query
        description: Filter Milestones by client visibility.
        schema:
          type: boolean
      - name: is_completed
        required: false
        in: query
        description: Filter by completion state. A completed Milestone has a non-null `completed_at` value.
        schema:
          type: boolean
      - name: sort_by
        required: false
        in: query
        description: Field used to sort Milestones. Results are sorted by creation time unless `sequence` is requested.
        schema:
          $ref: '#/components/schemas/MilestoneSortBy'
      - name: page
        required: false
        in: query
        schema:
          type:
          - number
          - 'null'
          default: 1
      - name: per_page
        required: false
        in: query
        schema:
          type:
          - number
          - 'null'
          default: 50
          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 visible Milestones for the Engagement
          content:
            application/json:
              schema:
                allOf:
                - properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/MilestoneRead'
                - properties:
                    _links:
                      type: object
                      required:
                      - self
                      - first
                      - last
                      properties:
                        self:
                          type: object
                          description: The URL for the current page being fetched
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=2&per_page=50
                        first:
                          type: object
                          description: The URL for the first page of the set
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=1&per_page=50
                        last:
                          type: object
                          description: The URL for the last page of the set
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=10&per_page=50
                        previous:
                          type: object
                          description: The URL for the previous page in the set, if there is one
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=1&per_page=50
                        next:
                          type: object
                          description: The URL for the next page in the set, if there is one
                          properties:
                            href:
                              type: string
                              example: https://api.fieldguide.io/v1/example?page=3&per_page=50
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: 'Forbidden


            Forbidden (requires scopes `milestones:read`)'
        '404':
          description: Resource not found
        '429':
          description: Too many requests
      summary: List Milestones that belong to the specified Engagement
      tags:
      - milestones
      x-required-scopes:
      - milestones:read
components:
  schemas:
    MilestoneReadLinks:
      type: object
      properties:
        self:
          description: The canonical API URL for this Milestone
          example:
            href: https://api.fieldguide.io/v1/milestones/4d50d252-be0c-4d69-b77a-5bbdfef83f54
            title: Fetch this Milestone
            type: application/json
          allOf:
          - $ref: '#/components/schemas/HalLink'
        collection:
          description: The visible Milestones collection for the parent Engagement
          example:
            href: https://api.fieldguide.io/v1/engagements/821e8d9e-d2a8-480f-9187-5a685d3d0d71/milestones
            title: List Milestones for this Engagement
            type: application/json
          allOf:
          - $ref: '#/components/schemas/HalLink'
        engagement:
          description: The canonical API URL for the parent Engagement
          example:
            href: https://api.fieldguide.io/v1/engagements/821e8d9e-d2a8-480f-9187-5a685d3d0d71
            title: Fetch the parent Engagement
            type: application/json
          allOf:
          - $ref: '#/components/schemas/HalLink'
        fieldguide:
          description: A Fieldguide Engagement dashboard link containing this Milestone's UUID
          example:
            href: https://app.fieldguide.io/engagements/82027/dashboard?milestone=4d50d252-be0c-4d69-b77a-5bbdfef83f54
            title: Open the parent Engagement in Fieldguide
            type: text/html
          allOf:
          - $ref: '#/components/schemas/HalLink'
      required:
      - self
      - collection
      - engagement
      - fieldguide
    MilestoneSortBy:
      type: string
      enum:
      - created_at
      - sequence
    MilestoneAssociatedEngagementStatus:
      type: string
      enum:
      - Pending
      - In Progress
      - Complete
      - Archived
      description: An optional association to an Engagement lifecycle phase. It does not represent the Engagement's current status or determine Milestone completion.
    MilestoneRead:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          example: 4d50d252-be0c-4d69-b77a-5bbdfef83f54
        engagement_uuid:
          type: string
          format: uuid
          example: 821e8d9e-d2a8-480f-9187-5a685d3d0d71
          description: UUID of the Engagement that owns this Milestone.
        name:
          type: string
          example: Planning complete
        sequence:
          type: integer
          example: 2
          description: The Milestone's display order within its Engagement.
        associated_engagement_status:
          description: An optional association to an Engagement lifecycle phase. It does not represent the Engagement's current status or determine Milestone completion.
          allOf:
          - $ref: '#/components/schemas/MilestoneAssociatedEngagementStatus'
        due_date:
          type:
          - string
          - 'null'
          format: date
          example: '2026-03-15'
        completed_at:
          type:
          - string
          - 'null'
          format: date-time
          example: '2026-03-10T12:30:00.000Z'
          description: The authoritative completion indicator. Null means the Milestone is incomplete.
        completed_by_user_uuid:
          type:
          - string
          - 'null'
          format: uuid
          example: 6b242248-e2b9-4d41-8986-11b710860048
          description: UUID of the user who completed the Milestone.
        owner_user_uuid:
          type:
          - string
          - 'null'
          format: uuid
          example: ee196968-2a7a-48e9-97f9-d12f26a8ff94
          description: UUID of the user assigned to own the Milestone.
        client_can_view:
          type: boolean
          example: true
          description: Whether client users can view the Milestone.
        created_at:
          type: string
          format: date-time
          example: '2026-02-01T12:30:00.000Z'
        updated_at:
          type: string
          format: date-time
          example: '2026-03-10T12:30:00.000Z'
        _links:
          $ref: '#/components/schemas/MilestoneReadLinks'
      required:
      - uuid
      - engagement_uuid
      - name
      - sequence
      - associated_engagement_status
      - due_date
      - completed_at
      - completed_by_user_uuid
      - owner_user_uuid
      - client_can_view
      - created_at
      - updated_at
      - _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
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
externalDocs:
  description: Fieldguide API Documentation
  url: https://fieldguide.io/developers