Skip to main content

Getting Started

S
Written by Shawn Adrian

Overview

The Coffee & Contracts API lets you build custom integrations with your account — pull your content library, manage your calendar, access Instagram analytics, and more. You can use it with tools like Claude, ChatGPT, Zapier, or your own custom code.

Base URL

https://api.coffeecontracts.com

All endpoints are prefixed with /api.

Step 1: Generate an API Key

You can create an API key from within your Coffee & Contracts account, or by calling the API directly with your session token:

POST /api/user/api-keysAuthorization: Bearer <your-session-token>X-Tenant-Slug: coffee-contractsContent-Type: application/json{  "name": "My Integration",  "scope": "user",  "scopes": ["content:read", "calendar:read", "instagram:read"]}

The response includes a rawKey starting with cc_. Store it securely — it is only shown once.

Step 2: Make API Requests

Include your API key as a Bearer token along with the tenant header:

GET /api/user/content/posts-v2Authorization: Bearer cc_aBcDeFgH1234567890...X-Tenant-Slug: coffee-contracts

Ownership Scopes

  • user — authenticates as you personally

  • organization — authenticates as your organization admin (org admins only)

Permission Scopes

API keys are granted specific scopes that control which endpoints they can access. If no scopes are provided at creation, the key receives all available scopes by default.

Scope

Description

content:read

View posts, content types, pillars, tags, audiences, styles, and drops

content:write

Toggle favorite/used state on posts and items

calendar:read

View content schedule, calendar categories, and daily tasks

calendar:write

Create, update, delete, and reorder schedule entries; generate calendars

resources:read

View stock images, videos, and knowledge hub content

pages:read

View pages and page components

pages:write

Create, update, delete pages and components

account:read

View your profile, activity, and tour progress

account:write

Update your profile and change password

instagram:read

View Instagram profile, insights, media, and analytics

search:read

Search posts and events

Rate Limits

API key requests are rate-limited per key:

Window

Limit

Per minute

30 requests

Per hour

500 requests

Per day

2,000 requests

Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. When a limit is exceeded, you'll receive a 429 Too Many Requests response with a Retry-After header.

Pagination

List endpoints return paginated results with results and count fields. Use limit and offset query parameters to paginate (default page size: 25).

{  "results": [...],  "count": 100}

Managing Keys

Action

Method

Endpoint

List active keys

GET

/api/user/api-keys

Create a key

POST

/api/user/api-keys

Revoke a key

DELETE

/api/user/api-keys/{key_id}

List available scopes

GET

/api/user/api-keys/scopes

Revoking a key immediately invalidates it. API keys require an active Coffee & Contracts subscription — if your membership lapses, your keys will stop working until you resubscribe.

Need Help?

If you run into issues or have questions about the API, reach out to our support team using the chat widget below.

Did this answer your question?