service_misconfigured

A fault on our side stopped the action before anything was sent. `retryable` is `false`: do not resend in a loop; report the `request_id`.

HTTP 500Repull failed to handle the request.

When it fires

Repull could not reach the part of its own service that carries out this action, so it stopped before doing anything. Nothing was sent: no message reached the guest, and nothing reached Airbnb or any other channel. It is a fault on our side, not in your request, and the envelope says so with retryable: false. It can come from sending a message and from the inquiry and booking-request actions (pre-approvals, special offers, accepting and declining requests).

Response shape

Every Repull error follows the same envelope. The code is stable and safe to switch on.

{
  "error": {
    "code": "service_misconfigured",
    "message": "Message send failed: Repull could not reach this action. Nothing was sent to the channel.",
    "fix": "This is a fault in Repull, not in your request, and retrying will not help until it is fixed. If it persists, contact support with the `request_id`.",
    "docs_url": "https://repull.dev/docs/errors/service_misconfigured",
    "request_id": "req_01J5X7Y8Z9ABCDEF12345678",
    "retryable": false
  }
}

How to fix

  1. Do not change the request: nothing in it caused this, and nothing was sent.
  2. Do not retry in a tight loop. Retrying will not help until the fault is fixed on our side.
  3. Email hello@repull.dev with the `request_id` from the response. Once we confirm the fix, send the same request again; the same `Idempotency-Key` is fine, because this answer is not stored against it.

Common gotchas

  • Branch on retryable, not on the status code. Other 500s are internal_error, which is worth retrying with backoff; this one is not.
  • Because nothing was sent, there is no partial state to clean up and no risk of a duplicate when you send again later.

Examples

curl

curl -X POST https://api.repull.dev/v1/conversations/164743/messages \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Idempotency-Key: msg-164743-checkin" \
  -H "Content-Type: application/json" \
  -d '{"message": "Your check-in details are ready."}'
# → 500 service_misconfigured, "retryable": false. Nothing was sent; report the request_id.

TypeScript

const res = await fetch(url, init)
if (!res.ok) {
  const { error } = await res.json()
  if (error.retryable === false) {
    // service_misconfigured and other final answers: stop, surface it, keep the request_id
    throw new Error(`${error.code} (${error.request_id}): ${error.message}`)
  }
  // retryable errors: back off and retry with the same Idempotency-Key
}

If you're an AI agent

A fault inside Repull stopped the action before anything was sent. retryable is false: do not change or resend the request in a loop. Report the request_id; the same request can be sent again once it is fixed.

Hit an error that isn't covered? Email hello@repull.dev with the request id from the response headers.

AI