Certifyos · Schema
TerminationRequest
CompanyHealthcareProvider DataCredentialingLicensingPayer EnrollmentPrimary Source VerificationProvider Network ManagementRoster ManagementCompliance MonitoringHealthcare APIWebhook
Properties
| Name | Type | Description |
|---|---|---|
| networkId | string | Optional network ID scope for termination |
| tenantGroupLocationId | string | Optional tenant group location ID scope for termination. Required for INFERRED_LOCATION. |
| tenantPractitionerId | string | Tenant practitioner ID. Required for the 7 legacy termination types. IGNORED for FULL_EXIT and INFERRED_LOCATION, which both identify the practitioner via certifyPractitionerId instead. |
| certifyPractitionerId | string | Certify practitioner ID. MANDATORY when terminationType is FULL_EXIT or INFERRED_LOCATION -- both identify the practitioner this way, in place of tenantPractitionerId, and a request for either type wi |
| tenantGroupId | string | Tenant group ID. Required for all termination types except INFERRED_LOCATION and FULL_EXIT, which resolve the practitioner's group(s) without it. |
| terminationType | string | Termination scope (NETWORK | GROUP | GROUP_LOCATIONS | LOCATION_NETWORK | NETWORK_SPECIALTY | GROUP_SPECIALTY | GROUP_LOCATION_SPECIALTY | INFERRED_LOCATION | FULL_EXIT) |
| terminationDate | string | Termination effective date (YYYY-MM-DD). For FULL_EXIT a malformed value is rejected with 400 rather than coerced — parsing is strict, so an out-of-range month or day (e.g. 2026-15-15) is an error, no |
| terminationReason | string | Termination reason |
| terminationInformedDate | string | Date when termination was informed (YYYY-MM-DD). Optional; when supplied on a FULL_EXIT request it is validated the same way as terminationDate. |
| continuityOfCare | boolean | Whether Continuity of Care applies for this termination. Defaults to false when omitted. |
| tenantSpecialtyId | string | Optional tenant specialty ID scope for termination |
| tenantGroupPractitionerLocationId | string | Optional tenant group practitioner location ID scope for termination |
| tenantGroupPractitionerNetworkId | string | Optional tenant group practitioner network ID scope for termination |
| tenantGroupLocationPractitionerNetworkId | string | Optional tenant group location practitioner network ID scope for termination |
| tenantGroupPractitionerLocationSpecialtyId | string | Optional tenant group practitioner location specialty ID scope for termination |
| tenantGroupPractitionerSpecialtyId | string | Optional tenant group practitioner specialty ID scope for termination |
| tenantPractitionerSpecialtyId | string | Optional practitioner specialty ID scope for termination |
| acknowledgedLocationNetworkTermination | boolean | Optional opt-in for GROUP_LOCATIONS: when true (and the practitioner.termination.group-locations.cascade-network.enabled config flag is also on), terminating the practitioner from the selected group l |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/certifyos/main/json-schema/certifyos-termination-request-schema.json",
"title": "TerminationRequest",
"x-generated": "2026-10-20",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/certifyos-practitioner-api-openapi.yml#/components/schemas/TerminationRequest",
"type": "object",
"required": [
"terminationType",
"terminationDate"
],
"properties": {
"networkId": {
"type": "string",
"description": "Optional network ID scope for termination"
},
"tenantGroupLocationId": {
"type": "string",
"description": "Optional tenant group location ID scope for termination. Required for INFERRED_LOCATION."
},
"tenantPractitionerId": {
"type": "string",
"description": "Tenant practitioner ID. Required for the 7 legacy termination types. IGNORED for FULL_EXIT and INFERRED_LOCATION, which both identify the practitioner via certifyPractitionerId instead."
},
"certifyPractitionerId": {
"type": "string",
"description": "Certify practitioner ID. MANDATORY when terminationType is FULL_EXIT or INFERRED_LOCATION -- both identify the practitioner this way, in place of tenantPractitionerId, and a request for either type without it fails with 400. Ignored for the 7 legacy termination types."
},
"tenantGroupId": {
"type": "string",
"description": "Tenant group ID. Required for all termination types except INFERRED_LOCATION and FULL_EXIT, which resolve the practitioner's group(s) without it."
},
"terminationType": {
"type": "string",
"pattern": "\\S",
"description": "Termination scope (NETWORK | GROUP | GROUP_LOCATIONS | LOCATION_NETWORK | NETWORK_SPECIALTY | GROUP_SPECIALTY | GROUP_LOCATION_SPECIALTY | INFERRED_LOCATION | FULL_EXIT)"
},
"terminationDate": {
"type": "string",
"pattern": "\\S",
"description": "Termination effective date (YYYY-MM-DD). For FULL_EXIT a malformed value is rejected with 400 rather than coerced — parsing is strict, so an out-of-range month or day (e.g. 2026-15-15) is an error, not a roll-over into the following year."
},
"terminationReason": {
"type": "string",
"description": "Termination reason"
},
"terminationInformedDate": {
"type": "string",
"description": "Date when termination was informed (YYYY-MM-DD). Optional; when supplied on a FULL_EXIT request it is validated the same way as terminationDate."
},
"continuityOfCare": {
"type": "boolean",
"description": "Whether Continuity of Care applies for this termination. Defaults to false when omitted."
},
"tenantSpecialtyId": {
"type": "string",
"description": "Optional tenant specialty ID scope for termination"
},
"tenantGroupPractitionerLocationId": {
"type": "string",
"description": "Optional tenant group practitioner location ID scope for termination"
},
"tenantGroupPractitionerNetworkId": {
"type": "string",
"description": "Optional tenant group practitioner network ID scope for termination"
},
"tenantGroupLocationPractitionerNetworkId": {
"type": "string",
"description": "Optional tenant group location practitioner network ID scope for termination"
},
"tenantGroupPractitionerLocationSpecialtyId": {
"type": "string",
"description": "Optional tenant group practitioner location specialty ID scope for termination"
},
"tenantGroupPractitionerSpecialtyId": {
"type": "string",
"description": "Optional tenant group practitioner specialty ID scope for termination"
},
"tenantPractitionerSpecialtyId": {
"type": "string",
"description": "Optional practitioner specialty ID scope for termination"
},
"acknowledgedLocationNetworkTermination": {
"type": "boolean",
"description": "Optional opt-in for GROUP_LOCATIONS: when true (and the practitioner.termination.group-locations.cascade-network.enabled config flag is also on), terminating the practitioner from the selected group location also ends their network enrollment at that location (TenantGroupLocationPractitionerNetwork) — group membership (TenantGroupPractitioner) and group-wide network enrollment (TenantGroupPractitionerNetwork) are never affected either way. Omitting this field (or sending false) is not an error; it just keeps the legacy GPL-only termination, so existing callers that don't send it are unaffected."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/certifyos-termination-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.