Milestone API

Milestone API as documented publicly: 8 operations. Contract generated from the documentation by API Evangelist (2026-10-29); not the provider's own document.

Operations 8

GET / GET / #
POST / POST / #
GET /api/v1/integrations/ai-prints/install.sh AI Prints | Milestone #
POST /deployments POST /deployments #
GET /health GET /health #
POST /identity/resources/auth/v1/api-token POST /identity/resources/auth/v1/api-token #
GET /ready Deployment on Virtual Machine #
GET /status Deployment on Virtual Machine #

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/milestone:milestone-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

milestone-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: Milestone API
  version: '2026-10-29'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-29: 8 operation(s) read from 5 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; Milestone has published no machine-readable contract that the
    pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 5
    documentation: 3
    pages-with-code: 5
    pages-read: 5
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-29'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://mstone.ai/docs/dynamic-hr
  - https://mstone.ai/docs/ai-prints
  - https://mstone.ai/docs/integration-instructions/deployments-dora
  - https://mstone.ai/docs/integration-instructions/Hybrid-On-Prem-Infrastructure-and-Requirements/install-dca-vm
  - https://mstone.ai/docs/integration-instructions/Hybrid-On-Prem-Infrastructure-and-Requirements/install-dca-k8s
servers:
- url: https://events.mstone.ai
paths:
  /:
    get:
      operationId: get
      tags:
      - Api
      summary: GET /
      x-source: https://mstone.ai/docs/ai-prints
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -fsSL \"https://<your-milestone-instance>/api/v1/integrations/ai-prints/install.sh\" | bash \n Windows (PowerShell) \n\
          \ iex (iwr -UseBasicParsing \"https://<your-milestone-instance>/api/v1/integrations/ai-prints/install.ps1\").Content \n Windows (MSI,\
          \ for Intune / SCCM) \n Self-contained installers for fleet deployment — no download at install time. Deploy in user install context\
          \ and assign to user gr"
    post:
      operationId: post
      tags:
      - Api
      summary: POST /
      x-source: https://mstone.ai/docs/dynamic-hr
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -X POST \"https://<your-tenant-id>.mstone.ai/api/v1/contributors/hr-roster\" \\ -H \"X-API-KEY: <JWT>\" \\ -H \"Authorization:\
          \ Bearer <JWT>\" \\ -H \"TENANT: <your-tenant-id>\" \\ -F \"file=@hr-roster.csv\" \n A successful response confirms the row count and\
          \ columns accepted. A clear error is returned if the file shape is off, so you know immediately whether the push landed. \n CSV format\
          \ ​ \n The file must b"
  /api/v1/integrations/ai-prints/install.sh:
    get:
      operationId: get_api_v1_integrations_ai_prints_install_sh
      tags:
      - Api
      summary: AI Prints | Milestone
      x-source: https://mstone.ai/docs/ai-prints
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /deployments:
    post:
      operationId: post_deployments
      tags:
      - Deployments
      summary: POST /deployments
      x-source: https://mstone.ai/docs/integration-instructions/deployments-dora
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostDeploymentsRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl ≥ 7.76 and jq on the runner. Replace \"your-service\" in the snippets with the name of the service being deployed. \n GitHub\
          \ Actions GitLab CI Jenkins Datadog format Add this as the last step of your deploy job in .github/workflows/deploy.yml : - name : Report\
          \ deployment to Milestone if : success() env : MILESTONE_INGEST_TOKEN : $ { { secrets.MILESTONE_INGEST_TOKEN } } REPOSITORY : $ { {\
          \ github."
  /health:
    get:
      operationId: get_health
      tags:
      - Health
      summary: GET /health
      x-source: https://mstone.ai/docs/integration-instructions/Hybrid-On-Prem-Infrastructure-and-Requirements/install-dca-vm
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -s http://localhost:8080/health # → {\"status\": \"ok\"} # Readiness curl -s http://localhost:8080/ready # → {\"status\"\
          : \"ready\"} # Detailed status (flow schedules, last run times) curl -s http://localhost:8080/status | python3 -m json.tool # Tail logs\
          \ docker compose logs -f \n That completes the installation: sections 1–7 above are all you need to get the\nagent running. \n ✅ Installation\
          \ complete. "
  /identity/resources/auth/v1/api-token:
    post:
      operationId: post_identity_resources_auth_v1_api_token
      tags:
      - Identity
      summary: POST /identity/resources/auth/v1/api-token
      x-source: https://mstone.ai/docs/dynamic-hr
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostIdentityResourcesAuthV1ApiTokenRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl -sS -X POST \"https://auth.mstone.ai/identity/resources/auth/v1/api-token\" \\ -H \"Content-Type: application/json\" \\\
          \ -d '{\"clientId\":\"<CLIENT_ID>\",\"secret\":\"<SECRET>\"}' \n Copy the token from the response — you will use it in Step 2. \n Step\
          \ 2 — Upload the roster ​ "
  /ready:
    get:
      operationId: get_ready
      tags:
      - Ready
      summary: Deployment on Virtual Machine
      x-source: https://mstone.ai/docs/integration-instructions/Hybrid-On-Prem-Infrastructure-and-Requirements/install-dca-vm
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReadyResponse'
      x-evidence:
        kind: documentation
  /status:
    get:
      operationId: get_status
      tags:
      - Status
      summary: Deployment on Virtual Machine
      x-source: https://mstone.ai/docs/integration-instructions/Hybrid-On-Prem-Infrastructure-and-Requirements/install-dca-vm
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStatusResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    PostDeploymentsRequest:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            attributes:
              type: object
              properties:
                service:
                  type: string
                started_at:
                  type: integer
                env:
                  type: string
                git:
                  type: object
                  properties:
                    commit_sha:
                      type: string
                    repository_url:
                      type: string
    PostIdentityResourcesAuthV1ApiTokenRequest:
      type: object
      properties:
        clientId:
          type: string
        secret:
          type: string
    GetReadyResponse:
      type: object
      properties:
        status:
          type: string
          description: ready
    GetStatusResponse:
      type: object
      properties:
        status:
          type: object
          description: Detailed status including flow schedules and last run times
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
security:
- apiKey: []
tags:
- name: Api
- name: Deployments
- name: Health
- name: Identity
- name: Ready
- name: Status