Dental PMS

Admin

18 endpoints

Orgs

6 endpoints

get/api/v1/admin/orgs

List Orgs

Parameters

Query Parameters
pageinteger

Default: 1

page_sizeinteger

Default: 20

statusstring

Responses

200Successful Response
itemsobject[]required
pageintegerrequired
page_sizeintegerrequired
totalintegerrequired
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/orgs" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
get/api/v1/admin/orgs/{org_id}

Get Org

Parameters

Path Parameters
org_idstringrequired

Responses

200Successful Response
account_typestringrequired
billing_emailstring
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
hq_address_line1string
hq_address_line2string
hq_citystring
hq_countrystring
hq_postal_codestring
hq_statestring
idstring (uuid)required
internal_notesstring
max_locationsintegerrequired
namestringrequired
onboarding_statusstringrequired
schema_namestringrequired
shardobjectrequired
slugstringrequired
statusstringrequired
tax_idstring
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/orgs/{org_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
post/api/v1/admin/orgs

Create Org

Request Body

account_typestring
admin_user_uuidstring (uuid)
billing_emailstring
contact_emailstring
contact_namestring
contact_phonestring
hq_address_line1string
hq_address_line2string
hq_citystring
hq_countrystring
hq_postal_codestring
hq_statestring
internal_notesstring
max_locationsinteger
namestringrequired
slugstringrequired
tax_idstring
websitestring

Responses

201Successful Response
account_typestringrequired
billing_emailstring
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
hq_address_line1string
hq_address_line2string
hq_citystring
hq_countrystring
hq_postal_codestring
hq_statestring
idstring (uuid)required
internal_notesstring
max_locationsintegerrequired
namestringrequired
onboarding_statusstringrequired
schema_namestringrequired
shardobjectrequired
slugstringrequired
statusstringrequired
tax_idstring
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X POST "https://api.example.com/api/v1/admin/orgs" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "account_type": "string",
    "admin_user_uuid": "string",
    "billing_email": "string",
    "contact_email": "string",
    "contact_name": "string",
    "name": "string",
    "slug": "string"
  }'
post/api/v1/admin/orgs/{org_id}/archive

Archive Org

Parameters

Path Parameters
org_idstringrequired

Responses

200Successful Response
account_typestringrequired
billing_emailstring
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
hq_address_line1string
hq_address_line2string
hq_citystring
hq_countrystring
hq_postal_codestring
hq_statestring
idstring (uuid)required
internal_notesstring
max_locationsintegerrequired
namestringrequired
onboarding_statusstringrequired
schema_namestringrequired
shardobjectrequired
slugstringrequired
statusstringrequired
tax_idstring
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X POST "https://api.example.com/api/v1/admin/orgs/{org_id}/archive" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
patch/api/v1/admin/orgs/{org_id}

Update Org

Parameters

Path Parameters
org_idstringrequired

Request Body

account_typestring
base_versionintegerrequired
billing_emailstring
contact_emailstring
contact_namestring
contact_phonestring
hq_address_line1string
hq_address_line2string
hq_citystring
hq_countrystring
hq_postal_codestring
hq_statestring
internal_notesstring
max_locationsinteger
namestring
onboarding_statusstring
slugstring
tax_idstring
websitestring

Responses

200Successful Response
account_typestringrequired
billing_emailstring
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
hq_address_line1string
hq_address_line2string
hq_citystring
hq_countrystring
hq_postal_codestring
hq_statestring
idstring (uuid)required
internal_notesstring
max_locationsintegerrequired
namestringrequired
onboarding_statusstringrequired
schema_namestringrequired
shardobjectrequired
slugstringrequired
statusstringrequired
tax_idstring
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X PATCH "https://api.example.com/api/v1/admin/orgs/{org_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "account_type": "string",
    "base_version": 1,
    "billing_email": "string",
    "contact_email": "string",
    "contact_name": "string"
  }'
delete/api/v1/admin/orgs/{org_id}

Delete Org

Parameters

Path Parameters
org_idstringrequired

Responses

204Successful Response
422Validation Error
detailobject[]
curl
curl -X DELETE "https://api.example.com/api/v1/admin/orgs/{org_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"

Partners

5 endpoints

get/api/v1/admin/partners

List partners

Return a paginated list of partners, optionally filtered by status or type.

Parameters

Query Parameters
pageinteger

Page number (1-based).

Default: 1

page_sizeinteger

Items per page.

Default: 20

statusstring

Filter by partner status.

partner_typestring

Filter by partner type.

Responses

200Successful Response
itemsobject[]required
pageintegerrequired
page_sizeintegerrequired
totalintegerrequired
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/partners" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
get/api/v1/admin/partners/{partner_uuid}

Get partner

Return details for a single partner. Raises 404 if the partner does not exist.

Parameters

Path Parameters
partner_uuidstringrequired

Responses

200Successful Response
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
descriptionstring
display_namestring
extra_dataobjectrequired
idstring (uuid)required
logo_urlstring
namestringrequired
partner_typestringrequired
slugstringrequired
statusstringrequired
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/partners/{partner_uuid}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
post/api/v1/admin/partners

Create partner

Register a new partner integration. Raises 422 if validation fails (e.g. invalid slug or partner_type).

Request Body

contact_emailstring
contact_namestring
contact_phonestring
descriptionstring
display_namestring
extra_dataobject
internal_notesstring
logo_urlstring
namestringrequired
partner_typestring
slugstringrequired
websitestring

Responses

201Successful Response
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
descriptionstring
display_namestring
extra_dataobjectrequired
idstring (uuid)required
logo_urlstring
namestringrequired
partner_typestringrequired
slugstringrequired
statusstringrequired
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X POST "https://api.example.com/api/v1/admin/partners" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "contact_email": "string",
    "contact_name": "string",
    "contact_phone": "string",
    "description": "string",
    "display_name": "string",
    "name": "string",
    "slug": "string"
  }'
