Products

Products are what customers browse and purchase. Your storefront can contain many products, each of which have their own price, product deliverable, and payment methods. On this page, we'll dive into the different product endpoints you can use to manage products programmatically. We'll look at how to create, update, and delete products.

The product model

The product model contains all the information about the products stores have, including the price, media, and customization options.

Properties

  • Name
    id
    Type
    integer
    Description

    The unique identifier for the product.

  • Name
    title
    Type
    string
    Description

    The product title.

  • Name
    slug
    Type
    string
    Description

    The product slug.

  • Name
    description
    Type
    string
    Description

    The product description.

  • Name
    images
    Type
    object
    Description

    The image(s) of the product.

  • Name
    order
    Type
    integer
    Description

    The order of the product.

  • Name
    visibility
    Type
    string
    Description

    The product visibility. String - One of four values:

    • PUBLIC: Product can be visited and purchased.
    • ON_HOLD: Product can be visited but not be purchased.
    • HIDDEN: Product can be only visited via direct link and purchased.
    • PRIVATE: Product cannot be visited or purchased.
  • Name
    additional_information
    Type
    array
    Description

    The additional information input(s) of the product. Array consists of:

    • type: String - One of the following
      • TEXT
      • NUMBER
      • HIDDEN
      • TEXTAREA
      • CHECKBOX
    • required: Boolean - specifying whether the additional information is required
    • label: String - specifying what the customer needs to enter. Examples below
      • TEXT: What is your in-game username?
      • NUMBER: To what mobile number do you want this delivered?
      • HIDDEN: n.a. (as this is a hidden input not visible to the end-user)
      • TEXTAREA: Please specify what your website should look like.
      • CHECKBOX: Would you like a complimentary drink?
  • Name
    warranty
    Type
    array
    Description

    The warranty terms of the product. Array consists of:

    • preferredUnit: String - One of the following:
      • MINUTES
      • HOURS
      • DAYS
    • text: String - specifying the warranty terms.
    • time: Integer - of the duration of the warranty post-purchase (in seconds).
  • Name
    other_settings
    Type
    array
    Description

    Customization settings of the product, with the following options:

    • redirect_url: String - URL you want to redirect your customers to after a successful purchase.
    • video_url: String - URL of a product video, will be displayed on product page. Supported services:
      • YouTube
      • Vimeo
      • Dailymotion
      • Slideshare
      • Miro
    • product_title: String - Meta title element of the product, will appear in search engines and social media.
    • product_description: String - Meta description element of the product, will appear in search engines and social media.
    • call_to_action: String - Change the "Buy Now" button to a different CTA.
    • hide_image: Boolean - whether the product image(s) should be hidden on the product page.
    • badge: Array - Badge to be displayed on the product card. Consists of:
      • text: String - Badge text.
      • color: String - Badge color, in HEX format.
      • text_color: String - Color of the badge text, in HEX format.
    • faq: Array - Array of frequently asked questions to be displayed on the product page. Consists of:
      • question: String - FAQ question.
      • answer: String - FAQ answer.
  • Name
    deleted_at
    Type
    timestamp
    Description

    The time at which this product was deleted.

  • Name
    created_at
    Type
    timestamp
    Description

    The time at which this product was first created.

  • Name
    updated_at
    Type
    timestamp
    Description

    The time at which this product was last updated.

  • Name
    store_id
    Type
    integer
    Description

    The ID of the store this product belongs to.

  • Name
    category_id
    Type
    integer
    Description

    The ID of the category this product belongs to.

  • Name
    section_id
    Type
    integer
    Description

    The ID of the section this product belongs to.

  • Name
    section_order
    Type
    integer
    Description

    The order of the product within the section.

  • Name
    is_discoverable
    Type
    integer
    Description

    Whether the product can be discovered. One of two values:

    • 1: It can be discovered.
    • 0: It cannot be discovered.
  • Name
    image
    Type
    array
    Description

    The image of the product. NOTE: This value will be deprecated.

  • Name
    bulk_discount
    Type
    array
    Description

    The bulk discount values of the product. Array consists of:

    • minimum_purchase_amount: Integer - The quantity at which the bulk discount gets triggered.
    • discount_percentage: Integer - The discount value (in percentage) that gets applied to the product price.
  • Name
    deliverable
    Type
    array
    Description

    Deliverable details of the product, consists of the following:

    • types: Array - Array with values of the deliverable type(s) this product contains. Supported values:
      • DOWNLOADABLE: Downloadable file of any type.
      • TEXT: Text products delivered one-by-one.
      • DYNAMIC: Generate a product via your webhook URL.
      • MANUAL: A product that is manually carried out and/or delivered.
    • data: array - Array of deliverable data to be delivered. Consists of the following:
      • serials: Array - Only applicable if deliverable.types contains TEXT. This array should contain all of your serials, separated by a comma.
      • removeDuplicate: Boolean - Whether duplicate values should be removed.
      • comment: String - Only applicable if deliverable.types contains MANUAL. This string should specify what the next steps are for the manual delivery to be completed.
      • file: String - Only applicable if deliverable.types contains DOWNLOADABLE. This array should contain your downloadable product details.
      • webhook: String - Only applicable if deliverable.types contains DYNAMIC. This string should be your dynamic webhook endpoint, which we ping following a successful purchase.
      • stock: Integer - Specifies how much stock there is for the deliverable. Not required if deliverable.types contains TEXT.
    • delivery_text: String - Text to accompany the deliverable details. Useful for thanking the customer, or product instructions.
  • Name
    minimum_purchase_quantity
    Type
    integer
    Description

    The minimum amount of stock a customer is required to purchase.

  • Name
    maximum_purchase_quantity
    Type
    integer
    Description

    The maximum amount of stock a customer is allowed to purchase.

  • Name
    price
    Type
    array
    Description

    The product price array, contains two values:

    • price: Integer - price (in cents)
    • currency: String - Country ISO code of the currency the product is priced in.
  • Name
    pricing_type
    Type
    string
    Description

    The product pricing type. String - One of two values:

    • SINGLE_PAYMENT: Customers pays once for the product.
    • SUBSCRIPTION: Customer pays a recurring fee for the product.
  • Name
    charge_frequency
    Type
    array
    Description

    If the pricing_type is SUBSCRIPTION, this specifies how often a customer is charged. Consists of two values:

    • value: Integer - The amount of intervals the customer is charged at.
    • interval: String - Specifies the interval. One of four values:
      • DAY
      • WEEK
      • MONTH
      • YEAR
  • Name
    humble
    Type
    boolean
    Description

    Whether the product is of a "Pay what you want" type. If set to true, the customer can specify a price of their own.

  • Name
    payment_methods
    Type
    array
    Description

    This specifies which payment methods are available for the customer to check out with. Consists of at least one of the below values:

    • PAYPAL: PayPal
    • STRIPE: Stripe
    • CASHAPP: Cash App
    • COINBASE: Coinbase Commerce
    • PADDLE: Paddle
    • PAYSTACK: PayStack
    • BTCPAY: Bitcoin
    • VENMO: Venmo
    • SQUARE: Square

    Cryptocurrency payment methods:

    • BTC: Bitcoin
    • LTC: Litecoin
    • ETH: Ethereum
    • XMR: Monero
    • SOL: Solana
    • ADA: Cardano
  • Name
    url
    Type
    string
    Description

    The product URL.


