Get order cancellation eligibility by order ID
curl --request POST \
--url https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility \
--header 'Authorization: Bearer <token>' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>'import requests
url = "https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility"
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-id>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility', 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.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-fabric-channel-id: <x-fabric-channel-id>",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-id>")
req.Header.Add("Authorization", "Bearer <token>")
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.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"eligibleReasonCodes": [
{
"code": "1DMG",
"description": "Damaged"
}
],
"fees": [
{
"amount": 33.9,
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"currency": "USD",
"platinumFee": 33.9
}
],
"items": [
{
"eligibleQuantity": 10,
"isEligible": true,
"lineItemId": "62f3dfc438bcab1951be0a19",
"sku": "P1234"
}
],
"orderId": "62f3982438bcab1951be0a19",
"period": "30D00H00M",
"policyType": "Company Policy 2023"
}{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}{
"message": "Not found",
"type": "CLIENT_ERROR"
}{
"message": "Internal server error",
"type": "SERVER_ERROR"
}Cancellations
Get order cancellation eligibility by order ID
Determines whether an order is eligible for cancellation.
- Customers may initiate cancellation due to incorrect order placement.
- Merchants may initiate cancellation due to product unavailability, pricing errors, payment failures, or shipping restrictions.
This endpoint checks cancellation eligibility using the order ID.
You can also specify lineItemIds to check eligibility for specific line items.
If omitted, eligibility is checked for each item in the order.
Note:
- Use this endpoint only if you have the order ID.
- If you have an order number instead, use the order number–based endpoint:
POST /orders/order-number/{orderNumber}/actions/check-cancel-eligibility.
POST
/
orders
/
{orderId}
/
actions
/
check-cancel-eligibility
Get order cancellation eligibility by order ID
curl --request POST \
--url https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility \
--header 'Authorization: Bearer <token>' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>'import requests
url = "https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility"
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-id>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility', 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.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"x-fabric-channel-id: <x-fabric-channel-id>",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-id>")
req.Header.Add("Authorization", "Bearer <token>")
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.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/orders/{orderId}/actions/check-cancel-eligibility")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"eligibleReasonCodes": [
{
"code": "1DMG",
"description": "Damaged"
}
],
"fees": [
{
"amount": 33.9,
"amountInCurrencies": [
{
"currency": "USD",
"group": "SHOPPER",
"amount": 123.45
}
],
"currency": "USD",
"platinumFee": 33.9
}
],
"items": [
{
"eligibleQuantity": 10,
"isEligible": true,
"lineItemId": "62f3dfc438bcab1951be0a19",
"sku": "P1234"
}
],
"orderId": "62f3982438bcab1951be0a19",
"period": "30D00H00M",
"policyType": "Company Policy 2023"
}{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}{
"message": "Not found",
"type": "CLIENT_ERROR"
}{
"message": "Internal server error",
"type": "SERVER_ERROR"
}Authorizations
Headers
A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.
Path Parameters
Query Parameters
Response
OK
Eligibility details object.
Was this page helpful?
