curl --request PATCH \
--url https://app.churningtracker.com/api/v1/buying-group-orders/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-api-secret: <api-key>' \
--data '
{
"status": "received",
"notes": "Received at warehouse"
}
'const options = {
method: 'PATCH',
headers: {
'x-api-key': '<api-key>',
'x-api-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: 'received', notes: 'Received at warehouse'})
};
fetch('https://app.churningtracker.com/api/v1/buying-group-orders/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.churningtracker.com/api/v1/buying-group-orders/{id}"
payload = {
"status": "received",
"notes": "Received at warehouse"
}
headers = {
"x-api-key": "<api-key>",
"x-api-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "dashboard",
"orderDate": "2023-12-25",
"orderTime": "14:30:00",
"retailer": "<string>",
"orderNumber": "<string>",
"retailerAccount": "<string>",
"subtotal": 1,
"shipping": 1,
"tax": 1,
"discount": 1,
"total": 1,
"creditCardId": "<string>",
"subCreditCardId": "<string>",
"cardEarnRate": 123,
"notes": "<string>",
"cashback": {
"platform": "<string>",
"status": "<string>",
"rewardType": "cashback",
"rewardAmount": 123
},
"createdAt": "2023-11-07T05:31:56Z",
"expectedPayout": 1,
"buyingGroup": "bfmr",
"status": "purchased",
"trackingNumbers": [
{
"trackingNumber": "<string>",
"carrier": "usps",
"itemCount": 123
}
],
"orderLineItems": [
{
"id": "<string>",
"description": "<string>",
"model": "<string>",
"unitPrice": 1,
"quantity": 123,
"expectedUnitPayout": 1
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}Update a buying group order
Changes only the fields you send.
curl --request PATCH \
--url https://app.churningtracker.com/api/v1/buying-group-orders/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-api-secret: <api-key>' \
--data '
{
"status": "received",
"notes": "Received at warehouse"
}
'const options = {
method: 'PATCH',
headers: {
'x-api-key': '<api-key>',
'x-api-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: 'received', notes: 'Received at warehouse'})
};
fetch('https://app.churningtracker.com/api/v1/buying-group-orders/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.churningtracker.com/api/v1/buying-group-orders/{id}"
payload = {
"status": "received",
"notes": "Received at warehouse"
}
headers = {
"x-api-key": "<api-key>",
"x-api-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "dashboard",
"orderDate": "2023-12-25",
"orderTime": "14:30:00",
"retailer": "<string>",
"orderNumber": "<string>",
"retailerAccount": "<string>",
"subtotal": 1,
"shipping": 1,
"tax": 1,
"discount": 1,
"total": 1,
"creditCardId": "<string>",
"subCreditCardId": "<string>",
"cardEarnRate": 123,
"notes": "<string>",
"cashback": {
"platform": "<string>",
"status": "<string>",
"rewardType": "cashback",
"rewardAmount": 123
},
"createdAt": "2023-11-07T05:31:56Z",
"expectedPayout": 1,
"buyingGroup": "bfmr",
"status": "purchased",
"trackingNumbers": [
{
"trackingNumber": "<string>",
"carrier": "usps",
"itemCount": 123
}
],
"orderLineItems": [
{
"id": "<string>",
"description": "<string>",
"model": "<string>",
"unitPrice": 1,
"quantity": 123,
"expectedUnitPayout": 1
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"issues": [
{
"path": "orderLineItems.0.unitPrice",
"message": "<string>"
}
]
}
}Authorizations
Your API key, starting with ct_key_.
Your API secret, starting with ct_secret_.
Path Parameters
Order ID.
Body
Send only the fields to change. null clears a nullable field.
YYYY-MM-DD.
"2026-10-01"
HH:mm or HH:mm:ss, in your local time.
"14:30"
Store name, such as Best Buy.
"Best Buy"
Must be unique across your orders. Surrounding spaces are trimmed.
100"BBY01-123456"
Shipping in cents.
x >= 0Tax in cents.
x >= 04800
Discount in cents.
x >= 0ID of one of your credit cards, from List credit cards.
ID of one of that card's subCards.
Points or cashback multiplier, e.g. 2 for 2x or 1.5 for 1.5x. Up to three decimal places; more are rounded.
x >= 0The retailer account the order was placed with, such as its email.
1001000Gift card codes, vouchers, or credits for the order. Write-only: responses don't include them. Your plan's per-order limit applies.
50Show child attributes
Show child attributes
purchased, shipped, partially_delivered, delivered, partially_received, received, partially_paid, issue, paid, cancelled "purchased"
Replaces the whole list and recalculates the subtotal. An item with an id updates that line item, keeping fields you omit. An item without an id is new and needs every required field. Line items left out are removed.
1 - 10 elementsShow child attributes
Show child attributes
Response
The updated order.
Show child attributes
Show child attributes