End a recording early
End a recording early is a tool from Recall, callable through the AgentSky API as recall/bot-leave and billed per call ($0).
Make a booked recorder leave its meeting now.
Overview
Requests that the recorder leave the meeting and stop capture. Usage remains pending until the supplier completes processing; bot time runs through done and transcription follows the recording lifecycle timestamps. Booking has no separate fee. A $2 prepayment is required; unused funds are returned at settlement. Usage is billed when the recording settles: $0.60 per hour the recorder holds a seat (from joining until supplier completion, including waiting and processing; fatal bot usage is waived) plus $0.18 per hour of recording lifecycle time, rounded to the nearest second without a minimum. Recording stops after two hours. A recorder that is never sent costs nothing; one that waits in a room nobody opens still costs the seat it held.
Confirmation that the recorder is leaving.
Input
These go in the input object of the run request.
| Field | Type | Required | Description |
|---|---|---|---|
| run_id | string | Yes | The gateway runId returned by bot-create. The booking must belong to this user and, for session tokens, this session. |
| bot_id | string | Yes | The id returned when the recorder was booked. |
Requests up to 1 MB.
Example
Use your own API key and a saved idempotency key for each new job. Replace image or media placeholders with your own publicly reachable HTTPS URLs. Keep the same key and request body when recovering a timeout.
# Set once per job; reuse this key and the identical body after a timeout.
: "${AGENTSKY_IDEMPOTENCY_KEY:?Set a unique, saved key for this job}"
curl --fail-with-body https://gateway.agentsky.dev/v1/run \
-H "authorization: Bearer $AGENTSKY_API_KEY" \
-H "content-type: application/json" \
-H "Idempotency-Key: $AGENTSKY_IDEMPOTENCY_KEY" \
-d '{"provider":"recall","endpoint":"bot-leave","input":{"run_id":"run_11111111222233334444555555555555","bot_id":"11111111-2222-3333-4444-555555555555"}}'
# If status is READY/RUNNING, poll GET /v1/runs/{runId} with the same API key.Pricing
$0 per call using your plan when signed in. Read the final customer charge from price.amount.value after the run finishes. A RUNNING response is not the final bill.
