Skip to content
cloudhostDocs
API reference

Support

Support cases: ask the platform's support team, follow their answers.

GET/v1/support/cases

The cases you may see#

Owners and admins: every case of the team; other roles and API keys: the cases they opened (others answer 404).

Credential
An API key or a dashboard session
Roles
Any role

Parameters

  • statusstringquery

    open, pending, closed, or active (not closed)

    one of open, pending, closed, active

  • severitystringquery

    one of low, normal, high, urgent

  • categorystringquery

    one of billing, account, function, app, database, cache, storage, other

  • qstringquery

    subject or number

  • sortstringquery

    one of updated_at, created_at, number, severity

  • dirstringquery

    one of asc, desc

  • fromstring (date)query

    created on or after

  • tostring (date)query

    created on or before

  • limitintegerquery

    1-200, default 25

  • offsetintegerquery

Response

200object

  • itemsSupportCase[]required
  • totalintegerrequired
  • limitinteger
  • offsetinteger
  • sortstring
  • dirstring
  • sees_allboolean

    owners and admins

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/support/cases" \
  -H "Authorization: Bearer $KEY"
POST/v1/support/cases

Open a case#

Any member or API key. Urgent needs Pro. At most 20 cases a day per team. Body up to 10 MiB.

Credential
An API key or a dashboard session
Roles
Any role

Request bodyapplication/json

  • subjectstringrequired

    3–200 characters

  • categorystringrequired

    one of billing, account, function, app, database, cache, storage, other

  • severitystring

    one of low, normal, high, urgent · default "normal"

  • bodystringrequired

    1–20000 characters

  • resourceobject
  • attachmentsSupportUpload[]

    up to 3

Response

201SupportCase

  • idstring (uuid)required
  • numberintegerrequired
  • subjectstringrequired
  • categorystringrequired

    one of billing, account, function, app, database, cache, storage, other

  • severitystringrequired

    one of low, normal, high, urgent

  • statusstringrequired

    open: waiting on support; pending: waiting on you

    one of open, pending, closed

  • resourceobject | null
  • opened_bystring

    the opener's email

  • waiting_onstring | null

    one of support, you

  • messagesinteger

    messages you can see

  • created_atstring (date-time)
  • updated_atstring (date-time)
  • closed_atstring (date-time) | null

Errors

StatusDescription
400Bad request: bad_request, bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: plan_required
404Not found: not_found
413Body too large: too_large
429Too many requests: rate_limited
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/support/cases" \
  -H "Authorization: Bearer $KEY" \
  -d '{"subject":"…","category":"billing","body":"…"}'
GET/v1/support/cases/{id}

A case and its messages#

Owners and admins: every case of the team; other roles and API keys: the cases they opened (others answer 404).

Credential
An API key or a dashboard session
Roles
Any role

Parameters

  • idstring (uuid)pathrequired

    case id

Response

200object

  • caseSupportCaserequired
    • idstring (uuid)required
    • numberintegerrequired
    • subjectstringrequired
    • categorystringrequired

      one of billing, account, function, app, database, cache, storage, other

    • severitystringrequired

      one of low, normal, high, urgent

    • statusstringrequired

      open: waiting on support; pending: waiting on you

      one of open, pending, closed

    • resourceobject | null
    • opened_bystring

      the opener's email

    • waiting_onstring | null

      one of support, you

    • messagesinteger

      messages you can see

    • created_atstring (date-time)
    • updated_atstring (date-time)
    • closed_atstring (date-time) | null
  • messagesSupportMessage[]required
    • idintegerrequired
    • fromstringrequired

      one of customer, staff

    • authorstring | null

      the customer's email; null for support

    • bodystringrequired
    • attachmentsSupportAttachment[]
    • created_atstring (date-time)required

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
404Not found: not_found
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/support/cases/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY"
POST/v1/support/cases/{id}/messages

Reply (a closed case opens again)#

Owners and admins: every case of the team; other roles and API keys: the cases they opened (others answer 404).

Credential
An API key or a dashboard session
Roles
Any role

Parameters

  • idstring (uuid)pathrequired

    case id

Request bodyapplication/json

  • bodystringrequired

    1–20000 characters

  • attachmentsSupportUpload[]

    up to 3

    • namestring

      up to 120 characters

    • typestringrequired

      one of image/png, image/jpeg, image/gif, image/webp, application/pdf, text/plain, text/csv, application/json

    • datastringrequired

      base64; 2 MiB at most decoded

Response

201object

  • messageintegerrequired
  • statusstringrequired
  • attachmentsSupportAttachment[]

Errors

StatusDescription
400Bad request: bad_request, bad_json
401unauthorized: missing, invalid, expired or revoked credential
404Not found: not_found
413Body too large: too_large
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/support/cases/88e2fe1d-6d75-4de5-8c8f-27380ec66903/messages" \
  -H "Authorization: Bearer $KEY" \
  -d '{"body":"…"}'
POST/v1/support/cases/{id}/close

Close a case#

Owners and admins: every case of the team; other roles and API keys: the cases they opened (others answer 404).

Credential
An API key or a dashboard session
Roles
Any role

Parameters

  • idstring (uuid)pathrequired

    case id

Response

200object

  • idstring (uuid)required
  • numberintegerrequired
  • statusstringrequired

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
404Not found: not_found
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/support/cases/88e2fe1d-6d75-4de5-8c8f-27380ec66903/close" \
  -H "Authorization: Bearer $KEY"
POST/v1/support/cases/{id}/reopen

Open a closed case again#

Owners and admins: every case of the team; other roles and API keys: the cases they opened (others answer 404).

Credential
An API key or a dashboard session
Roles
Any role

Parameters

  • idstring (uuid)pathrequired

    case id

Response

200object

  • idstring (uuid)required
  • numberintegerrequired
  • statusstringrequired

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
404Not found: not_found
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/support/cases/88e2fe1d-6d75-4de5-8c8f-27380ec66903/reopen" \
  -H "Authorization: Bearer $KEY"
GET/v1/support/cases/{id}/attachments/{file}

Download an attachment#

Owners and admins: every case of the team; other roles and API keys: the cases they opened (others answer 404).

Credential
An API key or a dashboard session
Roles
Any role

Parameters

  • idstring (uuid)pathrequired

    case id

  • filestringpathrequired

    attachment id

    pattern ^[0-9a-f]{24}$

Response

200string (binary)application/octet-stream

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
404Not found: not_found
500internal: an unexpected failure

Example

Request
curl "https://api.ibel.ai/v1/support/cases/88e2fe1d-6d75-4de5-8c8f-27380ec66903/attachments/file" \
  -H "Authorization: Bearer $KEY"