Back to Access
Public API · v1

Access API Reference

Programmatic access to your Access workspace. Mint a key from Workspace Settings → External Integrations → API Keys, then call any endpoint below with a Bearer token. All requests are tenant-scoped to the workspace the key belongs to.

Authentication

Every request must include an Authorization header:

Authorization: Bearer pa_live_<your-key>

Keys are minted per-workspace in Workspace Settings → External Integrations → API Keys. Only the last 4 characters are stored after creation — copy the raw key when it's shown to you (once).

Rate limits & quotas
  • 60 requests per minute per API key. Exceeding this returns 429 Too Many Requests.
  • Write endpoints (POST) consume 1 OS Credit per call. If your workspace balance is exhausted you'll receive 402 Payment Required.
  • Read endpoints (GET) are free — no credit deduction.
  • Revoked keys return 401 Unauthorized. Workspaces in suspended status return 403 Forbidden.

Endpoints

GET
/api/v1/campaigns

List marketing campaigns in the workspace bound to the API key.

Parameters
status(query)Filter by status: draft | active | paused | completed | scheduled.
limit(query)Max results (default 50, max 200).
Example
curl -H "Authorization: Bearer pa_live_xxx" \
  "https://projectaccess.app/api/v1/campaigns?status=active&limit=20"
POST
/api/v1/campaigns/:campaign_id/cards

Create a CampaignCard in a specific campaign's first stage.

Parameters
display_name(body)Required. Card title (creator name, lead name, etc.).
email(body)Optional contact email.
social_handles(body)Optional object: { instagram, x, tiktok, youtube, ... }.
Example
curl -X POST \
  -H "Authorization: Bearer pa_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"display_name":"@new_creator","email":"hi@example.com"}' \
  "https://projectaccess.app/api/v1/campaigns/CAMPAIGN_ID/cards"
GET
/api/v1/leads

List marketing leads for the workspace.

Parameters
lead_status(query)Filter by lead_status.
limit(query)Max results (default 50, max 200).
Example
curl -H "Authorization: Bearer pa_live_xxx" \
  "https://projectaccess.app/api/v1/leads?lead_status=interested"
POST
/api/v1/leads

Create a new lead (ingestContact under the hood).

Parameters
display_name(body)Required.
contact_email(body)Optional.
primary_platform(body)Optional (e.g. 'youtube', 'instagram').
Example
curl -X POST \
  -H "Authorization: Bearer pa_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"display_name":"Jane Creator","contact_email":"jane@example.com"}' \
  "https://projectaccess.app/api/v1/leads"
GET
/api/v1/usage

Read the workspace's current OS Credit balance, monthly grant, and tier.

Example
curl -H "Authorization: Bearer pa_live_xxx" \
  "https://projectaccess.app/api/v1/usage"
Error responses
StatusMeaning
400Missing or invalid request body.
401Missing, malformed, or revoked API key.
402Workspace out of OS Credits.
403Workspace suspended or key scope insufficient.
404Resource not found in this workspace.
429Rate limit exceeded (60 req/min).

Questions? Email support@projectaccess.app.