Creator River Campaigns API

The campaigns API from Creator River — 5 operation(s) for campaigns.

GitHub OpenAPI

Operations 6

GET /campaigns List campaigns #
POST /campaigns Create a campaign #
PATCH /campaigns/{campaignId} Change a campaign’s name, brief or status #
GET /campaigns/{campaignId}/status Show a campaign’s pipeline #
POST /campaigns/{campaignId}/creators/{creatorId} Shortlist a creator in a campaign #
POST /campaigns/{campaignId}/creators/{creatorId}/exclusion Take a creator out of a campaign #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/creatorriver-com:creatorriver-com-campaigns-api"
All apis
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.

Get an API 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 Specification

creatorriver-com-campaigns-api-openapi.yml Raw ↑
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