API & Developers
List and view project logs with the API
List project logs
GET /api/v1/projects/{project}/logs{project} is the numeric project ID. The token must be assigned to that project, have project_logs:read, and belong to a user who can still view the project.
The endpoint accepts these optional query parameters:
search: searches titles only, up to 255 characters.change_type:added,changed,deprecated,removed,fixed, orsecurity.source:manual,api, orsystem.per_page: an integer from 1 to 100; the default is 15.page: the requested pagination page.
Results are ordered by occurred_at descending and then by log ID descending.
curl "https://deploymonitor.com/api/v1/projects/45/logs?search=release&change_type=changed&source=api&per_page=25" \
--header "Authorization: Bearer ${DEPLOYMONITOR_TOKEN}" \
--header "Accept: application/json"List response
The response contains data, pagination links, and pagination meta:
{
"data": [
{
"id": 123,
"project_id": 45,
"created_by_user_id": 7,
"change_type": "changed",
"source": "api",
"title": "Production release deployed",
"description": "Deployed the latest tested release.",
"metadata": {
"environment": "production"
},
"fingerprint": "deploy:production:abc123",
"occurred_at": "2026-08-19T18:30:00.000000Z",
"created_at": "2026-08-19T18:31:00.000000Z",
"updated_at": "2026-08-19T18:31:00.000000Z"
}
],
"links": {
"first": "https://deploymonitor.com/api/v1/projects/45/logs?page=1",
"last": "https://deploymonitor.com/api/v1/projects/45/logs?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 25,
"total": 1
}
}View one project log
GET /api/v1/projects/{project}/logs/{log}curl "https://deploymonitor.com/api/v1/projects/45/logs/123" \
--header "Authorization: Bearer ${DEPLOYMONITOR_TOKEN}" \
--header "Accept: application/json"A successful request returns 200 OK with the same log fields inside data.
A log that does not belong to {project} returns the same generic 404 Not Found response as a missing log. Requests for another project return 403 Forbidden because tokens cannot cross project boundaries.