pVerify CMN API (discontinued)

Certificate of Medical Necessity lookup. Labelled "(Discontinued)" by pVerify; every operation is marked deprecated in the spec.

Operations 3

POST /API/CMNInquiry CMNInquiry #
GET /API/GetCMNResponse/{requestId} GetCMNResponse #
GET /PDFReport/CMN/{id} CMN Report #

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/pverify-cmn-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

pverify-cmn-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: pVerify CMN API
  description: Real-time healthcare insurance eligibility and revenue-cycle API. Derived operation-for-operation from the public Postman collection pVerify publishes at https://postman.pverify.com/ (collection 6ceb8797-50ff-42fd-98a3-64beefaa6c94, last updated 03/01/2026). Covers eligibility (270/271), dental eligibility, insurance discovery, MBI lookup, patient demographic validation, claim status (276/277), patient cost estimation, payer lists and the CGX widget.
  version: '1.0'
  termsOfService: https://pverify.com/privacy-policy/
  contact:
    name: pVerify Support
    email: support@pverify.com
    url: https://pverify.com/contact-support/
servers:
- url: https://api.pverify.com
  description: Production
- url: https://testapi.pverify.com
  description: Test environment published by pVerify
tags:
- name: CMN
paths:
  /API/CMNInquiry:
    post:
      operationId: cmnInquiry
      tags:
      - CMN
      summary: CMNInquiry
      description: 'Environment |

        URL |


        Test |

        https://testapi.pverify.com/API/CMNInquiry |


        Production |

        https://api.pverify.com/API/CMNInquiry |


        This endpoint submits a Same/Similar request into our queue. Note that this is not real time, and either the postback URL must be used (to submit the response to), or the GetSameOrSimilarResponse endpoint must be called with the request ID.


        Key |

        Value |


        URL |

        https://api.pverify.com/API/CMNInquiry |


        Method |

        POST |


        Headers |

        Description |


        Content-Type |

        application/json |


        Authorization |

        Authorization token from above preceded by the String "Bearer" |


        Client-API-Id* |

        Your pVerify client-api-id |


        Body |

        Description |


        Data Parameters |

        See Right Panel |


        *Note: The Client-API-Id is required in header. Header keys are case sensitive.


        CMNInquiry Request fields


        Property Name |

        Data Type |

        Usage |

        Description |


        memberId |

        String |

        Required |

        Patient''s member ID (HICN). |


        patientFirstName |

        String |

        Required |

        Patient First Name. |


        patientLastName |

        String |

        Required |

        Patient Last Name. |


        patientDOB |

        String |

        Required |

        Patient DOB (Expected format: MM/dd/YYYY ie 01/01/2000). |


        patientStateCode |

        String |

        Required |

        Patient State Code ex: AL. |


        hcpcsCode |

        String |

        Required |

        HCPCS -L codes only. Multiple codes can be sent by separating with a comma (,). |


        dosStart |

        String |

        Optional |

        Date of service start date (Expected format: MM/dd/YYYY ie 01/01/2000). Default value is 5 years before date to current date. |


        dosEnd |

        String |

        Optional |

        Date of service end date (Expected format: MM/dd/YYYY ie 01/01/2000). Default value is current date (Today''s date). |


        location |

        String |

        Optional |

        Location name and the default is client user''s location or client''s location. |


        callBackUrl |

        String |

        Optional |

        to Post response data on client side |


        APIResponseCode Meaning


        APIResponseCode |

        Description |


        0 |

        Processed |


        1 |

        Rejected |


        2 |

        NoFunds (Insufficient Account Balance) |


        3 |

        Pending (Pending need to get response later) |


        4 |

        InvalidRequest (Required Data Missing) |


        5 |

        InvalidFormat (data fields / data format is wrong) |


        6 |

        LocationError (Location is not configured) |


        ** Response JSON Processing Steps **


        Step 1: Check the value of the API Response Code property. If the API Response Code is 3 (Pending) then the request is pending and the Request ID can be extracted.


        Step 2: Save the data


        Note: The CMN API always returns API response code as 3 (pending)'
      deprecated: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                memberId:
                  type: string
                  example: '123456'
                patientFirstName:
                  type: string
                  example: First Name
                patientLastName:
                  type: string
                  example: Last Name
                patientDOB:
                  type: string
                  example: Date of birth
                patientStateCode:
                  type: string
                  example: StateCode
                hcpcsCode:
                  type: string
                  example: A, B, E, or K code
                dosStart:
                  type: string
                  example: 12/09/2020
                dosEnd:
                  type: string
                  example: 12/09/2020
                location:
                  type: string
                  example: location Name
                callBackUrl:
                  type: string
                  example: http://www.test.com/api/PostData
            example:
              memberId: '123456'
              patientFirstName: First Name
              patientLastName: Last Name
              patientDOB: Date of birth
              patientStateCode: StateCode
              hcpcsCode: A, B, E, or K code
              dosStart: 12/09/2020
              dosEnd: 12/09/2020
              location: location Name
              callBackUrl: http://www.test.com/api/PostData
      responses:
        '200':
          description: OK
      security:
      - bearerAuth: []
        clientApiId: []
  /API/GetCMNResponse/{requestId}:
    get:
      operationId: getCMNResponse
      tags:
      - CMN
      summary: GetCMNResponse
      description: 'Environment |

        URL |


        Test |

        https://testapi.pverify.com/API/GetCMNResponse/{requestID} |


        Production |

        https://api.pverify.com/API/GetCMNResponse/{requestID} |


        This call is used to get the transaction result later using a unique request ID.


        Note: We purge this data after 90 days


        Key |

        Value |


        URL |

        https://api.pverify.com/API/GetCMNResponse/{requestID} |


        Method |

        GET |


        Headers |

        Description |


        Content-Type |

        application/json |


        Authorization |

        Authorization token from above preceded by the String "Bearer" |


        Client-API-Id* |

        Your pVerify client-api-id |


        *Note: The Client-API-Id header is required. Header keys are case sensitive.


        Notes


        Always check for apiResponseCode property value before processing.


        If APIResponseCode is zero then look for ErrorMessage and Claims to process response.


        A successful GetSameOrSimilarResponse will have the same format as the SameOrSimilarInquiry response.


        API Response Codes


        APIResponseCode |

        Description |


        0 |

        Processed |


        1 |

        Rejected |


        2 |

        NoFunds (Insufficient Account Balance) |


        3 |

        Pending (Pending need to get response later) |


        4 |

        InvalidRequest (Required Data Missing) |


        5 |

        InvalidFormat (data fields / data format is wrong) |


        6 |

        LocationError (Location is not configured) |


        CMN Response Details


        Property Name |

        Data Type |

        Description |


        RequestId |

        long |

        Same or Similar Request ID. |


        apiResponseCode |

        int |

        API transaction response code. Please see apiResponseCodes section. |


        apiResponseMessage |

        String |

        API transaction response message. |


        isDataError |

        boolean |

        True - when invalid patient details (Invalid HICN/MBI or Invalid DOB); False - for all valid requests. |


        CertificatesCount |

        int |

        No of certiifcates found in response |


        Message |

        String |

        Contains messages other than error messages (No claims found). |


        Status |

        String |

        Status of transaction (Processed, Rejected or Pending). |


        RentalsDescription |

        String |

        Oxygen Rentals Description. |


        IsVerifiedAllJusrisdiction |

        Boolean |

        Tells the transaction is verified in all Jurisdiction or not.If value false then need to get response using same API later. |


        VerifiedJurisdcitions |

        String Array |

        Contians Verified jurisdictions. |


        Certificates |

        List |

        |


        |

        Contains claim certificates status info. |

        |


        Certificate.SubmittedHcpcs |

        String |

        HCPCS Code Submitted in Request |


        Certificate.ApprovedHcpcs |

        String |

        HCPCS Code which is approved by Medicare |


        Certificate.InitialDate |

        String |

        Initial Date of Billing |


        Certificate.RevisedDate |

        String |

        Revised Date for CMN, if any. |


        Certificate.LastClaimDate |

        String |

        Date on which Last claim is recorded. |


        Certificate.Status |

        String |

        Status of Certificate. Valid / Open |


        Certificate.SupplierName |

        String |

        Supplier Name. |


        Certificate.SupplierPhone |

        String |

        Supplier Phone Number |


        Certificate.TypeValue |

        String |

        Type – Initial, Recert or Revised. |


        Certificate.LengthOfNeed |

        String |

        Length for which CMN is approved. |


        Certificate.TotalRentalPayments |

        Total Rental Payments |

        |


        Certificate.Message |

        String |

        Contains Message like No Certificates are found. |'
      deprecated: true
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
        description: Unique pVerify transaction / request id returned by the matching inquiry call.
      responses:
        '200':
          description: OK
      security:
      - bearerAuth: []
        clientApiId: []
  /PDFReport/CMN/{id}:
    get:
      operationId: getCmnReport
      tags:
      - CMN
      summary: CMN Report
      description: 'This returns a PDF report of the CMN request.


        Note two things:


        The endpoint is premium.pverify.com


        Authentication token is not used, instead pass your API ID and Secret.'
      deprecated: true
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: Unique pVerify transaction / request id returned by the matching inquiry call.
      responses:
        '200':
          description: OK
      security:
      - clientApiId: []
        clientSecret: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth2 access token returned by POST /Token, sent as `Authorization: Bearer <token>`.'
    clientApiId:
      type: apiKey
      in: header
      name: Client-API-Id
      description: Client API identifier issued by pVerify. Required on every call; header keys are case sensitive.
    clientSecret:
      type: apiKey
      in: header
      name: Client-Secret
      description: Client secret issued by pVerify, used by the one-step (no-token) endpoints and the premium report endpoints.