# Invoice List

To get a list of all invoices, send a POST request to the following URL:

### What the method allows you to do

* Returns a list of all invoices
* Maximum number of records per request — 100
* By default, the response contains 10 records

### Endpoint

<mark style="color:green;">`POST`</mark> `https://api.cryptocloud.plus/v2/invoice/merchant/list`

### Headers

| Name                                            | Type   | Example                             | Description     |
| ----------------------------------------------- | ------ | ----------------------------------- | --------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Token eyJ0eXAiOiJK<...>4npi1ksS8tSY | Project API key |

### Request Body

Key parameters

| Name                                    | Type   | Example    | Description                                                                                                                                                                                                                           |
| --------------------------------------- | ------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| start<mark style="color:red;">\*</mark> | string | 01.01.2026 | Date in format «dd.mm.yyyyy»                                                                                                                                                                                                          |
| end<mark style="color:red;">\*</mark>   | string | 31.01.2026 | Date in format «dd.mm.yyyyy». Must be later or equal to start.                                                                                                                                                                        |
| offset                                  | int    | 0          | <p>This is the index of the starting record from which data retrieval begins.</p><p></p><p>For example, if <code>offset=10</code>, the data will start from the 11th record.</p>                                                      |
| limit                                   | int    | 10         | <p>This is the number of the last record you want to retrieve.</p><p></p><p>For example, if <code>limit=20</code>, you will receive records up to and including the 20th, starting from the one specified in <code>offset</code>.</p> |

### Request examples

These examples show how to send a request to retrieve a list of invoices within the specified limits.

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X POST https://api.cryptocloud.plus/v2/invoice/merchant/list \
     -H "Authorization: Token <API KEY>" \
     -H "Content-Type: application/json" \
     -d '{"start":"01.01.2023","end":"31.01.2023","offset":0,"limit":10}'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

url = "https://api.cryptocloud.plus/v2/invoice/merchant/list"
headers = {
    "Authorization": "Token <API KEY>"
}
data = {
    "start": "01.01.2023",
    "end": "31.01.2023",
    "offset": 0,
    "limit": 10
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:
    print("Success:", response.json())
else:
    print("Fail:", response.status_code, response.text)
```

{% endtab %}

{% tab title="JavaScript" %}

```javascript
fetch('https://api.cryptocloud.plus/v2/invoice/merchant/list', {
    method: 'POST',
    headers: {
        'Authorization': 'Token <API KEY>',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        start: '01.01.2023',
        end: '31.01.2023',
        offset: 0,
        limit: 10
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    } else {
        throw new Error('Fail: ' + response.status + ' ' + response.statusText);
    }
})
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
```

{% endtab %}

{% tab title="PHP" %}

```php
<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.cryptocloud.plus/v2/invoice/merchant/list");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array(
    "start" => "01.01.2023",
    "end" => "31.01.2023",
    "offset" => 0,
    "limit" => 10
)));

