Skip to main content
POST
/
v1
/
claims
/
offline
Create Offline Claim
curl --request POST \
  --url https://api.production.orderprotection.com/v1/claims/offline \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customer": {
    "email": "customer@example.com",
    "phoneNumber": "+1234567890"
  },
  "items": [
    {
      "sourceProductId": "product_123",
      "sourceVariantId": "variant_123",
      "name": "Product Name",
      "images": [
        "https://example.com/image1.jpg",
        "https://example.com/image2.jpg"
      ],
      "sourceItemId": "item_123",
      "sku": "SKU-12345",
      "details": "Product details and description of the issue",
      "productImage": "https://example.com/product.jpg",
      "price": 99.99,
      "subIssueId": "sub_issue_123",
      "productDescription": "Description of the product and its condition",
      "warrantyPeriod": "P1Y"
    }
  ],
  "warranty": {
    "dateOfPurchase": "2024-01-15T00:00:00.000Z",
    "receiptRequired": true,
    "receiptImages": [
      "https://example.com/receipt.jpg"
    ]
  },
  "shippingAddress": {
    "firstName": "John",
    "lastName": "Smith",
    "address1": "123 Main St",
    "city": "New York",
    "zip": "10001",
    "country": "United States",
    "address2": "Apt 1",
    "state": "NY",
    "stateAbr": "NY",
    "countryAbr": "US",
    "lat": 40.7128,
    "lng": -74.006,
    "addressOrigin": "CONCIERGE"
  },
  "storeId": "store_123",
  "signature": "https://example.com/signature.png",
  "salesChannel": "IN_STORE",
  "claimCategory": "WARRANTY",
  "issueType": "DEFECTIVE_ITEM",
  "resolution": "REFUND",
  "claimFiledFrom": "EXTERNAL",
  "options": {
    "fromValet": false,
    "requireCustomerSignature": false
  }
}
'
import requests

url = "https://api.production.orderprotection.com/v1/claims/offline"

payload = {
"customer": {
"email": "customer@example.com",
"phoneNumber": "+1234567890"
},
"items": [
{
"sourceProductId": "product_123",
"sourceVariantId": "variant_123",
"name": "Product Name",
"images": ["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
"sourceItemId": "item_123",
"sku": "SKU-12345",
"details": "Product details and description of the issue",
"productImage": "https://example.com/product.jpg",
"price": 99.99,
"subIssueId": "sub_issue_123",
"productDescription": "Description of the product and its condition",
"warrantyPeriod": "P1Y"
}
],
"warranty": {
"dateOfPurchase": "2024-01-15T00:00:00.000Z",
"receiptRequired": True,
"receiptImages": ["https://example.com/receipt.jpg"]
},
"shippingAddress": {
"firstName": "John",
"lastName": "Smith",
"address1": "123 Main St",
"city": "New York",
"zip": "10001",
"country": "United States",
"address2": "Apt 1",
"state": "NY",
"stateAbr": "NY",
"countryAbr": "US",
"lat": 40.7128,
"lng": -74.006,
"addressOrigin": "CONCIERGE"
},
"storeId": "store_123",
"signature": "https://example.com/signature.png",
"salesChannel": "IN_STORE",
"claimCategory": "WARRANTY",
"issueType": "DEFECTIVE_ITEM",
"resolution": "REFUND",
"claimFiledFrom": "EXTERNAL",
"options": {
"fromValet": False,
"requireCustomerSignature": False
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customer: {email: 'customer@example.com', phoneNumber: '+1234567890'},
items: [
{
sourceProductId: 'product_123',
sourceVariantId: 'variant_123',
name: 'Product Name',
images: ['https://example.com/image1.jpg', 'https://example.com/image2.jpg'],
sourceItemId: 'item_123',
sku: 'SKU-12345',
details: 'Product details and description of the issue',
productImage: 'https://example.com/product.jpg',
price: 99.99,
subIssueId: 'sub_issue_123',
productDescription: 'Description of the product and its condition',
warrantyPeriod: 'P1Y'
}
],
warranty: {
dateOfPurchase: '2024-01-15T00:00:00.000Z',
receiptRequired: true,
receiptImages: ['https://example.com/receipt.jpg']
},
shippingAddress: {
firstName: 'John',
lastName: 'Smith',
address1: '123 Main St',
city: 'New York',
zip: '10001',
country: 'United States',
address2: 'Apt 1',
state: 'NY',
stateAbr: 'NY',
countryAbr: 'US',
lat: 40.7128,
lng: -74.006,
addressOrigin: 'CONCIERGE'
},
storeId: 'store_123',
signature: 'https://example.com/signature.png',
salesChannel: 'IN_STORE',
claimCategory: 'WARRANTY',
issueType: 'DEFECTIVE_ITEM',
resolution: 'REFUND',
claimFiledFrom: 'EXTERNAL',
options: {fromValet: false, requireCustomerSignature: false}
})
};

