# Quick Start

{% hint style="warning" %}
**You must first sign up for a Qvalia account, and contact Sales or Support to get access and API setup!**
{% endhint %}

### Get your API keys

Your API requests are authenticated using API keys. Any request that doesn't include an API key will return an `401` error.

**You will get your API key from Qvalia support, or the onboarding team!**

### Review the API Documentation

{% content-ref url="api-documentation/apis" %}
[apis](https://api.qvalia.io/api-documentation/apis)
{% endcontent-ref %}

### Make your first request

To make your first request, send an authenticated request to the `/invoices` endpoint. This will create an `invoice`.

### Create outgoing invoice

<mark style="color:green;">`POST`</mark> [`https://api.qvalia.com/transaction/{accountRegNo}/invoices/outgoing`](https://api.qvalia.com/transaction/%7BaccountRegNo%7D/invoices/outgoing)

Creates a new outgoing invoice that will be sent over the Peppol network

#### Request Body

See: [https://app.gitbook.com/o/-McAY8WYeIvMOpDL\_Y9w/s/S4MbRBCDJsKGrYU4ahuP/\~/changes/2/sample-data/api-sample-data/invoice#json](https://api.qvalia.io/sample-data/api-sample-data/invoice#json)

{% tabs %}
{% tab title="200 Invoice successfully created" %}

```javascript
{
  "status": "success",
  "data": {
    "message": "invoice 12335675 sent",
    "order_id": ""
  }
}
```

{% endtab %}

{% tab title="401 Permission denied" %}

{% endtab %}
{% endtabs %}

Take a look at how you might call this method using our official libraries, or via `curl`:

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

```
curl --location --globoff 'https://api.qvalia.com/transaction/{accountRegNo}/invoices/outgoing' \
--data '{
  "Invoice": {}
}'
```

{% endtab %}

{% tab title="Node" %}

```javascript
const body = {
  Invoice: {...}
};

var requestOptions = {
  method: 'POST',
  body
};

await fetch('https://api.qvalia.com/transaction/{accountRegNo}/invoices/outgoing', requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

url = "https://api.qvalia.com/transaction/{accountRegNo}/invoices/outgoing"

body = "{
  \"Invoice\": {}
}"
headers = {}

response = requests.request("POST", url, headers=headers, data=body)

print(response.text)

```

{% endtab %}
{% endtabs %}
