Skip to content

Tasks: Log snapshot storage endpoint #1253

Closed
coder/coder
#21644

Description

@mafredri

Repo: coder/coder

Scope: Add coderd agent endpoint for shutdown scripts to POST log snapshots.

Changes:

  • Add POST /api/v2/workspaces/{workspace}/agents/me/tasks/{task}/snapshot?format=agentapi endpoint
  • Request body: raw AgentAPI payload for format=agentapi (clients do not send the DB wrapper)
  • Validate: task belongs to workspace, payload ≤ 64KB, decodes as AgentAPI payload schema
  • Store in task_snapshots table (upsert, overwrite on each pause):
    • log_snapshot wrapper: {"format":"agentapi","data":<raw_payload>}
  • Uses workspace agent token for auth

Files:

  • coderd/aitasks.go (or new coderd/aitasks_snapshot.go)
  • codersdk/aitasks.go
  • coderd/coderd.go (route registration)

Acceptance criteria:

  • Endpoint accepts valid snapshot and returns 204
  • Validates format query parameter (currently only agentapi supported)
  • Rejects payloads > 64KB with 400
  • Rejects invalid task/workspace combinations with 404
  • Overwrites existing snapshot for same task
  • Uses agent token auth
  • Stores snapshot in DB wrapper format: {"format":"agentapi","data":<raw_payload>}

Dependencies:

References:

Activity

  1. added theissue type on Jan 15, 2026
  2. self-assigned this
    on Jan 21, 2026
  3. added a commit that references this issue on Jan 27, 2026
    25d7f27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions