[What can you do with Quable's REST API?](#what-can-you-do-with-quables-rest-api)
[Get started](#get-started)
-- [Get a list of all documents](#get-a-list-of-all-documents)
-- [Get a specific product](#get-a-specific-product)
-- [Create a new document](#create-a-new-document)
-- [Update an existing document](#update-an-existing-document)
-- [Delete a product](#delete-a-product)

---

## What can you do with Quable's REST API?

You can use Quable's REST API to perform a variety of tasks, such as:

* **Retrieve product/document data**, including classifications, links, variants, and attributes.
* **Create and update document data**.
* **Manage documents, images and videos** (aka assets)
* **Integrate Quable with other systems**, such as e-commerce platforms and ERP systems.

---

## Get started

To get started with Quable's REST API, you will need to obtain an **API Bearer Token**.
Tokens are available in your PIM, in the Settings -> System -> API tokens.
Once you have a token, you can start sending requests to the API endpoints.

!!!
Quable provides [a full reference documentation for its REST API](https://docs.quable.com/reference/quable-pimdam-api-v5), including examples of how to use it. You can also find a number of [cookbooks](/cookbooks) and our associated [Postman collections](https://www.postman.com/quable-support/workspace/developers-quable-io/collection/237314-13c61745-82a2-4eef-b8d0-1e419d17a6f3) that can help you get started.
!!!

Below some examples of how you can use Quable's REST API.

---

### Get a list of all documents

```json
GET /documents
```
---

### Get a specific product

```json
GET /documents/ABC123
```
---

### Create a new document

```json
POST /documents
{
    "id" : "ABC123",
    "active": true,
    "attributes": {
        "product_name": {
            "fr_FR": "Mon nouveau produit",
            "en_US": "My new product"
        },
        "product_description": {
            "fr_FR": "Ceci est mon nouveau produit",
            "en_US": "This is my new product."
        }
    },
    "documentType": {
        "id": "product"
    },
    "attributeSet": "clothes",
    "classifications": {
        "id": "classification_charly"
    }
}
```
---

### Update an existing document

```json
PUT /documents/ABC123
{
    "id" : "ABC123",
    "active": true,
    "attributes": {
        "product_name": {
            "fr_FR": "Mon produit mise à jour",
            "en_US": "My updated product"
        }
    }
}
```

---

### Delete a product

```json
DELETE /documents/ABC123
```

---
