---
title: "Store baseline snapshot envelope"
method: POST
path: "/api/v0/tasks/{id}/baseline"
tags: ["Files"]
---

# Store baseline snapshot envelope

`POST /api/v0/tasks/{id}/baseline`

## Request

- Base URL: `https://app.vibeflow.tools`
- URL: `https://app.vibeflow.tools/api/v0/tasks/{id}/baseline`
- Auth: HTTP bearer

Merges the two local routes (baseline-element + baseline-page) into one envelope. The page-wide sibling handler POST /api/tasks/:id/baseline-page is classified under put-baseline-page. Write — Phase 3.

## Path parameters

- `id` string, required

## Request body

- BaselineEnvelope: Merges the two local baseline routes into one envelope
  - `baseline` object: Element snapshot { selector, outerHTML }
  - `page` object: Page-wide snapshot { version, elements, capturedAt }

## Response `200`

Store baseline snapshot envelope — success

- BaselineResult
  - `success` boolean, required

## Other responses

- `400`: Malformed request (includes invalid task/comment id form)
- `401`: Missing or invalid principal
- `403`: Lacking scope or membership
- `404`: Unknown id
- `429`: Rate limited — cloud per-token quota exceeded (reads 300/min, writes 60/min, token creation 10/hour); counters are per-replica, so the effective limit is the configured value × replicas. The response carries Retry-After.

---

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