Violet
Violet connects merchant's looking for new channels to sell their products in with the developers who are building those channels. Violet provides developers with a completely headless API that enables them to add native (no click-out) checkout to any application with an internet connection.
Violet endpoints
| Method | Endpoint | Description |
|---|---|---|
| Access | ||
| GET |
/auth/token /auth/token |
Refreshes a Users token. Pass the "refresh_token" value provided in the response body of a login request in the "X-Violet-Token" header. |
| POST |
/login /login |
Log into an existing Violet account with a username and password. If sucessful an access token will be returned in the response body for use in additional requests against the API. |
| Catalog - Products | ||
| GET |
/catalog/products/{product_id} /catalog/products/{product_id} |
Retrieves a single product by ID. This request will include all offers of that product. |
| GET |
/catalog/products /catalog/products |
Retreives a paginated list of all products in ascending order since date of creation. |
| POST |
/catalog/products/search /catalog/products/search |
Search the complete product catalog by using the available filters in the request body. |
| GET |
/catalog/products/random /catalog/products/random |
Retreives a paginated list of products in random order. The original random order is maintained through pagination. |
| Catalog - Offers | ||
| GET |
/catalog/offers/{offer_id} /catalog/offers/{offer_id} |
Retrieves a single offer by ID. |
| Catalog - Skus | ||
| GET |
/catalog/skus/{sku_id} /catalog/skus/{sku_id} |
Retreives a single SKU by ID. |
| Catalog - Categories | ||
| GET |
/catalog/categories /catalog/categories |
Retreives a paginated list of all available categories. |
| GET |
/catalog/categories/{id}/tree /catalog/categories/{id}/tree |
Retreives the category tree by ID. |
| GET |
/catalog/categories/slug/{slug} /catalog/categories/slug/{slug} |
Retrieves a single category by slug. |
| GET |
/catalog/categories/{id} /catalog/categories/{id} |
Retrieves a single category by ID. |
| GET |
/catalog/categories/search/{query} /catalog/categories/search/{query} |
Performs a paginated search of all categories where name matches query. |
| Checkout - Cart | ||
| GET |
/checkout/cart/{cart_id} /checkout/cart/{cart_id} |
Retreives a single cart by its ID. |
| GET |
/checkout/cart/byToken/{token} /checkout/cart/byToken/{token} |
Retreives a single cart by its token. The token a unique string generated for each cart at the time of creation. |
| DELETE |
/checkout/cart/{cart_id} /checkout/cart/{cart_id} |
Deletes a cart by its ID. |
| POST |
/checkout/cart /checkout/cart |
Creates a new empty cart. By setting the 'apply_current_user' flag to true the user associated with the current access token will be applied to the cart. If the user has an… |
| Checkout - Items | ||
| POST |
/checkout/cart/{cart_id}/skus /checkout/cart/{cart_id}/skus |
Adds a SKU to the cart by its ID. Quantity will default to 1 if no quantity is passed. Quantities greater than 10 will default to 10. |
| PUT |
/checkout/cart/{cart_id}/skus/{order_sku_id} /checkout/cart/{cart_id}/skus/{order_sku_id} |
Modifies a cart SKU by its ID. |
| DELETE |
/checkout/cart/{cart_id}/skus/{order_sku_id} /checkout/cart/{cart_id}/skus/{order_sku_id} |
Removes a cart SKU by its ID. |
| Checkout - Customer | ||
| POST |
/checkout/cart/{cart_id}/billing_address /checkout/cart/{cart_id}/billing_address |
Applies the provided billing address to the cart. |
| POST |
/checkout/cart/{cart_id}/shipping_address /checkout/cart/{cart_id}/shipping_address |
Applies the provided shipping address to the cart. |
| PUT |
/checkout/cart/{cart_id}/shipping_address /checkout/cart/{cart_id}/shipping_address |
Modifies the shipping address of the cart. |
| POST |
/checkout/cart/{cart_id}/customer /checkout/cart/{cart_id}/customer |
Applies a guest customer to the cart. Guest customers consist of a first name, last name, and email address. Guest customers are not persisted within Violet for use on future… |
| PUT |
/checkout/cart/{cart_id}/billing_address /checkout/cart/{cart_id}/billing_address |
Modifies the billing address of the cart. |
| Checkout - Shipping | ||
| GET |
/checkout/cart/{cart_id}/shipping/available /checkout/cart/{cart_id}/shipping/available |
Returns a list of available shipping methods for each bag. The shipping address and customer must be applied to the cart before requesting shipping methods. |
| DELETE |
/checkout/cart/{cart_id}/shipping/{shipping_method_id} /checkout/cart/{cart_id}/shipping/{shipping_method_id} |
Removes a previously applied shipping from the cart. |
| POST |
/checkout/cart/{cart_id}/shipping /checkout/cart/{cart_id}/shipping |
Applies a shipping method to a bag. Shipping methods available to each bag can be retreived from 'Get Available Shipping Methods' endpoint. Each bag requires a shipping method. |
| Checkout - Payment | ||
| POST |
/checkout/cart/{cart_id}/payment /checkout/cart/{cart_id}/payment |
|
| GET |
/checkout/payment/token /checkout/payment/token |
Obtain the current Stripe Publishable Key for use in tokenizing payment card data with the Stripe.js library. |
| Checkout - Completion | ||
| POST |
/checkout/cart/{cart_id}/submit /checkout/cart/{cart_id}/submit |
Submits a cart. For each unique bag in your cart an order will be submitted to the source merchant's platform. Depending on the number of bags in your cart this request can take… |
| GET |
/checkout/cart/{cart_id}/price /checkout/cart/{cart_id}/price |
Prices the cart. This includes the calculation of shipping and tax rates. Before pricing a cart the shipping address, billing address, shipping method, and any SKUs should be… |
| Orders | ||
| POST |
/orders/search /orders/search |
Performs a paginated search of all orders. Orders can be searched by 'merchant_id', 'user_id', or a combination of both. Orders are limited to those placed by your app. |
| GET |
/orders /orders |
Returns a paginated list of orders. Orders are limited to those placed by your app. |
| GET |
/orders/{order_id} /orders/{order_id} |
Retrieves a single order by ID. |
| Webhooks | ||
| POST |
/apps/{app_id}/webhooks /apps/{app_id}/webhooks |
Creates a new webhook for the desired event. The remote endpoint must be HTTPS.We currently limit webhooks to one per event per app. If the event is already active on a… |
| GET |
/apps/{app_id}/webhooks /apps/{app_id}/webhooks |
Retrieves a list of previously created webhooks. |
| GET |
/apps/{app_id}/webhooks/{webhook_id} /apps/{app_id}/webhooks/{webhook_id} |
Retrieves a single webhook by ID. |
| DELETE |
/apps/{app_id}/webhooks/{webhook_id} /apps/{app_id}/webhooks/{webhook_id} |
Removes a webhook. Events will immedietly stop posting to this endpoint upon deletion. |
| PUT |
/apps/{app_id}/webhooks/{webhook_id} /apps/{app_id}/webhooks/{webhook_id} |
Modifies an existing webhook by ID. |
Violet pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|