Rulebase Campaigns API

The Campaigns API from Rulebase — 4 operation(s) for campaigns.

Operations 6

GET /campaigns Get campaigns #
GET /campaigns/{campaignId} Get campaigns by campaign id #
PATCH /campaigns/{campaignId} Update campaigns by campaign id #
DELETE /campaigns/{campaignId} Delete campaigns by campaign id #
GET /campaigns/{campaignId}/companies Get campaigns by campaign id companies #
POST /campaigns/{campaignId}/start Create campaigns by campaign id start #

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/rulebase:rulebase-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

rulebase-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Rulebase API2 Campaigns API
  version: 0.0.1
tags:
- name: Campaigns
paths:
  /campaigns:
    get:
      tags:
      - Campaigns
      responses:
        '200':
          description: Organization campaigns
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type: string
                        description:
                          type: string
                        status:
                          type: string
                          enum:
                          - draft
                          - active
                          - in_progress
                          - paused
                          - scheduled
                          - complete
                        objective:
                          type: string
                          nullable: true
                        approach:
                          type: string
                          nullable: true
                        planTasks:
                          type: array
                          nullable: true
                          items:
                            type: object
                            properties:
                              title:
                                type: string
                              description:
                                type: string
                              completed:
                                type: boolean
                            required:
                            - title
                            - description
                            - completed
                        createdBy:
                          type: object
                          properties:
                            name:
                              type: string
                            initials:
                              type: string
                          required:
                          - name
                          - initials
                        dueLabel:
                          type: string
                        contactedCount:
                          type: integer
                        totalCount:
                          type: integer
                        percentComplete:
                          type: integer
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                      required:
                      - id
                      - name
                      - description
                      - status
                      - objective
                      - approach
                      - planTasks
                      - createdBy
                      - dueLabel
                      - contactedCount
                      - totalCount
                      - percentComplete
                      - createdAt
                      - updatedAt
                required:
                - data
      summary: Get campaigns
      x-summary-source: derived
      operationId: getCampaigns
      x-operation-id-source: derived
  /campaigns/{campaignId}:
    get:
      tags:
      - Campaigns
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: campaignId
        in: path
      responses:
        '200':
          description: Campaign detail
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      name:
                        type: string
                      description:
                        type: string
                      status:
                        type: string
                        enum:
                        - draft
                        - active
                        - in_progress
                        - paused
                        - scheduled
                        - complete
                      objective:
                        type: string
                        nullable: true
                      approach:
                        type: string
                        nullable: true
                      planTasks:
                        type: array
                        nullable: true
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                            description:
                              type: string
                            completed:
                              type: boolean
                          required:
                          - title
                          - description
                          - completed
                      createdBy:
                        type: object
                        properties:
                          name:
                            type: string
                          initials:
                            type: string
                        required:
                        - name
                        - initials
                      dueLabel:
                        type: string
                      contactedCount:
                        type: integer
                      totalCount:
                        type: integer
                      percentComplete:
                        type: integer
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                    - id
                    - name
                    - description
                    - status
                    - objective
                    - approach
                    - planTasks
                    - createdBy
                    - dueLabel
                    - contactedCount
                    - totalCount
                    - percentComplete
                    - createdAt
                    - updatedAt
                required:
                - data
        '404':
          description: Campaign not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
      summary: Get campaigns by campaign id
      x-summary-source: derived
      operationId: getCampaignsByCampaignId
      x-operation-id-source: derived
    patch:
      tags:
      - Campaigns
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: campaignId
        in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaign:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 300
                    objective:
                      type: string
                      maxLength: 500
                    approach:
                      type: string
                      maxLength: 2000
                    plan_tasks:
                      type: array
                      items:
                        type: object
                        properties:
                          title:
                            type: string
                            minLength: 1
                          description:
                            type: string
                            minLength: 1
                        required:
                        - title
                        - description
                    display_columns:
                      type: array
                      items:
                        type: string
                        minLength: 1
                    status:
                      type: string
                      enum:
                      - active
                      - in_progress
                      - paused
                      - scheduled
                      - complete
              required:
              - campaign
      responses:
        '200':
          description: Updated campaign
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      name:
                        type: string
                      description:
                        type: string
                      status:
                        type: string
                        enum:
                        - draft
                        - active
                        - in_progress
                        - paused
                        - scheduled
                        - complete
                      objective:
                        type: string
                        nullable: true
                      approach:
                        type: string
                        nullable: true
                      planTasks:
                        type: array
                        nullable: true
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                            description:
                              type: string
                            completed:
                              type: boolean
                          required:
                          - title
                          - description
                          - completed
                      createdBy:
                        type: object
                        properties:
                          name:
                            type: string
                          initials:
                            type: string
                        required:
                        - name
                        - initials
                      dueLabel:
                        type: string
                      contactedCount:
                        type: integer
                      totalCount:
                        type: integer
                      percentComplete:
                        type: integer
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                    - id
                    - name
                    - description
                    - status
                    - objective
                    - approach
                    - planTasks
                    - createdBy
                    - dueLabel
                    - contactedCount
                    - totalCount
                    - percentComplete
                    - createdAt
                    - updatedAt
                required:
                - data
        '404':
          description: Campaign not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
      summary: Update campaigns by campaign id
      x-summary-source: derived
      operationId: patchCampaignsByCampaignId
      x-operation-id-source: derived
    delete:
      tags:
      - Campaigns
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: campaignId
        in: path
      responses:
        '200':
          description: Deleted campaign
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                    required:
                    - id
                required:
                - data
        '404':
          description: Campaign not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
      summary: Delete campaigns by campaign id
      x-summary-source: derived
      operationId: deleteCampaignsByCampaignId
      x-operation-id-source: derived
  /campaigns/{campaignId}/companies:
    get:
      tags:
      - Campaigns
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: campaignId
        in: path
      - schema:
          type: integer
          description: Values above 100 are clamped to 100
          minimum: 1
        required: false
        name: page[limit]
        in: query
      - schema:
          type: integer
          minimum: 0
          exclusiveMinimum: true
        required: false
        name: page[page]
        in: query
      responses:
        '200':
          description: Companies in a campaign
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        logoUrl:
                          type: string
                          nullable: true
                          format: uri
                        domainNames:
                          type: array
                          items:
                            type: string
                        ubos:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                            required:
                            - id
                            - name
                        contacts:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                            required:
                            - id
                            - name
                        docsRetrieved:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                            required:
                            - id
                            - label
                        documentsMissing:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              label:
                                type: string
                            required:
                            - id
                            - label
                        lastContactedAt:
                          type: string
                          nullable: true
                        taskId:
                          type: string
                          nullable: true
                          format: uuid
                        status:
                          type: string
                          enum:
                          - open
                          - in_progress
                          - waiting
                          - failed
                          - completed
                          - canceled
                      required:
                      - id
                      - name
                      - logoUrl
                      - domainNames
                      - ubos
                      - contacts
                      - docsRetrieved
                      - documentsMissing
                      - lastContactedAt
                      - taskId
                      - status
                  meta:
                    type: object
                    properties:
                      displayColumns:
                        type: array
                        items:
                          type: string
                      page:
                        type: object
                        properties:
                          next:
                            type: string
                            nullable: true
                          limit:
                            type: integer
                          total:
                            type: integer
                        required:
                        - next
                        - limit
                        - total
                    required:
                    - displayColumns
                    - page
                required:
                - data
                - meta
        '404':
          description: Campaign not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
      summary: Get campaigns by campaign id companies
      x-summary-source: derived
      operationId: getCampaignsByCampaignIdCompanies
      x-operation-id-source: derived
  /campaigns/{campaignId}/start:
    post:
      tags:
      - Campaigns
      parameters:
      - schema:
          type: string
          format: uuid
        required: true
        name: campaignId
        in: path
      responses:
        '200':
          description: Started campaign
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      success:
                        type: boolean
                        enum:
                        - true
                      campaign_id:
                        type: string
                        format: uuid
                    required:
                    - success
                    - campaign_id
                required:
                - data
        '400':
          description: Campaign cannot be started
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '404':
          description: Campaign not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
      summary: Create campaigns by campaign id start
      x-summary-source: derived
      operationId: postCampaignsByCampaignIdStart
      x-operation-id-source: derived
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Rulebase organization API key