Skip to main content

Read the error response

API errors use statusCode, a stable machine-readable code, and a message. Optional details contain validation messages or contextual fields and choices. This illustrative response shows the error shape:
Branch on code where the API documents a specific condition. Do not parse message text or treat all errors with the same HTTP status as equivalent.

Handle discovery failures

  • Check that the dealership has exactly one scheduling integration configured and that the API supports it.
  • Use IDs from discovery for the same vehicle, department, and services. Do not reuse unrelated selections.
  • Provide any customer or vehicle details requested by the scheduler. Check service comment requirements before booking.
  • If a slot is no longer available, search again and ask the customer to choose a new time.
SCHEDULER_UNAVAILABLE or AMBIGUOUS_SERVICES can occur during preflight discovery before an appointment write is attempted. Inspect the code and context rather than treating every 502 as an unknown booking.

Do not blindly retry writes

Availability is not a reservation. Booking has no durable idempotency guarantee, and repeating a request after a timeout can create a duplicate appointment. Treat network timeouts and responses indicating an unknown outcome as requiring reconciliation: Reading or searching Spark appointments can provide local context, but those snapshots are not proof of the current upstream state. A missing local booking does not prove that booking failed.

Ask for help

Contact support@sparkserv.com with:
  • The HTTP method, endpoint, and approximate request time.
  • The dealership and appointment IDs, when available.
  • The response status and error code, plus relevant sanitized details.
  • Whether the request timed out and whether any retry has already occurred.
Do not include client secrets, access tokens, or unnecessary customer information.