fetch('https://api.production.orderprotection.com/v1/claims/offline', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.production.orderprotection.com/v1/claims/offline",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'customer' => [
'email' => 'customer@example.com',
'phoneNumber' => '+1234567890'
],
'items' => [
[
'sourceProductId' => 'product_123',
'sourceVariantId' => 'variant_123',
'name' => 'Product Name',
'images' => [
'https://example.com/image1.jpg',
'https://example.com/image2.jpg'
],
'sourceItemId' => 'item_123',
'sku' => 'SKU-12345',
'details' => 'Product details and description of the issue',
'productImage' => 'https://example.com/product.jpg',
'price' => 99.99,
'subIssueId' => 'sub_issue_123',
'productDescription' => 'Description of the product and its condition',
'warrantyPeriod' => 'P1Y'
]
],
'warranty' => [
'dateOfPurchase' => '2024-01-15T00:00:00.000Z',
'receiptRequired' => true,
'receiptImages' => [
'https://example.com/receipt.jpg'
]
],
'shippingAddress' => [
'firstName' => 'John',
'lastName' => 'Smith',
'address1' => '123 Main St',
'city' => 'New York',
'zip' => '10001',
'country' => 'United States',
'address2' => 'Apt 1',
'state' => 'NY',
'stateAbr' => 'NY',
'countryAbr' => 'US',
'lat' => 40.7128,
'lng' => -74.006,
'addressOrigin' => 'CONCIERGE'
],
'storeId' => 'store_123',
'signature' => 'https://example.com/signature.png',
'salesChannel' => 'IN_STORE',
'claimCategory' => 'WARRANTY',
'issueType' => 'DEFECTIVE_ITEM',
'resolution' => 'REFUND',
'claimFiledFrom' => 'EXTERNAL',
'options' => [
'fromValet' => false,
'requireCustomerSignature' => false
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.production.orderprotection.com/v1/claims/offline"

payload := strings.NewReader("{\n \"customer\": {\n \"email\": \"customer@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"items\": [\n {\n \"sourceProductId\": \"product_123\",\n \"sourceVariantId\": \"variant_123\",\n \"name\": \"Product Name\",\n \"images\": [\n \"https://example.com/image1.jpg\",\n \"https://example.com/image2.jpg\"\n ],\n \"sourceItemId\": \"item_123\",\n \"sku\": \"SKU-12345\",\n \"details\": \"Product details and description of the issue\",\n \"productImage\": \"https://example.com/product.jpg\",\n \"price\": 99.99,\n \"subIssueId\": \"sub_issue_123\",\n \"productDescription\": \"Description of the product and its condition\",\n \"warrantyPeriod\": \"P1Y\"\n }\n ],\n \"warranty\": {\n \"dateOfPurchase\": \"2024-01-15T00:00:00.000Z\",\n \"receiptRequired\": true,\n \"receiptImages\": [\n \"https://example.com/receipt.jpg\"\n ]\n },\n \"shippingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\",\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"zip\": \"10001\",\n \"country\": \"United States\",\n \"address2\": \"Apt 1\",\n \"state\": \"NY\",\n \"stateAbr\": \"NY\",\n \"countryAbr\": \"US\",\n \"lat\": 40.7128,\n \"lng\": -74.006,\n \"addressOrigin\": \"CONCIERGE\"\n },\n \"storeId\": \"store_123\",\n \"signature\": \"https://example.com/signature.png\",\n \"salesChannel\": \"IN_STORE\",\n \"claimCategory\": \"WARRANTY\",\n \"issueType\": \"DEFECTIVE_ITEM\",\n \"resolution\": \"REFUND\",\n \"claimFiledFrom\": \"EXTERNAL\",\n \"options\": {\n \"fromValet\": false,\n \"requireCustomerSignature\": false\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.production.orderprotection.com/v1/claims/offline")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer\": {\n \"email\": \"customer@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"items\": [\n {\n \"sourceProductId\": \"product_123\",\n \"sourceVariantId\": \"variant_123\",\n \"name\": \"Product Name\",\n \"images\": [\n \"https://example.com/image1.jpg\",\n \"https://example.com/image2.jpg\"\n ],\n \"sourceItemId\": \"item_123\",\n \"sku\": \"SKU-12345\",\n \"details\": \"Product details and description of the issue\",\n \"productImage\": \"https://example.com/product.jpg\",\n \"price\": 99.99,\n \"subIssueId\": \"sub_issue_123\",\n \"productDescription\": \"Description of the product and its condition\",\n \"warrantyPeriod\": \"P1Y\"\n }\n ],\n \"warranty\": {\n \"dateOfPurchase\": \"2024-01-15T00:00:00.000Z\",\n \"receiptRequired\": true,\n \"receiptImages\": [\n \"https://example.com/receipt.jpg\"\n ]\n },\n \"shippingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\",\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"zip\": \"10001\",\n \"country\": \"United States\",\n \"address2\": \"Apt 1\",\n \"state\": \"NY\",\n \"stateAbr\": \"NY\",\n \"countryAbr\": \"US\",\n \"lat\": 40.7128,\n \"lng\": -74.006,\n \"addressOrigin\": \"CONCIERGE\"\n },\n \"storeId\": \"store_123\",\n \"signature\": \"https://example.com/signature.png\",\n \"salesChannel\": \"IN_STORE\",\n \"claimCategory\": \"WARRANTY\",\n \"issueType\": \"DEFECTIVE_ITEM\",\n \"resolution\": \"REFUND\",\n \"claimFiledFrom\": \"EXTERNAL\",\n \"options\": {\n \"fromValet\": false,\n \"requireCustomerSignature\": false\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.production.orderprotection.com/v1/claims/offline")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customer\": {\n \"email\": \"customer@example.com\",\n \"phoneNumber\": \"+1234567890\"\n },\n \"items\": [\n {\n \"sourceProductId\": \"product_123\",\n \"sourceVariantId\": \"variant_123\",\n \"name\": \"Product Name\",\n \"images\": [\n \"https://example.com/image1.jpg\",\n \"https://example.com/image2.jpg\"\n ],\n \"sourceItemId\": \"item_123\",\n \"sku\": \"SKU-12345\",\n \"details\": \"Product details and description of the issue\",\n \"productImage\": \"https://example.com/product.jpg\",\n \"price\": 99.99,\n \"subIssueId\": \"sub_issue_123\",\n \"productDescription\": \"Description of the product and its condition\",\n \"warrantyPeriod\": \"P1Y\"\n }\n ],\n \"warranty\": {\n \"dateOfPurchase\": \"2024-01-15T00:00:00.000Z\",\n \"receiptRequired\": true,\n \"receiptImages\": [\n \"https://example.com/receipt.jpg\"\n ]\n },\n \"shippingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Smith\",\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"zip\": \"10001\",\n \"country\": \"United States\",\n \"address2\": \"Apt 1\",\n \"state\": \"NY\",\n \"stateAbr\": \"NY\",\n \"countryAbr\": \"US\",\n \"lat\": 40.7128,\n \"lng\": -74.006,\n \"addressOrigin\": \"CONCIERGE\"\n },\n \"storeId\": \"store_123\",\n \"signature\": \"https://example.com/signature.png\",\n \"salesChannel\": \"IN_STORE\",\n \"claimCategory\": \"WARRANTY\",\n \"issueType\": \"DEFECTIVE_ITEM\",\n \"resolution\": \"REFUND\",\n \"claimFiledFrom\": \"EXTERNAL\",\n \"options\": {\n \"fromValet\": false,\n \"requireCustomerSignature\": false\n }\n}"

