# Verifiable API Documentation # Introduction This document contains the official documentation for the latest version of the Verifiable API. Our solution has been built API-first. That means we first design our API's and build our own user interfaces on top of these API's afterwards. This results in a reusable API that can be used by 3rd parties to offer the exact same functionality as we can provide ourselves. Both the product and API are still subject to significant and potentially breaking changes, so please refer back to this documentation frequently. Any breaking change will be communicated ahead of time to our partners integrating with our API's. # Getting Started This is a RESTful API that can be accessed using convential HTTP methods. It doesn't matter what programming language you use, there is already tooling available that can jumpstart you to access our API's. This documentation is based on OpenAPI 3.0 specifications and as such it is possible to dynamically generate a client in a language of your choice by simply loading our [specification document](https://api.discovery.verifiable.com/.well-known/openapi/vCurrent.json) in a tool such as [Swagger Codegen](https://swagger.io/tools/swagger-codegen/). It is not necessary to generate such a client and it is also possible to simply use any HTTP client to access our API. You can refer to the reference below to find the correct HTTP method, endpoint and model to use. ### Environments When developing an integration with our API we typicially request you to use our `staging` environment for development and only start using `production` when your integration is stable and tested thoroughly. Please contact [Verifiable support](https://verifiable.com/contact) to be granted access to our environments. **Staging Base URL** ``` https://api.discovery-staging.verifiable.com/ ``` **Production Base URL** ``` https://api.discovery.verifiable.com/ ``` ## Authentication Most endpoints require authentication to be used. You can authenticate to the API by passing an access token in the `Authentication` header using the `Bearer` scheme. An access token can be requested by authenticating against one of the [Authentication endpoints](#tag/Authentication). ### Example using password authentication endpoint **Request:** ```http POST /auth/token/password HTTP/1.1 Content-Type: application/json Host: https:// { "email": "john.doe@mail.com", "password": "secret" } ``` **Response:** ```http HTTP/1.1 200 OK Date: Fri, 25 Sep 2020 12:59:56 GMT Content-Type: application/json; charset=utf-8 { "tokenId": "2e5db76c-4c48-4cce-b11f-23a57ac5824c", "token": "MtetyFcIW...xgXXX-Z4yy" } ``` ### Example using access token **Request** ```http GET /log/events HTTP/1.1 Authorization: Bearer Host: https:// ``` An access token is bound to a single user in an organization. The access token should remain secret and be treated as if it were a password. We recommend you to create access tokens with a short time to live and frequently rotate them. Note that time to live requested might be lowered to a shorter duration based on your organization settings. These can be configured to enforce a suitable maximum time to live for your use-cases that facilitate users and service integrations. ## Create a new provider A provider must be created and associated with license numbers, NPI numbers or other identifiers that can be used to perform lookups to fetch associated data for this provider. ### Example creating a new provider To create a new provider that can be used for license lookups: **Request:** ```http POST /providers HTTP/1.1 Content-Type: application/json Authorization: Bearer Host: https:// { "firstName": "John", "lastName": "Doe" } ``` **Response:** ```http HTTP/1.1 201 Created Date: Fri, 25 Sep 2020 15:25:12 GMT Content-Type: application/json; charset=utf-8 Location: https:///providers/9706f2ea-9c1d-49f3-9a57-871159878c9c { "firstName": "John", "lastName": "Doe", "id": "9706f2ea-9c1d-49f3-9a57-871159878c9c", "licenses": [] } ``` **Note:** The `id` in the response is the `Provider id`. It can be used as a `Path Parameter` to attach licenses to this provider, using [Attach License](#operation/AttachLicense) API. You will need to pass in a `licenseTypeId`, which can be obtained from the [List Simplified License Types](#operation/ListSimplifiedLicenseTypes) API. For more details on providers see [Provider endpoints](#tag/Providers) ## Get license types The list of license types which are supported for license verification. ### Example get license types Returns a list of all license types that are currently supported and used for license verifications. **Request** ```http GET /licensetypes HTTP/1.1 Authorization: Bearer Host: https:// ``` **Response:** ```http HTTP/1.1 200 OK Date: Fri, 25 Sep 2020 15:32:47 GMT Content-Type: application/json; charset=utf-8 { "nextOffset": "100", "nextCursor": "100", "pageSize": 100, "items": [ { "id": "0059f76a-280a-377a-73e2-ddfe86f4113c", "name": "Medical Physician & Surgeon", "source": { "id": "72dcec62-a0d3-4af8-955d-07ecac8f1e4d", "name": "Missouri Division of ProfessionalRegistration", "state": "MO", "availability": "Available", "isDegraded": false, "url": "https://pr.mo.gov/licensee-search.asp" } }, ], "sortedBy": "Id", "sortDirection": "Asc" } ``` **Note:** `id` in response refers to `licenseTypeId`. It will be unique for each license type. Please see [List Simplified License Types](#operation/ListSimplifiedLicenseTypes) for more details. ## Attach a license to a provider To perform a license verification you must attach a license to a provider. The first time you do this will automatically trigger a license verification on that provider. Once attached you can re-verify the same license without reattaching it. A provider can have more than one license attached. ### Example attach license to a provider **Request:** ```http POST /providers/{providerId}/licenses HTTP/1.1 Content-Type: application/json Authorization: Bearer Host: https:// { "licenseNumber": "123456", "licenseTypeId": "0059f76a-280a-377a-73e2-ddfe86f4113c" } ``` **Response:** ```http HTTP/1.1 201 Created Date: Fri, 25 Sep 2020 15:35:00 GMT Content-Type: application/json; charset=utf-8 Location: https:///providers/9706f2ea-9c1d-49f3-9a57-871159878c9c?licenseId=bfb028f0-52ca-47f4-8181-6b4c8262d29c { "providerId": "9706f2ea-9c1d-49f3-9a57-871159878c9c", "licenseNumber": "123456", "licenseType": { "id": "0059f76a-280a-377a-73e2-ddfe86f4113c", "name": "Registered Nurse - RN", "source": { "id": "679b4f9a-cc3c-49e8-b560-0d0a9af47fd3”, "name": "Missouri Division of ProfessionalRegistration", "state": "MO", "availability": "Available", "url": "https://pr.mo.gov/licensee-search.asp" } } "jobStatus": "Pending", "id": "b45cbeb0-873e-495b-8182-1b9a8b6d379d" } ``` **Note:** Register a Webhook to get notified on HTTP endpoint, this prevents the need to poll the API for completion checks. For more details on Webhooks please see [Webhooks endpoint](#tag/Webhooks) and for details on attaching a license see [Attach License endpoint](#operation/AttachLicense). ## Fetch created provider Returns the data for a specific provider. ### Example to fetch created provider **Request** ```http GET /providers/{providerId} HTTP/1.1 Authorization: Bearer Host: https:// ``` **Response:** ```http HTTP/1.1 200 OK Date: Fri, 25 Sep 2020 15:36:30 GMT Content-Type: application/json; charset=utf-8 { "firstName": "John", "lastName": "Doe", "id": "9706f2ea-9c1d-49f3-9a57-871159878c9c", "npis": [], "licenses": [ { "providerId": "9706f2ea-9c1d-49f3-9a57-871159878c9c", "licenseNumber": "123456", "licenseType": { "id": "0059f76a-280a-377a-73e2-ddfe86f4113c", "name": "Registered Nurse - RN", "source": { "id": "679b4f9a-cc3c-49e8-b560-0d0a9af47fd3”, "name": "Missouri Division of ProfessionalRegistration", "state": "MO", "availability": "Available", "url": "https://pr.mo.gov/licensee-search.asp" } } "jobStatus": "Idle", "currentVerificationStatus": "NeedsReview", "id": "b45cbeb0-873e-495b-8182-1b9a8b6d379d" } ] } ``` **Note:** Response contains attached licenses, NPI details for the given provider. To get details of these individual items (a particular License or an NPI), use unique identifiers in each of these categories. For more details check [Get specific license endpoint](#operation/GetLicense) or [Get specific NPI record](#operation/GetNPIRecord). Further details on providers are at [Providers endpoint](#tag/Providers). # Common Concepts ## Pagination, filtering and sorting Some endpoints can return a large list of data. To allow you to efficiently iterate through this data these endpoints offer pagination, sorting and filtering. The concept will be similar for each endpoint that supports it: * Pagination, filtering and sorting parameters are provided through the query string. * Pagination, filtering and sorting is only supported for endpoints that return lists of data. * Filters is only supported for certain endpoints. You can refer to the documentation of the endpoint to find out if filtering is supported. * The `sortedBy` and `sortDirection` parameters can be used to specify the sorting method. * The `count` parameter can be used to specify the page size. Please note that the maximum and default page size can differ per endpoint. * (Deprecated) The `offset` parameter influences the start of the page. For the first page you can always omit this parameter. For any subsequent page you can supply the value from the `nextOffset` parameter as returned by the server. * The `cursor` parameter influences the start of the page. For the first page you can always omit this parameter. For any subsequent page you can supply the value from the `nextCursor` or `previousCursor` parameter as returned by the server. Example on how to make a paginated request: ```http GET /log/events?sortDirection=Asc&sortedBy=Timestamp&count=10 HTTP/1.1 Authorization: Bearer Host: https:// ``` In addition to returning a list of `items`, a paginated response will also return `nextCursor` and/or `previousCursor`. The value of this property can be used to fetch the next or previous page by passing it in the `cursor` parameter. ## Error handling All responses that do not indicate a success status code will return an error using the error model as specified by [RFC 7807](https://tools.ietf.org/html/rfc7807). The amount of details exposed by the error model varies and depends on the nature of the error. We attempt to include as much information as is necessary to be able to self-diagnose the problem that led to the error. Should this information not be enough, then we also supply a `correlationId` in the response. We kindly request you to make note of this value when contacting Verifiable support as this will help us to quickly locate more information on this error. Example error result on a malformed request: ```json { "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400, "correlationId": "5e94110e-45a8-404c-831d-77eaeaa73ad6", "errors": { "$.firstName": [ "The JSON value could not be converted to System.String. Path: $.firstName | LineNumber: 1 | BytePositionInLine: 18." ] } } ``` ## Nullable properties If an input parameter is required it is marked as such. If an input parameter is not marked as required and you do not wish or need to use it, you should omit the parameter completely in the request. For response parameters you should always code defensively and assume that a parameter might be missing from the response. This could happen in case the parameter is not applicable (yet) or simply because the data is missing. By coding defensively and assuming that a parameter might be missing you also future proof your solution for potential future (otherwise) breaking changes. ## Flexible data model In some cases we collect data from external sources that are hard to fit in a single predefined schema. For these cases we have come up with a flexible data model that allows us to store structured data in 3 different ways: - Form - Table - Section ### Table Data that can be represented in a table structure. The keys of every element/object in the data array is expected to be the same. ```json { "type": "Table", "data": [ { "Status Code": "CB", "Effective Date": "06/10/2016", "Description": "CANCELLED BY BOARD" }, { "Status Code": "NA", "Effective Date": "06/10/2016", "Description": "NOT ACTIVE" } ] } ``` ### Section Sections are used to represent multiple different data representations. For example, additional properties can have three sections with section one being a Form, while the other two could be a table. Also note there could be sections with and without heading. #### With section heading ```json { "type": "Section", "data": { "Discipline": { "type": "Form", "data": { "Discipline/Final Orders state": "ILLINOIS", "Date action was taken": "02/03/2020", "Against privilege to practice (PTP)": "N/A" } }, "NPDB code": { "type": "Form", "data": { "NPDB code": "39 - LICENSE REVOCATION, SUSPENSION OR OTHER DISCIPLINARY ACTION TAKEN BY A FEDERAL, STATE OR LOCAL LICENSING AUTHORITY" } }, "Actions": { "type": "Form", "data": { "Initial action date": "02/03/2020", "Effective date(s)": "02/03/2020 - INDEFINITE/UNSPECIFIED", "Is license automatically reinstated after the effective date(s)": "NOT SUPPLIED", "NPDB code": "1148 - DENIAL OF LICENSE RENEWAL" } } } } ``` #### Without section heading ```json { "type": "Section", "data": [ { "type": "Form", "data": { "Discipline/Final Orders state": "ILLINOIS", "Date action was taken": "02/03/2020", "Against privilege to practice (PTP)": "N/A" } }, { "type": "Form", "data": { "NPDB code": "39 - LICENSE REVOCATION, SUSPENSION OR OTHER DISCIPLINARY ACTION TAKEN BY A FEDERAL, STATE OR LOCAL LICENSING AUTHORITY" } }, { "type": "Form", "data": { "Initial action date": "02/03/2020", "Effective date(s)": "02/03/2020 - INDEFINITE/UNSPECIFIED", "Is license automatically reinstated after the effective date(s)": "NOT SUPPLIED", "NPDB code": "1148 - DENIAL OF LICENSE RENEWAL" } } ] } ``` ### Form A form is essentially a simple key/value collection, but it can also have nested flexible data. #### Simple form ```json { "type": "Form", "data": { "Date of Birth": "1958", "Registration Date": "06/13/2016", "Disciplinary Status": "CANCELLED BY BOARD" } } ``` #### Nested form ```json { "type": "Form", "data": { "Date of Birth": "1958", "Registration Date": "06/13/2016", "Disciplinary Status": "CANCELLED BY BOARD", "Status Change": { "type": "Table", "data": [ { "Status Code": "CB", "Effective Date": "06/10/2016", "Description": "CANCELLED BY BOARD" }, { "Status Code": "NA", "Effective Date": "06/10/2016", "Description": "NOT ACTIVE" } ] } } } ``` ## API Rate Limiting ### Overview To ensure the stability and performance of the Verifiable Platform API for all users, we enforce rate limits on API requests. These limits help maintain fair access and high availability across all clients. ### Rate Limits API requests are rate limited to **10,000 requests per 5 minutes.** If a client exceeds this limit, the API will return an HTTP **429 Too Many Requests** response. Verifiable may adjust rate limits in the future based on factors such as endpoint-specific traffic patterns or system load. Changes may include increasing or decreasing limits or introducing secondary rate limits for specific use cases. Any changes will be reflected in this documentation. Example response: ```http HTTP/1.1 429 Too Many Requests { "title": "You have exceeded the allowed rate limit of 10,000 per 5 mins. Try again later.", "status": 429 } ``` Version: 26.2.0.4306 ## Servers Production ``` https://api.discovery.verifiable.com ``` Staging ``` https://api.discovery-staging.verifiable.com ``` ## Download OpenAPI description [Verifiable API Documentation](https://test-docs.discovery-staging.verifiable.com/_bundle/references/development/@deprecated/api.yaml) ## Authentication These endpoint allow you to create and manage access tokens to be used in API calls. Unlike most other endpoints, when creating an access token, these do not require an access token to be used. Instead you authenticate via another secure mechanism and in exchange you retrieve an access token. ### Password Authentication - [POST /auth/token/password](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/passwordauth.md): Endpoint for authentication using an email and password for a user already registered at Verifiable. In return you will receive an access token that can be used in the following API calls. Note: The account may require a password change for successful authentication. If password change is required and newPassword is not set the server returns 409 Conflict. If newPassword is set but the current password is not correct the server returns 403 Forbidden. Note: If newPassword is set it must be different than the current password. If the password is the same the server returns 400 Bad Request. Note: When newPassword is set and the request returns 200 Ok, all the active access tokens will be invalidated. ### Resets a password - [POST /auth/password/reset](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/passwordreset.md): Endpoint for changing a password using a token. ### Requests a password reset - [POST /auth/password/requestreset](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/requestpasswordreset.md): Endpoint for requesting a password reset. If the e-mail sent in the body of this request has an account associated with it, a message with a link for changing the password will be sent to it. ### Google Authentication - [POST /auth/token/google](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/googleauth.md): It is possible to use Google Sign-In for authentication with the Verifiable API. In order to do so we follow the Google Sign-In for server-side apps flow. In order to use this flow you must use the client ID from Verifiable when signing in to Google and send the authorization code as payload to this endpoint. In return you will receive an access token that can be used in the following API calls. The email address of the user must already be registered at Verifiable. ### List active access tokens - [GET /auth/token](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/listactiveaccesstokens.md): Returns all access tokens for the current user that are neither expired, nor invalidated. ### Invalidate an access token - [POST /auth/token/{tokenId}/invalidate](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/invalidateaccesstoken.md): Invalidates an access token so that it can no longer be used. ### Invalidate multiple access tokens - [POST /auth/token/invalidate](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/invalidateaccesstokens.md): Invalidates multiple access tokens that belongs to the user making the request so they can no longer be used. ### OAuth Authentication - [POST /auth/oauth/token](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/authentication/oauthtoken.md): It is possible to use the OAuth Client Credentials flow to authenticate with the Verifiable API. In order to use this flow, you must use the client ID and a client secret from Verifiable. You must send the client credentials along with the grant type client_credentials in a URL-encoded format. ## Definitions Definitions for static data ### List countries - [GET /countries](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/definitions/listcountries.md): Returns the list of supported countries ## Providers Endpoints related to managing and listing providers. A provider must be created and associated with license numbers, NPI numbers or other identifiers that can be used to perform lookups to fetch associated data for this provider. The data registered on the provider will be matched against the data returned by these lookups and used to detect inconsistencies or problems in the data or licenses. ### Create a new provider - [POST /providers](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/createprovider.md): Creates a new provider that can be used to store information about this provider. Once a provider is created you can attach records, notes, documents and create other associations with this provider such as adding them to a Group or Payer. ### List providers - [GET /providers](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/listproviders.md): Returns a page of providers. ### Get an existing provider - [GET /providers/{providerId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/getprovider.md): Returns the data for a specific provider. ### Patch an existing provider - [PATCH /providers/{providerId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/patchprovider.md): Allows you to change a provider's name or other data properties. ### Delete an existing provider - [DELETE /providers/{providerId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/deleteprovider.md): This will delete the provider and all associated data such as attached licenses, NPI records, DEA registration etc. ### Get provider aggregations - [GET /providers/aggregations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/getprovideraggregations.md): Returns aggregated counts for providers with different statuses. ### List provider types - [GET /providertypes](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/listprovidertypes.md): Returns a list of all provider types that are currently supported. ### Generate report for an existing provider - [POST /providers/{providerId}/report](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/reportprovider.md): Generates report for the specified provider. ### List providers due for recredentialing - [GET /providers/recredentialing/due](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/listprovidersdueforrecredentialing.md): Returns a page of providers due for recredentialing. ### Get provider sanctions and exclusions monitoring categories aggregations - [GET /providers/monitoring/sanctions-and-exclusions/aggregations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/getprovidermonitoringsanctionsandexclusionssummaryaggregations.md): Returns aggregated counts for providers monitoring categories for sanctions and exclusions. ### List provider monitoring summary for sanctions and exclusions - [GET /providers/monitoring/sanctions-and-exclusions](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/listprovidermonitoringsanctionsandexclusionssummary.md): Returns a page of provider monitoring summaries for sanctions and exclusions. ### Initiate an NPDB enrollment transfer for a provider - [POST /providers/{providerId}/npdb/transfer-enrollment](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providers/transfernpdbenrollment.md): Initiates the transfer of an existing an NPDB enrollment to the specified provider. Once a transfer has been initiated, review the dataset scan results to monitor the transfer operation. ## ProvidersInfo Endpoints related to managing and listing providers' info. Education, insurance, training and CAQH login info can be added to providers. Education, liability insurance, and training can have multiple entries. They can be created via POST, modified by PATCH, and removed by DELETE methods. CAQH login info is a single entry per provider and can be created or replaced by PUT, removed by DELETE and modified by PATCH method. ### Get info for the existing provider - [GET /providers/{providerId}/info](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getproviderinfo.md): Returns the info for a specific provider. ### Create or replace caqh login info for the existing provider - [PUT /providers/{providerId}/info/caqh](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/putprovidercaqhinfo.md): Creates or replaces the CAQH login info for a specific provider. ### Change an existing provider's CAQH login info - [PATCH /providers/{providerId}/info/caqh](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchprovidercaqhinfo.md): Change an existing CAQH login info associated with the specified provider. ### Delete existing CAQH login info for the existing provider - [DELETE /providers/{providerId}/info/caqh](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovidercaqhinfo.md): Deletes an existing CAQH login info associated with the specified provider. ### Get CAQH login info for a provider - [GET /providers/{providerId}/info/caqh](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovidercaqhinfo.md): Returns the CAQH login info associated with the specified provider. ### Change an existing provider's alias - [PUT /providers/{providerId}/info/aliases/{aliasId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/putprovideraliasinfo.md): Change an existing alias associated with the specified provider. ### Get alias for the existing provider - [GET /providers/{providerId}/info/aliases/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovideraliasinfo.md): Returns the alias for a specific provider. ### Delete existing alias for the existing provider - [DELETE /providers/{providerId}/info/aliases/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovideraliasinfo.md): Deletes an existing alias associated with the specified provider. ### Create board certification info for the existing provider - [POST /providers/{providerId}/info/boardCertifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createboardcertificationinfo.md): Add a board certification info for the specified provider. ### List board certifications - [GET /providers/{providerId}/info/boardCertifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listboardcertificationsinfo.md): Returns all board certifications associated with the specified provider. ### Get board certification for the existing provider - [GET /providers/{providerId}/info/boardCertifications/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getboardcertificationinfo.md): Returns the board certification for a specific provider. ### Change an existing provider's board certification info - [PATCH /providers/{providerId}/info/boardCertifications/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchboardcertificationinfo.md): Change an existing board certification info associated with the specified provider. ### Delete existing board certification info for the existing provider - [DELETE /providers/{providerId}/info/boardCertifications/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteboardcertificationinfo.md): Deletes an existing board certification info associated with the specified provider. ### Create certificate info for the existing provider - [POST /providers/{providerId}/info/certificates](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createcertificateinfo.md): Add a certificate info for the specified provider. ### List certificates - [GET /providers/{providerId}/info/certificates](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listcertificateinfos.md): Returns all certificates associated with the specified provider. ### Get certificate for the existing provider - [GET /providers/{providerId}/info/certificates/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getcertificateinfo.md): Returns the certificate for a specific provider. ### Change an existing provider's certificate info - [PATCH /providers/{providerId}/info/certificates/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchcertificateinfo.md): Change an existing certificate info associated with the specified provider. ### Delete existing certificate info for the existing provider - [DELETE /providers/{providerId}/info/certificates/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deletecertificateinfo.md): Deletes an existing certificate info associated with the specified provider. ### Create liability insurance info for the existing provider - [POST /providers/{providerId}/info/liabilityInsurances](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createproviderliabilityinsurance.md): Creates the liability insurance info for a specific provider. ### List liability insurances - [GET /providers/{providerId}/info/liabilityInsurances](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listproviderliabilityinsuranceinfos.md): Returns all liability insurances associated with the specified provider. ### Get liability insurance for the existing provider - [GET /providers/{providerId}/info/liabilityInsurances/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getproviderliabilityinsuranceinfo.md): Returns the liability insurance for a specific provider. ### Change an existing provider's liability insurance - [PATCH /providers/{providerId}/info/liabilityInsurances/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchproviderliabilityinsuranceinfo.md): Change an existing liability insurance associated with the specified provider. ### Delete existing liability insurance info for the existing provider - [DELETE /providers/{providerId}/info/liabilityInsurances/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteproviderliabilityinsuranceinfo.md): Deletes an existing insurance info associated with the specified provider. ### Create education info for the existing provider - [POST /providers/{providerId}/info/educations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createprovidereducationinfo.md): Creates the education info for a specific provider. ### List educations - [GET /providers/{providerId}/info/educations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listprovidereducationinfos.md): Returns all educations associated with the specified provider. ### Get education for the existing provider - [GET /providers/{providerId}/info/educations/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovidereducationinfo.md): Returns the education for a specific provider. ### Change an existing provider's education info - [PATCH /providers/{providerId}/info/educations/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchprovidereducationinfo.md): Change an existing education info associated with the specified provider. ### Delete existing education info for the existing provider - [DELETE /providers/{providerId}/info/educations/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovidereducationinfo.md): Deletes an existing education info associated with the specified provider. ### Create training info for the existing provider - [POST /providers/{providerId}/info/trainings](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createprovidertraininginfo.md): Creates the training info for a specific provider. ### List trainings - [GET /providers/{providerId}/info/trainings](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listprovidertraininginfos.md): Returns all trainings associated with the specified provider. ### Get training for the existing provider - [GET /providers/{providerId}/info/trainings/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovidertraininginfo.md): Returns the training for a specific provider. ### Change an existing provider's training info - [PATCH /providers/{providerId}/info/trainings/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchprovidertraininginfo.md): Change an existing training info associated with the specified provider. ### Delete existing training info for the existing provider - [DELETE /providers/{providerId}/info/trainings/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovidertraininginfo.md): Deletes an existing training info associated with the specified provider. ### Create work history info for the existing provider - [POST /providers/{providerId}/info/workHistory](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createproviderworkhistoryinfo.md): Creates the work history info for a specific provider. ### List work history entries - [GET /providers/{providerId}/info/workHistory](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listproviderworkhistoryinfos.md): Returns all work history entries associated with the specified provider. ### Get work history for the existing provider - [GET /providers/{providerId}/info/workHistory/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getproviderworkhistoryinfo.md): Returns the work history for a specific provider. ### Change an existing provider's work history info - [PATCH /providers/{providerId}/info/workHistory/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchproviderworkhistoryinfo.md): Change an existing work history info associated with the specified provider. ### Delete existing work history info for the existing provider - [DELETE /providers/{providerId}/info/workHistory/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteproviderworkhistoryinfo.md): Deletes an existing work history info associated with the specified provider. ### Create DEA registration info for the existing provider - [POST /providers/{providerId}/info/dea](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createdearegistrationinfo.md): Add a DEA registration info for the specified provider. ### List DEA registrations - [GET /providers/{providerId}/info/dea](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listdearegistrationinfos.md): Returns all DEA registrations associated with the specified provider. ### Create address for an existing provider - [POST /providers/{providerId}/info/addresses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createprovideraddressinfo.md): Add an address for the specified provider. ### List addresses - [GET /providers/{providerId}/info/addresses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listprovideraddressinfos.md): Returns all addresses associated with the specified provider. ### List aliases - [GET /providers/{providerId}/info/aliases](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listprovideraliasinfos.md): Returns all aliases associated with the specified provider. ### Create alias for an existing provider - [POST /providers/{providerId}/info/aliases](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createprovideraliasinfo.md): Add an alias for the specified provider. ### Create email for an existing provider - [POST /providers/{providerId}/info/emails](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createprovideremailinfo.md): Add an email for the specified provider. ### List emails - [GET /providers/{providerId}/info/emails](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listprovideremailinfos.md): Returns all emails associated with the specified provider. ### Create medicaid enrollment info for the existing provider - [POST /providers/{providerId}/info/medicaidEnrollments](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/createprovidermedicaidenrollmentinfo.md): Creates the medicaid enrollment info for a specific provider. ### List Medicaid enrollments - [GET /providers/{providerId}/info/medicaidEnrollments](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/listprovidermedicaidenrollmentinfos.md): Returns all medicaid enrollments associated with the specified provider. ### Delete existing DEA registration info for the existing provider - [DELETE /providers/{providerId}/info/dea/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deletedearegistrationinfo.md): Deletes an existing DEA registration info associated with the specified provider. ### Get DEA registration for the existing provider - [GET /providers/{providerId}/info/dea/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getdearegistrationinfo.md): Returns the DEA registration for a specific provider. ### Change an existing provider's DEA registration info - [PATCH /providers/{providerId}/info/dea/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchdearegistrationinfo.md): Change an existing DEA registration info associated with the specified provider. ### Delete existing address for a provider - [DELETE /providers/{providerId}/info/addresses/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovideraddressinfo.md): Deletes an existing address associated with the specified provider. ### Get address for an existing provider - [GET /providers/{providerId}/info/addresses/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovideraddressinfo.md): Returns the address for a specific provider. ### Change an existing provider's address - [PUT /providers/{providerId}/info/addresses/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/putprovideraddressinfo.md): Change an existing address associated with the specified provider. ### Delete existing email for a provider - [DELETE /providers/{providerId}/info/emails/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovideremailinfo.md): Deletes an existing email associated with the specified provider. ### Get email for the existing provider - [GET /providers/{providerId}/info/emails/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovideremailinfo.md): Returns the email for a specific provider. ### Change an existing provider's email - [PUT /providers/{providerId}/info/emails/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/putprovideremailinfo.md): Change an existing email associated with the specified provider. ### Delete existing Medicaid enrollment info for the existing provider - [DELETE /providers/{providerId}/info/medicaidEnrollments/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/deleteprovidermedicaidenrollmentinfo.md): Deletes an existing Medicaid enrollment info associated with the specified provider. ### Get medicaid enrollment info for the existing provider - [GET /providers/{providerId}/info/medicaidEnrollments/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/getprovidermedicaidenrollmentinfo.md): Returns the medicaid enrollment for a specific provider ### Change an existing provider's Medicaid enrollment info - [PATCH /providers/{providerId}/info/medicaidEnrollments/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providersinfo/patchprovidermedicaidenrollmentinfo.md): Change an existing Medicaid enrollment info associated with the specified provider. ## ProviderProfiles These endpoints let you import a provider’s profile data from different sources (such as a provider’s National Provider Identifier (NPI) record). This allows you to build a more complete picture of a provider within Verifiable and gives you easy access to the latest provider profile data across multiple sources. In order to import an external profile, each source has its own list of required parameters. A provider must first have the required data in their Verifiable profile before you can run an import. Once a request is created, fetching a profile is fast and typically takes seconds to return. You can check the status of an import request using the "Get an existing provider profile import" endpoint. ### List provider profile import sources - [GET /providers/profiles/import/sources](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providerprofiles/listproviderprofileimportsources.md): Returns a list of sources where you can import provider profile data from. You can choose a source to import from and select the parameters required for a successful request. ### Create a new provider profile import - [POST /providers/profiles/import](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providerprofiles/createproviderprofileimport.md): To import a profile from an external source, you must first create an import request. When the request is initiated, the provider profile record will be created with a “Pending” status. When complete, the status will change to “Completed”. If the request is successful, the provider profile will have a “Profile" value. If an error occurs, the profile will have a "FailureCode" and "FailureDescription" value. ### List provider profile imports - [GET /providers/profiles/import](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providerprofiles/listproviderprofileimports.md): Returns a list of all the provider profiles that have been imported so far. You can filter the selection by source, status, providerId, get only latest record for each provider, and change the sorting and pages. ### Get an existing provider profile import - [GET /providers/profiles/import/{importId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providerprofiles/getproviderprofileimport.md): Returns a specific provider profile import model, allowing you to check the model status and get the profile value. ### Get profile import parameters for a provider - [GET /providers/profiles/imports/{source}/parameters/{providerId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/providerprofiles/getproviderimportparameters.md): Returns the list of provider profile import parameters that will be used during a profile import. ## Notes These endpoints allow you to create and manage provider notes. ### Create a new provider note - [POST /providers/{providerId}/notes](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/notes/createnote.md): Creates a note associated with the specified provider. ### List provider notes - [GET /providers/{providerId}/notes](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/notes/listnotes.md): Returns all notes associated with the specified provider. This also returns any dismissal related to alerts on this provider. ### Get an existing provider note - [GET /providers/{providerId}/notes/{noteId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/notes/getnote.md): Gets an existing note associated with the specified provider. ### Change an existing provider note - [PUT /providers/{providerId}/notes/{noteId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/notes/editnote.md): Change an existing note associated with the specified provider. ### Delete an existing provider note - [DELETE /providers/{providerId}/notes/{noteId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/notes/deletenote.md): Deletes an existing note associated with the specified provider. ## Files Endpoints for binary file access. When any of the other APIs return file paths, these file paths are referring to the `path` parameter in the following API's. File paths are unique per organization, but the same path can exist in multiple organizations. ### Upload a file - [POST /files/uploads/{path}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/uploadfile.md): Uploads, copies or moves a file. If the file already exists the server returns 409 Conflict. If x-source-path is set then the file is copied from an existing file and stored at path. If x-source-delete is set to 1, true or yes then the file is moved instead of copied. If x-source-path is not set then the content of the file must be uploaded by using form data (Content-Type = multipart/form-data). The new file is stored at path. Note that there is special handling for files uploaded to uploads/providers/{providerId}/>.>. If this path is used, then the file will be associated with the provider with that identifier and also deleted when this provider gets deleted. Files must include a > and > to be associated with a provider. ### Upload and overwrite a file - [PUT /files/uploads/{path}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/uploadandoverwritefile.md): Uploads, copies or moves a file. If the file already exists then it is overwritten. If x-source-path is set then the file is copied from an existing file and stored at path. If x-source-delete is set to 1, true or yes then the file is moved instead of copied. If x-source-path is not set then the content of the file must be uploaded by using form data (Content-Type = multipart/form-data). The new file is stored at path. Note that there is special handling for files uploaded to uploads/providers/{providerId}/>.>. If this path is used, then the file will be associated with the provider with that identifier and also deleted when this provider gets deleted. Files must include a > and > to be associated with a provider. ### Delete a file - [DELETE /files/uploads/{pathOrId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/deletefile.md): Deletes a previously uploaded file. ### Download a file - [GET /files/{pathOrId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/downloadfile.md): Download the file contents for the file at the specified location. ### Get file metadata - [HEAD /files/{pathOrId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/getfilemetadata.md): Returns the metadata of a file at the specified location. ### List uploaded files - [GET /files/uploads](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/listuploadedfilesmetadata.md): Returns metadata for previously uploaded files. ### List event log exports - [GET /files/exports](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/files/listexportfilesmetadata.md): Returns metadata for exported event logs. ## Facilities Endpoints related to managing and retrieving Facility data. These APIs allow you to create, update, and retrieve facilities and their associated metadata. Each facility record includes key identifiers such as address, group tax ID, contact information, Medicaid number, and Medicare number. This data can be used for lookups, verification, and detecting inconsistencies in facility records or affiliations. In addition to core facility management, these endpoints support retrieving reference data related to facilities, such as license types, accreditations, Medicare enrollment types, and taxonomies. ### Create a new facility - [POST /facilities](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/createfacility.md): Creates a new facility that can be used to store information about the facility. ### List facilities - [GET /facilities](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/listfacilities.md): Returns a page of facilities. ### Get an existing facility - [GET /facilities/{facilityId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/getfacility.md): Returns the data for a specific facility. ### Patch an existing facility - [PATCH /facilities/{facilityId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/patchfacility.md): Allows you to change a facility's name or other data properties. ### List facility license types - [GET /facilities/license-types](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/listfacilitylicensetypes.md): Returns a page of facility license types. ### List facility accreditations - [GET /facilities/accreditations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/listfacilityaccreditations.md): Returns a page of facility accreditations. ### List facility medicare enrollment types - [GET /facilities/medicare-enrollment-types](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/listfacilitymedicareenrollmenttypes.md): Returns a page of facility medicare enrollment types. ### List facility taxonomies - [GET /facilities/taxonomies](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilities/listfacilitytaxonomies.md): Returns a page of facility taxonomies. ## FacilitiesInfo Endpoints related to managing and retrieving detailed Facility Info. These APIs allow you to manage key information associated with a facility, including NPI numbers, DEA registrations, liability insurance policies, licenses, accreditations, CMS certifications, and Medicare enrollments. Most Facility Info types can have multiple entries per facility and support full CRUD operations via standard HTTP methods (POST, PATCH, DELETE, and GET). ### Get info for the existing facility - [GET /facilities/{facilityId}/info](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilityinfo.md): Returns the info for a specific facility. ### Create a NPI for an existing facility - [POST /facilities/{facilityId}/info/npis](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilitynpiinfo.md): Add a NPI for the specified facility. ### List facility's NPIs - [GET /facilities/{facilityId}/info/npis](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilitynpiinfo.md): Returns all NPIs associated with the specified facility. ### Get NPI for an existing facility - [GET /facilities/{facilityId}/info/npis/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilitynpiinfo.md): Returns the NPI for a specific facility. ### Change an existing facility's NPI - [PATCH /facilities/{facilityId}/info/npis/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilitynpiinfo.md): Change an existing NPI associated with the specified facility. ### Delete existing NPI for a facility - [DELETE /facilities/{facilityId}/info/npis/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilitynpiinfo.md): Deletes an existing NPI associated with the specified facility. ### Create a DEA for an existing facility - [POST /facilities/{facilityId}/info/deas](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilitydeainfo.md): Add a DEA for the specified facility. ### List facility's DEAs - [GET /facilities/{facilityId}/info/deas](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilitydeainfo.md): Returns all DEAs associated with the specified facility. ### Get DEA for an existing facility - [GET /facilities/{facilityId}/info/deas/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilitydeainfo.md): Returns the DEA for a specific facility. ### Change an existing facility's DEA - [PATCH /facilities/{facilityId}/info/deas/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilitydeainfo.md): Change an existing DEA associated with the specified facility. ### Delete existing DEA for a facility - [DELETE /facilities/{facilityId}/info/deas/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilitydeainfo.md): Deletes an existing DEA associated with the specified facility. ### Create a Liability Insurance for an existing facility - [POST /facilities/{facilityId}/info/liabilityInsurances](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilityliabilityinsuranceinfo.md): Add a Liability Insurance for the specified facility. ### List facility's Liability Insurances - [GET /facilities/{facilityId}/info/liabilityInsurances](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilityliabilityinsuranceinfo.md): Returns all Liability Insurances associated with the specified facility. ### Get Liability Insurance for an existing facility - [GET /facilities/{facilityId}/info/liabilityInsurances/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilityliabilityinsuranceinfo.md): Returns the Liability Insurance for a specific facility. ### Change an existing facility's Liability Insurance - [PATCH /facilities/{facilityId}/info/liabilityInsurances/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilityliabilityinsuranceinfo.md): Change an existing Liability Insurance associated with the specified facility. ### Delete existing Liability Insurance for a facility - [DELETE /facilities/{facilityId}/info/liabilityInsurances/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilityliabilityinsuranceinfo.md): Deletes an existing Liability Insurance associated with the specified facility. ### Create a License for an existing facility - [POST /facilities/{facilityId}/info/licenses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilitylicenseinfo.md): Add a License for the specified facility. ### List facility's Licenses - [GET /facilities/{facilityId}/info/licenses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilitylicenseinfo.md): Returns all Licenses associated with the specified facility. ### Get License for an existing facility - [GET /facilities/{facilityId}/info/licenses/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilitylicenseinfo.md): Returns the License for a specific facility. ### Change an existing facility's License - [PATCH /facilities/{facilityId}/info/licenses/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilitylicenseinfo.md): Change an existing License associated with the specified facility. ### Delete existing License for a facility - [DELETE /facilities/{facilityId}/info/licenses/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilitylicenseinfo.md): Deletes an existing License associated with the specified facility. ### Create an Accreditation for an existing facility - [POST /facilities/{facilityId}/info/accreditations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilityaccreditationinfo.md): Add an Accreditation for the specified facility. ### List facility's Accreditations - [GET /facilities/{facilityId}/info/accreditations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilityaccreditationinfo.md): Returns all Accreditations associated with the specified facility. ### Get Accreditation for an existing facility - [GET /facilities/{facilityId}/info/accreditations/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilityaccreditationinfo.md): Returns the Accreditation for a specific facility. ### Change an existing facility's Accreditation - [PATCH /facilities/{facilityId}/info/accreditations/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilityaccreditationinfo.md): Change an existing Accreditation associated with the specified facility. ### Delete existing Accreditation for a facility - [DELETE /facilities/{facilityId}/info/accreditations/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilityaccreditationinfo.md): Deletes an existing Accreditation associated with the specified facility. ### Create a CMS Certification for an existing facility - [POST /facilities/{facilityId}/info/cmsCertifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilitycmscertificationinfo.md): Add a CMS Certification for the specified facility. ### List facility's CMS Certifications - [GET /facilities/{facilityId}/info/cmsCertifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilitycmscertificationinfo.md): Returns all CMS Certifications associated with the specified facility. ### Get CMS Certification for an existing facility - [GET /facilities/{facilityId}/info/cmsCertifications/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilitycmscertificationinfo.md): Returns the CMS Certification for a specific facility. ### Change an existing facility's CMS Certification - [PATCH /facilities/{facilityId}/info/cmsCertifications/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilitycmscertificationinfo.md): Change an existing CMS Certification associated with the specified facility. ### Delete existing CMS Certification for a facility - [DELETE /facilities/{facilityId}/info/cmsCertifications/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilitycmscertificationinfo.md): Deletes an existing CMS Certification associated with the specified facility. ### Create a Medicare Enrollment for an existing facility - [POST /facilities/{facilityId}/info/medicare-enrollments](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/createfacilitymedicareenrollmentinfo.md): Add a Medicare Enrollment for the specified facility. ### List facility's Medicare Enrollments - [GET /facilities/{facilityId}/info/medicare-enrollments](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/listfacilitymedicareenrollmentinfo.md): Returns all Medicare Enrollments associated with the specified facility. ### Get Medicare Enrollment for an existing facility - [GET /facilities/{facilityId}/info/medicare-enrollments/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/getfacilitymedicareenrollmentinfo.md): Returns the Medicare Enrollment Info for a specific facility. ### Change an existing facility's Medicare Enrollment - [PATCH /facilities/{facilityId}/info/medicare-enrollments/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/patchfacilitymedicareenrollmentinfo.md): Change an existing Medicare Enrollment associated with the specified facility. ### Delete a Medicare Enrollment from an existing facility - [DELETE /facilities/{facilityId}/info/medicare-enrollments/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesinfo/deletefacilitymedicareenrollmentinfo.md): Delete a Medicare Enrollment from the specified facility. ## FacilitiesSpecialties Endpoints related to managing and retrieving Facility Specialties. These APIs allow you to associate specialties with a specific facility, retrieve a list of assigned specialties, view details for an individual specialty, and remove specialties as needed. Each specialty is linked to a facility using unique identifiers in the API path. In addition to specialty management, the APIs support retrieving detailed information linked to each facility specialty. This includes endpoints for listing all associated info items, with optional filtering by type to support more targeted queries. ### Create a Specialty for an existing facility - [POST /facilities/{facilityId}/specialties](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesspecialties/createfacilityspecialty.md): Add a Specialty for the specified facility. ### List facility's Specialties - [GET /facilities/{facilityId}/specialties](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesspecialties/listfacilityspecialties.md): Returns all Specialties associated with the specified facility. ### Get Specialty for an existing facility - [GET /facilities/{facilityId}/specialties/{facilitySpecialtyId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesspecialties/getfacilityspecialty.md): Returns the Specialty for a specific facility. ### Delete existing Specialty for a facility - [DELETE /facilities/{facilityId}/specialties/{facilitySpecialtyId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesspecialties/deletefacilityspecialty.md): Deletes an existing Specialty associated with the specified facility. ### List facility's specialty information by type - [GET /facilities/{facilityId}/specialties/{facilitySpecialtyId}/info/{facilityInfoType}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesspecialties/listfacilityspecialtyinfosbytype.md): Returns all Infos associated with the specified facility specialty filtered by type. ### List facility's specialty information - [GET /facilities/{facilityId}/specialties/{facilitySpecialtyId}/info](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/facilitiesspecialties/listfacilityspecialtyinfos.md): Returns all Infos associated with the specified facility specialty. ## Licenses These endpoints allow you to add licenses to a provider and perform license lookups. Please note that a license lookup may take some time depending on the load and performance of the external data source. It is generally recommended to wait at least 2 seconds before polling for an update or use one of the notification mechanisms we provide (TBD). License verification result will have the basic information about the license such as license number, licenseType, status, issued date, expiry date, etc. In addition, the disciplinary actions and other additional information that is captured from the source site is represented through the disciplinaryActions and additionalProperties fields. The disciplinary actions and additional properties fields describe the type of data that is getting represented and are using the [Flexible Data Model](/reference/overview/#section/Common-Concepts/Flexible-data-model). ### List provider licenses - [GET /provider-licenses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/listproviderlicenses.md): Returns a page of provider licenses. ### Trigger a new license verification - [POST /providers/{providerId}/licenses/{licenseId}/verify](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/triggerlicenseverification.md): By executing this endpoint a new license verification is scheduled and executed for the specified license. ### Trigger license verifications - [POST /providers/{providerId}/licenses/verify](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/triggerlicenseverifications.md): By executing this endpoint a license verifications is scheduled and executed for specified licenses for the provider. ### Detach a license from a provider - [DELETE /providers/{providerId}/licenses/{licenseId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/detachlicense.md): This will delete the license and associated verification records for the specified provider. This will also delete any related data such as screenshots, attachments, export reports, alerts etc. ### Get a specific license from a provider - [GET /providers/{providerId}/licenses/{licenseId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/getlicense.md): Returns the data and latest verification for a specific license attached to a specific provider. ### Get a specific license verification - [GET /providers/{providerId}/licenses/{licenseId}/verifications/{verificationId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/getlicenseverification.md): Returns the data for a specific previously executed license verification. This endpoint can be used to retrieve historical results on older license verifications. ### Resolve problems with a license verification - [PATCH /providers/{providerId}/licenses/{licenseId}/verifications/{verificationId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/resolvelicenseverificationproblems.md): After a license verification is executed we sometimes are uncertain about the results we get from the source. For example when the source returns more than 1 match or the name of the license does not match the name that was used for the provider. In such cases we mark the license status as NeedsReview. It is expected that this status is resolved by the end user. The resolution can be patched by using this endpoint. ### Diff two license verifications - [GET /providers/{providerId}/licenses/{licenseId}/verifications/{verificationId}/diff](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/getlicenseverificationdiff.md): Returns the diff according to jsondiffpatch format between the specified verification and the previous successful verification. ### List all verifications for a license - [GET /providers/{providerId}/licenses/{licenseId}/verifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/listlicenseverifications.md): It is possible to perform more than one verification for any given license. In order to go back in history you can use this endpoint to get a list of all verifications for the specified license. ### List license types - [GET /licensetypes](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/listsimplifiedlicensetypes.md): Returns a list of all license types that are currently supported and used for license verifications. ### List license source status - [GET /licensetypes/status](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/listsimplifiedlicensetypesstatus.md): Returns the license source status information for one or more license types. ### Attach a license to a provider - [POST /providers/{providerId}/licenses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/attachlicense.md): To perform a license verification you must first attach a license to a provider. The first time you do this will automatically trigger a license verification on that provider. Once attached you can reverify the same license without reattaching it. A provider can have more than one license attached. ### List all licenses from a provider - [GET /providers/{providerId}/licenses](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/listlicenses.md): Returns a list of all licenses previously attached to the specified provider. ### Get provider licenses aggregations - [GET /provider-licenses/aggregations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/getproviderlicensesaggregations.md): Returns aggregated counts for provider licenses with different statuses. ### Patch an existing license - [PATCH /licenses/{licenseId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/licenses/patchlicense.md): Allows you to change a license's restriction or approved status. ## Datasets Endpoints related to scanning datasets and reading resulting matches. The supported datasets will grow over time and can be discovered via the [ListDatasets](/reference/operation/ListDatasets) endpoint. A dataset scan is asynchronous, but most scans will result in near immediate completion. A webhook of type [DatasetScanCompleted](/reference/tag/Webhook-Callbacks/#tag/Webhook-Callbacks/section/DatasetScanCompleted) is triggered upon completion, but you can also check the completion status by querying the [GetDatasetScan](#operation/GetDatasetScan) operation. ### Start a dataset scan - [POST /datasets/scans](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/startdatasetscan.md): Starts a new dataset scan. Will return a failed scan if required parameters are missing. ### List dataset scans - [GET /datasets/scans](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/listdatasetscans.md): Returns a page of dataset scans. ### Get dataset scan - [GET /datasets/scans/{scanId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/getdatasetscan.md): Returns the status and results for a previously started dataset scan. ### List dataset matches - [GET /datasets/matches](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/listdatasetmatches.md): Returns a page of dataset matches. By default, only matches that have not been rejected are returned. By default, only the most recent matches are returned. ### Get dataset metadata - [GET /datasets/{datasetType}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/getdataset.md): Returns metadata for a specific dataset. The metadata includes the date it was last updated in our system in addition to the JSON schema used for the records. ### List datasets metadata - [GET /datasets](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/listdatasets.md): Returns metadata for all available datasets. The metadata includes the date it was last updated in our system in addition to the JSON schema used for the records. ### Get dataset scan parameters for a provider - [GET /datasets/{datasetType}/parameters/providers/{providerId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/getproviderdatasetscanparameters.md): Returns the list of dataset scan parameters that will be used during a dataset scan. ### Get dataset scan parameters for a facility - [GET /datasets/{datasetType}/parameters/facilities/{facilityId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/getfacilitydatasetscanparameters.md): Returns the list of dataset scan parameters that will be used during a dataset scan. ### Upload a dataset file - [POST /datasets/{datasetType}/uploads](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/uploaddatasetfile.md): Uploads a dataset file. Only CSV files are supported. ### Get dataset matches aggregations - [GET /datasets/matches/aggregations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/getdatasetmatchesaggregations.md): Returns aggregated counts for dataset matches that require user action and for dataset matches that have been accepted. ### (Deprecated) Get dataset scan parameters for a provider - [GET /datasets/{datasetType}/parameters/{providerId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/getdatasetscanparameters.md): Returns the list of dataset scan parameters that will be used during a dataset scan. ### List schools - [GET /datasets/nsc/schoolCodes](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/listnscschools.md): Returns a page of schools that are supported by NSC. The codes originating from National Student Clearinghouse ### Patch an existing dataset match - [PATCH /datasets/matches/{matchId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/patchdatasetmatch.md): Allows you to reject, accept or restore a previous rejected dataset match. Only a match from the most recent scan can be patched. ### Refresh dataset scan - [POST /datasets/scans/{scanId}/refresh](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/datasets/refreshdatasetscan.md): Triggers a refresh for an existing running continuous dataset scan. Currently only NPDB dataset supports it. For NPDB it will trigger Status request to fetch the latest available response from the site. ## DEA These endpoints allow you to add DEA registration numbers to a provider and perform DEA registration lookups. Unlike license verifications a DEA registration lookup is done immediately. ### Attach a DEA registration number to a provider - [POST /providers/{providerId}/dea/{registrationNumber}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/attachdearegistration.md): To perform a DEA registration lookup you must first attach a DEA registration number to a provider. Everytime you call this endpoint a new verification will be made. ### Get a specific DEA registration from a provider - [GET /providers/{providerId}/dea/{registrationNumber}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/getdearegistration.md): Returns the data and latest verification for a specific DEA registration attached to a specific provider. ### Detach a DEA registration number from a provider - [DELETE /providers/{providerId}/dea/{registrationNumber}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/detachdearegistration.md): This will delete the DEA registration lookup record for the specified provider. ### Get a specific DEA registration verification - [GET /providers/{providerId}/dea/{registrationNumber}/verifications/{verificationId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/getdeaverification.md): Returns the data for a specific previously executed DEA registration verification. This endpoint can be used to retrieve historical results on older verifications. ### Resolve problems with a DEA registration verification - [PATCH /providers/{providerId}/dea/{registrationNumber}/verifications/{verificationId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/resolvedeaverificationproblems.md): After a verification is executed we sometimes are uncertain about the results we get from the source. For example when the name of the DEA registration does not match the name that was used for the provider. In such cases we mark the verification status as NeedsReview. It is expected that this status is resolved by the end user. The resolution can be patched by using this endpoint. ### Diff two DEA registration verifications - [GET /providers/{providerId}/dea/{registrationNumber}/verifications/{verificationId}/diff](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/getdeaverificationdiff.md): Returns the diff according to jsondiffpatch format between the specified verification and the previous successful verification. ### List all DEA registrations from a provider - [GET /providers/{providerId}/dea](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/listdearegistrations.md): Returns a list of all DEA registrations previously attached to the specified provider. ### List all verifications for a DEA registration - [GET /providers/{providerId}/dea/{registrationNumber}/verifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/dea/listdeaverifications.md): It is possible to perform more than one verification for any given DEA registration. In order to go back in history you can use this endpoint to get a list of all verifications for the specified DEA registration. ## BoardCertifications These endpoints allow you to add board certifications to a provider and perform certification lookups. Please note that a lookup may take some time depending on the load and performance of the external data source. It is generally recommended to wait at least 2 seconds before polling for an update or use one of the notification mechanisms we provide (TBD). Board certification verification result will have the basic information about the certification such as name, issued date, expiry date, etc. In addition, other additional information that is captured from the source site is represented through the additionalProperties fields. The additional properties fields describe the type of data that is getting represented and are using the [Flexible Data Model](/reference/overview/#section/Common-Concepts/flexible-data-model). ### List board certification sources (Deprecated) - [GET /sources/board-certifications](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/boardcertifications/listboardcertificationsources.md): Returns a list of all board certification source that are currently supported and used for verifications. ## Monitoring Endpoints to allow you to enable/disable monitoring or update monitoring settings for monitorable data. ## License Expiration Monitoring License Expiration Monitoring is a process that automatically performs verifications of licenses as they approach their expiration date. This process operates independently of a license's configured monitoring interval (e.g., Monthly, Yearly). Its purpose is to ensure timely updates and proactive management of expiring licenses. ### License Expiration Monitoring for Free Sources For licenses verified via free sources (those without pass-through fees), the Verifiable Platform follows a more frequent and proactive monitoring to ensure timely updates. This increased frequency applies regardless of the license's general monitoring interval. Verifications are performed at the following intervals, relative to the license expiration date: - Before license expiration: 90, 60, 28, 14, 7, 3, and 0 days - After license expiration: 3 days This means the Verifiable Platform will check the license 90 days before it expires, then 60 days before, and so on, until the day of expiration (0 days). A final check is performed 3 days after the expiration date. ### License Expiration Monitoring for Paid Sources For licenses verified via paid sources (those with pass-through fees), the Verifiable Platform follows a more streamlined monitoring for efficient management to minimize costs incurred to users. - After license expiration: 1 day As with free verification sources, these licenses will also continue to be monitored at their scheduled cadence regardless of this expiration check. ### Initiate monitoring for a provider or facility - [POST /monitors](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/monitoring/createmonitor.md): Initiate monitoring for a dataset or license for a provider or facility. Please note that not all dataset types support monitoring. Please refer to dataset endpoint to get the capabilities of a dataset. ### Lists all the monitored items - [GET /monitors](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/monitoring/listmonitors.md): Lists all the monitors and monitoring settings for monitors that are enabled. ### Initiates monitoring for the specified Sanctions and Exclusions datasets for the specified providers - [POST /monitors/bulk/sanctions-and-exclusions](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/monitoring/bulkcreatesanctionsandexclusionsmonitors.md): Initiate monitoring for the specified Sanctions and Exclusions datasets, for the specified list of providers. Immediate verification is not supported with this endpoint. If a next monitoring date is omitted or specified with a past date or within the closest 10 minutes, the monitor will execute within the next hour. Only Sanctions and Exclusions datasets are supported by this endpoint. Up to 100 provider IDs may be specified in one bulk. ### Returns a specified monitored item - [GET /monitors/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/monitoring/getmonitor.md): Returns all the info for a specified monitored item. ### Patch an existing monitored item - [PATCH /monitors/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/monitoring/patchmonitor.md): Change existing monitoring for a specified item. Use this endpoint to update the monitoring frequency and next monitoring date. ### Stop monitoring an item - [DELETE /monitors/{id}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/monitoring/deletemonitor.md): Stops existing monitoring for a specified dataset or license for a provider. ## Alerts Endpoints to list and dismiss active alerts. Alerts are triggered when an important event occurs that warrants user involvement. An alert can be considered dismissed if it has a dismissal timestamp and note. ### Get an existing alert - [GET /alerts/{alertId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/alerts/getalert.md): Returns the data for a specific alert. ### Dismiss an alert - [POST /alerts/{alertId}/dismiss](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/alerts/dismissalert.md): Dismisses a specific alert. ### Get alert aggregations - [GET /alerts/aggregations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/alerts/getalertaggregations.md): Returns aggregated counts for alerts either in active or dismissed state. ### List alerts - [GET /alerts](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/alerts/listalerts.md): Returns a page of alerts. ## CredentialingRequests These endpoints allow you to create and get credentialing requests. A credentialing request is a workflow that supports the creation of a credentialing packet. You can create a request for Verifiable's NCQA-certified CVO services to process or you can choose to self manage the workflow. By default, a CVO credentialing request will be created unless self managed is specified. Once a request has been created you cannot change between self managed and CVO. Multiple credentialing events can be created and managed for a provider. When a CVO credentialing request is created, the request will be sent directly to the Verifiable CVO team to begin processing. You can check the status of the request by querying the [GetCredentialingRequest](#operation/GetCredentialingRequest) or [ListCredentialingRequests](#operation/ListCredentialingRequests) operations. To keep track of the request, events are created to manage each stage of the credentialing request process using the [CreateCredentialingRequestEvent](#operation/CreateCredentialingRequestEvent) operation. You can also fetch specific events using the [GetCredentialingRequestEvent](#operation/GetCredentialingRequestEvent) operation. ### Aggregate provider credentialing request owners - [GET /credentialing-requests/aggregations/owners](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/aggregatecredentialingrequestowners.md): Returns an aggregation of all owners assigned to provider credentialing requests ### Create a new credentialing request - [POST /credentialing-requests](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/createcredentialingrequest.md): Creates a new credentialing request for a provider or facility. ### List credentialing requests - [GET /credentialing-requests](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/listcredentialingrequests.md): Returns credentialing requests ### Create a new credentialing request event - [POST /credentialing-requests/{requestId}/events](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/createcredentialingrequestevent.md): Creates a new event for a credentialing request. ### Get a specific credentialing request - [GET /credentialing-requests/{requestId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/getcredentialingrequest.md): Returns the data for a specific credentialing request. ### Patch an existing credentialing request - [PATCH /credentialing-requests/{requestId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/patchcredentialingrequest.md): Changes properties for an existing credentialing request. ### Get credentialing requests aggregations - [GET /credentialing-requests/aggregations](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/getcredentialingrequestaggregations.md): Returns aggregated counts for provider or facility credentialing requests. ### Get the credentialing data for a facility - [GET /facilities/{facilityId}/credentialing-data](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/getfacilitycredentialingdata.md): Returns the credentialing data for a facility. ### Get the credentialing data for a provider - [GET /providers/{providerId}/credentialing-data](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/getprovidercredentialingdata.md): Returns the credentialing data for a provider. ### Create or replace a credentialing request checklist - [PUT /credentialing-requests/{requestId}/checklist](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/credentialingrequests/createcredentialingrequestchecklist.md): Creates or replaces a checklist for a credentialing request. ## Integrations These endpoints are used for our integrations with 3rd party services. They are not intended to be consumed directly by most clients. Please contact us for more information on our integration possibilities. ### Fountain integration webhook - [POST /integrations/fountain/webhook/{organizationId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/integrations/fountainwebhook.md): Webhook for the Fountain integration. ### Salesforce document request - [POST /integrations/salesforce/documentrequest](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/integrations/salesforcedocumentrequest.md): Request a document to be uploaded to the configured Salesforce tenant. ## Webhooks Endpoints to allow you to create and manage webhooks that will be called when a special event occurs. On this special event Verifiable will attempt to make an HTTP POST to the URL specified in the webhook. The payload of this request can vary, depending on the `type`. The `type` is included in the `X-WebhookType` header. This allows you to register multiple webhooks on the same endpoint and still be able to distinguish the webhook types. The webhook dispatcher expects the remote server to return an HTTP success status code. If it cannot be delivered, it will retry the callback a maximum of 3 times. By default, we do not allow you to use insecure URLs for callbacks. You can optionally create a webhook that allows insecure URLs for testing purposes. We recommend you to use an HTTPS callback with a valid SSL certificate so that the integrity of the callback is ensured. For added security we will pass the webhook id (which is only known to the creator) in the `X-WebhookId` header, and we will pass an optional secret in the `X-Secret` header. To be able to uniquely track webhook messages we also include the `X-TraceId` header. This will contain a unique value that doesn't change for every attempt we make to send a specific message. You can use this to keep a log of all messages that you have successfully processed. You can refer to [Webhook Callbacks](/reference/tag/Webhook-Callbacks/) to find the model that is included in the payload of the HTTP request to the callback URL. ### Create a new webhook - [POST /webhooks](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/webhooks/createwebhook.md): Creates a new webhook that will be called when the specified event is triggered. ### List all webhooks - [GET /webhooks](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/webhooks/listwebhooks.md): List all webhooks created on this organization. ### Get details from a webhook - [GET /webhooks/{webhookId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/webhooks/getwebhook.md): Get details from a previously created webhook. ### Update a webhook - [PATCH /webhooks/{webhookId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/webhooks/patchwebhook.md): Update a previously created webhook. ### Delete a webhook - [DELETE /webhooks/{webhookId}](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/webhooks/deletewebhook.md): Deletes a previously created webhook. ### List all webhooks logs - [GET /webhookslog](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/webhooks/listwebhookslog.md): List all webhooks logs on this organization. ## Audit Each API call that results in data being created, updated or deleted will result in one or more entries in the audit log. Using the endpoints provided in this section it is possible to list entries in this log. ### List event log entries - [GET /log/events](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/audit/listeventlogentries.md): Returns a page of event log entries. Events can occur either system or user initiated. In case an event is user initiated the event context contains information on the user that triggered it and the associated HTTP request is captured. ## Users Endpoints related to managing and listing users. ### Change the password of the current user - [POST /users/me/password](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/users/setcurrentuserpassword.md): Changes the password of the current user. Note: If the current user does not have a password (e.g. they use Google Authentication) password can be empty. Otherwise, password must be the current password of the user. ## Reports ### List sanctions and exclusions reports for the organization. - [GET /organization/reports/sanctionsandexclusions](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/reports/listsanctionsandexclusionsreports.md): Returns a list of all the sanctions and exclusions reports that have been created so far. The reports are sorted in descending order from latest created to oldest. ### List enrollments reports for the organization. - [GET /organization/reports/enrollments](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/reports/listenrollmentsreports.md): Returns a list of all the enrollment reports that have been created so far. The reports are sorted in descending order from latest created to oldest. ### List expirable credentials reports for the organization. - [GET /organization/reports/expirable-credentials](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/reports/listexpirablecredentialsreports.md): Returns a list of all the expirable credentials reports that have been created so far. The reports are sorted in descending order from latest created to oldest. ### List roster reports for the organization. - [GET /organization/reports/roster](https://test-docs.discovery-staging.verifiable.com/references/development/deprecated/api/reports/listrosterreports.md): Returns a list of all the roster reports that have been created so far. The reports are sorted in descending order from latest created to oldest.