Creator River Campaigns API
The campaigns API from Creator River — 5 operation(s) for campaigns.
The campaigns API from Creator River — 5 operation(s) for campaigns.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/creatorriver-com:creatorriver-com-campaigns-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Creatorriver Com Campaigns API
version: '1'
description: 'Operations tagged campaigns across 2 of this provider''s published API definitions: creatorriver-com-openapi.json, creatorriver-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://www.creatorriver.com/api/v1
security:
- apiKey: []
tags:
- name: Campaigns
paths:
/campaigns:
get:
operationId: list_campaigns
summary: List campaigns
description: Lists your campaigns with their brief, status and how many creators are at each stage. Free. Every account has a default “General Outreach” campaign you can use when no specific campaign fits.
tags:
- Campaigns
parameters:
- name: status
in: query
required: false
description: Only campaigns with this status
schema:
description: Only campaigns with this status
type: string
enum:
- draft
- active
- paused
- closed
- name: page
in: query
required: false
description: Page number, from 1
schema:
description: Page number, from 1
type: integer
minimum: 1
maximum: 9007199254740991
- name: limit
in: query
required: false
description: How many to return, 1-100 (default 20)
schema:
description: How many to return, 1-100 (default 20)
type: integer
minimum: 1
maximum: 100
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data: {}
required:
- data
4XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: create_campaign
summary: Create a campaign
description: 'Creates a campaign from a brief: the product, the goal and the creators you want. Free. Campaigns group the creators you contact; pass the campaign id to search_creators to rank results for the brief.'
tags:
- Campaigns
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
brief:
type: string
minLength: 1
maxLength: 10000
description: Product, goal and the creators you want
name:
description: 'Campaign name (default: the first line of the brief)'
type: string
minLength: 1
maxLength: 200
status:
description: Workflow status (default draft)
type: string
enum:
- draft
- active
- paused
- closed
required:
- brief
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data: {}
required:
- data
4XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
servers:
- url: https://www.creatorriver.com/api/v1
/campaigns/{campaignId}:
patch:
operationId: update_campaign
summary: Change a campaign’s name, brief or status
description: 'Changes a campaign: its name, its brief, its status, or whether it is archived. Pass only what changes. Free. A new brief is kept as the next revision, and searches with this campaignId rank against it from then on; creators already in the campaign stay.'
tags:
- Campaigns
parameters:
- name: campaignId
in: path
required: true
description: Campaign id, from list_campaigns or create_campaign
schema:
type: string
minLength: 1
description: Campaign id, from list_campaigns or create_campaign
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
description: New name
type: string
minLength: 1
maxLength: 200
brief:
description: 'New brief: product, goal and the creators you want'
type: string
minLength: 1
maxLength: 10000
status:
description: New workflow status
type: string
enum:
- draft
- active
- paused
- closed
archived:
description: true hides the campaign from the list; false brings it back
type: boolean
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data: {}
required:
- data
4XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
servers:
- url: https://www.creatorriver.com/api/v1
/campaigns/{campaignId}/status:
get:
operationId: get_campaign_status
summary: Show a campaign’s pipeline
description: 'Shows where a campaign stands: the searches run for it, and its creators by stage (outreach, negotiation, collaboration), each with the next action and who the conversation is waiting on. Free. Counts cover the whole campaign; each stage lists its most recently active items first. To go through every creator at one stage, pass stage and read page 1, 2, … until you have count items. Use it to decide what to do next across a campaign.'
tags:
- Campaigns
parameters:
- name: campaignId
in: path
required: true
description: Campaign id, from list_campaigns or create_campaign
schema:
type: string
minLength: 1
description: Campaign id, from list_campaigns or create_campaign
- name: stage
in: query
required: false
description: List items for this stage only; the other stages still show their counts
schema:
description: List items for this stage only; the other stages still show their counts
type: string
enum:
- discovery
- outreach
- negotiation
- collaboration
- monitoring
- name: page
in: query
required: false
description: Page of the stage’s items, from 1 (needs stage)
schema:
description: Page of the stage’s items, from 1 (needs stage)
type: integer
minimum: 1
maximum: 9007199254740991
- name: limit
in: query
required: false
description: How many items to return per stage, 1-100 (default 12)
schema:
description: How many items to return per stage, 1-100 (default 12)
type: integer
minimum: 1
maximum: 100
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data: {}
required:
- data
4XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
servers:
- url: https://www.creatorriver.com/api/v1
/campaigns/{campaignId}/creators/{creatorId}:
post:
operationId: add_creator
summary: Shortlist a creator in a campaign
description: 'Adds a creator to a campaign, at the outreach stage, without revealing the email: use it to build a shortlist before deciding whom to contact (reveal_contact adds the creator too). Adding unlocks the creator, which costs 0.5 credits the first time for each creator; adding again is free. Pass searchId to mark the creator as added in that search. A creator excluded from the campaign cannot be added.'
tags:
- Campaigns
parameters:
- name: campaignId
in: path
required: true
description: Campaign id, from list_campaigns or create_campaign
schema:
type: string
minLength: 1
description: Campaign id, from list_campaigns or create_campaign
- name: creatorId
in: path
required: true
description: Creator id, from search_creators results
schema:
type: string
minLength: 1
description: Creator id, from search_creators results
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
searchId:
description: The search the creator came from, to mark it added there
type: string
minLength: 1
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data: {}
required:
- data
4XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
servers:
- url: https://www.creatorriver.com/api/v1
/campaigns/{campaignId}/creators/{creatorId}/exclusion:
post:
operationId: exclude_creator
summary: Take a creator out of a campaign
description: 'Takes a creator out of a campaign for good: they move to closed and neither add_creator nor reveal_contact will put them back in this campaign. Their conversation stays readable. Pass searchId to also drop them from that search’s results (get_search). Free; credits already spent are not refunded. Use it when the user rules a creator out.'
tags:
- Campaigns
parameters:
- name: campaignId
in: path
required: true
description: Campaign id, from list_campaigns or create_campaign
schema:
type: string
minLength: 1
description: Campaign id, from list_campaigns or create_campaign
- name: creatorId
in: path
required: true
description: Creator id, from search_creators results
schema:
type: string
minLength: 1
description: Creator id, from search_creators results
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
searchId:
description: A search to drop the creator from as well
type: string
minLength: 1
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
properties:
data: {}
required:
- data
4XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
5XX:
description: Failure; `error.code` says what to do
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
servers:
- url: https://www.creatorriver.com/api/v1
components:
schemas:
Error:
type: object
required:
- error
properties:
error:
type: object
required:
- code
- message
properties:
code:
type: string
enum:
- unauthorized
- not_found
- invalid_input
- insufficient_credits
- rate_limited
- conflict
- internal
message:
type: string
details:
type: object
requestId:
type: string
securitySchemes:
apiKey:
type: http
scheme: bearer
description: An API key from https://www.creatorriver.com/settings/apikeys
x-refined-from:
- creatorriver-com-openapi.json
- creatorriver-com-openapi.yml