# FAQ

> Short answers to the questions integrators ask most.

Source: https://docs.delivr.no/faq/

## Getting started

**How do I get an API key?** Ask your Delivr contact; see [Get sandbox access](/sandbox/#get-sandbox-access). Production keys follow the [go-live checklist](/go-live/).

**Is there an SDK?** No. Generate a typed client from the OpenAPI document; see [Client libraries](/client-libraries/).

**Can I call the API from the browser or a mobile app?** No. Keys are for servers only. Call Delivr from your backend and pass the options on.

## Quotes and orders

**Why is there no `on_demand` option?** No driver can reach the store in time right now. In the sandbox, robo drivers need a minute to reach a new store, and two drivers are shared per area; see [Robo drivers](/sandbox/#robo-drivers).

**Why do I get `422 invalid_address`?** The address is not in the national address register. Check the street, number and postal code, or send `latitude` and `longitude`.

**Do I need a quote to place an order?** No. Send the store, `parcels` and the option key without a `quoteId`; see [Booking without a quote](/guides/quotes-and-orders/#booking-without-a-quote).

**The quote expired before the shopper paid. Now what?** Place the order anyway. Delivr quotes again and books the same key at no more than the quoted price, or answers `409 price_changed`.

**How do I avoid booking twice?** Send one `Idempotency-Key` per action and reuse it on every retry; see [Idempotency](/conventions/idempotency/).

**Can I remove a store?** Not yet. Change it with `PATCH /v1/merchant/locations/{id}`.

## Webhooks

**My signatures never match.** Compute the HMAC over the raw body bytes, keyed with the whole secret including `whsec_`, and check your code against the [test vector](/webhooks/signatures/#test-vector).

**Events arrive out of order.** They can. Apply `data` only when its `version` is higher than the one you have; see [Handling events correctly](/webhooks/#handling-events-correctly).

**My endpoint was down. Did I lose events?** No. Delivr retries for about 23 hours, you can replay any event for 30 days, and the [order list](/guides/order-lifecycle/#reconciling) catches anything else.

**How do I change my webhook URL?** Ask your Delivr contact. You choose the events yourself with `PUT /v1/merchant/webhook/events`.

## Sandbox

**Why does my window order stay `scheduled`?** Robo drivers only deliver on-demand orders. Ask us if you need a window order run.

**Are SMS sent in the sandbox?** No. Open the order's `trackingUrl` to see what the recipient sees.