Legacy v1
Identify active v1 resources and migrate retired listing and invoice operations.
The API reference contains active v1 and v2 operations. A /v1 path is not
deprecated unless the operation is marked deprecated: true in OpenAPI.
Retired operations
The v1 listing operations return 410 Gone. Use the corresponding v2 product
operation:
/v1/listings → /v2/products
/v1/listings/search → /v2/products/search
/v1/listings/batch → /v2/products/batch
/v1/listings/{listing} → /v2/products/{product}The v1 invoice operations also return 410 Gone. Replace the /v1/invoices
prefix with /v2/invoices; checkout, issue-replacement, mark-completed, and
mark-voided operations have direct v2 counterparts.
Each retired OpenAPI operation includes deprecated: true and an
x-sellapp-replacement method/path value for automated migration tooling.
Active v1 resources
Coupons, sections, tickets, feedback, and blacklists currently retain active v1 operations. Continue using their documented paths until a replacement is announced in the API changelog.
Additional endpoint reference
List all blacklist rules
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Number of items to return per page.
151 <= value <= 100Page number to return.
11 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/blacklists"{
"data": [
{
"id": 1,
"type": "EMAIL",
"data": "leo.martin@example.com",
"description": "Block the address used by our launch-day load-test bot.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1
}
],
"links": {
"first": "https://sell.app/api/v1/blacklists?page=1",
"last": "https://sell.app/api/v1/blacklists?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/blacklists",
"per_page": 15,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/blacklists?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Create a blacklist rule
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/blacklists" \ -H "Content-Type: application/json" \ -d '{ "type": "WILDCARD_EMAIL", "data": "@blocked.example", "description": "Retired after the growth experiment ended." }'{
"data": {
"id": 1,
"type": "WILDCARD_EMAIL",
"data": "@blocked.example",
"description": "Retired after the growth experiment ended.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve a blacklist rule
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The unique identifier of the blacklist rule.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/blacklists/1"{
"data": {
"id": 1,
"type": "WILDCARD_EMAIL",
"data": "@blocked.example",
"description": "Retired after the growth experiment ended.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Update a blacklist rule
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The unique identifier of the blacklist rule.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/blacklists/1" \ -H "Content-Type: application/json" \ -d '{ "type": "WILDCARD_EMAIL", "data": "@blocked-domain.example", "description": "Block purchases from this email domain." }'{
"data": {
"id": 1,
"type": "WILDCARD_EMAIL",
"data": "@blocked-domain.example",
"description": "Block purchases from this email domain.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Delete a blacklist rule
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The unique identifier of the blacklist rule.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/blacklists/1"{
"data": {
"id": 1,
"type": "WILDCARD_EMAIL",
"data": "@blocked.example",
"description": "Retired after the growth experiment ended.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List all coupons
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Number of items to return per page.
151 <= value <= 100Page number to return.
11 <= valueInclude soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/coupons"{
"data": [
{
"id": 1,
"code": "BONANZA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": true,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [],
"product_variants": [],
"maximum_discount_amount": null
}
],
"links": {
"first": "https://sell.app/api/v1/coupons?page=1",
"last": "https://sell.app/api/v1/coupons?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/coupons",
"per_page": 15,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/coupons?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Create a coupon
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/coupons" \ -H "Content-Type: application/json" \ -d '{ "code": "PLAN10", "type": "PERCENTAGE", "discount": 10, "store_wide": false, "products": [ 123, 456 ], "product_variants": [ 1001, 1002 ] }'{
"data": {
"id": 1,
"code": "PLAN10",
"type": "PERCENTAGE",
"discount": "10",
"limit": null,
"store_wide": false,
"minimum_amount": null,
"expires_at": null,
"created_at": "2026-08-30T12:00:01.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [
123,
456
],
"product_variants": [
1001,
1002
],
"maximum_discount_amount": null
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve a coupon
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The coupon path parameter.
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/coupons/1"{
"data": {
"id": 1,
"code": "BONANZA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": true,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [],
"product_variants": [],
"maximum_discount_amount": null
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Update a coupon
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The coupon path parameter.
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/coupons/1" \ -H "Content-Type: application/json" \ -d '{ "store_wide": false, "products": [ 123 ], "product_variants": [ 1001, 1002 ] }'{
"data": {
"id": 1,
"code": "BAZINGA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": false,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [
123
],
"product_variants": [
1001,
1002
],
"maximum_discount_amount": null
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Delete a coupon
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The coupon path parameter.
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/coupons/1"{
"data": {
"id": 1,
"code": "BONANZA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": true,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": "2026-08-30T12:00:01.000000Z",
"products": [],
"product_variants": [],
"maximum_discount_amount": null
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Update a coupon
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The coupon path parameter.
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v1/coupons/1" \ -H "Content-Type: application/json" \ -d '{ "store_wide": false, "products": [ 123 ], "product_variants": [ 1001, 1002 ] }'{
"data": {
"id": 1,
"code": "BAZINGA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": false,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [
123
],
"product_variants": [
1001,
1002
],
"maximum_discount_amount": null
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List all feedback
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Number of items to return per page.
151 <= value <= 100Page number to return.
11 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/feedback"{
"data": [
{
"id": 1,
"feedback": "POSITIVE",
"rating": 5,
"deleted_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"listing_id": 1,
"invoice_id": 1,
"store_id": 1,
"metadata": null,
"message": "The download arrived immediately and the setup instructions were clear.",
"reply": "Thank you for your feedback.",
"is_automatic": true
}
],
"links": {
"first": "https://sell.app/api/v1/feedback?page=1",
"last": "https://sell.app/api/v1/feedback?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/feedback",
"per_page": 15,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/feedback?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve specific feedback
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The feedback path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/feedback/1"{
"data": {
"id": 1,
"feedback": "POSITIVE",
"rating": 5,
"deleted_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"listing_id": 1,
"invoice_id": 1,
"store_id": 1,
"metadata": null,
"message": "The download arrived immediately and the setup instructions were clear.",
"reply": "Thank you for your feedback.",
"is_automatic": true
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Reply to feedback
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The feedback path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/feedback/1" \ -H "Content-Type: application/json" \ -d '{ "reply": "Please contact support if you need help with your download." }'{
"data": {
"id": 1,
"feedback": "POSITIVE",
"rating": 5,
"deleted_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"listing_id": 1,
"invoice_id": 1,
"store_id": 1,
"metadata": null,
"message": "The download arrived immediately and the setup instructions were clear.",
"reply": "Please contact support if you need help with your download.",
"is_automatic": true
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List all sections
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Number of items to return per page.
151 <= value <= 100Page number to return.
11 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/sections"{
"data": [
{
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
],
"links": {
"first": "https://sell.app/api/v1/sections?page=1",
"last": "https://sell.app/api/v1/sections?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/sections",
"per_page": 15,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/sections?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Create a section
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/sections" \ -H "Content-Type: application/json" \ -d '{ "title": "Founder resources", "hidden": false }'{
"data": {
"id": 1,
"title": "Founder resources",
"slug": "founder-resources",
"hidden": false,
"order": 1,
"created_at": "2026-08-30T12:00:01.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 0,
"products_linked": 0,
"groups": [],
"products": []
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve a section
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The section path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/sections/1"{
"data": {
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Update a section
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The section path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/sections/1" \ -H "Content-Type: application/json" \ -d '{ "title": "Founder resources", "hidden": false }'{
"data": {
"id": 1,
"title": "Founder resources",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Delete a section
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The section path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/sections/1"{
"data": {
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Update a section
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The section path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v1/sections/1" \ -H "Content-Type: application/json" \ -d '{ "title": "Founder resources", "hidden": false }'{
"data": {
"id": 1,
"title": "Founder resources",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List all tickets
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Number of items to return per page.
151 <= value <= 100Page number to return.
11 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/tickets"{
"data": [
{
"id": 1,
"title": "Payment methods",
"status": "OPEN",
"customer": {
"id": 125,
"email": "jamie.chen@example.com"
},
"reference": [],
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"read_by": 1,
"archived": 0
}
],
"links": {
"first": "https://sell.app/api/v1/tickets?page=1",
"last": "https://sell.app/api/v1/tickets?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/tickets",
"per_page": 15,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/tickets?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve specific ticket
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The ticket path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/tickets/1"{
"data": {
"id": 1,
"title": "Payment methods",
"status": "OPEN",
"customer": {
"id": 125,
"email": "jamie.chen@example.com"
},
"reference": [],
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"read_by": 1,
"archived": 0
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List all ticket messages
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The ticket path parameter.
Query Parameters
Number of items to return per page.
151 <= value <= 100Page number to return.
11 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/tickets/1/messages"{
"data": [
{
"id": 1,
"author": "CUSTOMER",
"sender": "jamie.chen@example.com",
"content": "Hello, which payment methods can I use for this purchase?",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"ticket_id": 1
}
],
"links": {
"first": "https://sell.app/api/v1/tickets/1/messages?page=1",
"last": "https://sell.app/api/v1/tickets/1/messages?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/tickets/1/messages",
"per_page": 15,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/tickets/1/messages?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Reply to ticket
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The ticket path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/tickets/1/messages" \ -H "Content-Type: application/json" \ -d '{ "content": "You can choose from the payment methods shown at checkout." }'{
"data": {
"id": 2,
"author": "STORE",
"sender": null,
"content": "You can choose from the payment methods shown at checkout.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"ticket_id": 1
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve specific ticket message
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The ticket path parameter.
The message path parameter.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/tickets/1/messages/2"{
"data": {
"id": 2,
"author": "STORE",
"sender": null,
"content": "You can choose from the payment methods shown at checkout.",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"ticket_id": 1
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search tickets
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/tickets/search" \ -H "Content-Type: application/json" \ -d '{ "filters": [ { "field": "id", "operator": "=", "value": 1 } ], "sort": [ { "field": "created_at", "direction": "desc" } ] }'{
"data": [
{
"id": 1,
"title": "Payment methods",
"status": "OPEN",
"customer": {
"id": 125,
"email": "jamie.chen@example.com"
},
"reference": [],
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"read_by": 1,
"archived": 0
}
],
"links": {
"first": "https://sell.app/api/v1/tickets/search?page=1",
"last": "https://sell.app/api/v1/tickets/search?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/tickets/search",
"per_page": 20,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/tickets/search?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search ticket messages
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The ticket path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/tickets/1/messages/search" \ -H "Content-Type: application/json" \ -d '{ "filters": [ { "field": "id", "operator": "=", "value": 1 } ], "sort": [ { "field": "created_at", "direction": "desc" } ] }'{
"data": [
{
"id": 1,
"author": "CUSTOMER",
"sender": "jamie.chen@example.com",
"content": "Hello, which payment methods can I use for this purchase?",
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"ticket_id": 1
}
],
"links": {
"first": "https://sell.app/api/v1/tickets/1/messages/search?page=1",
"last": "https://sell.app/api/v1/tickets/1/messages/search?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/tickets/1/messages/search",
"per_page": 20,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/tickets/1/messages/search?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search feedback
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/feedback/search" \ -H "Content-Type: application/json" \ -d '{ "filters": [ { "field": "id", "operator": "=", "value": 1 } ], "sort": [ { "field": "created_at", "direction": "desc" } ] }'{
"data": [
{
"id": 1,
"feedback": "POSITIVE",
"rating": 5,
"deleted_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"listing_id": 1,
"invoice_id": 1,
"store_id": 1,
"metadata": null,
"message": "The download arrived immediately and the setup instructions were clear.",
"reply": "Thank you for your feedback.",
"is_automatic": true
}
],
"links": {
"first": "https://sell.app/api/v1/feedback/search?page=1",
"last": "https://sell.app/api/v1/feedback/search?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/feedback/search",
"per_page": 20,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/feedback/search?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Replace section order
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v1/sections/order" \ -H "Content-Type: application/json" \ -d '{ "resources": [ 3, 1, 2 ] }'{
"data": [
{
"id": 3,
"title": "Founder resources 3",
"slug": "founder-resources-3",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
},
{
"id": 1,
"title": "Founder resources 1",
"slug": "founder-resources-1",
"hidden": false,
"order": 2,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
},
{
"id": 2,
"title": "Founder resources 2",
"slug": "founder-resources-2",
"hidden": false,
"order": 3,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Replace section products
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The section path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v1/sections/0/products" \ -H "Content-Type: application/json" \ -d '{ "resources": [ 3, 1, 2 ] }'{
"data": {
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 3,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "3",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
},
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
},
{
"id": "2",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Replace section groups
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The section path parameter.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://sell.app/api/v1/sections/0/groups" \ -H "Content-Type: application/json" \ -d '{ "resources": [ 3, 1, 2 ] }'{
"data": {
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 3,
"products_linked": 1,
"groups": [
{
"id": 3,
"title": "Project Planning Toolkit",
"group_products": 1
},
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
},
{
"id": 2,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "not_found_error",
"code": "resource_not_found",
"message": "Not Found.",
"status": 404,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search coupons
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/coupons/search" \ -H "Content-Type: application/json" \ -d '{ "filters": [ { "field": "id", "operator": "=", "value": 1 } ], "sort": [ { "field": "created_at", "direction": "desc" } ] }'{
"data": [
{
"id": 1,
"code": "BONANZA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": true,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [],
"product_variants": [],
"maximum_discount_amount": null
}
],
"links": {
"first": "https://sell.app/api/v1/coupons/search?page=1",
"last": "https://sell.app/api/v1/coupons/search?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/coupons/search",
"per_page": 20,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/coupons/search?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch create coupons
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/coupons/batch" \ -H "Content-Type: application/json" \ -d '{ "resources": [ { "code": "STARTER10", "type": "PERCENTAGE", "discount": 10, "store_wide": false, "products": [ 123 ], "product_variants": [ 1001 ] } ] }'{
"data": [
{
"id": 1,
"code": "STARTER10",
"type": "PERCENTAGE",
"discount": "10",
"limit": null,
"store_wide": false,
"minimum_amount": null,
"expires_at": null,
"created_at": "2026-08-30T12:00:01.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [
123
],
"product_variants": [
1001
],
"maximum_discount_amount": null
}
]
}{
"data": [
{
"id": 1,
"code": "STARTER10",
"type": "PERCENTAGE",
"discount": "10",
"limit": null,
"store_wide": false,
"minimum_amount": null,
"expires_at": null,
"created_at": "2026-08-30T12:00:01.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [
123
],
"product_variants": [
1001
],
"maximum_discount_amount": null
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch update coupons
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/coupons/batch" \ -H "Content-Type: application/json" \ -d '{ "resources": { "1": { "store_wide": false, "products": [ 123 ], "product_variants": [ 1001, 1002 ] } } }'{
"data": [
{
"id": 1,
"code": "BONANZA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": false,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": null,
"products": [
123
],
"product_variants": [
1001,
1002
],
"maximum_discount_amount": null
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch delete coupons
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Query Parameters
Include soft-deleted resources in the result.
falseReturn only soft-deleted resources. Ignored when with_trashed is true.
falseRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/coupons/batch" \ -H "Content-Type: application/json" \ -d '{ "resources": [ 1, 2 ] }'{
"data": [
{
"id": 1,
"code": "BONANZA",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": true,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": "2026-08-30T12:00:01.000000Z",
"products": [],
"product_variants": [],
"maximum_discount_amount": null
},
{
"id": 2,
"code": "BONANZA2",
"type": "PERCENTAGE",
"discount": "80",
"limit": null,
"store_wide": true,
"minimum_amount": null,
"expires_at": null,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"deleted_at": "2026-08-30T12:00:01.000000Z",
"products": [],
"product_variants": [],
"maximum_discount_amount": null
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search sections
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/sections/search" \ -H "Content-Type: application/json" \ -d '{ "filters": [ { "field": "id", "operator": "=", "value": 1 } ], "sort": [ { "field": "created_at", "direction": "desc" } ] }'{
"data": [
{
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2022-12-12T12:12:12.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
],
"links": {
"first": "https://sell.app/api/v1/sections/search?page=1",
"last": "https://sell.app/api/v1/sections/search?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://sell.app/api/v1/sections/search",
"per_page": 20,
"to": 1,
"total": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://sell.app/api/v1/sections/search?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
]
}
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch create sections
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/sections/batch" \ -H "Content-Type: application/json" \ -d '{ "resources": [ { "title": "Featured", "hidden": false } ] }'{
"data": [
{
"id": 1,
"title": "Featured",
"slug": "featured",
"hidden": false,
"order": 1,
"created_at": "2026-08-30T12:00:01.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 0,
"products_linked": 0,
"groups": [],
"products": []
}
]
}{
"data": [
{
"id": 1,
"title": "Featured",
"slug": "featured",
"hidden": false,
"order": 1,
"created_at": "2026-08-30T12:00:01.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 0,
"products_linked": 0,
"groups": [],
"products": []
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch update sections
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/sections/batch" \ -H "Content-Type: application/json" \ -d '{ "resources": { "1": { "title": "Featured", "hidden": false } } }'{
"data": [
{
"id": 1,
"title": "Featured",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
]
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch delete sections
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/sections/batch" \ -H "Content-Type: application/json" \ -d '{ "resources": [ 1, 2 ] }'{
"data": [
{
"id": 1,
"title": "Dissection",
"slug": "dissection",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
],
"deleted_at": "2026-08-30T12:00:01.000000Z"
},
{
"id": 2,
"title": "Dissection",
"slug": "dissection-2",
"hidden": false,
"order": 1,
"created_at": "2022-12-12T12:12:12.000000Z",
"updated_at": "2026-08-30T12:00:01.000000Z",
"store_id": 1,
"groups_linked": 1,
"products_linked": 1,
"groups": [
{
"id": 1,
"title": "Project Planning Toolkit",
"group_products": 1
}
],
"products": [
{
"id": "1",
"title": "Project Planning Guide",
"description": "Includes practical examples and a downloadable checklist."
}
],
"deleted_at": "2026-08-30T12:00:01.000000Z"
}
]
}{
"type": "authentication_error",
"code": "unauthenticated",
"message": "Unauthenticated.",
"status": 401,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}{
"type": "authorization_error",
"code": "forbidden",
"message": "This action is unauthorized.",
"status": 403,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#forbidden"
}{
"type": "validation_error",
"code": "validation_failed",
"message": "The selected product variant id is invalid.",
"status": 422,
"param": "product_variant_id",
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#validation-failed",
"errors": {
"product_variant_id": [
"The selected product variant id is invalid."
]
}
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List legacy V1 listings
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/listings"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Create legacy V1 listing
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/listings"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search legacy V1 listings
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/listings/search"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch create legacy V1 listings
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/listings/batch"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch update legacy V1 listings
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/listings/batch"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Batch delete legacy V1 listings
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/listings/batch"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve legacy V1 listing
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The listing path parameter.
Response Body
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/listings/0"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Update legacy V1 listing
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The listing path parameter.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/listings/0"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Delete legacy V1 listing
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The listing path parameter.
Response Body
application/json
application/json
application/json
curl -X DELETE "https://sell.app/api/v1/listings/0"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}List legacy V1 invoices
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/invoices"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Create legacy V1 invoice
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/invoices"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Search legacy V1 invoices
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Response Body
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/invoices/search"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Retrieve legacy V1 invoice
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The invoice path parameter.
Response Body
application/json
application/json
application/json
curl -X GET "https://sell.app/api/v1/invoices/0"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Create legacy V1 invoice checkout
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The invoice path parameter.
Response Body
application/json
application/json
application/json
curl -X POST "https://sell.app/api/v1/invoices/0/checkout"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Issue legacy V1 invoice replacement
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The invoice path parameter.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/invoices/0/issue-replacement"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Mark legacy V1 invoice completed
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The invoice path parameter.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/invoices/0/mark-completed"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}Mark legacy V1 invoice voided
Authorization
bearerAuth storeAuth Provide your SellApp API key as a bearer token.
In: header
Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.
In: header
Path Parameters
The invoice path parameter.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://sell.app/api/v1/invoices/0/mark-voided"{
"type": "invalid_request_error",
"code": "endpoint_gone",
"message": "This endpoint is not available anymore. Please use the /api/v2 endpoints.",
"status": 410,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#endpoint-gone"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "Too Many Attempts.",
"status": 429,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}{
"type": "api_error",
"code": "api_error",
"message": "Server Error",
"status": 500,
"param": null,
"request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
"docs_url": "https://sell.app/docs/api/errors#api-error"
}