Optum Device Codes APIs API

The Device Codes APIs API from Optum — 3 operation(s) for device codes apis.

Operations 3

GET /api/cms/facility/{procedure-device-type} Fetches the device to procedure/procedure to device codes and their descriptions #
GET /api/cms/facility/{procedure-device-type}/{device-or-procedure-code} Fetches device to procedure/procedure to device codes and their descriptions for a specific device or procedure code #
GET /api/cms/facility/{device-type} Facility - fetch all device codes or device dependent procedure codes #

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/optum-device-codes-apis-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

optum-device-codes-apis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CMS Common Facility Device Codes APIs API
  description: MicroService that contains CMS related information
  contact:
    name: Ken Kracker
    email: ken.kracker@optum.com
  version: v1.0
servers:
- url: /v1/cmscommonms
tags:
- name: Device Codes APIs
paths:
  /api/cms/facility/{procedure-device-type}:
    get:
      tags:
      - Device Codes APIs
      summary: Fetches the device to procedure/procedure to device codes and their descriptions
      operationId: getProcedureToDeviceToProcedureCodes
      parameters:
      - name: procedure-device-type
        in: path
        required: true
        schema:
          type: string
          enum:
          - device-to-procedure
          - procedure-to-device
      - name: sort
        in: query
        description: Any of these values (code,-code) are allowed.The default is -code
        required: false
        schema:
          type: array
          items:
            type: string
          default:
          - code
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 50
        example: 150
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: filter
        in: query
        required: false
        schema:
          type: string
      - name: yyyy-MM-dd
        in: header
        description: Date for which historical data is required
        required: false
        schema:
          type: string
          format: yyyy-MM-dd
      responses:
        '200':
          description: 'Fetches device to procedure/procedure to device codes list '
          content:
            application/json:
              example:
                content:
                - code: C1721
                  codeDescription: Cardioverter-defibrillator, dual chamber (implantable)
                - code: C1722
                  codeDescription: Cardioverter-defibrillator, single chamber (implantable)
                totalCount: 2
        '400':
          description: 'Bad Request: Some parameters were invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
              example:
                error:
                - sort parameter value should be from list of [code]
                warning: null
                info: null
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
              example:
                timestamp: '2024-04-05T06:37:03.741+00:00'
                status: 404
                error: Not Found
                message: Not Found
                path: /cmscommonms/api/cms/facility/device-to-procedure-invalid
        '500':
          description: Internal server error
          content:
            application/json:
              example:
                timestamp: '2024-04-05T08:10:07.573+00:00'
                status: 500
                error: Internal Server Error
                message: 'Request processing failed: java.lang.IllegalArgumentException: Page size must not be less than one'
                path: /cmscommonms/api/cms/facility/device-to-procedure
      security:
      - bearerAuth: []
  /api/cms/facility/{procedure-device-type}/{device-or-procedure-code}:
    get:
      tags:
      - Device Codes APIs
      summary: Fetches device to procedure/procedure to device codes and their descriptions for a specific device or procedure code
      operationId: getProcedureToDeviceToProcedureCodeSpecific
      parameters:
      - name: procedure-device-type
        in: path
        required: true
        schema:
          type: string
          enum:
          - device-to-procedure
          - procedure-to-device
      - name: device-or-procedure-code
        in: path
        required: true
        schema:
          type: string
        example: C1721
      - name: sort
        in: query
        description: Any of these values (code,-code) are allowed.The default is -code
        required: false
        schema:
          type: array
          items:
            type: string
          default:
          - code
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 50
        example: 150
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: filter
        in: query
        required: false
        schema:
          type: string
      - name: yyyy-MM-dd
        in: header
        description: Date for which historical data is required
        required: false
        schema:
          type: string
          format: yyyy-MM-dd
      responses:
        '200':
          description: Fetches device to procedure/procedure to device codes list for a specific device or procedure code
          content:
            application/json:
              example:
                content:
                - code: '33224'
                  codeDescription: Insertion of pacing electrode, cardiac venous system, for left ventricular pacing, with attachment to previously placed pacemaker or implantable defibrillator pulse generator (including revision of pocket, removal, insertion, and/or replacement of existing generator)
                - code: '33230'
                  codeDescription: Insertion of implantable defibrillator pulse generator only; with existing dual leads
                totalCount: 2
        '400':
          description: 'Bad Request: Some parameters were invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
              example:
                error:
                - sort parameter value should be from list of [code]
                warning: null
                info: null
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
              example:
                timestamp: '2024-04-05T06:37:03.741+00:00'
                status: 404
                error: Not Found
                message: Not Found
                path: /cmscommonms/api/cms/facility/device-to-procedure-invalid/C1721
        '500':
          description: Internal server error
          content:
            application/json:
              example:
                timestamp: '2024-04-05T08:10:07.573+00:00'
                status: 500
                error: Internal Server Error
                message: 'Request processing failed: java.lang.IllegalArgumentException: Page size must not be less than one'
                path: /cmscommonms/api/cms/facility/device-to-procedure/C1721
      security:
      - bearerAuth: []
  /api/cms/facility/{device-type}:
    get:
      tags:
      - Device Codes APIs
      summary: Facility - fetch all device codes or device dependent procedure codes
      operationId: fetchDeviceCodes
      parameters:
      - name: device-type
        in: path
        required: true
        schema:
          type: string
          enum:
          - device-codes
          - device-dependent-procedure-codes
      - name: sort
        in: query
        description: Any of these values(code, -code, opsi, -opsi, apc, -apc) are allowed.The default is code
        required: false
        schema:
          type: array
          items:
            type: string
          default:
          - code
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 50
        example: 50
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: filter
        in: query
        required: false
        schema:
          type: string
      - name: yyyy-MM-dd
        in: header
        description: Date for which historical data is required
        required: false
        schema:
          type: string
          format: yyyy-MM-dd
      responses:
        '200':
          description: Fetches the device codes or device dependent procedure codes
          content:
            application/json:
              example: "    \"content\": [\n        {\n          \"code\": \"A4648\",\n          \"description\": \"Tissue marker, implantable, any type, each\",\n          \"opsi\": \"N\"\n        },\n        {\n          \"code\": \"C1052\",\n          \"description\": \"Hemostatic agent, gastrointestinal, topical\",\n          \"opsi\": \"N\"\n        },\n        {\n          \"code\": \"C1062\",\n          \"description\": \"Intravertebral body fracture augmentation with implant (e.g., metal, polymer)\",\n          \"opsi\": \"N\"\n        }\n    ]\n"
        '400':
          description: 'Bad Request: Some parameters were invalid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
              example:
                error:
                - sort parameter value should be from list of [code, opsi, apc]
                warning: null
                info: null
        '500':
          description: Interal server error
          content:
            application/json:
              example:
                timestamp: '2023-10-27T08:10:07.573+00:00'
                status: 500
                error: Internal Server Error
                message: 'Request processing failed: java.lang.IllegalArgumentException: Page size must not be less than zero'
                path: /cmscommonms/api/cms/facility/device-codes
      security:
      - bearerAuth: []
components:
  schemas:
    Notification:
      type: object
      properties:
        error:
          type: array
          items:
            type: string
        warning:
          type: array
          items:
            type: string
        info:
          type: array
          items:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-readme:
  explorer-enabled: true
  proxy-enabled: true