Getting Started with Extend's API

In this section we'll review what steps we need to take to get started with our API integration.

Overview

This guide walks through the essentials you need to call the Extend API for the first time—environments, authentication, required headers and versioning, and where to go next in the docs.

Before you begin

  • You must have an active Extend account with a signed agreement to offer product or shipping protection.  
  • You must have at least one Extend store (demo and/or production) created in the Extend Merchant Portal.  
  • You must have access to Merchant Portal to acquire your Store ID and a way to generate API access tokens via the Integrations page in the Merchant Portal.

If you don’t have these yet, contact your Extend representative

What you'll need

Environments & Base URLs

Extend provides separate environments for testing and production:

Use demo for all development and QA, and switch to production only after your integration has been tested end‑to‑end.

All API requests must be made over HTTPS. Certain endpoints require authentication.

API Versioning

Extend uses header-based versioning. The API version is passed in the Accept header:

Example: For version 2022-02-01

Accept: application/json;version=2022-02-01

Key points:
Some legacy endpoints, such as Products, still use 2021-04-01. Always confirm the required version in the endpoint’s API Reference page.  

When in doubt, open the endpoint in the API Reference and copy the Accept header shown in the example request.

Authentication

Extend APIs are secured with short‑lived access tokens, passed in the X-Extend-Access-Token header on most requests. Refer to https://docs.extend.com/reference/authentication, for specific instructions on how to acquire the token.

Headers

For most requests, you’ll use at least these headers:

  • Accept – Specifies JSON and the API version  
    Example: application/json;version=2022-02-01 
  • Content-Type – Payload format for POST/PUT/PATCH  
    application/json
  • X-Extend-Access-Token – Your access token  
    X-Extend-Access-Token: YOUR_ACCESS_TOKEN

For idempotent create/update calls (for example, creating orders), Extend requires an additional header:

  • X-Idempotency-Key – A unique key per logical operation to prevent duplicate processing if you retry a request.
    • Example: X-Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000

Making your first API Call

The example below shows a GET Products call in the demo environment:

curl --request GET \
  --url "https://api-demo.helloextend.com/stores/{{YOUR_STORE_ID}}/products" \
  --header "Accept: application/json;version=2022-02-01" \
  --header "Content-Type: application/json" \
  --header "X-Extend-Access-Token: {{YOUR_ACCESS_TOKEN}}"
  • If your store is new, the response will be 200 OK with an empty list (no products yet).  
  • Once products are created, the same call will return your product list.