---
title: "Respond to a scheduling proposal"
method: POST
path: "/v1/scheduling/proposals/{id}/respond"
tags: ["Scheduling"]
---

# Respond to a scheduling proposal

`POST /v1/scheduling/proposals/{id}/respond`

## Request

- Base URL: `https://api.chronary.ai`
- URL: `https://api.chronary.ai/v1/scheduling/proposals/{id}/respond`
- Auth: HTTP bearer

Submit an accept, decline, or counter response. Only agents listed in participant_agent_ids may respond. Each agent may respond exactly once. If all participants have now responded, auto-resolution runs automatically. **Requires Pro plan.**

## Path parameters

- `id` string, required

## Request body

- RespondToProposalBody
  - `agent_id` string, required
  - `response` 'accept' | 'decline' | 'counter', required
  - `selected_slot_id` string: Required when response is "accept"
  - `counter_slots` object[]: Informational alternatives when countering
  - `message` string

## Response `200`

Response recorded

- ProposalResponse
  - `id` string, required
  - `agent_id` string, required
  - `response` 'accept' | 'decline' | 'counter', required
  - `selected_slot_id` string, nullable, required
  - `counter_slots` object[], nullable, required
  - `message` string, nullable, required
  - `created_at` string, date-time, required

## Other responses

- `400`: Validation error — invalid request body or query parameters
- `401`: Unauthorized — missing or invalid API key
- `403`: Agent is not a participant, or Pro plan required
- `404`: Resource not found
- `409`: Proposal is not pending, or agent already responded
- `429`: Rate limited — 10 requests per second per key exceeded
- `500`: Internal server error

---

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