DumGumDocs
Search documentation

Loading search…

API Reference

Project Logs

The same logs as the Logs page of your dashboard, for your own monitoring. projectGid is your Project ID; an access key can only read the logs of the project it belongs to.

Log types

Each log carries a type, so you can react to one kind of event without parsing message. The main ones:

TypeSeverityWhen
conversation.enqueuedINFOA conversation was accepted for processing.
conversation.enqueue.errorWARNAn enqueue request was accepted but part of it could not be applied, for example an unknown instruction name.
content_creation.get_profile.errorERRORYour Profile Endpoint could not be reached or returned an error.
content_creation.conversation.profile_not_foundERRORYour Profile Endpoint did not return the requested profile.
content_creation.get_chat_history.errorERRORYour Chat History Endpoint could not be reached or returned an error.
content_creation.chat_model.refusalWARNThe conversation was rejected and no reply was generated.
project.content_creation.configuration.errorERRORThe project has no content creation configuration.
content_creation.errorERRORThe conversation could not be processed for another reason.
webhook.deliveredINFOAn event was delivered to your Incoming Content Endpoint.
webhook.failedERRORAn event could not be delivered to your endpoint.

New types may be added: ignore the ones you don't handle rather than failing on them.

Reading every error

Pass severity=ERROR and keep the startTime, endTime and sortOrder of your first request. While the response's nextToken is not null, send it back on the next request to get the following page:

curl "https://api.dumgum.com/cs/v1/projects/proj_zqRs5XdUtmI0oypAPzKQ3/logs?severity=ERROR&startTime=2026-09-30T00:00:00Z&limit=100" \
  -H "Authorization: Bearer $ACCESS_KEY"

A nextToken is valid for one hour. After that, the request fails with a 400 and you have to start the pagination again without it.

GET/cs/v1/projects/{projectGid}/logs

Events recorded for a project — webhook deliveries and failures, conversations that could not be processed, and so on — over a time range, newest first by default.

Use severity=ERROR to only retrieve errors.

Results are paginated: when nextToken is not null, pass it back to get the next page. A nextToken keeps the time range, severity and sortOrder of the request that started the pagination, so you can keep paging with the defaults (the last hour) without the window moving. A nextToken is valid for one hour; after that the request fails with a 400 and the pagination has to start again. One pagination reaches at most the 100,000 logs nearest its start: narrow the time range to read further.

Logs are kept for 30 days. Each log is dated when its event happened, but only becomes readable a couple of minutes later. If you poll, make each time range overlap the previous one by a few minutes and skip the ids you have already seen.

Open interactive API explorer ↗ · Download OpenAPI

Authentication

bearerAuth

Bearer authentication header of the form Bearer <token>, where <token> is an access key.

Example: Authorization: Bearer sk-proj-XXXXXXXXX

Type: bearer

Parameters

#projectGid path · stringrequired

The project to read. When you authenticate with an access key, this must be the project that key belongs to.

Type: string
#startTime query · string

Start of the time range, as an ISO 8601 date-time (e.g. 2026-09-24T09:00:00Z). Defaults to one hour before endTime.

Type: string
#endTime query · string

End of the time range, as an ISO 8601 date-time. Defaults to now.

Type: string
#limit query · integer

Number of logs per page, from 1 to 100.

Type: integerformat: "int32" default: 25
#severity query · string

Only return logs of this severity.

Type: string

Allowed values: "INFO", "WARN", "ERROR"

#nextToken query · string

Opaque cursor from a previous response's nextToken, to fetch the following page. Valid for one hour.

Type: string
#sortOrder query · string

desc returns the newest logs first, asc the oldest first.

Type: stringdefault: "desc"

Allowed values: "asc", "desc"

Responses

#200 Response

OK

#*/*

A page of project logs.

Type: object
#logs arrayrequired

The logs of this page, in the requested order.

Type: array
#Array items

One event recorded for a project.

Type: object
#id stringrequired

Unique identifier of the log.

Type: string
#severity stringrequired

Severity of the event.

Type: string

Allowed values: "INFO", "WARN", "ERROR"

#type stringrequired

What kind of event this is, as a stable dotted name, so you can react to one kind without parsing message.

Type: string
#date stringrequired

When the event happened (UTC).

Type: stringformat: "date-time"
#message stringrequired

Human-readable description of the event.

Type: string
#data objectrequired

Structured details about the event; the keys depend on type.

Type: object

#Additional properties

Type: string
#nextToken string

Pass it back as nextToken to get the following page; null on the last page.

Type: string
Illustrative example
{
  "logs": [
    {
      "id": "plog_01J8Z3Q4X5Y6Z7A8B9C0D1E2F3",
      "severity": "INFO",
      "type": "webhook.failed",
      "date": "2026-09-24T10:15:30.123Z",
      "message": "<string>",
      "data": {}
    }
  ],
  "nextToken": "<string>"
}