Outreach Rule Set API

## Ruleset Relationships ## Ruleset Resource Metadata | **METADATA NAME**| **DESCRIPTION** | **QUERY PARAM** | | --- | --- | --- | | canWrite | A boolean value indicating whether the current API user has write access to this resource. | provideAuthorizationMeta | | canDelete | A boolean value indicating whether the current API user has delete access to this resource. | provideAuthorizationMeta | ## ⌵ Ruleset Actions

Operations 5

GET /rulesets Get a Collection of Rulesets #
POST /rulesets Create a New Ruleset #
DELETE /rulesets/{id} Delete an Existing Ruleset by ID #
GET /rulesets/{id} Get a Ruleset by ID #
PATCH /rulesets/{id} Update a Ruleset #

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/outreach-rule-set-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

outreach-rule-set-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Outreach Public API is documented here, at the Development Portal, expand the link Outreach REST API Reference in the left navigation bar to see human-readable description of endpoints and data types.
  title: Outreach REST API Reference Ruleset API
  version: ''
servers:
- url: https://api.outreach.io/api/v2
security:
- bearerAuth: []
tags:
- description: '## Ruleset Relationships


    ## Ruleset Resource Metadata


    | **METADATA NAME**| **DESCRIPTION** | **QUERY PARAM** |

    | --- | --- | --- |

    | canWrite | A boolean value indicating whether the current API user has write access to this resource. | provideAuthorizationMeta |

    | canDelete | A boolean value indicating whether the current API user has delete access to this resource. | provideAuthorizationMeta |


    ## ⌵ Ruleset Actions'
  name: Rule Set
  x-internal: false
paths:
  /rulesets:
    get:
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/rulesetResponse'
                    type: array
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      summary: Get a Collection of Rulesets
      tags:
      - Rule Set
      x-internal: false
      operationId: getRulesets
      x-operation-id-source: derived
    post:
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              properties:
                data:
                  properties:
                    attributes:
                      $ref: '#/components/schemas/ruleset'
                    relationships:
                      $ref: '#/components/schemas/rulesetRelationships'
                    type:
                      type: string
              type: object
        required: true
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/rulesetResponse'
          description: Created
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      summary: Create a New Ruleset
      tags:
      - Rule Set
      x-internal: false
      operationId: postRulesets
      x-operation-id-source: derived
  /rulesets/{id}:
    delete:
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '204':
          content:
            application/vnd.api+json: {}
          description: Deleted
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      summary: Delete an Existing Ruleset by ID
      tags:
      - Rule Set
      x-internal: false
      operationId: deleteRulesetsById
      x-operation-id-source: derived
    get:
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/rulesetResponse'
          description: OK
        '404':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: Not Found
      summary: Get a Ruleset by ID
      tags:
      - Rule Set
      x-internal: false
      operationId: getRulesetsById
      x-operation-id-source: derived
    patch:
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              properties:
                data:
                  properties:
                    attributes:
                      $ref: '#/components/schemas/ruleset'
                    id:
                      type: integer
                    relationships:
                      $ref: '#/components/schemas/rulesetRelationships'
                    type:
                      type: string
                  required:
                  - type
                  - id
              type: object
        required: true
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    properties:
                      attributes:
                        $ref: '#/components/schemas/ruleset'
                      id:
                        type: integer
                      relationships:
                        $ref: '#/components/schemas/rulesetRelationships'
                      type:
                        type: string
                    required:
                    - type
                    - id
                type: object
          description: OK
        '422':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  errors:
                    items:
                      properties:
                        detail:
                          type: string
                        id:
                          type: string
                        title:
                          type: string
                      type: object
                    type: array
          description: JSON error message
      summary: Update a Ruleset
      tags:
      - Rule Set
      x-internal: false
      operationId: patchRulesetsById
      x-operation-id-source: derived
