> For the complete documentation index, see [llms.txt](https://docs10.xenioo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs10.xenioo.com/database/database-api-access/csv-direct-data.md).

# CSV Direct Data

This endpoint allows direct extraction of collection data in CSV format. Since this endpoint is meant as a data source, to be used in external Business Intelligence tools, no authorization header need to be created for each call.

### Requirements

To successfully invoke this endpoint :

1. The Account API Key, Bot Token and Bot Secret must be sent in the request header
2. An active Database package must be active on the target account.
3. The desired [collection ](/database/collections.md)must exist and must be flagged as [accessible through API](/database/collections.md#enable-api-access).

### Request

The following request shows how to extract a direct CSV from a collection

```bash
curl --location --request GET 'https://<NODE>.xenioo.com/data/direct/<COLLECTIONNAME>/<FIELDS>/<FILTER>' \
--header 'account-key: <ACCOUNT API KEY>' \
--header 'bot-key: <BOT API KEY>' \
--header 'bot-secret: <BOT API SECRET>' \
--header 'Content-Type: application/json' \
```

Please note that the collection API url proposed by Xenioo **is not** the direct data url. Use the example above when configuring your direct data url.&#x20;

### Response

If successful, this call will return a complete CSV file containing all of the records affected by the supplied filter.&#x20;

{% hint style="warning" %}
Response content is cached with a 30 minutes interval.&#x20;
{% endhint %}

Only the fields specified in the \<FIELDS> parameter will be returned. Multiple fields must be separated using a comma. Using \* (asterisk) as a value for fields will export only the fields found in the very first record returned by the query.

### Response Codes

This endpoint will reply with the following standard HTTP codes.

| Code | Meaning                                                                   |
| ---- | ------------------------------------------------------------------------- |
| 200  | Ok. The request has been successfully fulfilled.                          |
| 400  | Bad Request. The call does not contain the data required to be fulfilled. |
| 404  | Not Found. The specified collection has not been found.                   |
| 403  | Unauthorized. The specified collection cannot be access through API       |
