{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Start here"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"start-here","__idx":0},"children":["Start here"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Quiqup has two APIs. They are different products, on different hosts, and most integrations only need one."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Fulfilment API"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fulfilment API"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Last-mile API"},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last-mile API"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["What it does"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Quiqup holds your stock, picks it, packs it, ships it"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Quiqup collects a parcel you packed and delivers it"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You send"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Products, inbound stock, orders against stock we hold"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Orders with a pickup address and a dropoff address"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Host"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["platform-api.quiqup.com"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["api-ae.quiqup.com"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reference"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi"},"children":["Fulfilment API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/lastmile"},"children":["Last-mile API"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Not sure which one you are on? ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/choose"},"children":["Which API do I need"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["One credential works on both APIs."]}," The same OAuth2 client credentials, and the same Quiqdash Bearer key, authenticate against the Fulfilment and the Last-mile host of an environment. There is nothing extra to request if you end up using both. Staging and production are a different question, answered in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/environments#which-credentials-cross-environments"},"children":["Environments"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["One order state machine."]}," A fulfilment order becomes a last-mile shipment once it is picked. Both APIs report the same values, in a field called ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["state"]}," on last-mile and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," on fulfilment, and both emit the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.*"]}," webhooks, which carry it as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload.state"]},". ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/order-lifecycle"},"children":["Order lifecycle"]}," is written once and applies to both."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-every-account-needs","__idx":1},"children":["What every account needs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Whichever product you are on:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A business Quiqup account."]}," Individual accounts cannot be integrated."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A commercial agreement."]}," Talk to your Business Development Manager before you build. Credentials follow the agreement, not the other way round."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Account activation."]}," Trade licence, bank card and finance details."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The services you need enabled."]}," Same Day, Next Day, 4-hour and international export are each switched on per account, by your account manager. Only Same Day is checked when an order is created, so do not rely on the API to tell you a service is off. ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/order-lifecycle#service-types"},"children":["Service types"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"then-pick-your-section","__idx":2},"children":["Then pick your section"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/fulfilment"},"children":["Fulfilment"]}]}," if Quiqup stores your stock. You will load products, book stock in, and create orders against what we hold."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/lastmile"},"children":["Last-mile"]}]}," if you hold your own stock. You will create orders that name a pickup address and a dropoff address. This is also where the Shopify and WooCommerce connectors live."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"shared-across-both","__idx":3},"children":["Shared across both"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/environments"},"children":["Environments"]},". Hosts, and what is different about staging."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/authentication"},"children":["Authentication"]},". Tokens, keys, lifetimes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/order-lifecycle"},"children":["Order lifecycle"]},". The one state machine."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/webhooks"},"children":["Webhooks"]},". Signing, delivery, the full event catalogue."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/errors"},"children":["Error responses"]},". Both error shapes, and which host returns which."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/faq"},"children":["Common questions"]},". Routed by product."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getting-help","__idx":4},"children":["Getting help"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"mailto:apisupport@quiqup.com"},"children":["apisupport@quiqup.com"]}," is the technical channel. Support runs on email. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/getting-help"},"children":["Getting help"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you email, read ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/getting-help#what-to-send-in-the-first-email"},"children":["what to send in the first message"]},". Getting those seven things right saves a round trip."]}]},"headings":[{"value":"Start here","id":"start-here","depth":1},{"value":"What every account needs","id":"what-every-account-needs","depth":2},{"value":"Then pick your section","id":"then-pick-your-section","depth":2},{"value":"Shared across both","id":"shared-across-both","depth":2},{"value":"Getting help","id":"getting-help","depth":2}],"frontmatter":{"seo":{"title":"Start here"}},"lastModified":"2026-10-16T10:23:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}