# Transaction API

The Qvalia Transaction API has endpoints for all Peppol messages.

[Download OpenAPI definitions](https://openapi.gitbook.com/o/-McAY8WYeIvMOpDL_Y9w/spec/transaction-api.yaml)

{% hint style="success" %}
All transaction endpoints supports both JSON and XML!
{% endhint %}

### Authentication <a href="#authentication" id="authentication"></a>

We use API keys for the Authentication of requests. You can get your API key from our Support team and you’ll get a separate key and URL for Production and Test environments. All requests are using HTTPS with a minimum of TLS 1.2

Each request made to the API will contain your `account registration number` which is your account identifier for your Qvalia account. Your account identifier will be provided to you from the Support team during the onboarding process.

Your requests must use the registration number as e.g. `POST /{account registration number}/invoices/outgoing`

### UBL JSON Representation standard <a href="#ubl-json-representation-standard" id="ubl-json-representation-standard"></a>

For the JSON representation of the format please refer to <http://docs.oasis-open.org/ubl/UBL-2.1-JSON/v2.0/UBL-2.1-JSON-v2.0.html>

UBL JSON samples and schemas can be found here: <http://docs.oasis-open.org/ubl/UBL-2.1-JSON/v2.0/cnd01/>

### UBL XML Representation standard <a href="#ubl-xml-representation-standard" id="ubl-xml-representation-standard"></a>

For the XML representation, <https://docs.oasis-open.org/ubl/UBL-2.1.html>

The UBL version 2.1 has been selected due to the many compliant standars with UBL 2.1, mainly the Peppol standard (peppol.eu).

XML samples and XML schemas can be found here: <http://docs.oasis-open.org/ubl/os-UBL-2.1/>

### Required <a href="#required" id="required"></a>

As the UBL JSON schema is fairly big, we only list the `required` attributes in the sample request and response data. You can browse the complete `JSON schema` viewing the `UBL-Invoice-2.1`.

Note the difference in objects below, only IssueDate is required, and thus IssueTime won't be listed in the sample request/responses:

### Attachments <a href="#attachments" id="attachments"></a>

Often our customers wants to add, or request, attached documents to their messages, e.g. their invoices.

We support all the same attachments as Peppol does: Peppol media types

See more under [Attachments to messages](https://api.qvalia.io/qvalia-developer-tools/attachments-to-messages)
