pVerify Same or Similar API (discontinued)

Medicare same-or-similar DME history check. pVerify labels this product "(Discontinued)" in its own documentation while continuing to document it in full; every operation is marked deprecated in the spec.

OpenAPI Specification

pverify-same-or-similar-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 Same or Similar API (discontinued)
  description: pVerify Same or Similar 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: Same or Similar
paths:
  /API/SameOrSimilarInquiry:
    post:
      operationId: sameOrSimilarInquiry
      tags:
      - Same or Similar
      summary: SameOrSimilarInquiry
      description: "Environment | \nURL | \n\nTest | \nhttps://testapi.pverify.com/API/SameOrSimilarInquiry\
        \ | \n\nProduction | \nhttps://api.pverify.com/API/SameOrSimilarInquiry | \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/SameOrSimilarInquiry\
        \ | \n\nMethod | \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\nSameOrSimilarInquiry Request fields\n\nProperty Name | \nData Type | \nUsage |\
        \ \nDescription | \n\nmemberId | \nString | \nRequired | \nPatient's member ID (MBI). | \n\npatient.FirstName\
        \ | \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\nhcpcsCodes | \nString | \nRequired | \nHCPCS starting with A, B, E, K and\
        \ L Codes supported, can sent multiple codes in same alphabetical category separated by 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 | \nOptional | \nLocation name\
        \ and the default is client user's location or client's location. | \n\ncallbackURL | \nString\
        \ | \nOptional | \nJSON response will be posted to callbackURL when inquiry is processed and if\
        \ callbackURL is valid. This URL should support HTTP POST method and Content-Type =’application/json’\
        \ | \n\nAPIResponseCode Meaning\n\nAPIResponseCode | \nDescription | \n\n0 | \nProcessed | \n\n\
        1 | \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\nSame or Similar Response Details\n\nProperty Name | \nData Type | \nDescription\
        \ | \n\nRequestId | \nlong | \nSame or Similar Request ID. | \n\napiResponseCode | \nint | \n\
        API transaction response code. Please see apiResponseCodes section. | \n\napiResponseMessage |\
        \ \nString | \nAPI transaction response message. | \n\nisDataError | \nboolean | \nTrue - when\
        \ invalid patient details (Invalid MBI or Incorrect DOB, Name etc) | \n\nClaims | \nList | \n\
        \ | \n\n | \nContains claim status info. | \n | \n\nMessage | \nString | \nContains messages other\
        \ than error messages (No claims found). | \n\nStatus | \nString | \nStatus of transaction. |\
        \ \n\nClaim.HCPCS | \nString | \nContains HCPCS returned in response. | \n\nClaim.Status | \n\
        String | \nContains Claim & Code status âAllowed ,Denied or No Claims. For Invalid data request\
        \ it is Error. | \n\nClaim.DOSStart | \nString | \nClaim & Code Date of service start date. It\
        \ is empty for Error or for No Claims. (Expected format: MM/dd/YYYY ie 01/01/2000) | \n\nClaim.DOSEnd\
        \ | \nString | \nClaim & Code Date of service end date. It is empty for Jurisdiction A and D inquiries.\
        \ It is empty for Error or for No Claims. (Expected format: MM/dd/YYYY ie 01/01/2000) | \n\nClaim.Unit\
        \ | \nString | \nNo of units. | \n\nClaim.SupplierName | \nString | \nContains supplier name for\
        \ all allowed or denied requests. Empty for no claims & error. | \n\nClaim.phone | \nString |\
        \ \nContains supplier phone number for all allowed or denied. Empty for no claims & error. | \n\
        \nClaim.Message | \nString | \nContains notes or error message, Ex: No claims found or Invalid\
        \ MBI or Incorrect DOB or Incorrect name | \n\nDetailsURL | \nstring | \nURL for the full report\
        \ | \n\nExpectedTimeInSeconds | \nstring | \nIt gives expected response time in seconds | \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 Same or Similar 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: '1231234567'
                patientFirstName:
                  type: string
                  example: Test1
                patientLastName:
                  type: string
                  example: Test2
                patientDOB:
                  type: string
                  example: 01/02/2020
                patientStateCode:
                  type: string
                  example: NJ
                hcpcsCodes:
                  type: string
                  example: L3960,L3982,L3995
                dosStart:
                  type: string
                  example: 04/21/2020
                dosEnd:
                  type: string
                  example: 04/21/2020
                location:
                  type: string
                  example: location Name
                callBackUrl:
                  type: string
            example:
              memberId: '1231234567'
              patientFirstName: Test1
              patientLastName: Test2
              patientDOB: 01/02/2020
              patientStateCode: NJ
              hcpcsCodes: L3960,L3982,L3995
              dosStart: 04/21/2020
              dosEnd: 04/21/2020
              location: location Name
              callBackUrl: ''
      responses:
        '200':
          description: OK
      security:
      - bearerAuth: []
        clientApiId: []
  /API/GetSameOrSimilarResponse/{requestId}:
    get:
      operationId: getSameOrSimilarResponse
      tags:
      - Same or Similar
      summary: GetSameOrSimilarResponse
      description: "Get Same or Similar Response Using Unique Request ID\n\nEnvironment | \nURL | \n\n\
        Test | \nhttps://testapi.pverify.com/API/GetSameOrSimilarResponse/125 | \n\nProduction | \nhttps://api.pverify.com/API/GetSameOrSimilarResponse/125\
        \ | \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/GetSameOrSimilarResponse/125\
        \ | \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\nField Descriptions\n\nSame or Similar Response Details\n\nProperty Name |\
        \ \nData Type | \nDescription | \n\nRequestId | \nlong | \nSame or Similar Request ID. | \n\n\
        apiResponseCode | \nint | \nAPI transaction response code. Please see apiResponseCodes section.\
        \ | \n\napiResponseMessage | \nString | \nAPI transaction response message. | \n\nisDataError\
        \ | \nboolean | \nTrue - when invalid patient details (Invalid MBI or Incorrect DOB, Name etc)\
        \ | \n\nClaims | \nList | \n | \n\n | \nContains claim status info. | \n | \n\nMessage | \nString\
        \ | \nContains messages other than error messages (No claims found). | \n\nStatus | \nString |\
        \ \nStatus of transaction. | \n\nClaim.HCPCS | \nString | \nContains HCPCS returned in response.\
        \ | \n\nClaim.Status | \nString | \nContains Claim & Code status âAllowed ,Denied or No Claims.\
        \ For Invalid data request it is Error. | \n\nClaim.DOSStart | \nString | \nClaim & Code Date\
        \ of service start date. It is empty for Error or for No Claims. (Expected format: MM/dd/YYYY\
        \ ie 01/01/2000) | \n\nClaim.DOSEnd | \nString | \nClaim & Code Date of service end date. It is\
        \ empty for Jurisdiction A and D inquiries. It is empty for Error or for No Claims. (Expected\
        \ format: MM/dd/YYYY ie 01/01/2000) | \n\nClaim.Unit | \nString | \nNo of units. | \n\nClaim.SupplierName\
        \ | \nString | \nContains supplier name for all allowed or denied requests. Empty for no claims\
        \ & error. | \n\nClaim.phone | \nString | \nContains supplier phone number for all allowed or\
        \ denied. Empty for no claims & error. | \n\nClaim.Message | \nString | \nContains notes or error\
        \ message, Ex: No claims found or Invalid MBI or Incorrect DOB or Incorrect name | \n\nDetailsURL\
        \ | \nstring | \nURL for the full report |"
      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/SameorSimilar/{id}:
    get:
      operationId: getSameOrSimilarReport
      tags:
      - Same or Similar
      summary: Same Or Similar Report
      description: "This returns a PDF report of the Same or Similar request.\n\nNote two things: \n\n\
        The endpoint is premium.pverify.com \n\nAuthentication 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: []
  /API/GetSameAndSimilarDetailsURL/{requestId}:
    get:
      operationId: getSameOrSimilarDetailsUrl
      tags:
      - Same or Similar
      summary: SoS Details URL
      description: "Environment | \nURL | \n\nTest | \n/API/GetSameAndSimilarDetailsURL/{id} | \n\nProduction\
        \ | \n/API/GetSameAndSimilarDetailsURL/{id} | \n\nThis GET method will return details URL with\
        \ Same and Simialr Request ID as a parameter.\n\nGetSameAndSimilarDetailsURL Request\n\nKey |\
        \ \nValue | \n\nURL | \n/API/GetSameAndSimilarDetailsURL/{id} | \n\nMethod | \nGET | \n\nHeaders\
        \ | \nDescription | \n\nAuthorization | \nAuthorization token from above preceded by the String\
        \ \"Bearer\" | \n\nClient-API-Id* | \nYour pVerify client-api-id | \n\nContent-Type | \napplication/json\
        \ | \n\n*Note: The Client-API-Id header is required. Header keys are case sensitive.\n\nGetSameAndSimilarDetailsURL\
        \ Resposne\n\nKey | \nValue | \n\nisDetailsURLGenerated | \nTrue or false | \n\nurl | \nstring\
        \ URL | \n\nerrorMessage | \nMessage when isDetailsURLGenerated is false | \n\nJSON Response\n\
        \n{\n\n\"isDetailsURLGenerated\": true,\n\n\"url\": \"https://premium.pverify.com/Details\",\n\
        \n\"errorMessage\": null\n\n}"
      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: []
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.