CMS Quality Payment Program API

The Quality Payment Program (QPP) API supports the Merit-based Incentive Payment System (MIPS) and Advanced Alternative Payment Models (APMs) under MACRA. Exposes measures, benchmarks, scoring, and submission endpoints used by Qualified Registries, EHR vendors, and QCDRs to submit clinician performance data and retrieve scoring metadata.

CMS Quality Payment Program API is one of 10 APIs that CMS — Centers for Medicare & Medicaid Services publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Healthcare, Quality, MIPS, MACRA, and Provider. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

cms-gov-qpp-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CMS Quality Payment Program API
  description: |
    The Quality Payment Program (QPP) API supports MIPS and Advanced APMs under MACRA.
    Exposes measures, benchmarks, scoring, and submission endpoints used by Qualified
    Registries, EHR vendors, and QCDRs.
  version: '1.0'
  license:
    name: Public Domain (U.S. Government Work)
    url: https://www.usa.gov/government-works
servers:
- url: https://qpp.cms.gov/api
  description: Production
security:
- BearerAuth: []
paths:
  /submissions:
    get:
      summary: List Submissions
      operationId: listSubmissions
      tags: [Submissions]
      responses: { '200': { description: List of submissions } }
    post:
      summary: Create Submission
      operationId: createSubmission
      tags: [Submissions]
      requestBody:
        required: true
        content: { application/json: { schema: { type: object } } }
      responses: { '201': { description: Submission created } }
  /submissions/{id}:
    get:
      summary: Get Submission
      operationId: getSubmission
      tags: [Submissions]
      parameters:
      - { name: id, in: path, required: true, schema: { type: string } }
      responses: { '200': { description: Submission record } }
    put:
      summary: Update Submission
      operationId: updateSubmission
      tags: [Submissions]
      parameters:
      - { name: id, in: path, required: true, schema: { type: string } }
      requestBody:
        required: true
        content: { application/json: { schema: { type: object } } }
      responses: { '200': { description: Submission updated } }
  /measurements:
    get:
      summary: List Measurements
      operationId: listMeasurements
      tags: [Measurements]
      responses: { '200': { description: List of measurements } }
    post:
      summary: Create Measurement
      operationId: createMeasurement
      tags: [Measurements]
      requestBody:
        required: true
        content: { application/json: { schema: { type: object } } }
      responses: { '201': { description: Measurement created } }
  /scoring:
    get:
      summary: Get Score Preview
      operationId: getScore
      tags: [Scoring]
      parameters:
      - { name: submissionId, in: query, schema: { type: string } }
      responses: { '200': { description: Score preview } }
  /benchmarks:
    get:
      summary: List Benchmarks
      operationId: listBenchmarks
      tags: [Benchmarks]
      parameters:
      - { name: performanceYear, in: query, schema: { type: integer } }
      responses: { '200': { description: Benchmark data } }
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: QPP uses HARP-issued JWT bearer tokens.