Skip to content
Clym

API reference

Cases details

Cases, status updates, and access control.

Find cases

GET

List the company's cases, with filters.

Query parameters:

Name Type Required Description
search string No Find by exact id or public_id; not a content search.
status array No Filter by one or more statuses; no duplicates.
property_id string No Filter by property ID.
created_at_start string No Created on or after this time.
created_at_end string No Created on or before this time.
page integer No Page number.
limit integer No Number of results per page.
200List of cases.application/json
metaobjectoptional
Pagination metadata for list responses.
Show properties
current_pageintegeroptional
next_pageintegeroptional
Present only when more pages exist.
prev_pageintegeroptional
Present only when not the first page.
resultobject[]optional
Show properties
idstringoptional
public_idstringoptional
Public-facing case reference.
statusstringenumoptional
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
first_due_atstringnullableoptional
resolution_due_atstringnullableoptional
archive_atstringnullableoptional
metaobjectnullableoptional
Arbitrary case metadata.
system_case_type_idstringnullableoptional
property_case_type_idstringnullableoptional
system_case_type_category_idintegernullableoptional
property_case_type_category_idstringnullableoptional
system_case_type_reporting_idintegernullableoptional
property_idstringoptional
company_idstringoptional
permissionsobjectoptional
Requesting account's permissions on this case.
created_atstringoptional
updated_atstringoptional
get/admin/company/cases
GET /api/admin/company/cases HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200List of cases.
{
  "meta": {
    "current_page": 1,
    "next_page": 2,
    "prev_page": 1
  },
  "result": [{
    "id": "string",
    "public_id": "string",
    "status": "PENDING",
    "first_due_at": "string",
    "resolution_due_at": "string",
    "archive_at": "string",
    "meta": {},
    "system_case_type_id": "string",
    "property_case_type_id": "string",
    "system_case_type_category_id": 0,
    "property_case_type_category_id": "string",
    "system_case_type_reporting_id": 0,
    "property_id": "string",
    "company_id": "string",
    "permissions": {},
    "created_at": "string",
    "updated_at": "string"
  }]
}

Create case

POST

Create a case for a property.

Request bodyapplication/json
property_idstringrequired
The property the case belongs to.
case_type_idstringrequired
The case type (system or property).
case_type_category_idstringrequired
The case type category.
case_type_reporting_idstringrequired
The reporting channel.
system_regulation_idintegeroptional
System regulation driving geo-rule periods; or `property_geo_rule_id`.
property_geo_rule_idstringoptional
Property geo-rule driving geo-rule periods; or `system_regulation_id`.
emailstringnullableoptional
When set, sends a verification email to the case user.
messagestringoptional
Optional initial message.
metaobjectoptional
Arbitrary case metadata.
fieldsobject[]required
Initial case field values. Required; an empty array `[]` is acceptable.
country_idstringnullableoptional
state_idstringnullableoptional
first_response_periodintegernullableoptional
Overrides the first-response period.
resolution_periodintegernullableoptional
Overrides the resolution period.
archive_periodintegernullableoptional
Overrides the archive period.
200The created case.application/json
resultobjectoptional
Basic case information.
Show properties
idstringoptional
public_idstringoptional
Public-facing case reference.
statusstringenumoptional
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
first_due_atstringnullableoptional
resolution_due_atstringnullableoptional
archive_atstringnullableoptional
metaobjectnullableoptional
Arbitrary case metadata.
system_case_type_idstringnullableoptional
property_case_type_idstringnullableoptional
system_case_type_category_idintegernullableoptional
property_case_type_category_idstringnullableoptional
system_case_type_reporting_idintegernullableoptional
property_idstringoptional
company_idstringoptional
permissionsobjectoptional
Requesting account's permissions on this case.
created_atstringoptional
updated_atstringoptional
post/admin/company/cases
POST /api/admin/company/cases HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*

{
  "property_id": "string",
  "case_type_id": "string",
  "case_type_category_id": "string",
  "case_type_reporting_id": "string",
  "system_regulation_id": 0,
  "property_geo_rule_id": "string",
  "email": "string",
  "message": "string",
  "meta": {},
  "fields": [
    {}
  ],
  "country_id": "string",
  "state_id": "string",
  "first_response_period": 0,
  "resolution_period": 0,
  "archive_period": 0
}
200The created case.
{
  "result": {
    "id": "string",
    "public_id": "string",
    "status": "PENDING",
    "first_due_at": "string",
    "resolution_due_at": "string",
    "archive_at": "string",
    "meta": {},
    "system_case_type_id": "string",
    "property_case_type_id": "string",
    "system_case_type_category_id": 0,
    "property_case_type_category_id": "string",
    "system_case_type_reporting_id": 0,
    "property_id": "string",
    "company_id": "string",
    "permissions": {},
    "created_at": "string",
    "updated_at": "string"
  }
}