components:
  schemas:
    ruleset:
      description: 'A reusable set of behaviors to be applied to Sequences

        '
      properties:
        applyCompletedStageIn:
          description: '


            The amount of time in seconds after the sequence has completed before the "completedStage" will be applied to the Prospect.'
          type:
          - integer
          - 'null'
          x-internal: false
        autoResumeOotoProspects:
          description: '<img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            A boolean value whether out-of-the-office Prospects will be automatically resumed. See "autoResumeOotoProspectsIn" and "autoResumeOotoProspectsExpiresIn" for more information.'
          type:
          - boolean
          - 'null'
          x-internal: false
        autoResumeOotoProspectsExpiresIn:
          description: '


            The maximum amount of time in seconds to wait before opted-out Prospect will be resumed.'
          type:
          - integer
          - 'null'
          x-internal: false
        autoResumeOotoProspectsIn:
          description: '


            The default amount of time in seconds to wait before opted-out Prospects will be resumed.'
          type:
          - integer
          - 'null'
          x-internal: false
        callOptOutAction:
          description: '


            Determines if prospect can be added to sequences if they are opted out of calling.'
          maxLength: 4
          type:
          - string
          - 'null'
          x-internal: false
        clicksNeededBeforeCallTaskCreated:
          description: '


            The number of email clicks needed before a call task will be automatically created. This feature will be disabled unless a value is set.'
          type:
          - integer
          - 'null'
          x-internal: false
        createdAt:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg> <img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            The date and time the ruleset was created.'
          format: date-time
          type:
          - string
          - 'null'
          x-internal: false
        emailOptOutAction:
          description: '


            Determines if prospect can be added to sequences if they are opted out of emails.'
          maxLength: 4
          type:
          - string
          - 'null'
          x-internal: false
        includeUnsubscribeLinks:
          description: '<img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            A boolean value whether to include unsubscribe links within emails.'
          type:
          - boolean
          - 'null'
          x-internal: false
        meetingBookedAction:
          description: '


            Determines if a prospect is marked as finished when a meeting is booked.'
          maxLength: 255
          type:
          - string
          - 'null'
          x-internal: false
        minimumProspectTouchedInterval:
          description: '


            The minimum number of seconds that must elapse between when a Prospect was last contacted and when they may be added to a sequnce. This feature will be disabled unless a value is set.'
          type:
          - integer
          - 'null'
          x-internal: false
        name:
          description: '<img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            The name of the ruleset.'
          maxLength: 255
          type:
          - string
          - 'null'
          x-internal: false
        ootoAutoExtractionEnabled:
          description: '


            A boolean value determining whether to use out of the office return date auto extraction.'
          type:
          - boolean
          - 'null'
          x-internal: false
        opensNeededBeforeCallTaskCreated:
          description: '


            The number of email opens needed before a call task will be automatically created. This feature will be disabled unless a value is set.'
          type:
          - integer
          - 'null'
          x-internal: false
        permitDuplicateProspects:
          description: '<img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            A value determining whether a Prospect may be added to this Sequence multiple times or not. Permitted values include "allow", "disallow" (the default) and "only_if_inactive", which indicates that Prospects may be re-added to this sequence if their existing SequenceState is inactive.'
          maxLength: 255
          type:
          - string
          - 'null'
          x-internal: false
        sequenceExclusivity:
          description: '<img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            A value determining whether Prospects may be added to multiple different Sequences. Permitted values include "all_sequences", "exclusive_sequences" and "none" (the default). If the value is "all_sequences", then Prospects may only be added if they are not active in any other Sequence; likewise, a Prospect active in a Sequence with "all_sequences" exclusivity cannot be added to any other Sequence. If the value is "exclusive_sequences", then Prospects may only be added if they are not active in any other Sequence with "exclusive_sequences" exclusivity; likewise, a Prospect active in a Sequence with "exclusive_sequences" exclusivity cannot be added to any other Sequence with "exclusive_sequences" exclusivity. If the value is "none", then no additional restrictions will be applied.'
          maxLength: 255
          type:
          - string
          - 'null'
          x-internal: false
        smsOptOutAction:
          description: '


            Determines if prospect can be added to sequences if they are opted out of SMS.'
          maxLength: 4
          type:
          - string
          - 'null'
          x-internal: false
        smsReceivedAction:
          description: '


            Determines if a prospect is marked as finished when a text message is received'
          maxLength: 255
          type:
          - string
          - 'null'
          x-internal: false
        stepOverridesEnabled:
          description: '


            A boolean value determining whether to allow users to customize step templates when adding to sequence.'
          type:
          - boolean
          - 'null'
          x-internal: false
        updatedAt:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg> <img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            The date and time the ruleset was last updated.'
          format: date-time
          type:
          - string
          - 'null'
          x-internal: false
      type: object
      x-internal: false
    rulesetResponse:
      properties:
        attributes:
          $ref: '#/components/schemas/ruleset'
        id:
          type: integer
        relationships:
          $ref: '#/components/schemas/rulesetRelationships'
        type:
          type: string
      type: object
      x-internal: false
    rulesetRelationships:
      properties:
        bouncedStage:
          description: The stage to assign to the prospect when a mailing in this sequence bounces. You can use only the attribute id to filter rulesets by bouncedStage (e.g. filter[bouncedStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        callTaskPriority:
          description: The task priority to use when creating call tasks based on mail opens. You can use only the attribute id to filter rulesets by callTaskPriorityFromOpens (e.g. filter[callTaskPriorityFromOpens][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - taskPriority
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        callTaskPriorityFromClicks:
          description: The task priority to use when creating call tasks based on mail clicks. You can use only the attribute id to filter rulesets by callTaskPriorityFromClicks (e.g. filter[callTaskPriorityFromClicks][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - taskPriority
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        callTaskPriorityFromOpens:
          description: The task priority to use when creating call tasks based on mail opens. You can use only the attribute id to filter rulesets by callTaskPriorityFromOpens (e.g. filter[callTaskPriorityFromOpens][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - taskPriority
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        completedStage:
          description: The stage to assign to the prospect when this sequence completes. You can use only the attribute id to filter rulesets by completedStage (e.g. filter[completedStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        deliveredStage:
          description: The stage to assign to the prospect when a mailing in this sequence is delivered. You can use only the attribute id to filter rulesets by deliveredStage (e.g. filter[deliveredStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        finishedStage:
          description: The stage to assign to the prospect when this sequence finishes. You can use only the attribute id to filter rulesets by finishedStage (e.g. filter[finishedStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        optedOutStage:
          description: The stage to assign to the prospect when they opt out of this sequence. You can use only the attribute id to filter rulesets by optedOutStage (e.g. filter[optedOutStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        owner:
          description: The owner of the ruleset. You can use only the attribute id to filter rulesets by owner (e.g. filter[owner][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        repliedStage:
          description: The stage to assign to the prospect when a mailing in this sequence is replied to. You can use only the attribute id to filter rulesets by repliedStage (e.g. filter[repliedStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        sequences:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The sequences associated with this ruleset. You can use only the attribute id to filter rulesets by sequences (e.g. filter[sequences][id]=X).'
          properties:
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        startedStage:
          description: The stage to assign to the prospect when this sequence starts. You can use only the attribute id to filter rulesets by startedStage (e.g. filter[startedStage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - stage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
    s2sAuthToken:
      bearerFormat: JWT
      scheme: bearer
      type: http