> ## Documentation Index
> Fetch the complete documentation index at: https://docs.platform.pink/llms.txt
> Use this file to discover all available pages before exploring further.

# Understanding Transmissions

> Learn how data transmissions are handled in our API.

import { Info, CodeBlock } from "@mintlify/components";

## The Role of Transmissions

In our API, a **Transmission** is a fundamental concept that helps manage and track data exchanges, particularly for operations that create new resources. Think of it as a record or a message that signifies an event or a piece of data that needs to be processed or acknowledged.

While you interact with our API using standard RESTful principles (e.g., sending a `POST` request to create an invoice), behind the scenes, these actions are often translated into an event-driven flow. Transmissions are a key part of this, providing a way to decouple the initial request from its subsequent processing and to ensure reliability.

<Info>
  **Bridging REST and Event-Driven Architecture:** Even though you make a
  synchronous REST API call, the creation of a resource might trigger
  asynchronous processes in our backend. Transmissions allow your system and
  ours to keep track of these processes.
</Info>

## Automatic Creation of Transmissions

Whenever you successfully send a request to create a new entity in our system, such as:

* Creating a Catalogue Item ([Create a new catalogue item](/api-reference/catalogueitem/create-a-new-catalogue-item))
* Creating a Delivery Note ([Create a new delivery note](/api-reference/deliverynote/create-a-new-delivery-note))
* Creating an Invoice ([Create a new invoice](/api-reference/invoice/create-a-new-invoice))
* Creating an Order ([Create a new order](/api-reference/order/create-a-new-order))

A **Transmission** is automatically generated by our system. This transmission encapsulates the data you sent and serves as a record that this creation event has occurred and is pending further action or confirmation, especially for systems on the receiving end of this data.

This means that for every successful creation, there's a corresponding transmission logged, which can then be picked up by other integrated systems or processes.

## Processing Transmissions (For Receiving Systems)

If your system is on the receiving end (e.g., you need to be notified of new orders or invoices created by a partner via our platform), you will interact with the transmissions system to retrieve and process these data events.

<Steps>
  <Step title="Retrieving Pending Transmissions">
    Your system can poll for new, unprocessed transmissions by making a `GET` request to the `/transmissions` endpoint.

    See [Get all pending transmissions](/api-reference/transmission/get-all-pending-transmissions) for deatils.
  </Step>

  <Step title="Processing the Transmission">
    Once you retrieve a transmission, your system should process its content. This might involve:

    * Importing the data into your local database.
    * Triggering internal workflows.
    * Validating the received information.
  </Step>

  <Step title="Updating Transmission Status">
    After your system has successfully processed the data from a transmission, it is crucial to notify our API that this specific transmission has been handled. This prevents the same data from being processed multiple times and allows for proper tracking of data flow.

    You achieve this by making a `PUT` request to the `/transmissions/status/{uuid}` endpoint, where `{uuid}` is the unique identifier of the transmission you have just processed.

    See [Update the status of a transmission](/api-reference/transmission/update-the-status-of-a-transmission) for details.
  </Step>
</Steps>

By following this flow, systems integrating with our API can reliably receive and process data in a decoupled and event-aware manner, even when initiated through standard RESTful interactions.
