pVerify CMN API (discontinued)

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

OpenAPI Specification

pverify-cmn-api-openapi.yml Raw ↑
# Derived from pVerify's published Postman collection: https://postman.pverify.com/
# method: derived  generated: 2026-08-14
openapi: 3.0.3
info:
  title: pVerify CMN API (discontinued)
  description: pVerify CMN API (discontinued), derived operation-for-operation from the public Postman
    collection pVerify publishes at https://postman.pverify.com/ (last updated 03/01/2026). All calls
    require an OAuth2 bearer token from POST /Token plus the Client-API-Id header.
  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
- url: https://premium.pverify.com
  description: pVerify premium portal host (PDF reports, widget setup)
tags:
- name: CMN
paths:
  /API/CMNInquiry:
    post:
      operationId: cmnInquiry
      tags:
      - CMN
      summary: CMNInquiry
      description: "Environment | \nURL | \n\nTest | \nhttps://testapi.pverify.com/API/CMNInquiry | \n\
        \nProduction | \nhttps://api.pverify.com/API/CMNInquiry | \n\nThis 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.\n\nKey | \nValue | \n\nURL | \nhttps://api.pverify.com/API/CMNInquiry | \n\n\
        Method | \nPOST | \n\nHeaders | \nDescription | \n\nContent-Type | \napplication/json | \n\nAuthorization\
        \ | \nAuthorization token from above preceded by the String \"Bearer\" | \n\nClient-API-Id* |\
        \ \nYour pVerify client-api-id | \n\nBody | \nDescription | \n\nData Parameters | \nSee Right\
        \ Panel | \n\n*Note: The Client-API-Id is required in header. Header keys are case sensitive.\n\
        \nCMNInquiry Request fields\n\nProperty Name | \nData Type | \nUsage | \nDescription | \n\nmemberId\
        \ | \nString | \nRequired | \nPatient's member ID (HICN). | \n\npatientFirstName | \nString |\
        \ \nRequired | \nPatient First Name. | \n\npatientLastName | \nString | \nRequired | \nPatient\
        \ Last Name. | \n\npatientDOB | \nString | \nRequired | \nPatient DOB (Expected format: MM/dd/YYYY\
        \ ie 01/01/2000). | \n\npatientStateCode | \nString | \nRequired | \nPatient State Code ex: AL.\
        \ | \n\nhcpcsCode | \nString | \nRequired | \nHCPCS -L codes only. Multiple codes can be sent\
        \ by separating with a comma (,). | \n\ndosStart | \nString | \nOptional | \nDate of service start\
        \ date (Expected format: MM/dd/YYYY ie 01/01/2000). Default value is 5 years before date to current\
        \ date. | \n\ndosEnd | \nString | \nOptional | \nDate of service end date (Expected format: MM/dd/YYYY\
        \ ie 01/01/2000). Default value is current date (Today's date). | \n\nlocation | \nString | \n\
        Optional | \nLocation name and the default is client user's location or client's location. | \n\
        \ncallBackUrl | \nString | \nOptional | \nto Post response data on client side | \n\nAPIResponseCode\
        \ Meaning\n\nAPIResponseCode | \nDescription | \n\n0 | \nProcessed | \n\n1 | \nRejected | \n\n\
        2 | \nNoFunds (Insufficient Account Balance) | \n\n3 | \nPending (Pending need to get response\
        \ later) | \n\n4 | \nInvalidRequest (Required Data Missing) | \n\n5 | \nInvalidFormat (data fields\
        \ / data format is wrong) | \n\n6 | \nLocationError (Location is not configured) | \n\n** Response\
        \ JSON Processing Steps **\n\nStep 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.\n\
        \nStep 2: Save the data\n\nNote: 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 | \nURL | \n\nTest | \nhttps://testapi.pverify.com/API/GetCMNResponse/{requestID}\
        \ | \n\nProduction | \nhttps://api.pverify.com/API/GetCMNResponse/{requestID} | \n\nThis call\
        \ is used to get the transaction result later using a unique request ID.\n\nNote: We purge this\
        \ data after 90 days\n\nKey | \nValue | \n\nURL | \nhttps://api.pverify.com/API/GetCMNResponse/{requestID}\
        \ | \n\nMethod | \nGET | \n\nHeaders | \nDescription | \n\nContent-Type | \napplication/json |\
        \ \n\nAuthorization | \nAuthorization token from above preceded by the String \"Bearer\" | \n\n\
        Client-API-Id* | \nYour pVerify client-api-id | \n\n*Note: The Client-API-Id header is required.\
        \ Header keys are case sensitive.\n\nNotes\n\nAlways check for apiResponseCode property value\
        \ before processing.\n\nIf APIResponseCode is zero then look for ErrorMessage and Claims to process\
        \ response.\n\nA successful GetSameOrSimilarResponse will have the same format as the SameOrSimilarInquiry\
        \ response.\n\nAPI Response Codes\n\nAPIResponseCode | \nDescription | \n\n0 | \nProcessed | \n\
        \n1 | \nRejected | \n\n2 | \nNoFunds (Insufficient Account Balance) | \n\n3 | \nPending (Pending\
        \ need to get response later) | \n\n4 | \nInvalidRequest (Required Data Missing) | \n\n5 | \n\
        InvalidFormat (data fields / data format is wrong) | \n\n6 | \nLocationError (Location is not\
        \ configured) | \n\nCMN Response Details\n\nProperty Name | \nData Type | \nDescription | \n\n\
        RequestId | \nlong | \nSame or Similar Request ID. | \n\napiResponseCode | \nint | \nAPI transaction\
        \ response code. Please see apiResponseCodes section. | \n\napiResponseMessage | \nString | \n\
        API transaction response message. | \n\nisDataError | \nboolean | \nTrue - when invalid patient\
        \ details (Invalid HICN/MBI or Invalid DOB); False - for all valid requests. | \n\nCertificatesCount\
        \ | \nint | \nNo of certiifcates found in response | \n\nMessage | \nString | \nContains messages\
        \ other than error messages (No claims found). | \n\nStatus | \nString | \nStatus of transaction\
        \ (Processed, Rejected or Pending). | \n\nRentalsDescription | \nString | \nOxygen Rentals Description.\
        \ | \n\nIsVerifiedAllJusrisdiction | \nBoolean | \nTells the transaction is verified in all Jurisdiction\
        \ or not.If value false then need to get response using same API later. | \n\nVerifiedJurisdcitions\
        \ | \nString Array | \nContians Verified jurisdictions. | \n\nCertificates | \nList | \n | \n\n\
        \ | \nContains claim certificates status info. | \n | \n\nCertificate.SubmittedHcpcs | \nString\
        \ | \nHCPCS Code Submitted in Request | \n\nCertificate.ApprovedHcpcs | \nString | \nHCPCS Code\
        \ which is approved by Medicare | \n\nCertificate.InitialDate | \nString | \nInitial Date of Billing\
        \ | \n\nCertificate.RevisedDate | \nString | \nRevised Date for CMN, if any. | \n\nCertificate.LastClaimDate\
        \ | \nString | \nDate on which Last claim is recorded. | \n\nCertificate.Status | \nString | \n\
        Status of Certificate. Valid / Open | \n\nCertificate.SupplierName | \nString | \nSupplier Name.\
        \ | \n\nCertificate.SupplierPhone | \nString | \nSupplier Phone Number | \n\nCertificate.TypeValue\
        \ | \nString | \nType – Initial, Recert or Revised. | \n\nCertificate.LengthOfNeed | \nString\
        \ | \nLength for which CMN is approved. | \n\nCertificate.TotalRentalPayments | \nTotal Rental\
        \ Payments | \n | \n\nCertificate.Message | \nString | \nContains 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.