---
title: "Record Deployment Logs"
method: POST
path: "/api/v1/projects/{project_id}/deployments/logs"
tags: ["Deployments"]
---

# Record Deployment Logs

`POST /api/v1/projects/{project_id}/deployments/logs`

## Request

- Base URL: `https://api.rebolt.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rebolt.ai/api/v1/projects/{project_id}/deployments/logs`
- Auth: HTTP bearer

Record deployment build logs.

This endpoint accepts the log entry and returns immediately (202 Accepted).
The actual log insertion happens asynchronously in the background.

## Path parameters

- `project_id` string, uuid, required: The unique identifier of the project

## Request body

- RecordDeploymentLogsRequest
  - `project_deployment_id` string, uuid, required: The unique identifier a project deployment
  - `log_entry` LogMessage, required
    - `timestamp` string
    - `type` 'step_start' | 'step_end' | 'stream' | 'build_failure' | 'convex_deployment_failure' | 'generic' | 'deployment_failure', required
    - `step` string, required
    - `message` string, required
    - `success` boolean
    - `latency_seconds` number, nullable
    - `stream` 'stdout' | 'stderr', nullable
    - `exit_code` integer, nullable
    - `error_summary` string, nullable

## Response `202`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-14** `6e68f3c2611b`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Operation history](https://skmtc.dev/rebolt/apis/rebolt-api/changes/api/v1/projects/:project_id/deployments/logs/post.md)

---

[API](https://skmtc.dev/rebolt/apis/rebolt-api.md) - [All operations](https://skmtc.dev/rebolt/apis/rebolt-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rebolt/apis/rebolt-api/revisions/ece6d79b9efa?raw)