response = http.request(request)
puts response.read_body
{
  "status": "ok",
  "payload": {
    "sourceOrderId": "XX-1234-1234",
    "customer": {
      "email": "customer@example.com",
      "phoneNumber": "+1234567890"
    },
    "item": {
      "sourceProductId": "product_123",
      "sourceVariantId": "variant_123",
      "name": "Product Name",
      "images": [
        "https://example.com/image1.jpg",
        "https://example.com/image2.jpg"
      ],
      "sourceItemId": "item_123",
      "sku": "SKU-12345",
      "details": "Product details and description of the issue",
      "productImage": "https://example.com/product.jpg",
      "price": 99.99,
      "subIssueId": "sub_issue_123",
      "productDescription": "Description of the product and its condition",
      "warrantyPeriod": "P1Y"
    },
    "warranty": {
      "dateOfPurchase": "2024-01-15T00:00:00.000Z",
      "receiptRequired": true,
      "receiptImages": [
        "https://example.com/receipt.jpg"
      ]
    },
    "shippingAddress": {
      "firstName": "John",
      "lastName": "Smith",
      "address1": "123 Main St",
      "city": "New York",
      "zip": "10001",
      "country": "United States",
      "address2": "Apt 1",
      "state": "NY",
      "stateAbr": "NY",
      "countryAbr": "US",
      "lat": 40.7128,
      "lng": -74.006,
      "addressOrigin": "CONCIERGE"
    },
    "storeId": "store_123",
    "signature": "https://example.com/signature.png",
    "salesChannel": "IN_STORE",
    "claimCategory": "WARRANTY",
    "issueType": "DEFECTIVE_ITEM",
    "resolution": "REFUND"
  }
}
{
"message": "Unauthorized",
"statusCode": 401
}
{
"message": "order not found",
"statusCode": 404
}
Warranty claims for orders that were made through an alternative sales channel not through your online store.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
customer
object
required
items
object[]
required
Minimum array length: 1
warranty
object
required
shippingAddress
object
required
storeId
string
required

