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