post/api/v1/admin/partners/{partner_uuid}/archive

Archive partner

Soft-delete a partner by marking it as archived. Raises 404 if the partner does not exist.

Parameters

Path Parameters
partner_uuidstringrequired

Responses

200Successful Response
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
descriptionstring
display_namestring
extra_dataobjectrequired
idstring (uuid)required
logo_urlstring
namestringrequired
partner_typestringrequired
slugstringrequired
statusstringrequired
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X POST "https://api.example.com/api/v1/admin/partners/{partner_uuid}/archive" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
patch/api/v1/admin/partners/{partner_uuid}

Update partner

Update a partner's attributes. Raises 404 if the partner does not exist. Raises 409 if ``base_version`` is stale. Raises 422 if validation fails.

Parameters

Path Parameters
partner_uuidstringrequired

Request Body

base_versionintegerrequired
contact_emailstring
contact_namestring
contact_phonestring
descriptionstring
display_namestring
extra_dataobject
internal_notesstring
logo_urlstring
namestring
partner_typestring
slugstring
statusstring
websitestring

Responses

200Successful Response
contact_emailstring
contact_namestring
contact_phonestring
created_atstring (date-time)required
descriptionstring
display_namestring
extra_dataobjectrequired
idstring (uuid)required
logo_urlstring
namestringrequired
partner_typestringrequired
slugstringrequired
statusstringrequired
updated_atstring (date-time)required
versionintegerrequired
websitestring
422Validation Error
detailobject[]
curl
curl -X PATCH "https://api.example.com/api/v1/admin/partners/{partner_uuid}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "base_version": 1,
    "contact_email": "string",
    "contact_name": "string",
    "contact_phone": "string",
    "description": "string"
  }'

Shards

6 endpoints

get/api/v1/admin/shards

List shards

Return a paginated list of shards, optionally filtered by active status.

Parameters

Query Parameters
pageinteger

Page number (1-based).

Default: 1

page_sizeinteger

Items per page.

Default: 20

is_activeboolean

Filter by active status.

Responses

200Successful Response
itemsobject[]required
pageintegerrequired
page_sizeintegerrequired
totalintegerrequired
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/shards" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
get/api/v1/admin/shards/{shard_uuid}

Get shard

Return details for a single shard. Raises 404 if the shard does not exist.

Parameters

Path Parameters
shard_uuidstringrequired

Responses

200Successful Response
created_atstring (date-time)required
idstring (uuid)required
is_activebooleanrequired
max_orgsintegerrequired
namestringrequired
regionstringrequired
versionintegerrequired
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/shards/{shard_uuid}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
get/api/v1/admin/shards/{shard_uuid}/capacity

Get shard capacity

Return capacity metrics for a shard (current org count, max orgs, utilization). Raises 404 if the shard does not exist.

Parameters

Path Parameters
shard_uuidstringrequired

Responses

200Successful Response
available_slotsintegerrequired
current_orgsintegerrequired
max_orgsintegerrequired
shard_idstringrequired
utilization_percentnumberrequired
422Validation Error
detailobject[]
curl
curl -X GET "https://api.example.com/api/v1/admin/shards/{shard_uuid}/capacity" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
post/api/v1/admin/shards

Create shard

Provision a new database shard. Raises 422 if validation fails (e.g. invalid max_orgs).

Request Body

dsnstringrequired
is_activeboolean
max_orgsinteger
namestringrequired
regionstring

Responses

201Successful Response
created_atstring (date-time)required
idstring (uuid)required
is_activebooleanrequired
max_orgsintegerrequired
namestringrequired
regionstringrequired
versionintegerrequired
422Validation Error
detailobject[]
curl
curl -X POST "https://api.example.com/api/v1/admin/shards" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "dsn": "string",
    "is_active": true,
    "max_orgs": 100,
    "name": "string",
    "region": ""
  }'
post/api/v1/admin/shards/{shard_uuid}/archive

Archive shard

Soft-delete a shard by marking it as archived. Raises 404 if the shard does not exist.

Parameters

Path Parameters
shard_uuidstringrequired

Responses

200Successful Response
created_atstring (date-time)required
idstring (uuid)required
is_activebooleanrequired
max_orgsintegerrequired
namestringrequired
regionstringrequired
versionintegerrequired
422Validation Error
detailobject[]
curl
curl -X POST "https://api.example.com/api/v1/admin/shards/{shard_uuid}/archive" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
patch/api/v1/admin/shards/{shard_uuid}

Update shard

Update a shard's configuration. Raises 404 if the shard does not exist. Raises 409 if ``base_version`` is stale. Raises 422 if validation fails.

Parameters

Path Parameters
shard_uuidstringrequired

Request Body

base_versionintegerrequired
dsnstring
is_activeboolean
max_orgsinteger
namestring
regionstring

Responses

200Successful Response
created_atstring (date-time)required
idstring (uuid)required
is_activebooleanrequired
max_orgsintegerrequired
namestringrequired
regionstringrequired
versionintegerrequired
422Validation Error
detailobject[]
curl
curl -X PATCH "https://api.example.com/api/v1/admin/shards/{shard_uuid}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "base_version": 1,
    "dsn": "string",
    "is_active": null,
    "max_orgs": 1,
    "name": "string"
  }'

Users

1 endpoint

delete/api/v1/admin/users/{user_id}

Globally Deactivate User

Globally deactivate a user across all organizations.

Parameters

Path Parameters
user_idstringrequired

Responses

204Successful Response
422Validation Error
detailobject[]
curl
curl -X DELETE "https://api.example.com/api/v1/admin/users/{user_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json"