---
title: "Concierge Agent Callback"
method: POST
path: "/api/concierge/agent-callback"
tags: ["concierge"]
---

# Concierge Agent Callback

`POST /api/concierge/agent-callback`

## Request

- Base URL: `https://api.pointifytravels.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pointifytravels.com/api/concierge/agent-callback`
- Auth: none declared

Receive terminal-state callback from services/agent-service.

Closes #2567. The agent-service POSTs here once a Playwright booking
run hits completed / failed / cancelled / awaiting_approval. We
verify the HMAC signature, then:

  - Update the concierge_bookings row's status + provider fields
  - On `completed`: persist provider_confirmation_code +
    provider_booking_url + agent_completed_at
  - On `failed`: capture error_message for support triage
  - In all cases: stamp updated_at so dashboards show fresh state

User-facing notifications (confirmation email + SMS) are NOT fired
from this route — they live in the existing notification cron so
we don't double-send when the cron retries a callback that
already landed.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine.md) · [All operations](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/pointifytravels/apis/pointify-deal-engine/revisions/4350142a4216?raw)