$headers = array(
    "Authorization: Token <API KEY>",
    "Content-Type: application/json"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {
    $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($statusCode == 200) {
        echo "Success: " . $response;
    } else {
        echo "Fail: " . $statusCode . " " . $response;
    }
}

curl_close($ch);
?>
```

{% endtab %}
{% endtabs %}

### Response examples

A successful request returns a response with the status `success` and a `result` object.

{% tabs %}
{% tab title="200: OK – List received" %}

```json
{
    "status": "success",
    "result": [
       {
           "uuid": "INV-89UX09KA",
           "created": "2026-01-01 09:03:58.958133",
           "address": "0xb07427fc721C23674c48233ffE93D3846ee58B63",
           "currency": {
               "id": 3,
               "code": "ETH",
               "fullcode": "ETH",
               "network": {
                   "code": "ERC20",
                   "id": 3,
                   "icon": "https://cdn.cryptocloud.plus/img/network/ERC.svg",
                   "fullname": "Ethereum"
               },
               "name": "Ethereum",
               "is_email_required": false,
               "stablecoin": false,
               "icon_base": "https://cdn.cryptocloud.plus/img/currency/ETH.svg",
               "icon_network": "https://cdn.cryptocloud.plus/img/currency/ETH.svg",
               "icon_qr": "https://cdn.cryptocloud.plus/img/stroke/ETH_STROKE.svg",
               "order": 9
           },
           "date_finished": "2026-01-01 19:27:37.258735",
           "expiry_date": "2026-01-02 09:03:57.493361",
           "side_commission": "client",
           "side_commission_cc": "merchant",
           "type_payments": "crypto",
           "status": "paid",
           "invoice_status": "success",
           "is_email_required": false,
           "project": {
               "id": 1,
               "name": "Test",
               "fail": "None",
               "success": "None",
               "logo": null
           },
           "tx_list": [
               "0x4d52dc2d2fa8555ab10211bd6c9a7aed13e6f9e1901090b03e7bf74603178c15",
                          ],
           "test_mode": false,
           "type": "up",
           "user_email": "a**********b@gmail.com",
           "pay_url": "None",
           "phone": "",
           "order_id": "None",
           "amount_in_crypto": null,
           "amount_in_fiat": 1.0,
           "amount": 0.000693,
           "amount_usd": 1.0,
           "amount_to_pay": 0.000694,
           "amount_to_pay_usd": 2.03,
           "amount_paid": 0.000694,
           "amount_paid_usd": 2.03,
           "fee": 1e-06,
           "fee_usd": 0.0,
           "service_fee": 1.2e-05,
           "service_fee_usd": 0.04,
           "received": 0.000681,
           "received_usd": 1.99,
           "to_surcharge": 0.0,
           "to_surcharge_usd": 0.0
       }

    ],
    "all_count": 2
}
```

{% endtab %}
{% endtabs %}

### Response parameters

A successful request returns a response with the status `success` and a `result` object.

The `result` object contains:

<table><thead><tr><th>Name</th><th>Type</th><th width="200">Example</th><th>Description</th></tr></thead><tbody><tr><td>uuid</td><td>string</td><td>INV-89UX09KA</td><td>Unique invoice identifier with the INV prefix</td></tr><tr><td>created</td><td>string</td><td>2026-01-01 12:00:00.000000</td><td>Invoice creation time in UTC+0 format: YYYY-MM-DD HH:MI:SS.FFFFFF</td></tr><tr><td>address</td><td>string</td><td>0xb07427&#x3C;...>E93D3846ee58B63</td><td>Payment address</td></tr><tr><td>expiry_date</td><td>string</td><td>2026-01-02 12:00:00.000000</td><td><p>Invoice expiration date in UTC+0 format: YYYY-MM-DD HH:MI:SS.FFFFFF.</p><p></p><p>After the expiration time, the invoice status will change to <code>canceled</code> if payment has not been received.</p></td></tr><tr><td>side_commission</td><td>string</td><td>client</td><td>Transfer fee payer</td></tr><tr><td>side_commission_cc</td><td>string</td><td>client</td><td>Service fee payer</td></tr><tr><td>amount</td><td>float</td><td>0.033366</td><td>Invoice amount in the selected cryptocurrency</td></tr><tr><td>amount_usd</td><td>float</td><td>100.0</td><td>Invoice amount in USD</td></tr><tr><td>amount_in_fiat</td><td>float</td><td>100.0</td><td>Invoice amount in the creation currency (depends on the <code>currency</code> parameter)</td></tr><tr><td>fee</td><td>float</td><td>4.500000159168849e-06</td><td>Transfer fee</td></tr><tr><td>fee_usd</td><td>float</td><td>0.01</td><td>Transfer fee in USD</td></tr><tr><td>service_fee</td><td>float</td><td>0.000634</td><td>Service fee</td></tr><tr><td>service_fee_usd</td><td>float</td><td>1.9</td><td>Service fee in USD</td></tr><tr><td>fiat_currency</td><td>string</td><td>USD</td><td>Fiat currency code in which the invoice was created</td></tr><tr><td>status</td><td>string</td><td>created</td><td><p>Invoice status</p><p></p><p>When a create-invoice request is sent, the status is always <code>created</code>.</p><p></p><p>Other possible statuses: <code>paid</code> (paid), <code>partial</code> (partially paid), <code>overpaid</code> (overpaid), and <code>canceled</code> (canceled).</p></td></tr><tr><td>is_email_required</td><td>bool</td><td>false</td><td>Parameter for requiring the payer’s email in the invoice</td></tr><tr><td>link</td><td>string</td><td>pay.cryptocloud.plus/89UX09KA</td><td>Link to the invoice page</td></tr><tr><td>currency</td><td>dict</td><td><p>"currency": {</p><p>            "id": 3,</p><p>            "code": "ETH",</p><p>            "fullcode": "ETH",</p><p>            "network": {</p><p>                "code": "ERC20",</p><p>                "id": 3,</p><p>                "icon": "https://cdn.cryptocloud.plus/img/network/ERC.svg",</p><p>                "fullname": "Ethereum"</p><p>            },</p><p>            "name": "Ethereum",</p><p>            "is_email_required": false,</p><p>            "stablecoin": false,</p><p>            "icon_base": "https://cdn.cryptocloud.plus/img/currency/ETH.svg",</p><p>            "icon_network": "https://cdn.cryptocloud.plus/img/currency/ETH.svg",</p><p>            "icon_qr": "https://cdn.cryptocloud.plus/img/stroke/ETH_STROKE.svg",</p><p>            "order": 9</p><p>        }</p></td><td><p>Object of the selected cryptocurrency in the invoice.</p><p></p><p>Also contains the <code>network</code> object — information about the selected currency network.</p></td></tr><tr><td>project</td><td>dict</td><td><p>"project": {</p><p>            "id": 0,</p><p>            "name": "MyShop",</p><p>            "fail": "https://test.com/failed-payment",</p><p>            "success": "https://test.com/successful-payment",</p><p>            "logo": "https://static.cryptocloud.plus/logo/logo.jpg"</p><p>        }</p></td><td>Object containing project information</td></tr><tr><td>test_mode</td><td>bool</td><td>false</td><td>Test invoice sign</td></tr><tr><td>received</td><td>float</td><td>0.00206</td><td>Amount credited to the balance in cryptocurrency</td></tr><tr><td>received_usd</td><td>float</td><td>0.26</td><td>Amount credited to the balance in USD</td></tr><tr><td>to_surcharge</td><td>float</td><td>0.001172</td><td>Amount remaining to be paid in cryptocurrency</td></tr><tr><td>to_surcharge_usd</td><td>float</td><td>0.08</td><td>Amount remaining to be paid in USD</td></tr></tbody></table>
