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

# API Overview

> Vero provides two REST APIs: the Track API for sending customer data, and the Campaigns API for managing campaigns programmatically.

<CardGroup cols={2}>
  <Card title="Track API" icon="bolt" href="#track-rest-api">
    Send user profiles, properties and activity data to Vero.
  </Card>

  <Card title="Campaigns API" icon="envelope" href="#campaigns-api">
    Build, update, and manage broadcasts and journeys via API.
  </Card>
</CardGroup>

## Base URL

All requests contain the following base URL:

```bash API Base URL theme={null}
https://api.getvero.com/api/v2
```

## Questions or problems

Have questions or can't get something to work? Get in touch via [support@getvero.com](mailto:support@getvero.com).

## <span style={{ marginRight: '10px' }}><Icon icon="bolt" color="#2297F4" size={24} /></span> Track API

The Track API is very stable. The current endpoints were released prior to 2016 and there have been no breaking changes since that time.

### Authentication

Authentication against the Track API is via a valid Auth Token or Tracking API Key. Auth Tokens and Tracking API Keys should be kept secret.

To generate and access API credentials:

* In Vero 1.0, visit [Settings](https://app.getvero.com/settings/project) in your Vero account.
* In Vero 2.0, visit [Settings > Project > Tracking API keys](https://connect.getvero.com/settings/project/tracking-api-keys). Note that in Vero 2.0, "Auth Tokens" have been renamed to "Tracking API Keys".

Requests are authenticated by providing a parameter called `auth_token` or `tracking_api_key` with each request.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

### Errors

Vero uses conventional HTTP response codes to indicate the success or failure of an API request.

Codes in the `2xx` range mean success, codes in the `4xx` mean there was an error in the data passed to Vero's API (such as missing parameters) and codes in the `5xx` range indicate an error with Vero's endpoint.

| Code                            | Description                     |
| :------------------------------ | :------------------------------ |
| **200 - OK**                    | The request was successful.     |
| **400 - Bad request**           | Bad request.                    |
| **401 - Unauthorized**          | Your credentials are invalid.   |
| **404 - Not Found**             | The resource doesn't exist.     |
| **50X - Internal Server Error** | An error occurred with our API. |

### Sending data with requests

Unless otherwise specified, request data should be passed to the API as JSON objects via `POST`.

### Our SDKs

Refer to our [Developer Guide](/developer-docs/sdk) for more information on available SDKs.

Note that the request samples used in our API documentation are auto-generated and do not reference our SDKs.

### Supported Track API integrations

Many of our customers use tools like [Segment](https://www.getvero.com/integrations/segment-source/) or [Rudderstack](https://www.getvero.com/integrations/rudderstack/) to track and send data to Vero Cloud.

See the full list of [Integrations](https://www.getvero.com/integrations/) for integrations that support this API. Use the "Data In: API" filter.

## <span style={{ marginRight: '10px' }}><Icon icon="envelope" color="#2297F4" size={24} /></span> Campaigns API

<Warning>
  **API in public preview**. This API is in public preview. Access is granted upon request. Please email [support@getvero.com](mailto:support@getvero.com) for access.
</Warning>

### Authentication

Authentication against the Campaigns API is via a valid Campaigns API secret key.

Once granted access you can generate an API key [https://app.getvero.com/account/settings](https://app.getvero.com/account/settings) (only available in the Vero 1.0 UI at this time). API secret keys are only visible once, when created.

Requests are authenticated by adding an `Authorization` header with a value of either `Authorization: <api-key>` or `Authorization: Bearer <api-key>`.

### Resource structure

<Danger>
  **Campaigns resource deprecation.** The `Campaigns` resource is being superseded by the more specific `Broadcast` and `Journey` endpoints. We will continue to support the `Campaigns` endpoints into the future and we'll notify you if this changes.
</Danger>

| Resource name                 | Description                                                                                                                                                                          |
| :---------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Broadcast**                 | A one-off or recurring ad-hoc campaign specifying a schedule, a channel, an audience and at least one message.                                                                       |
| **Broadcast Message**         | All `Broadcast` resources must have at least one message. You can test multiple messages against each other within a single broadcast. You can think of messages as an A/B test arm. |
| **Broadcast Message Content** | You can add multiple contents to a `Broadcast Message` to support localized variants of your message content.                                                                        |
| **Journey**                   | A triggered campaign specifying a multi-step workflow made up of nodes and represented as a graph with edges.                                                                        |
| **Journey Message**           | Lists all message nodes in a journey. This differs from the definition of `Message` used in relation to Broadcasts.                                                                  |
| **Journey Message Content**   | You can add multiple contents to a `Journey Message` to support localized variants of your message content.                                                                          |

### Feedback

We want to hear your feedback on the Campaigns API. We're actively making changess. Please email us your suggestions via [support@getvero.com](mailto:support@getvero.com).
