API Resources

The API is organized around a set of core resources that represent the main entities within Countertop Studio.

Each resource exposes endpoints that allow you to create, retrieve, update, and list records.
Resources are designed to reflect the internal structure of the platform and the relationships between different entities.

All API requests are scoped automatically using the authentication headers.
This means the tenant and department are determined by the API credentials, and clients do not need to provide these identifiers manually.


Core Resources

ResourceDescription
CustomersRepresents contacts or companies that interact with your organization.
DealsRepresents opportunities or sales processes that can be linked to customers.
StepsRepresents workflow stages that deals move through.
DepartmentsOrganizational units used to scope access and structure workflows.
ActivitiesRepresents interactions such as calls, meetings, or notes associated with customers or deals.

Resource Relationships

The resources in the API are connected and often reference each other.

A simplified structure looks like this:

Tenant
 └ Departments
      ├ Steps
      │     └ Deals

      └ Customers
           └ Activities

For example:

  • A customer belongs to a tenant.
  • A deal belongs to a department and a step.
  • A deal can be linked to one or more customers.
  • Steps define the current stage of a deal in the workflow.
  • Activities record interactions with customers or deals.

Authentication Scope

All resources are automatically scoped through the API authentication headers:

X-Api-Key: <your-secret>
X-Department-Id: <department-id>

Because of this:

  • the tenant is determined by the API key
  • the department is determined by the department header
  • clients do not need to provide tenant_id or department_id when working with resources

This ensures that each integration can only access the data it is authorized to use.


Working with Resources

Most resources support common operations such as:

  • creating new records
  • retrieving existing records
  • updating records
  • listing multiple records

Each resource page contains detailed documentation about the available endpoints, request parameters, and response formats.