Skip to main content

Get Partner

Retrieve one published partner from your store.

stats is always present and is null unless you pass include=stats. Stats require a currency the store sells in. Omit the dates to total all time — there is no default window.

Request​

GET /partners/{id}

Path Parameters​

ParameterTypeRequiredDescription
idstringYesPartner UUID. A malformed value returns 400.

Query Parameters​

ParameterTypeRequiredDefaultDescription
includestringNo—Comma-separated list of sections to expand. Allowed value: stats. Unknown values are ignored. Omitted or empty leaves stats null.
currencystringWhen include=stats—Lowercase ISO-4217 code (e.g. usd). Required with include=stats. Must be a currency the store sells in — see Get Store → currencies. Missing, malformed, or not sold returns 400. Not used when stats is not requested.
created_fromstringNo—With include=stats, only purchases and visits on or after this date (inclusive), YYYY-MM-DD. Omitted means all time. Applies only together with include=stats.
created_tostringNo—With include=stats, only purchases and visits on or before this date (inclusive), YYYY-MM-DD. Omitted means all time. Applies only together with include=stats.
productstringNo—Product UUID. Limits the stats to that product. Applies only together with include=stats. A malformed value returns 400.

Example Request​

curl -X GET "https://cart.easy.tools/api/v1/partners/7c2e9a14-3b6f-4d81-9e25-0c8a1f4b6d30?include=stats&currency=usd" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Response​

Success Response (200)​

Returns the partner. This partner has one sale of the 250g package and a full refund of that sale, and 20 visits. amount is 0 and sales_count stays 1. commission_amount is 1. The signed rows are on Get Partner Transactions.

{
"id": "7c2e9a14-3b6f-4d81-9e25-0c8a1f4b6d30",
"name": "Ada",
"email": "ada@example.com",
"ref": "ada",
"cookie_valid_days": null,
"commission_percent": 15,
"is_auto_created": false,
"created_at": "2026-05-27T10:15:30+00:00",
"updated_at": "2026-05-27T10:15:30+00:00",
"stats": {
"visits_count": 20,
"sales_count": 1,
"amount": 0,
"commission_amount": 1,
"conversion_rate_percent": 5,
"currency": "usd"
}
}

A read with no include returns the same partner and "stats": null.

Response Fields​

See the Partner object and the Stats object. cookie_valid_days: null inherits the store default of 7 days. commission_percent: 15 is this partner's override — 15%, not the store's 20%.

Error Responses​

Bad Request (400)​

A malformed partner id:

{
"message": "Invalid partner ID"
}

include=stats without a currency the store sells in. The same message is returned when currency is missing, not a 3-letter code, or not in the store's currencies.

{
"message": "A valid currency query parameter is required"
}

A malformed date or product UUID uses the filter shape — for example "Invalid value for 'product': 'nope'".

Not Found Error (404)​

Unknown, archived, and the store referrer all return the same body.

{
"message": "Partner with ID 7c2e9a14-3b6f-4d81-9e25-0c8a1f4b6d30 not found"
}

Unauthorized Error (401)​

{
"message": "Unauthenticated."
}

Forbidden Error (403)​

Returned when your API key has not been granted access to the requested store.

{
"message": "You do not have API access to the requested store."
}

Rate Limit Error (429 Too Many Requests)​

Returned when you exceed the rate limit. The Retry-After response header gives the number of seconds to wait.

{
"message": "Too many requests. Please retry after 60 seconds."
}