Export cases

GET

Download matching cases as a JSON file. Requires super permission.

Query parameters:

Name Type Required Description
search string No Find by exact id or public_id; not a content search.
status array No Filter by one or more statuses; no duplicates.
property_id string No Filter by property ID.
created_at_start string No Created on or after this time.
created_at_end string No Created on or before this time.
200A JSON file download — a bare array of cases (no pagination envelope).application/json
bodyobject[]optional
Show properties
idstringoptional
public_idstringoptional
Public-facing case reference.
statusstringenumoptional
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
first_due_atstringnullableoptional
resolution_due_atstringnullableoptional
archive_atstringnullableoptional
metaobjectnullableoptional
Arbitrary case metadata.
system_case_type_idstringnullableoptional
property_case_type_idstringnullableoptional
system_case_type_category_idintegernullableoptional
property_case_type_category_idstringnullableoptional
system_case_type_reporting_idintegernullableoptional
property_idstringoptional
company_idstringoptional
permissionsobjectoptional
Requesting account's permissions on this case.
created_atstringoptional
updated_atstringoptional
case_typeobjectoptional
Resolved case type (system or property).
case_userobjectoptional
The end user who submitted the case.
Show properties
idstringoptional
emailstringoptional
verified_atstringnullableoptional
created_atstringoptional
reportobjectoptional
Reporting channel details.
messagesobject[]optional
Show properties
idstringoptional
message_originalstringoptional
The original message content.
message_redactedstringoptional
The redacted content (when redacted).
attachmentobjectoptional
Attachment object (when a file is attached).
accountobjectoptional
The company responder who sent it (when from staff).
Show properties
idstringoptional
emailstringoptional
first_namestringoptional
last_namestringoptional
account_idstringoptional
Account ID (when the account object is not expanded).
case_userobjectoptional
The end user who sent it (when from the requester).
case_user_idstringoptional
Case user ID (when the case_user object is not expanded).
created_atstringoptional
updated_atstringoptional
historyobject[]optional
Show properties
idstringoptional
statusstringenumoptional
The status transitioned to.
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
case_idstringoptional
created_atstringoptional
fieldsobject[]optional
Custom case field values.
propertyobjectoptional
Expanded property object.
get/admin/company/cases/export
GET /api/admin/company/cases/export HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200A JSON file download — a bare array of cases (no pagination envelope).
[null]

Read case

GET

Get a single case by ID.

Path parameters:

Name Type Required Description
id string Yes The case ID.
200The case.application/json
resultobjectoptional
Basic case information.
Show properties
idstringoptional
public_idstringoptional
Public-facing case reference.
statusstringenumoptional
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
first_due_atstringnullableoptional
resolution_due_atstringnullableoptional
archive_atstringnullableoptional
metaobjectnullableoptional
Arbitrary case metadata.
system_case_type_idstringnullableoptional
property_case_type_idstringnullableoptional
system_case_type_category_idintegernullableoptional
property_case_type_category_idstringnullableoptional
system_case_type_reporting_idintegernullableoptional
property_idstringoptional
company_idstringoptional
permissionsobjectoptional
Requesting account's permissions on this case.
created_atstringoptional
updated_atstringoptional
case_typeobjectoptional
Resolved case type (system or property).
case_userobjectoptional
The end user who submitted the case.
Show properties
idstringoptional
emailstringoptional
verified_atstringnullableoptional
created_atstringoptional
reportobjectoptional
Reporting channel details.
messagesobject[]optional
Show properties
idstringoptional
message_originalstringoptional
The original message content.
message_redactedstringoptional
The redacted content (when redacted).
attachmentobjectoptional
Attachment object (when a file is attached).
accountobjectoptional
The company responder who sent it (when from staff).
Show properties
idstringoptional
emailstringoptional
first_namestringoptional
last_namestringoptional
account_idstringoptional
Account ID (when the account object is not expanded).
case_userobjectoptional
The end user who sent it (when from the requester).
case_user_idstringoptional
Case user ID (when the case_user object is not expanded).
created_atstringoptional
updated_atstringoptional
historyobject[]optional
Show properties
idstringoptional
statusstringenumoptional
The status transitioned to.
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
case_idstringoptional
created_atstringoptional
fieldsobject[]optional
Custom case field values.
propertyobjectoptional
Expanded property object.
get/admin/company/cases/{id}
GET /api/admin/company/cases/{id} HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200The case.
{
  "result": null
}

