Passo Developers
Api

Add a creator to a job

POST
/jobs/{jobId}/creators

Adds a creator to a job and returns { creatorId, dealId, claimed }. The creator is resolved by handle (normalised — a leading @ and casing are ignored) on the given platform (instagram or youtube); if no creator is known for that handle, a new unclaimed one is minted from displayName + email (recorded for outreach only). Either way a deal is created on the job at the contracted stage. Re-adding the same creator to the same job is idempotent and returns the existing deal. The caller must be a member of the job's workspace: 403 for a viewer, 404 if the job does not exist or is in another workspace, 422 if the job has no deliverables (brief the job's deliverables first — a creator added to a deliverable-less job would be a dead end). claimed is whether that creator already has an owner account.

Authorization

AuthorizationBearer <token>

A Supabase-issued OAuth user access token. On collection endpoints, pair with a Passo-Workspace header to pick a workspace.

In: header

Path Parameters

jobId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/jobs/string/creators" \  -H "Content-Type: application/json" \  -d '{    "displayName": "string",    "email": "user@example.com",    "platform": "instagram",    "handle": "string"  }'
{  "creatorId": "string",  "dealId": "string",  "claimed": true}