curl --request DELETE \
--url https://www.presolve.com/api/v1/medical-facilities/{facilityId} \
--header 'If-Match: <if-match>' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--header 'x-api-key: <api-key>'const options = {
method: 'DELETE',
headers: {
'X-Idempotency-Key': '<x-idempotency-key>',
'If-Match': '<if-match>',
'x-api-key': '<api-key>'
}
};
fetch('https://www.presolve.com/api/v1/medical-facilities/{facilityId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://www.presolve.com/api/v1/medical-facilities/{facilityId}"
headers = {
"X-Idempotency-Key": "<x-idempotency-key>",
"If-Match": "<if-match>",
"x-api-key": "<api-key>"
}
response = requests.delete(url, headers=headers)
print(response.text){
"success": true
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}Soft-delete a facility binding
Supports one selected organization via organizationId. Omit it to use the key’s organization. HQ descendant access requires an active acting attorney with hq:view_child_orgs, cases:view, cases:view_all, hq:view_all_cases, contacts:view, library:view, hq:manage_child_orgs, cases:edit, contacts:delete, library:upload. Existing key scopes still apply. The selector requires an integration API key; legacy partner/OIDC routing is unchanged. Repeat the selector on every cursor page, related mutation, upload completion, and detail/download request. Mutation key scopes, idempotency, revisions, and resource-specific eligibility still apply. See HQ authorization.
Requires the medical:write scope. Mutations require an X-Idempotency-Key header (responses are stored for replay; reusing a key with a different request returns 409 IDEMPOTENCY_CONFLICT). Requires If-Match: "<revision>"; a stale revision returns 409 STALE_REVISION and successful responses carry an ETag. Rate tier: sensitive.
curl --request DELETE \
--url https://www.presolve.com/api/v1/medical-facilities/{facilityId} \
--header 'If-Match: <if-match>' \
--header 'X-Idempotency-Key: <x-idempotency-key>' \
--header 'x-api-key: <api-key>'const options = {
method: 'DELETE',
headers: {
'X-Idempotency-Key': '<x-idempotency-key>',
'If-Match': '<if-match>',
'x-api-key': '<api-key>'
}
};
fetch('https://www.presolve.com/api/v1/medical-facilities/{facilityId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://www.presolve.com/api/v1/medical-facilities/{facilityId}"
headers = {
"X-Idempotency-Key": "<x-idempotency-key>",
"If-Match": "<if-match>",
"x-api-key": "<api-key>"
}
response = requests.delete(url, headers=headers)
print(response.text){
"success": true
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}{
"success": false,
"error": "<string>",
"code": "<string>"
}Authorizations
Org-issued integration API key (service account credential). The plaintext secret is shown once at creation.
Headers
Stable caller-chosen key (max 200 chars) making the mutation safely retryable.
200Current entity revision, quoted (e.g. "3"), from the last ETag.
Path Parameters
Medical facility binding id
Query Parameters
Select one organization for this request. Defaults to the key organization. An HQ key may select an active descendant when its active acting attorney has the required HQ and resource permissions. Repeat the same organizationId on related mutations, upload completion, detail requests, and every cursor page. See /authorization.