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:
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: '
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
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: '
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: '
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: '
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: '
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: '
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: '
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: '
The date and time the ruleset was last updated.'
format: date-time
type:
- string
- 'null'
x-internal: false
type: object
x-internal: false
securitySchemes:
bearerAuth:
bearerFormat: JWT
scheme: bearer
type: http
s2sAuthToken:
bearerFormat: JWT
scheme: bearer
type: http