---
title: "Commit Opportunity Public"
method: POST
path: "/commit-opportunity"
tags: ["public-api"]
---

# Commit Opportunity Public

`POST /commit-opportunity`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/commit-opportunity`
- Auth: HTTP bearer

Decide on one suggestion: commit it, dismiss it, or snooze it.

Committing freezes its measurement plan (hard rule 7), which is what makes
a measured result possible later. No verb here grants autonomy: the API
cannot raise a rung, by construction.

Editor authority: every verb here writes, and a commit creates tracked work
for the whole team. Read access (team grants, client assignments) must not
reach it.

## Query parameters

- `brand_id` string, uuid, required: Brand UUID

## Request body

- CommitOpportunityRequest
  - `opportunity_id` string, uuid, required
  - `action` string
  - `reason` string, nullable
  - `snooze_days` integer, nullable

## Response `200`

Successful Response

- CommitOpportunityPublicResponse
  - `status` string, required
  - `opportunity_id` string, required
  - `action_id` string, nullable
  - `measurement_plan` object, nullable

## Other responses

- `401`: Missing, malformed, or expired credentials
- `402`: The current plan does not fund this operation
- `403`: Invalid credentials, missing brand access, or insufficient role
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: The operation failed
- `503`: Authentication, entitlement, or a required dependency is temporarily unavailable

---

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