API ReferenceProduct Variants

List all product variants

List a product's variants, 15 per page by default.

List a product's variants, 15 per page by default.

GET
/v2/products/{product}/variants

Authorization

bearerAuth storeAuth
AuthorizationBearer <token>

Provide your SellApp API key as a bearer token.

In: header

X-STORE<token>

Select the SellApp store for this API request.

In: header

Path Parameters

product*integer

The product path parameter.

Query Parameters

limit?integer

Number of items to return per page.

Default15
Range1 <= value <= 100
page?integer

Page number to return.

Default1
Range1 <= value
with_drafts?boolean

Include draft variants alongside published variants.

only_drafts?boolean

Return only draft variants.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://sell.app/api/v2/products/1/variants"
{
  "data": [
    {
      "id": 1,
      "product_id": 1,
      "title": "Default",
      "description": "default variant",
      "deliverable": {
        "data": {
          "removeDuplicate": false,
          "parsingMode": "COMMA",
          "stock": 15,
          "comment": "Thanks for the purchase! I'll send you a contract by email. Make sure to sign it with your blood."
        },
        "types": [
          "MANUAL"
        ]
      },
      "pricing": {
        "humble": false,
        "frequency": {
          "value": 1,
          "interval": "MONTH"
        },
        "type": "SINGLE_PAYMENT",
        "price": {
          "price": "1999",
          "currency": "USD"
        }
      },
      "minimum_purchase_quantity": 1,
      "maximum_purchase_quantity": null,
      "bulk_discount": [
        {
          "discount_percentage": 5,
          "minimum_purchase_amount": 2
        },
        {
          "discount_percentage": 10,
          "minimum_purchase_amount": 5
        }
      ],
      "payment_methods": [
        "STRIPE"
      ],
      "other_settings": {
        "quantity_increments": 1,
        "discord_data_required": false
      },
      "order": 1,
      "created_at": "2024-01-09T23:13:16.000000Z",
      "updated_at": "2024-01-10T17:27:01.000000Z",
      "deleted_at": null,
      "product": {
        "additional_information": [
          {
            "required": true,
            "key": "3aecffd000e00e2211e94558007ffc37",
            "type": "CHECKBOX",
            "label": "Did you test this in production?"
          }
        ]
      }
    }
  ],
  "links": {
    "first": "https://sell.app/api/v2/products/1/variants?page=1",
    "last": "https://sell.app/api/v2/products/1/variants?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://sell.app/api/v2/products/1/variants",
    "per_page": 15,
    "to": 1,
    "total": 1,
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "active": false
      },
      {
        "url": "https://sell.app/api/v2/products/1/variants?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": null,
        "label": "Next &raquo;",
        "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"
}