GET/v1/listings

List all products

This endpoint allows you to retrieve a paginated list of all your products. By default, a maximum of fifteen products are shown per page.

Optional attributes

  • Name
    limit
    Type
    integer
    Description

    Limit the number of products returned

  • Name
    page
    Type
    integer
    Description

    The page number you are attempting to access.

  • Name
    with_trashed
    Type
    boolean
    Description

    Include deleted products in the results

  • Name
    only_trashed
    Type
    boolean
    Description

    Limit the results to only deleted products

Request

GET
/v1/listings
$client = new http\Client;
$request = new http\Client\Request;

$request->setRequestUrl('https://sell.app/api/v1/listings');
$request->setRequestMethod('GET');
$request->setHeaders([
  'accept' => 'application/json',
  'Authorization' => 'Bearer {ApiKeyHere}'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

{
  "data": [
    {
      "id": 1,
      "title": "This will make me rich!",
      "slug": "thiswillmakemerich",
      "description": "<p>I am sure of it, Pinky.<\/p>",
      "images": [],
      "order": 1,
      "visibility": "PUBLIC",
      "additional_information": [],
      "warranty": {
        "text": "",
        "time": null,
        "preferredUnit": "MINUTES"
      },
      "other_settings": {
        "faq": [
          {
            "answer": "It depends. Only if they are from the dark side.",
            "question": "Do you like cookies?"
          }
        ],
        "redirect_url": "https:\/\/google.com",
      },
      "deleted_at": null,
      "created_at": "2022-12-12T12:12:12.000000Z",
      "updated_at": "2022-12-12T12:12:12.000000Z",
      "store_id": 1,
      "category_id": 1,
      "section_id": null,
      "section_order": null,
      "is_discoverable": 1,
      "image": [],
      "bulk_discount": [],
      "deliverable": {
        "data": {
          "removeDuplicate": false,
          "parsingMode": "COMMA",
          "stock": 69,
          "comment": "Thank you for purchasing."
        },
        "types": [
          "MANUAL"
        ],
        "delivery_text": "For your next purchase, you can use coupon code 20OFF for 20 percent off!"
      },
      "minimum_purchase_quantity": 1,
      "maximum_purchase_quantity": 420,
      "price": {
        "price": "1000",
        "currency": "USD"
      },
      "pricing_type": "SINGLE_PAYMENT",
      "charge_frequency": {
        "value": 1,
        "interval": "MONTH"
      },
      "humble": false,
      "payment_methods": [
        "COINBASE",
        "CASHAPP",
        "PADDLE"
      ],
      "url": "https:\/\/admin.sell.app\/product\/thiswillmakemerich"
    }
  ],
  "links": {
    // ...
  },
  "meta": {
    // ...
  }
}

POST/v1/listings

Create a product

This endpoint allows you to create a new product. See the code examples for how to create a new product with the SellApp API.

Required attributes

  • Name
    title
    Type
    string
    Description

    The product title.

  • Name
    description
    Type
    string
    Description

    The product description.

  • Name
    visibility
    Type
    string
    Description

    The product visibility. String - One of four values:

    • PUBLIC: Product can be visited and purchased.
    • ON_HOLD: Product can be visited but not be purchased.
    • HIDDEN: Product can be only visited via direct link and purchased.
    • PRIVATE: Product cannot be visited or purchased.
  • Name
    deliverable
    Type
    array
    Description

    Deliverable details of the product, consists of the following:

    • types: Array - Array with values of the deliverable type(s) this product contains. Supported values:

      • DOWNLOADABLE: Downloadable file of any type.
      • TEXT: Text products delivered one-by-one.
      • DYNAMIC: Generate a product via your webhook URL.
      • MANUAL: A product that is manually carried out and/or delivered.
    • data: array - Array of deliverable data to be delivered. Consists of the following:

      • serials: Array - Only applicable if deliverable.types contains TEXT. This array should contain all of your serials, separated by a comma.
      • removeDuplicate: Boolean - Whether duplicate values should be removed.
      • comment: String - Only applicable if deliverable.types contains MANUAL. This string should specify what the next steps are for the manual delivery to be completed.
      • file: String - Only applicable if deliverable.types contains DOWNLOADABLE. This array should contain your downloadable product details.
      • webhook: String - Only applicable if deliverable.types contains DYNAMIC. This string should be your dynamic webhook endpoint, which we ping following a successful purchase.
      • stock: Integer - Specifies how much stock there is for the deliverable. Not required if deliverable.types contains TEXT.
    • delivery_text: String - Text to accompany the deliverable details. Useful for thanking the customer, or product instructions.

  • Name
    minimum_purchase_quantity
    Type
    integer
    Description

    The minimum amount of stock a customer is required to purchase.

  • Name
    price
    Type
    array
    Description

    The product price array, contains two values:

    • price: Integer - price (in cents)
    • currency: String - Country ISO code of the currency the product is priced in.
  • Name
    payment_methods
    Type
    array
    Description

    This specifies which payment methods are available for the customer to check out with. Consists of at least one of the below values:

    • PAYPAL: PayPal
    • STRIPE: Stripe
    • CASHAPP: Cash App
    • COINBASE: Coinbase Commerce
    • PADDLE: Paddle
    • PAYSTACK: PayStack
    • BTCPAY: Bitcoin
    • VENMO: Venmo
    • SQUARE: Square

    Cryptocurrency payment methods:

    • BTC: Bitcoin
    • LTC: Litecoin
    • ETH: Ethereum
    • XMR: Monero
    • SOL: Solana
    • ADA: Cardano

Optional attributes

  • Name
    images
    Type
    object
    Description

    The image(s) of the product.

  • Name
    order
    Type
    integer
    Description

    The order of the product.

  • Name
    additional_information
    Type
    array
    Description

    The additional information input(s) of the product. Array consists of:

    • type: String - One of the following
      • TEXT
      • NUMBER
      • HIDDEN
      • TEXTAREA
      • CHECKBOX
    • required: Boolean - specifying whether the additional information is required
    • label: String - specifying what the customer needs to enter. Examples below
      • TEXT: What is your in-game username?
      • NUMBER: To what mobile number do you want this delivered?
      • HIDDEN: n.a. (as this is a hidden input not visible to the end-user)
      • TEXTAREA: Please specify what your website should look like.
      • CHECKBOX: Would you like a complimentary drink?
  • Name
    warranty
    Type
    array
    Description

    The warranty terms of the product. Array consists of:

    • preferredUnit: String - One of the following:
      • MINUTES
      • HOURS
      • DAYS
    • text: String - specifying the warranty terms.
    • time: Integer - of the duration of the warranty post-purchase (in seconds).
  • Name
    other_settings
    Type
    array
    Description

    Customization settings of the product, with the following options:

    • redirect_url: String - URL you want to redirect your customers to after a successful purchase.
    • video_url: String - URL of a product video, will be displayed on product page. Supported services:
      • YouTube
      • Vimeo
      • Dailymotion
      • Slideshare
      • Miro
    • product_title: String - Meta title element of the product, will appear in search engines and social media.
    • product_description: String - Meta description element of the product, will appear in search engines and social media.
    • call_to_action: String - Change the "Buy Now" button to a different CTA.
    • hide_image: Boolean - whether the product image(s) should be hidden on the product page.
    • badge: Array - Badge to be displayed on the product card. Consists of:
      • text: String - Badge text.
      • color: String - Badge color, in HEX format.
      • text_color: String - Color of the badge text, in HEX format.
    • faq: Array - Array of frequently asked questions to be displayed on the product page. Consists of:
      • question: String - FAQ question.
      • answer: String - FAQ answer.
  • Name
    image
    Type
    array
    Description

    The image of the product. NOTE: This value will be deprecated.

  • Name
    bulk_discount
    Type
    array
    Description

    The bulk discount values of the product. Array consists of:

    • minimum_purchase_amount: Integer - The quantity at which the bulk discount gets triggered.
    • discount_percentage: Integer - The discount value (in percentage) that gets applied to the product price.
  • Name
    maximum_purchase_quantity
    Type
    integer
    Description

    The maximum amount of stock a customer is allowed to purchase.

  • Name
    pricing_type
    Type
    string
    Description

    The product pricing type. String - One of two values:

    • SINGLE_PAYMENT: Customers pays once for the product.
    • SUBSCRIPTION: Customer pays a recurring fee for the product.
  • Name
    charge_frequency
    Type
    array
    Description

    If the pricing_type is SUBSCRIPTION, this specifies how often a customer is charged. Consists of two values:

    • value: Integer - The amount of intervals the customer is charged at.
    • interval: String - Specifies the interval. One of four values:
      • DAY
      • WEEK
      • MONTH
      • YEAR
  • Name
    humble
    Type
    boolean
    Description

    Whether the product is of a "Pay what you want" type. If set to true, the customer can specify a price of their own.

Request

POST
/v1/listings
$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append('{
  "title": "This will make me rich!",
  "description": "I am sure of it, Pinky.",
  "visibility": "PUBLIC",
  "deliverable": {
    "types": ["TEXT"],
    "data": {
      "serials": ["1", "2", "3"],
      "removeDuplicate": false
    }
  },
  "price": {
    "price": 1000,
    "currency": "USD"
  },
  "payment_methods": [
    "PAYPAL",
    "STRIPE"
  ],
  "minimum_purchase_quantity": 1
}');

$request->setRequestUrl('https://sell.app/api/v1/listings');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json',
  'Accept' => 'text/json',
  'Authorization' => 'Bearer {ApiKeyHere}'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

{
  "data": {
    "id": 2,
    "title": "This will make me rich!",
    "slug": "this-will-make-me-rich",
    "description": "I am sure of it, Pinky.",
    "images": null,
    "order": 2,
    "visibility": "PUBLIC",
    "additional_information": [],
    "warranty": {
      "preferredUnit": "HOURS"
    },
    "other_settings": {
      "quantity_increments": 1,
      "discord_data_required": false
    },
    "deleted_at": null,
    "created_at": "2022-12-12T12:12:12.000000Z",
    "updated_at": "2022-12-12T12:12:12.000000Z",
    "store_id": 1,
    "category_id": null,
    "section_id": null,
    "section_order": null,
    "is_discoverable": 1,
    "image": null,
    "bulk_discount": null,
    "deliverable": {
      "data": {
        "removeDuplicate": false,
        "parsingMode": "COMMA",
        "stock": 3,
        "serials": [
          "1",
          "2",
          "3"
        ]
      },
      "types": [
        "TEXT"
      ],
      "delivery_text": null
    },
    "minimum_purchase_quantity": 1,
    "maximum_purchase_quantity": 3,
    "price": {
      "price": "1000",
      "currency": "USD"
    },
    "pricing_type": "SINGLE_PAYMENT",
    "charge_frequency": {
      "value": 1,
      "interval": "MONTH"
    },
    "humble": false,
    "payment_methods": [
      "PAYPAL",
      "STRIPE"
    ],
    "url": "https:\/\/admin.sell.app\/product\/this-will-make-me-rich"
  }
}

GET/v1/listings/:id

Retrieve a product

This endpoint allows you to retrieve a specific product by providing the unique identifier. Refer to the list at the top of this page to see which properties are included with product objects.

Request

GET
/v1/listings/:id
$client = new http\Client;
$request = new http\Client\Request;

$request->setRequestUrl('https://sell.app/api/v1/listings/2');
$request->setRequestMethod('GET');
$request->setHeaders([
  'accept' => 'application/json',
  'Authorization' => 'Bearer {ApiKeyHere}'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

{
  "id": 2,
  "title": "This will make me rich!",
  "slug": "this-will-make-me-rich",
  "description": "I am sure of it, Pinky.",
  "images": null,
  "order": 2,
  "visibility": "PUBLIC",
  "additional_information": [],
  "warranty": {
    "preferredUnit": "HOURS"
  },
  "other_settings": {
    "quantity_increments": 1,
    "discord_data_required": false
  },
  "deleted_at": null,
  "created_at": "2022-12-12T12:12:12.000000Z",
  "updated_at": "2022-12-12T12:12:12.000000Z",
  "store_id": 1,
  "category_id": null,
  "section_id": null,
  "section_order": null,
  "is_discoverable": 1,
  "image": null,
  "bulk_discount": null,
  "deliverable": {
    "data": {
      "removeDuplicate": false,
      "parsingMode": "COMMA",
      "stock": 3,
      "serials": [
        "1",
        "2",
        "3"
      ]
    },
    "types": [
      "TEXT"
    ],
    "delivery_text": null
  },
  "minimum_purchase_quantity": 1,
  "maximum_purchase_quantity": 3,
  "price": {
    "price": "1000",
    "currency": "USD"
  },
  "pricing_type": "SINGLE_PAYMENT",
  "charge_frequency": {
    "value": 1,
    "interval": "MONTH"
  },
  "humble": false,
  "payment_methods": [
    "PAYPAL",
    "STRIPE"
  ],
  "url": "https:\/\/store.sell.app\/product\/this-will-make-me-rich"
}

PATCH/v1/listings/:id

Update a product

This endpoint allows you to perform an update on a product.

Optional attributes

  • Name
    title
    Type
    string
    Description

    The product title.

  • Name
    description
    Type
    string
    Description

    The product description.

  • Name
    visibility
    Type
    string
    Description

    The product visibility. String - One of four values:

    • PUBLIC: Product can be visited and purchased.
    • ON_HOLD: Product can be visited but not be purchased.
    • HIDDEN: Product can be only visited via direct link and purchased.
    • PRIVATE: Product cannot be visited or purchased.
  • Name
    deliverable
    Type
    array
    Description

    Deliverable details of the product, consists of the following:

    • types: Array - Array with values of the deliverable type(s) this product contains. Supported values:

      • DOWNLOADABLE: Downloadable file of any type.
      • TEXT: Text products delivered one-by-one.
      • DYNAMIC: Generate a product via your webhook URL.
      • MANUAL: A product that is manually carried out and/or delivered.
    • data: array - Array of deliverable data to be delivered. Consists of the following:

      • serials: Array - Only applicable if deliverable.types contains TEXT. This array should contain all of your serials, separated by a comma.
      • removeDuplicate: Boolean - Whether duplicate values should be removed.
      • comment: String - Only applicable if deliverable.types contains MANUAL. This string should specify what the next steps are for the manual delivery to be completed.
      • file: String - Only applicable if deliverable.types contains DOWNLOADABLE. This array should contain your downloadable product details.
      • webhook: String - Only applicable if deliverable.types contains DYNAMIC. This string should be your dynamic webhook endpoint, which we ping following a successful purchase.
      • stock: Integer - Specifies how much stock there is for the deliverable. Not required if deliverable.types contains TEXT.
    • delivery_text: String - Text to accompany the deliverable details. Useful for thanking the customer, or product instructions.

  • Name
    minimum_purchase_quantity
    Type
    integer
    Description

    The minimum amount of stock a customer is required to purchase.

  • Name
    price
    Type
    array
    Description

    The product price array, contains two values:

    • price: Integer - price (in cents)
    • currency: String - Country ISO code of the currency the product is priced in.
  • Name
    payment_methods
    Type
    array
    Description

    This specifies which payment methods are available for the customer to check out with. Consists of at least one of the below values:

    • PAYPAL: PayPal
    • STRIPE: Stripe
    • CASHAPP: Cash App
    • COINBASE: Coinbase Commerce
    • PADDLE: Paddle
    • PAYSTACK: PayStack
    • BTCPAY: Bitcoin
    • VENMO: Venmo
    • SQUARE: Square

    Cryptocurrency payment methods:

    • BTC: Bitcoin
    • LTC: Litecoin
    • ETH: Ethereum
    • XMR: Monero
    • SOL: Solana
    • ADA: Cardano
  • Name
    images
    Type
    object
    Description

    The image(s) of the product.

  • Name
    order
    Type
    integer
    Description

    The order of the product.

  • Name
    additional_information
    Type
    array
    Description

    The additional information input(s) of the product. Array consists of:

    • type: String - One of the following
      • TEXT
      • NUMBER
      • HIDDEN
      • TEXTAREA
      • CHECKBOX
    • required: Boolean - specifying whether the additional information is required
    • label: String - specifying what the customer needs to enter. Examples below
      • TEXT: What is your in-game username?
      • NUMBER: To what mobile number do you want this delivered?
      • HIDDEN: n.a. (as this is a hidden input not visible to the end-user)
      • TEXTAREA: Please specify what your website should look like.
      • CHECKBOX: Would you like a complimentary drink?
  • Name
    warranty
    Type
    array
    Description

    The warranty terms of the product. Array consists of:

    • preferredUnit: String - One of the following:
      • MINUTES
      • HOURS
      • DAYS
    • text: String - specifying the warranty terms.
    • time: Integer - of the duration of the warranty post-purchase (in seconds).
  • Name
    other_settings
    Type
    array
    Description

    Customization settings of the product, with the following options:

    • redirect_url: String - URL you want to redirect your customers to after a successful purchase.
    • video_url: String - URL of a product video, will be displayed on product page. Supported services:
      • YouTube
      • Vimeo
      • Dailymotion
      • Slideshare
      • Miro
    • product_title: String - Meta title element of the product, will appear in search engines and social media.
    • product_description: String - Meta description element of the product, will appear in search engines and social media.
    • call_to_action: String - Change the "Buy Now" button to a different CTA.
    • hide_image: Boolean - whether the product image(s) should be hidden on the product page.
    • badge: Array - Badge to be displayed on the product card. Consists of:
      • text: String - Badge text.
      • color: String - Badge color, in HEX format.
      • text_color: String - Color of the badge text, in HEX format.
    • faq: Array - Array of frequently asked questions to be displayed on the product page. Consists of:
      • question: String - FAQ question.
      • answer: String - FAQ answer.
  • Name
    image
    Type
    array
    Description

    The image of the product. NOTE: This value will be deprecated.

  • Name
    bulk_discount
    Type
    array
    Description

    The bulk discount values of the product. Array consists of:

    • minimum_purchase_amount: Integer - The quantity at which the bulk discount gets triggered.
    • discount_percentage: Integer - The discount value (in percentage) that gets applied to the product price.
  • Name
    maximum_purchase_quantity
    Type
    integer
    Description

    The maximum amount of stock a customer is allowed to purchase.

  • Name
    pricing_type
    Type
    string
    Description

    The product pricing type. String - One of two values:

    • SINGLE_PAYMENT: Customers pays once for the product.
    • SUBSCRIPTION: Customer pays a recurring fee for the product.
  • Name
    charge_frequency
    Type
    array
    Description

    If the pricing_type is SUBSCRIPTION, this specifies how often a customer is charged. Consists of two values:

    • value: Integer - The amount of intervals the customer is charged at.
    • interval: String - Specifies the interval. One of four values:
      • DAY
      • WEEK
      • MONTH
      • YEAR
  • Name
    humble
    Type
    boolean
    Description

    Whether the product is of a "Pay what you want" type. If set to true, the customer can specify a price of their own.

Request

PATCH
/v1/listings/:id
$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append('{
  "deliverable": {
    "types": ["TEXT", "MANUAL"],
    "data": {
      "serials": ["1", "2", "3"],
      "comment": "Thanks",
      "removeDuplicate": false
    }
  }
}');

$request->setRequestUrl('https://sell.app/api/v1/listings/2');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json',
  'Accept' => 'text/json',
  'Authorization' => 'Bearer {ApiKeyHere}'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();

Response

{
  "id": 2,
  "title": "This will make me rich!",
  "slug": "this-will-make-me-rich",
  "description": "I am sure of it, Pinky.",
  "images": null,
  "order": 2,
  "visibility": "PUBLIC",
  "additional_information": [],
  "warranty": {
    "preferredUnit": "HOURS"
  },
  "other_settings": {
    "quantity_increments": 1,
    "discord_data_required": false
  },
  "deleted_at": null,
  "created_at": "2022-12-12T12:12:12.000000Z",
  "updated_at": "2022-12-12T12:12:12.000000Z",
  "store_id": 1,
  "category_id": null,
  "section_id": null,
  "section_order": null,
  "is_discoverable": 1,
  "image": null,
  "bulk_discount": null,
  "deliverable": {
    "data": {
      "removeDuplicate": false,
      "parsingMode": "COMMA",
      "stock": 3,
      "comment": "Thanks",
      "serials": [
        "1",
        "2",
        "3"
      ]
    },
    "types": [
      "TEXT",
      "MANUAL"
    ],
    "delivery_text": null
  },
  "minimum_purchase_quantity": 1,
  "maximum_purchase_quantity": 3,
  "price": {
    "price": "1000",
    "currency": "USD"
  },
  "pricing_type": "SINGLE_PAYMENT",
  "charge_frequency": {
    "value": 1,
    "interval": "MONTH"
  },
  "humble": false,
  "payment_methods": [
    "PAYPAL",
    "STRIPE"
  ],
  "url": "https:\/\/admin.sell.app\/product\/this-will-make-me-rich"
}

DELETE/v1/listings/:id

Delete a product

This endpoint allows you to delete a product. Note: This will permanently delete the product.

Request

DELETE
/v1/listings/:id
$client = new http\Client;
$request = new http\Client\Request;

$request->setRequestUrl('https://sell.app/api/v1/listings/2');
$request->setRequestMethod('DELETE');
$request->setHeaders([
  'accept' => 'application/json',
  'Authorization' => 'Bearer {ApiKeyHere}'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();