A quick summary of what you can do with the Barracuda API


The Barracuda API will allow you to build all kinds of automations and integrations to superpower your CRM experience!

The API largely reflects the structure of objects that you see in-app, starting with the 3 core objects within the CRM, which are opportunities, contacts, and organizations. Outside of the core objects, there are multiple supporting objects that plug into the core objects with their own data and purposes

Additionally, we have multiple different sub-objects that either exist in order to make connections between different objects or as additional data living on the core objects.


Accounts are utility functions that allow you to fetch IDs that you need for your project, users, and roles. It can be helpful to start with these calls in order to get data you may need to pass through multiple other requests.

Core Objects

The Core Objects all stand alone with their own data, but are bolstered by the objects they can connect with in order to provide context to themselves.


Opportunities represent deals that a sales team has moving through their pipeline, and are displayed within a pipeline and stage in the opportunities dashboard. They can be connected to Contacts and Organizations via Associations.

Pipelines & Stages

A pipeline is a simple container for stages, and just has a name, then maintains the order of its stages. Stages within a pipeline should represent the process that opportunities move through in the sales lifecycle. We allow unlimited pipelines and stages in order to allow your team to support as many flows as your team might need to track deals.


Contacts hold data for specific people you'd like to track with your team. They're particularly helpful for tracking when you have a deal with multiple points of contact. They can be connected to Opportunities and Organizations via Associations.


Organizations hold data for other teams you'd like to track, and can be helpful when you want to aggregate multiple contacts from another team. They can be connected to Opportunities and Contacts via Associations.


Associations are how we connect all of the core objects with one another, as well as how we connect sub objects with core objects. This system design allows us to be opinionated in our frontend design, but is also extremely modular for building outside applications.

Associations are simple objects containing only references between two documents. Once an association is created, it cannot be updated, and contains no metadata.

Sub Objects

Notes and tasks both contain data that provide helpful context to core objects, but stand alone with their own data and associations. Right now, they're limited in the UI and mostly live within single core objects, but via the API could be associated with multiple objects in order to display their data in multiple places.


Notes simply contain a text field and an author. Plaintext, markdown, and html are supported input formats.


Tasks can consist of a title, owner, due date, description, and a status. They can be associated with core objects in order to track to-dos on a certain opportunity or having to do with a specific contact or organization.

Custom Fields

Custom fields allow each of the 3 core objects to be massively customizable and configurable for your team's needs. They can only be configured via the UI for now, but it can be extremely helpful to fetch the fields when programmatically creating data to ensure you're filling every field you may want or need.

Custom fields display in the right sidebar of core objects within the UI, and are available for creating custom filters and views in the dashboard pages.