The store identifier

Example:

"store_123"

signature
string<uri>
required

Customer signature image URL (can be empty string)

Example:

"https://example.com/signature.png"

salesChannel
enum<string>
required

The sales channel for the claim

Available options:
ONLINE,
IN_STORE
Example:

"IN_STORE"

claimCategory
enum<string>
required

The category of the claim

Available options:
SHIPPING,
WARRANTY
Example:

"WARRANTY"

issueType
enum<string>
required

The type of issue being claimed

Available options:
STOLEN,
DAMAGED,
ORDER_DELIVERED_NOT_RECEIVED,
DEFECTIVE_ITEM,
WRONG_ITEM,
MISSING_ITEM,
RETURNED_TO_SENDER,
MULTIPLE,
TRACKING_NOT_MOVING,
WRONG_ADDRESS
Example:

"DEFECTIVE_ITEM"

resolution
enum<string>
required

The requested resolution method

Available options:
RESHIP,
REFUND,
STORE_CREDIT
Example:

"REFUND"

claimFiledFrom
enum<string>
default:EXTERNAL

Indicates where the claim was filed from

Available options:
EXTERNAL,
INTERNAL
Example:

"EXTERNAL"

options
object

Additional options for claim creation

Response

status
string
required
read-only
Example:

"ok"

payload
object
required
read-only