Update case

PUT

Update a case's status, due dates, or metadata.

Path parameters:

Name Type Required Description
id string Yes The case ID.
Request bodyapplication/json
statusstringenumnullableoptional
New status; `ARCHIVED` is rejected here, use the archive endpoint.
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
first_due_atstringnullableoptional
First-response due date.
resolution_due_atstringnullableoptional
Resolution due date; now or future.
archive_atstringnullableoptional
Scheduled archive date; now or future.
metaobjectnullableoptional
Case metadata; merged into existing.
200The updated case.application/json
resultobjectoptional
Basic case information.
Show properties
idstringoptional
public_idstringoptional
Public-facing case reference.
statusstringenumoptional
Possible values: PENDING OPEN IN_PROGRESS CLOSED EXPIRED ARCHIVED
first_due_atstringnullableoptional
resolution_due_atstringnullableoptional
archive_atstringnullableoptional
metaobjectnullableoptional
Arbitrary case metadata.
system_case_type_idstringnullableoptional
property_case_type_idstringnullableoptional
system_case_type_category_idintegernullableoptional
property_case_type_category_idstringnullableoptional
system_case_type_reporting_idintegernullableoptional
property_idstringoptional
company_idstringoptional
permissionsobjectoptional
Requesting account's permissions on this case.
created_atstringoptional
updated_atstringoptional
put/admin/company/cases/{id}
PUT /api/admin/company/cases/{id} HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*

{
  "status": "PENDING",
  "first_due_at": "string",
  "resolution_due_at": "string",
  "archive_at": "string",
  "meta": {}
}
200The updated case.
{
  "result": {
    "id": "string",
    "public_id": "string",
    "status": "PENDING",
    "first_due_at": "string",
    "resolution_due_at": "string",
    "archive_at": "string",
    "meta": {},
    "system_case_type_id": "string",
    "property_case_type_id": "string",
    "system_case_type_category_id": 0,
    "property_case_type_category_id": "string",
    "system_case_type_reporting_id": 0,
    "property_id": "string",
    "company_id": "string",
    "permissions": {},
    "created_at": "string",
    "updated_at": "string"
  }
}

Delete case

DELETE

Soft-delete a case. Requires super permission.

Path parameters:

Name Type Required Description
id string Yes The case ID.
200Whether a deletion occurred.application/json
resultobjectoptional
Show properties
deletedbooleanoptional
delete/admin/company/cases/{id}
DELETE /api/admin/company/cases/{id} HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Whether a deletion occurred.
{
  "result": {
    "deleted": false
  }
}

Archive case

POST

Archive a case and lock it from edits.

Path parameters:

Name Type Required Description
id string Yes The case ID.

```schema response 200 On success, returns { result: { archived: true } }. If the case is already archived, returns an empty object {} with no result key. {"type":"object","properties":{"result":{"type":"object","description":"Present only on success.","properties":{"archived":{"type":"boolean","example":true}}}}}


```http-response 200 On success, returns `{ result: { archived: true } }`. If the case is already archived, returns an empty object `{}` with no `result` key.
{
  "result": {
    "archived": true
  }
}
post/admin/company/cases/{id}/archive
POST /api/admin/company/cases/{id}/archive HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

Find case access

GET

List users with access to this case.

Path parameters:

Name Type Required Description
case_id string Yes The case ID.
200Users with case access.application/json
resultobject[]optional
Show properties
idstringoptional
The account ID.
emailstringoptional
first_namestringoptional
last_namestringoptional
avatar_urlstringoptional
can_read_redactedbooleanoptional
Can read redacted content.
can_write_redactedbooleanoptional
Can write redacted content.
get/admin/company/cases/{case_id}/access
GET /api/admin/company/cases/{case_id}/access HTTP/1.1
Host: {instance}.clym.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Users with case access.
{
  "result": [{
    "id": "string",
    "email": "string",
    "first_name": "string",
    "last_name": "string",
    "avatar_url": "string",
    "can_read_redacted": false,
    "can_write_redacted": false
  }]
}

© 2026 ClymTermsPrivacy policyCookie policy