# Campaign Refinery API Documentation

This is the complete API documentation for connecting to the Campaign Refinery API using MindCloud's Universal API.

MindCloud offers one normalized API to access 3,400+ apps from a single place. It centralizes authentication and normalizes app APIs so they are easier and more consistent to use.

## Quickstart

1. A **MindCloud account** — sign in or create an account at [MindCloud](https://app.mindcloud.co).
2. A **MindCloud API Key** — create one in [API Keys](https://app.mindcloud.co/user/api-keys). Keep it on your server.
3. At least one **Campaign Refinery connection** — create or choose one in [Connections](https://app.mindcloud.co/credentials). Note its `connectionId`.

```text
POST https://connect.mindcloud.co/v2/universal/apps/campaignRefinery/actions/{actionSlug}/run
```

## Campaign Refinery actions

- PUT `add-form-to-contact` Add Form to Contact
- PUT `add-goal-to-contact` Add Goal to Contact
- PUT `add-tag-to-contact` Add Tag to Contact
- POST `create-attribute` Create Attribute
- POST `create-attribute-group` Create Attribute Group
- POST `create-contact` Create Contact
- POST `create-form` Create Form
- POST `create-goal` Create Goal
- POST `create-tag` Create Tag
- DELETE `delete-form` Delete Form
- DELETE `delete-tag-from-contact` Delete Tag from Contact
- GET `export-points-balance-csv` Export Points Balance CSV
- GET `get-attribute-by-name` Get Attribute by Name
- GET `get-attribute-groups` Get Attribute Groups
- GET `get-attributes` Get Attributes
- GET `get-broadcast-stats` Get Broadcast Stats
- GET `get-broadcasts` Get Broadcasts
- GET `get-contact-by-email` Get Contact by Email
- GET `get-contact-tags` Get Contact Tags
- GET `get-contacts` Get Contacts
- GET `get-daily-points` Get Daily Points
- GET `get-form-by-name` Get Form by Name
- GET `get-forms` Get Forms
- GET `get-goal-by-id` Get Goal by ID
- GET `get-goal-by-name` Get Goal by Name
- GET `get-goals` Get Goals
- GET `get-tag-by-name` Get Tag by Name
- GET `get-tags` Get Tags
- GET `get-top-ranked-contacts` Get Top Ranked Contacts
- POST `subscribe-contact` Subscribe Contact
- PUT `update-attribute` Update Attribute
- PUT `update-contact` Update Contact
- PUT `update-form` Update Form
- PUT `update-goal` Update Goal
- PUT `update-tag` Update Tag
