Welcome to the Outreach API documentation website! Our platform API is built from the ground up to serve the complex needs of both our internal client applications and our customers and integration partners alike. Our API is based on REST principles and implements the JSON API 1.0 specification. All requests must be authenticated via the OAuth 2.0 protocol, and their authorization scope can be limited on a per-application, per-token basis. See Getting Started for more information.

The Outreach API — via the JSON API specification — supports fetching, creating, updating and deleting resources, and in Making Requests we describe the specific requirements for completing those requests. In addition, we describe how you can use complex query parameters to filter, sort and paginate collections of resources, as well as request included resources and sparse fieldsets.

In Common Patterns we outline important requests and the resources and relationships they require. Our API works great as a lightweight CRM, as an entry-point into our platform’s advanced automation capabilities, and as a tool to collect platform statistics.

Finally, in the API Reference section we describe all of the resources that we support along with the request methods that they expose. Each resource section also contains detailed attribute and relationship information and an example request and response for each action.

To request API access, please visit our Platform marketing page and click “Get Started”. If you have any additional questions, feedback or bug reports, please contact platform@outreach.io.

Getting Started

Authentication

Outreach is continually working to improve our security. Starting on January 1, 2021, all authentication tokens issued by Outreach will be short lived. In addition, effective immediately, all tokens older than 1.5 years are being deleted. See the token availability section for more details. If experiencing issues making API calls to Outreach API, please consider generating a new refresh token or contact platform@outreach.io.

Outreach API applications use the standard OAuth 2.0 authentication flow. Conceptually, this means that any application request will be using two distinct sets of credentials: The API key and secret that identify the application, and the username and password (or SSO access token) that identify the user. An application should never require that users enter an API key or secret of their own.

All Outreach API requests must be authenticated with a token in the request’s HTTP Authorization header. If you have not yet setup an Outreach OAuth application, please contact platform@outreach.io for assistance. Once setup, you can acquire an access token in two steps. First, request an authorization code from an Outreach customer by redirecting them to the following URL:

https://api.outreach.io/oauth/authorize?client_id=<Application_Identifier>&redirect_uri=<Application_Redirect_URI>&response_type=code&scope=<Scope1+Scope2+Scope3>

Note that scope must be a space-separated list of permitted API scopes, and both redirect_uri and scope must be properly URL-encoded. For more information on available OAuth scopes, see the Authorization section in this document.

If you would like to maintain state across the authorization flow, you may optionally include a state parameter, which will be included as part of the redirect URI’s query parameters.

Once the Outreach customer has clicked Authorize they will be redirected back to your link’s redirect_uri with a code query parameter. That code is a short-lived authorization token, and you can exchange that code for an access token, which can then be used to make API requests on behalf of the customer. To receive an access token, make a POST request to the following URL with the following parameters:

Request

curl https://api.outreach.io/oauth/token \
  -X POST \
  -d client_id=<Application_Identifier> \
  -d client_secret=<Application_Secret> \
  -d redirect_uri=<Application_Redirect_URI> \
  -d grant_type=authorization_code \
  -d code=<Authorization_Code>

Response

{
  "access_token": <Access_Token>,
  "token_type": "bearer",
  "expires_in": 7200,
  "refresh_token": <Refresh_Token>,
  "scope": <Scope1+Scope2+Scope3>,
  "created_at": 1503301100
}

A successful response to this request will return a JSON payload including the access_token, a refresh_token and an expires_in timestamp. The access token can be used to make authenticated requests on behalf of the customer, but will expire once the expires_in attribute has passed. (Tokens are also revoked when the customer revokes their authorization grant.) Once the access token has expired, you can retrieve a new one by using the refresh_token grant type and by passing the refresh token to the code parameter:

Note that your application can only retrieve an access token for a user once every 60 seconds. If you attempt to retrieve new access tokens more frequently we may return 429 error responses. Please store the access token and only fetch a new one when it is about to expire.

Request

curl https://api.outreach.io/oauth/token \
  -X POST \
  -d client_id=<Application_Identifier> \
  -d client_secret=<Application_Secret> \
  -d redirect_uri=<Application_Redirect_URI> \
  -d grant_type=refresh_token \
  -d refresh_token=<Refresh_Token>

Response

{
  "access_token": <Access_Token>,
  "token_type": "bearer",
  "expires_in": 7200,
  "refresh_token": <Refresh_Token>,
  "scope": <Scope1+Scope2+Scope3>,
  "created_at": 1503308300
}

You can now make authenticated API requests by including an HTTP Authorization header:

curl https://api.outreach.io/api/v2 \
  -H "Authorization: Bearer <Access_Token>" \
  -H "Content-Type: application/vnd.api+json"

The root API endpoint will return information about your current OAuth application and token, as well as attributes related to your organization.

Token Availability

Effective on January 1, 2021, each user/application pair is able to generate a maximum of 100 access refresh tokens at any given time.

Please refer to the best practices outlined below for refresh tokens:

Authorization

Authorization scopes let you specify exactly what type and level of access your application requires. Your OAuth application’s scopes describe the possible set of values that may be requested, but the specific scopes requested during the authentication process are what will be applied to the resulting access token and used to restrict and permit application access.

Scopes are period-separated strings containing two parts: the first part is a pluralized resource name (e.g. prospects); the second part is a token — read, write, delete or all — that describes the level of access permitted. For example, the scopes prospects.read and prospects.all would both grant access to read prospects, while only the latter would permit write and delete access. Scopes are not additive; the prospects.write scope does not grant read access.

If a customer does not have the required OAuth scope to perform a request, a 403 HTTP response with a descriptive JSON error message will be returned:

{
  "errors": [{
    "id": "unauthorizedOauthScope",
    "title": "Unauthorized OAuth Scope",
    "detail": "Your authorization does not include the required scope 'prospects.read'."
  }]
}

OAuth scopes act as the front gate to our API. Just because a customer possesses the required OAuth scope does not grant them authorization to perform those actions on all resources. For example, many customers may have governance settings that only permit them to manage their own prospects, even though they need the OAuth scope prospects.all to fully manage those owned prospects.

If a customer does not have the required governance permissions to perform a request, a 403 HTTP response with a descriptive error message will be returned:

{
  "errors": [{
    "id": "unauthorizedRequest",
    "title": "Unauthorized Request",
    "detail": "You are not authorized to perform that request."
  }]
}

Maintenance

If the Outreach API must be taken offline for maintenance, all requests will receive a 503 HTTP response with a descriptive JSON error message. The response will also include a ISO-8601-formatted timestamp in its Retry-After header indicating when maintenance is expected to complete. When possible all maintenance windows will be announced at https://status.outreach.io.

{
  "errors": [{
    "id": "scheduledServerMaintenance",
    "title": "Scheduled Server Maintenance",
    "detail": "Scheduled server maintenance is under way; please try again at 2017-01-01T00:00:00"
  }]
}

Rate Limiting

The Outreach API is rate-limited on a per-user basis, with a fixed limit of 10,000 requests per one-hour period. All responses include three rate-limiting headers: the X-RateLimit-Limit header indicates the maximum number of requests permitted per time period; the X-RateLimit-Remaining header indicates how many remaining requests are permitted within the current time period; and the X-RateLimit-Reset header (alias as the Retry-After header) indicates when the rate limit counter will reset. If the rate limit is exceeded, requests will receive a 429 HTTP response with a descriptive JSON error message.

{
  "errors": [{
    "id": "rateLimitExceeded",
    "title": "Rate Limit Exceeded",
    "detail": "You have exceeded your permitted rate limit of 10,000; please try again at 2017-01-01T00:00:00."
  }]
}

Making Requests

Content Negotiation

The Outreach API implements the JSON API 1.0 specification. All requests must specify the JSON API media type (application/vnd.api+json) within the Content-Type request header. Requests failing to specify this content type will receive a 415 HTTP response with a descriptive error message:

{
  "errors": [{
    "id": "unsupportedMediaType",
    "title": "Unsupported Media Type",
    "details": "Expected Content-Type header to be 'application/vnd.api+json'."
  }]
}

For more information, see JSON API content negotiation.

Fetch a Collection of Resources

To fetch a collection of resources, make a GET request against a resource’s pluralized type. The body of the response will be a JSON payload. If the request was successful, the response will contain a top-level data property; otherwise, the response will contain a top-level errors property containing a list of error reasons. See Error Responses for more details.

Request

GET https://api.outreach.io/api/v2/prospects

Request

{
  "data": [{
    "type": "prospect",
    "id": 1,
    "attributes": {
      "firstName": "Sally",
      "lastName": null,
      ...
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      },
      "mailings": {
        "links": {
          "related": "https://api.outreach.io/api/v2/mailings?filter[prospect][id]=1"
        }
      },
      ...
    }
  },
  ...]
}

In this case of fetching a collection of resources, the data property will be a list of up to 50 resource objects. A resource object is a JSON object that contains at minimum the type and id values of the resource, but may also contain properties for the resource’s attributes and relationships, as well as meta data.

This resource object contains two types of relationship information. The account relationship contains a data property with type and id values. When we reference just a resource’s type and ID, we call the object a resource identifier. The mailings relationship, however, does not contain a data property. Instead, it provides a links property with a related URL that references the list of mailings associated with this prospect. Relationship objects may contain data, links or meta properties.

For more information, see Fetching Resources in the JSON API specification.

Filter and Sort

Oftentimes we want to return just a specific subset of a resource collection. The Outreach API provides two query parameters for specifying collections:

Filter parameters restrict collections by certain key-value combinations; the sort parameter orders collections by attributes and relationships’ attributes; See the following examples for more details.

Note that not all attributes permit filter and sort criteria. Please consult the API Reference for more details.

Filter by exact attribute

GET https://api.outreach.io/api/v2/prospects?filter[firstName]=Sally

Filter by exact relationship’s attribute

Update (May, 2023): In order to maintain the performance and reliability of our API services and allow modernization of our service architecture, Outreach has decided to deprecate support for filtering by some of the relationship’s attributes.

Please consult the reference documentation for each relationship to see whether you can use filters like filter[relationship_abc][attribute_1]=Acme, or only filter[relationship_abc][id]=1 is allowed. In the latter case you need to do two requests, first get a list of relationship IDs querying /api/v2/model_abc?filter[name]=Acme and then pass them to the original query as filter[relationship_abc][id]=1,2,3.

GET https://api.outreach.io/api/v2/prospects?filter[account][name]=Acme // deprecated

GET https://api.outreach.io/api/v2/account?filter[name]=Acme
GET https://api.outreach.io/api/v2/prospects?filter[account][id]=1,2,3,5,8,13

Filter by exact attribute and relationship’s attribute

GET https://api.outreach.io/api/v2/prospects?filter[firstName]=Sally&filter[account][name]=Acme

Filter by a list of values

GET https://api.outreach.io/api/v2/prospects?filter[id]=1,2,3,5,8,13

Filter by range of values

GET https://api.outreach.io/api/v2/prospects?filter[id]=5..10

Filter by a less-than-or-equal-to condition

GET https://api.outreach.io/api/v2/prospects?filter[updatedAt]=neginf..2017-01-01

Filter by greater-than-or-equal-to condition

GET https://api.outreach.io/api/v2/prospects?filter[updatedAt]=2017-01-01..inf

Sort by ascending attribute

GET https://api.outreach.io/api/v2/prospects?sort=firstName

Sort by descending attribute

GET https://api.outreach.io/api/v2/prospects?sort=-firstName

Sort by relationship’s attribute

Update (May, 2023): In order to maintain the performance and reliability of our API services and allow modernization of our service architecture, Outreach has decided to deprecate support for sorting by the relationship’s attributes.

Please fetch the result of your query with the relationship’s attribute included and apply sorting locally in your service.

GET https://api.outreach.io/api/v2/prospects?sort=account.name // deprecated

Sort by multiple criteria

GET https://api.outreach.io/api/v2/prospects?sort=lastName,-firstName

New filter syntax

We have added a new parameter, newFilterSyntax=true, that you can use when you need to match values that contain the comma character (,) or two dots (..). This was not possible with the old syntax as the comma character and the two dots had special meaning.

Instead of separating the values with commas, you now use brackets to list an array of values. This means you can use a literal comma in the value. Example:

# old syntax:
GET https://api.outreach.io/api/v2/prospects?filter[firstName]=Sally,Katie

# new syntax:
GET https://api.outreach.io/api/v2/prospects?newFilterSyntax=true&filter[firstName][]=Sally&filter[firstName][]=Katie

# old syntax (does not return the desired result, filters for accounts named "Company" and " Inc"):
GET https://api.outreach.io/api/v2/accounts?filter[name]=Company,%20Inc

# new syntax (filters for "Company, Inc"):
GET https://api.outreach.io/api/v2/accounts?newFilterSyntax=true&filter[name][]=Company,%20Inc

Instead of specifying a range with two dots, you instead use [gte] and [lte] (gte is short for greater-than-or-equal-to, and lte is short for less-than-or-equal-to). So instead of 5..10 you use [gte]=5 and [lte]=10. This means you can use two dots when filtering for values. Instead of neginf and inf, simply leave out either [gte] or [lte] instead. Example:

# old syntax:
GET https://api.outreach.io/api/v2/prospects?filter[id]=5..10

# new syntax:
GET https://api.outreach.io/api/v2/prospects?newFilterSyntax=true&filter[id][gte]=5&filter[id][lte]=10

# old syntax:
GET https://api.outreach.io/api/v2/prospects?filter[updatedAt]=neginf..2017-01-01

# new syntax:
GET https://api.outreach.io/api/v2/prospects?newFilterSyntax=true&filter[updatedAt][lte]=2017-01-01

Pagination

If after using sort and filter you need to further reduce the number of returned entries, you can use pagination. The Outreach API provides page query parameter for this purpose. Page size/limit and offset parameters limit views into large collections. See the following examples for more details.

Cursor-based Pagination

Cursor-based pagination works by returning a pointer to a specific item in the dataset.

GET https://api.outreach.io/api/v2/prospects?page[size]=50&count=false

Along with the first 50 entries, the response contains a top-level links property with first, prev and next links that allow efficient pagination. Using it with the count=false flag is recommended to improve performance of the query.

{
  "data": [
    //...
  ],
  "links": {
    "first": "https://api.outreach.io/api/v2/prospects?page[size]=50",
    "prev": "https://api.outreach.io/api/v2/prospects?page[size]=50&page[before]=eyJjbiI6IkFwaVYyOjpQcm9zcGVjdHNDb250cm9sbGVyIiwic3AiOm51bGwsInN2IjpbXSwiaWQiOjEzNiwidiI6MX0",
    "next": "https://api.outreach.io/api/v2/prospects?page[size]=50&page[after]=eyJjbiI6IkFwaVYyOjpQcm9zcGVjdHNDb250cm9sbGVyIiwic3AiOm51bGwsInN2IjpbXSwiaWQiOjIyNSwidiI6MX0"
  },
}

Offset Pagination (Deprecated)

Please use the cursor-based pagination described above and the top-level links property to advance to next page.

To offset the page start:

GET https://api.outreach.io/api/v2/prospects?page[offset]=50

Note that large offsets on large collections can cause a significant performance hit. For this reason we enforce a maximum offset of 10,000. To work around this limitation, consider using more specific filter criteria or paging across ranges of IDs.

To limit the page size:

GET https://api.outreach.io/api/v2/prospects?page[limit]=3

Note that page limits must not be larger than 1000.

In addition, each collection response will include a top-level links property that will contain first, prev, next and last keys, if applicable. Use these links to easily navigate between slices of a collection.

Request

GET https://api.outreach.io/api/v2/prospects?page[offset]=150

Response

{
  "data": [
    //...
  ],
  "links": {
    "first": "https://api.outreach.io/api/v2/prospects?page[limit]=50&page[offset]=0",
    "prev": "https://api.outreach.io/api/v2/prospects?page[limit]=50&page[offset]=100",
    "next": "https://api.outreach.io/api/v2/prospects?page[limit]=50&page[offset]=200",
    "last": "https://api.outreach.io/api/v2/prospects?page[limit]=50&page[offset]=850"
  }
}

Fetch an Individual Resource

You can fetch individual resources by making a GET request against any particular resource’s pluralized type and ID combination. For example, to retrieve an individual prospect resource:

GET https://api.outreach.io/api/v2/prospects/1

The response format will be the same as when fetching collections except that the data property will contain only the found resource object instead of a list of resource objects.

If a resource could not be found, the request will receive a 404 HTTP response with a descriptive JSON error message:

{
  "errors": [{
    "id": "resourceNotFound",
    "title": "Resource Not Found",
    "detail": "Could not find 'prospect' with ID '1'."
  }]
}

For more information, see Fetching Resources in the JSON API specification.

Sometimes when you retrieve a resource you want more than just a reference to its relationships, you want the full details of those relationships, too. With the Outreach API, you can easily specify which relationships to fully include within the request. Specify included resources in the include query parameter; separate multiple resources by commas and relationship-attribute pairs by periods.

For example, to retrieve not just a individual prospect, but also its related stage and account, as well as its account’s owner:

Request

GET https://api.outreach.io/api/v2/prospects/1?include=account.owner,stage

Response

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "firstName": "Sally",
      "lastName": null,
      ...
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      },
      "stage": {
        "data": {
          "type": "stage",
          "id": 1
        }
      },
      ...
    }
  },
  "included": [{
    "type": "account",
    "id": 1,
    "attributes": {
      "domain": "www.acme.example.com",
      "name": "Acme",
      ...
    },
    "relationships": {
      ...
    }
  }, {
    "type": "stage",
    "id": 1,
    "attributes": {
      "name": "Initial",
      "order": 1,
      ...
    },
    "relationships": {
      ...
    }
  }, {
    "type": "user",
    "id": 1,
    "attributes": {
      "email": "test-user@example.com",
      ...
    },
    "relationships": {
      ...
    }
  }]
}

Keeping the primary data separate from the list of included resources provides a better separation of concerns, and the final resource tree can be composed by referencing the included resource objects with the resource identifiers within relationships properties.

For more information, see Inclusion of Related Resources in the JSON API specification.

Specify Sparse Fieldsets

By default, resource objects return all of their public attributes and relationships. But sometimes you’re only interested in a few specific fields. In these cases you can specify sparse fieldsets by utilitizing the fields query parameter.

For example, to select only the prospect’s first and last name, as well as the name of the account and stage:

Request

GET https://api.outreach.io/api/v2/prospects/1?include=account,stage&fields[account]=name&fields[prospect]=firstName,lastName&fields[stage]=name

Response

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "firstName": "Sally",
      "lastName": null
    }
  },
  "included": [
    {
      "type": "account",
      "id": 1,
      "attributes": {
        "name": "Acme"
      },
    },
    {
      "type": "stage",
      "id": 1,
      "attributes": {
        "name": "Initial"
      },
    }
  ]
}

To request data about a relationship whose type does not match the relationship name (e.g. owner is of type user for prospects), you will need to specify the resource type for sparse fieldsets.

Request

GET https://api.outreach.io/api/v2/prospects/1?include=owner&fields[user]=firstName,lastName&fields[prospect]=firstName,lastName

Response

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "firstName": "Sally",
      "lastName": null
    }
  },
  "included": [
    {
      "type": "user",
      "id": 1,
      "attributes" {
        "firstName": "Amelia",
        "lastName": "Estevez"
      }
    }
  ]
}

For more information, see Sparse Fieldsets in the JSON API specification.

Create a New Resource

You can create a new resource by making a POST request against the resource’s collection path. The request body must contain a JSON payload with a resource object as the primary data. Note that unlike in other circumstances, this resource object must not contain an id property.

For example, to create a new prospect resource with a first name and to associated the new prospect with an existing account:

Request

POST https://api.outreach.io/api/v2/prospects

{
  "data": {
    "type": "prospect",
    "attributes": {
      "firstName": "John"
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      }
    }
  }
}

Response

{
  "data": {
    "type": "prospect",
    "id": 2,
    "attributes": {
      "firstName": "John",
      "lastName": null,
      ...
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      },
      ...
    }
  }
}

If the request was successful, the request will receive a 201 HTTP response with the same response body that you would retrieve should you fetch the newly created resource again via its permanent URL.

If there was a validation error and the request could not be completed, then the request will receive a 422 HTTP response with a descriptive JSON error message:

{
  "errors": [{
    "id": "validationError",
    "title": "Validation Error",
    "detail": "Name can't be blank.",
    "source": { "pointer": "/data/attributes/name" }
  }]
}

For more information, see Creating Resources in the JSON API specification.

Update (May, 2023): In order to maintain the performance and reliability of our API services and allow modernization of our service architecture, Outreach has decided to remove support for including related objects on create/update operations.

Note that you can specify sparse fieldsets for create actions just like you can when fetching resources. However, if you want to include related objects you need an additional GET request.

Update an Existing Resource

You can update an existing resource by making a PATCH request to the resource’s path. The request body must contain a JSON payload with a resource object as the primary data, and only present fields will be updated. The resource object’s type and id fields must be present and its ID must match the ID within the URL.

For example, to update an existing prospect with a new first name and to remove the account relationship:

PATCH https://api.outreach.io/api/v2/prospects/1

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "firstName": "Sal"
    },
    "relationships": {
      "account": {
        "data": null
      }
    }
  }
}

If the request was successful, the request will receive a 200 HTTP response with the same response body that you would retrieve should you fetch the newly updated resource again via its permanent URL. If there was a validation error and the request could not be completed, then the request will receive a 422 HTTP response with a descriptive JSON error message.

For more information, see Updating Resources in the JSON API specification.

Update (May, 2023): In order to maintain the performance and reliability of our API services and allow modernization of our service architecture, Outreach has decided to remove support for including related objects on create/update operations.

Note that you can specify sparse fieldsets for create actions just like you can when fetching resources. However, if you want to include related objects you need an additional GET request.

Delete an Existing Resource

You can remove a resource by making a DELETE request to the resource’s path:

DELETE https://api.outreach.io/api/v2/prospects/1

If the request was successful, the request will receive a 204 HTTP response with an empty response body. If there was a validation error and the request could not be completed, then the request will receive a 422 HTTP response with a descriptive JSON error message.

For more information, see Deleting Resources in the JSON API specification.

Other Actions on a Resource

Certain resources have further actions defined for individual items. These are accessed by making a request to a path like:

POST https://api.outreach.io/api/v2/tasks/1/actions/snooze

If the request is successful, the request will receive a 200 HTTP response with the body being the resource’s response body as if you had performed a GET for that resource. If there was an error of some kind in performing the action, you will receive a 422 HTTP response with a descriptive JSON error message.

Some action requests have optional query parameters and/or required query parameters that influence how the action is performed:

POST https://api.outreach.io/api/v2/tasks/1/actions/markComplete?actionParams[completionNote]=I+completed+this

Providing additional, unacceptable parameters will result in a 400 HTTP response being returned.

Error Responses

When an error occurs, the response body’s JSON payload will contain an errors property list instead of a data section. Each error object will contain a unique id and title, as well as specific details about this particular occurence of the error. Errors referencing specific fields will include a JSON source pointer.

For more information, see Error Objects in the JSON API specification.

Common Patterns

The Outreach API’s flexibility helps support a wide range of possibilities and use cases. Our API works great as a light-weight CRM, as an entry-point into our platform’s advanced automation capabilities, and as a tool to collect platform statistics. Continue reading for more specific use cases, and at the end of this section you’ll find a reference to each resource that our API supports, including detailed information about that resource’s attributes, relationships and available links.

Manage Prospects and Accounts

Prospects — and the accounts they are associated with — are two of the core Outreach platform resources, and working with them is easy.

Let’s say you’ve identified a new account that you want to target. You’ve found a few promising leads within that account and you’d like to add them to Outreach. Because you can’t write to an account’s prospects relationship, you’ll want to first create the account resource. Then, with each new prospect that you add you can specify this new account within the prospect’s account relationship.

Note: In general, we’re more likely to permit you to write to a “to-one” relationship (such as the prospect’s account) than we are to a “to-many” (such as the account’s prospects). This choice is made for both technical and conceptual reasons, and it’s something to lookout for. Consult the API Reference for details on specific resources.

To add a new account:

Request

POST https://api.outreach.io/api/v2/accounts

{
  "data": {
    "type": "account",
    "attributes": {
      "name": "Acme"
    }
  }
}

Note: The requests in this section omit the necessary headers for brevity, namely Authorization and Content-Type; they are necessary when performing actual requests. Additionally the JSON data for the request body is simply described below the request line; actual request must include this data as the request body.

If the request was successful, the newly created account resource will be returned:

Response

{
  "data": {
    "type": "account",
    "id": 1,
    "attributes": {
      "createdAt": "2017-01-01T00:00:00",
      "name": "Acme",
      "updatedAt": "2017-01-01T00:00:00",
      ...
    },
    "relationships": {
      "prospects": {
        "links": {
          "related": "https://api.outreach.io/api/v2/prospects?filter[account][id]=1"
        }
      },
      ...
    }
  }
}

Note that null attributes and relationships have been removed for brevity. By default resource objects include all attributes and relationships regardless of their value.

You can see from this response that Outreach has added a bit more information than you provided. First, the fields createdAt and updatedAt have been added with timestamps equal to when the request was made. Outreach maintains these timestamps internally for almost all resources; while they are visible, you cannot write to them. Second, a relationships section has been added. The account resource exposes a single relationship, prospects. Because accounts often contain many prospects, we only expose a related link and not a data list of resource identifiers. If you visit this URL you would receive an empty response, because we have not yet added any prospects to this account. Let’s do that now!

To add a new prospect to an account:

Request

POST https://api.outreach.io/api/v2/prospects

{
  "data": {
    "type": "prospect",
    "attributes": {
      "emails": ["sally.smith@acme.example.com"],
      "firstName": "Sally",
      "title": "CEO"
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      }
    }
  }
}

Response

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "createdAt": "2017-01-01T00:00:00",
      "emails": ["sally.smith@acme.example.com"],
      "firstName": "Sally",
      "lastName": "Smath",
      "title": "CEO",
      "updatedAt": "2017-01-01T00:00:00",
      ...
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      },
      ...
    }
  }
}

To update an existing prospect:

Request

PATCH https://api.outreach.io/api/v2/prospects/1

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "lastName": "Smith"
    },
    "relationships": {
      "owner": {
        "data": {
          "type": "user",
          "id": 1
        }
      }
    }
  }
}

Response

{
  "data": {
    "type": "prospect",
    "id": 1,
    "attributes": {
      "createdAt": "2017-01-01T00:00:00",
      "emails": ["sally.smith@acme.example.com"],
      "firstName": "Sally",
      "lastName": "Smith",
      "title": "CEO",
      "updatedAt": "2017-01-01T01:00:00",
      ...
    },
    "relationships": {
      "account": {
        "data": {
          "type": "account",
          "id": 1
        }
      },
      "owner": {
        "data": {
          "type": "user",
          "id": 1
        }
      },
      ...
    }
  }
}

The request only included one changed attribute and one new relationship, but the response included all of the prospect’s attributes and relationships. Remember that the Outreach API will only change the fields you provide.

For more information, see the Account and Prospect API Reference pages.

Setup and Manage Sequences

Sequences are at the heart of Outreach’s system of engagement. The Outreach API provides the ability to create and manage sequences and their related rulesets and sequence steps.

To create a new sequence, provide a short name and description, and specify a sequence type of "interval" or "date":

POST https://api.outreach.io/api/v2/sequences

{
  "data": {
    "type": "sequence",
    "attributes": {
      "description": "Primary Sales Sequence",
      "name": "Primary",
      "sequenceType": "interval"
    }
  }
}

We picked "interval" to indicate that this sequence’s steps are separated by an interval of days. Alternatively, we could have picked "date" to indicate that each step should advance at a specific date and time in the future.

Once you have the ID from the response of the create request, you can add the first sequence step. For this step we’ll need to provide its step type and a time interval (in minutes), along with the sequence details:

POST https://api.outreach.io/api/v2/sequenceSteps

{
  "data": {
    "type": "sequenceStep",
    "attributes": {
      "interval": 120,
      "stepType": "call"
    },
    "relationships": {
      "sequence": {
        "data": {
          "type": "sequence",
          "id": 1
        }
      }
    }
  }
}

Accepted values for the step type attribute include "auto_email", "call", "manual_email" and "task". And if this step’s sequence has a sequence type set to "date", then we must instead provide a "date" attribute rather than an "interval" attribute.

You can also associate custom rulesets with sequences. First, create a new ruleset with a name and some settings:

POST https://api.outreach.io/api/v2/rulesets

{
  "data": {
    "type": "ruleset",
    "id": 1,
    "attributes": {
     "autoResumeOotoProspects": true,
     "name": "Custom Ruleset",
     "permitDuplicateProspects": "onlyIfActive"
    }
  }
}

Then associate the ruleset with the existing sequence:

PATCH https://api.outreach.io/api/v2/sequences/1

{
  "data": {
    "type": "sequence",
    "id": 1,
    "relationships": {
      "ruleset": {
        "data": {
          "type": "ruleset",
          "id": 1
        }
      }
    }
  }
}

For more information, see the Sequence, Ruleset and Sequence Step API Reference pages.

Save Snippets and Templates

Snippets and templates are valuable resources that save your team time and energy. Snippets provide easy access to your most commonly used HTML passages. Templates are larger resources that encapsulate a mailing’s subject and body and can be associated with automated mailing sequence steps and one-off tasks. Templates can also contain a default list of recipients relevant to that topic.

To create a snippet, just provide the resource a name and the body’s HTML representation:

Request

POST https://api.outreach.io/api/v2/snippets

{
  "data": {
    "type": "snippet",
    "attributes": {
      "bodyHtml": "<p>Would you please include in your response ...</p>",
      "name": "Request for Information"
    }
  }
}

Response

{
  "data": {
    "type": "snippet",
    "id": 1,
    "attributes": {
      "bodyHtml": "<p>Would you please include in your response ...</p>",
      "name": "Request for Information"
    },
    "relationships": {
      "owner": {
        "data": {
          "type": "user",
          "id": 1
        }
      }
    }
  }
}

Templates are created in a similar fashion, but also contain relationship links to their related mailings, sequence templates and tasks. An example template may look like:

{
  "data": {
    "type": "template",
    "id": 1,
    "attributes": {
      "bodyHtml": "<p>I'd like to introduce you to our new product...",
      "ccRecipients": ["product@company.example.com"],
      "name": "Product Announcement"
    },
    "relationships": {
      "mailings": {
        "links": {
          "related": "https://api.outreach.io/api/v2/mailings?filter[template][id]=1"
        },
      },
      "owner": {
        "data": {
          "type": "user",
          "id": 1
        },
      },
      "sequenceTemplates": {
        "links": {
          "related": "https://api.outreach.io/api/v2/sequenceTemplates?filter[template][id]=1"
        },
      },
      "tasks": {
        "links": {
          "related": "https://api.outreach.io/api/v2/tasks?filter[template][id]=1"
        },
      }
    }
  }
}

Templates can be associated with mailings, sequence templates and tasks when creating or updating those resources. For example, we could associate this template with a brand new sequence template set to "auto_email" mode that will send two days after the previous step:

POST https://api.outreach.io/api/v2/sequenceSteps

{
  "data": {
    "type": "sequenceStep",
    "attributes": {
      "interval": 2880,
      "stepType": "auto_email"
    },
    "relationships": {
      "sequence": {
        "data": {
          "type": "sequence",
          "id": 1
        }
      }
    }
  }
}

// Assuming this returns an id of 1 for our sequenceStep

POST https://api.outreach.io/api/v2/sequenceTemplates

{
  "data": {
    "type": "sequenceTemplate",
    "relationships": {
      "sequenceStep": {
        "data": {
          "type": "sequenceStep",
          "id": 1
        }
      },
      "template": {
        "data": {
          "type": "template",
          "id": 1
        }
      }
    }
  }
}

You can also create unnamed templates that will be unavailable in a list of templates in the UI or from the API index action, but can still be associated with a sequence template in order to help prevent accidental editing of a template used for sequences.

POST https://api.outreach.io/api/v2/templates
{
  "data": {
    "type": "template",
    "attributes": {
      "bodyHtml": "<h1>Greetings!</h1>",
      "subject": "Hello prospect",

    }
  }
}

In order to remove the association of a sequence template to a sequence step, you must destroy the sequence template object.

For more information, see the Snippet and Template API Reference pages.

Add Prospects to Sequences

Prospects can be added and removed from sequences at any time. The Outreach API encapsulates the concept of a prospect within a sequence as a sequence state resource. To start engaging a prospect, create a sequence state resource referencing the relevant prospect, sequence and user’s mailbox:

Request

POST https://api.outreach.io/api/v2/sequenceStates

{
  "data": {
    "type": "sequenceState",
    "relationships": {
      "prospect": {
        "data": {
          "type": "prospect",
          "id": 1
        }
      },
      "sequence": {
        "data": {
          "type": "sequence",
          "id": 1
        }
      },
      "mailbox": {
        "data": {
          "type": "mailbox",
          "id": 1
        }
      }
    }
  }
}

Response

{
  "data": {
    "type": "sequenceState",
    "id": 1,
    "attributes": {
      "createdAt": "2017-01-01T00:00:00",
      "state": "active",
      "stateChangedAt": "2017-01-01T00:00:00",
      "updatedAt": "2017-01-01T00:00:00",
      ...
    }
    "relationships": {
      "prospect": {
        "data": {
          "type": "prospect",
          "id": 1
        }
      },
      "sequence": {
        "data": {
          "type": "sequence",
          "id": 1
        }
      },
      "sequenceStep": {
        "data": {
          "type": "sequenceStep",
          "id": 1
        }
      },
      "mailbox": {
        "data": {
          "type": "mailbox",
          "id": 1
        }
      }
    }
  }
}

Once created, the associated sequence’s automation will begin. You can see that the first sequence step has already been associated with this sequence state. In addition, its state attribute has been set to "active"; additional values include "pending", "finished", "paused", "disabled", "failed", "bounced" and "opted_out". Retrieve sequence states at later times to discover changes to its state and step.

To finish a prospect in a sequence, make a request to the sequence state’s finish action:

POST https://api.outreach.io/api/v2/sequenceStates/1/actions/finish

You can also pause active sequence states as well as resume those that have been paused.

For more information, see the Sequence State API Reference pages.

Schedule Mailings and Tasks

In addition to sequence-based automation, Outreach provides the ability to schedule one-off mailings and tasks.

More information coming soon.

Discover Open Tasks

Outreach can automatically assign users tasks when certain events occur to help streamline their workflow. The Outreach API can help identify new tasks and provide the oppurtunity to take the necessary action. To return just the tasks that a user can currently take action on, you can filter the task list by those with an "incomplete" state belonging to a given user. And to make the action step easier, you can include the task’s related prospect:

GET https://api.outreach.io/api/v2/tasks?filter[state]=incomplete&filter[user][id]=1&include=prospect

Task resources contain an action attribute that describes what type of action the user needs to take, which can be one of "action_item", "call", "email" or "in_person". Along with the task note and its related prospect, you’re ready to take action!

For more information, see the Task API Reference page.

Log External Calls

Logging calls in Outreach is easy. In addition to the calling user and prospect, you’ll just need to specify a call direction and outcome. The direction must be either "inbound" or "outbound" and the outcome must be either "completed" or "no_answer". You’ll likely also want to provide the time when the call was answered and completed.

POST https://api.outreach.io/api/v2/calls

{
  "data": {
    "type": "call",
    "attributes": {
      "answeredAt": "2017-01-01T12:00:15",
      "completedAt": "2017-01-01T12:00:00",
      "direction": "outbound",
      "outcome": "completed"
    },
    "relationships": {
      "prospect": {
        "data": {
          "type": "prospect",
          "id": 1
        }
      },
      "user": {
        "data": {
          "type": "user",
          "id": 1
        }
      }
    }
  }
}

If there’s an existing open call task, then you may specify that task relationship when logging the call. The created call will be associated with the task, but the task itself will not be affected.

POST https://api.outreach.io/api/v2/calls

{
  "data": {
    "type": "call",
    "attributes": {
      "direction": "outbound",
      "outcome": "no_answer"
    },
    "relationships": {
      "prospect": {
        "data": {
          "type": "prospect",
          "id": 1
        }
      },
      "task": {
        "data": {
          "type": "task",
          "id": 1
        }
      },
      "user": {
        "data": {
          "type": "user",
          "id": 1
        }
      }
    }
  }
}

To additionally indicate that the related task has been completed, pass meta information to the task relationship itself.

POST https://api.outreach.io/api/v2/calls

{
  "data": {
    "type": "call",
    "attributes": {
      "direction": "outbound",
      "note": "Meeting Booked!",
      "outcome": "completed"
    },
    "relationships": {
      "prospect": {
        "data": {
          "type": "prospect",
          "id": 1
        }
      },
      "task": {
        "data": {
          "type": "task",
          "id": 1
        },
        "meta": {
          "complete": true
        }
      },
      "user": {
        "data": {
          "type": "user",
          "id": 1
        }
      }
    }
  }
}

For more information, see the Call API Reference page, along with the related Call Disposition and Call Purpose reference pages.

Download Event Activity

Outreach logs numerous events when various activities occur throughout the platform. Collecting these events helps provide insight into a user and their organization’s activity.

To download the most recent events, sort in a descending order based on the updatedAt timestamp:

Request

GET https://api.outreach.io/api/v2/events?sort=-updatedAt

Response

{
  "data": [{
    "type": "event",
    "id": 1,
    "attributes": {
      "createdAt": "2017-01-01T00:00:00",
      "name": "prospect_updated",
      "updatedAt": "2017-01-01T00:00:00",
      ...
    }
  },
  ...
  ]
}

More information on event payloads and relationships coming soon.

Collect Platform Statistics

Until the Outreach API supports better analytics resources, you can still collect statistics directly from the core resources. A number of mailing-related resources provide delivery information, including mailings, prospects, sequences, sequence states, sequence steps and templates.

For example, to retrieve mailing delivery statistics for prospects, specify sparse fieldsets to get just the attributes that you are looking for:

Request

GET https://api.outreach.io/api/v2/prospects?fields[prospect]=clickCount,openCount,replyCount

Response

{
  "data": [{
    "type": "prospect",
    "id": 1,
    "attributes": {
      "clickCount": 2,
      "openCount": 9,
      "replyCount": 1
    }
  },
  ...
  ]
}

Note that these counts reference the total number of events across all of the prospect’s mailings since the last touch point. These counts are not the unique number of associated mailings that have received those events.

Continue reading the API Reference for detailed descriptions of all available attributes.

Respond to Platform Events

The Outreach API normally requires your action to retrieve, create or update resources. But with Webhooks, the Outreach API will automatically notify you whenever events that you are interested in occur. You can create webhooks just like any other resource. You must provide an HTTPS URL, and you can optionally specify the resources and actions that this webhook will respond to. By default, those values will be an asterisk *, which indicates that all applicable resources and actions will be delivered. Possible values include:

Resource Actions
* * created updated destroyed
account * created updated destroyed
call * created updated destroyed
mailing * created updated destroyed bounced delivered opened replied
opportunity * created updated destroyed
prospect * created updated destroyed
sequence * created updated destroyed
sequenceState * created updated destroyed advanced finished
task * created updated destroyed completed

When an active webhook sees a change to an applicable resource-action combination, the Outreach API will POST a JSON-API-styled request to the webhook’s URL. Please note that create and update actions will contain only created/changed attributes, while deleted actions will contain the last known set of attributes and relationships before the resource was deleted.

For example, to create a webhook that will trigger after each “task completed” event:

Request

POST https://api.outreach.io/api/v2/webhooks

{
  "data": {
    "type": "webhook",
    "attributes": {
      "action": "completed",
      "resource": "task",
      "url": "https://foo.bar/webhooks"
    }
  }
}

Response

{
  "data": {
    "type": "webhook",
    "id": 1,
    "attributes": {
      "action": "completed",
      "active": true,
      "resource": "task",
      "secret": null,
      "url": "https://foo.bar/webhooks"
    }
  }
}

When a task-completed event occurs, a JSON-API-styled request will be sent to the webhook’s URL that includes the changed attributes and meta information about the webhook event.

Webhook Request

POST https://foo.bar/webhooks

{
  "data": {
    "type": "task",
    "id": 1,
    "attributes": {
      "completed": true,
      "completedAt": "2017-01-01T00:00:00",
      "state": "completed"
    },
    "meta": {
      "deliveredAt": "2017-01-01T00:00:01",
      "eventName": "task.completed"
    }
  }
}

For added protection, you can provide the webhook with a secret attribute. If that value is present, we’ll include an Outreach-Webhook-Signature header that is the HMAC hexdigest of the secret and the payload body, which you can use to verify the integrity of the request.

For example, to verify the integrity of an incoming webhook in Ruby:

SECRET = "foo" # Same as is saved in the Outreach webhook

def verified?(headers, body)
  headers["Outreach-Webhook-Signature"] == signature(body)
end

def signature(body)
  OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), SECRET, body)
end

Invite New Users

You can invite new users to the Outreach platform and manage their identies using the Outreach API. Create new users just like any other resource:

Webhook Request

POST https://api.outreach.io/api/v2/users

{
  "data": {
    "type": "user",
    "attributes": {
      "email": "foo@bar.com",
      "firstName": "Foo",
      "lastName": "Bar"
    }
  }
}

Response

{
  "data": {
    "type": "user",
    "id": 1,
    "attributes": {
      "email": "foo@bar.com",
      "firstName": "Foo",
      "lastName": "Bar"
    }
  }
}

By default all new users will receive an email invitation with instructions on how to get started. You can prevent email invitations from being sent by including an additional meta data parameter:

Request

POST https://api.outreach.io/api/v2/users

{
  "data": {
    "type": "user",
    "attributes": {
      "email": "foo@bar.com",
      "firstName": "Foo",
      "lastName": "Bar"
    },
    "meta": {
      "sendInvite": false
    }
  }
}

Create Compliance Requests

Outreach provides a compliance request API for processing delete requests in compliance with regulations such as CCPA and GDPR. This request will be processed asynchronously, deletion may not be processed immediately.

To submit a request to permanently delete a prospect or individual in Outreach, include the following attributes to a POST request:

Attribute Description
requester_email * Email of the Outreach user making the request
request_type * Set this value to ‘Delete’
object_type * Set this value to ‘Prospect’
request_object_email * Email of the Prospect to delete

Request

POST https://api.outreach.io/api/v2/complianceRequests

{
  "data": {
    "type": "complianceRequest",
    "attributes": {
      "requester_email": "admin@example.com",
      "request_type": "Delete",
      "object_type": "Prospect",
      "request_object_email": "prospect_email@example.com"
    }
  }
}

Response

{
  "data": {
    "batch_compliance_request_id": "f98711fe-8a03-48b9-91d3-0f7994e999cc"
  }
}

Submitting a compliance request will trigger a batch of tasks to be processed. To view the status of the submitted request, use the batch compliance request filter on the following GET request.

Request

GET https://api.outreach.io/api/v2/complianceRequests?filter[batchComplianceRequest]=f98711fe-8a03-48b9-91d3-0f7994e999cc

A compliance request may have any of the following states to indicate its current processing status:

State Description
pending * The request has been received but has not started processing
running * The request is currently being processed
done * The request has successfully been processed and is complete

A compliance request consists of multiple tasks targeting different elements of the request. Each task may also have its own state, shown below:

State Description
pending * The task has been created but has not started processing
queued * The task has been queued for processing
running * The task is currently being processed
done * The task has successfully been processed and is complete
temporary_failure * There was an issue with the task, it is in a temporary failed state and will be retried

The only permanent state for a task or request is the done state, any failures will be retried until successful.

For more information on compliance requests, contact Outreach support at support@outreach.io.

Deprecated features

May, 2023

Outreach is continuously looking for ways to improve performance and give developers greater flexibility in using our APIs. In a recently conducted review, we identified three API behaviors that have the potential to introduce performance and data inconsistency issues. Since the issues resulting from these API behaviors outweigh their benefits, we have decided to deprecate these API behaviors on October 31, 2023.

The deprecation is effective immediately for any new integrations and integrations that have not used these features in the last four months. Integrations that used at least one of the deprecated features will be able to operate till October 31, 2023.

In order to maintain the performance and reliability of our API services and allow modernization of our service architecture, Outreach has decided to deprecate the following API features:

Sorting by relationship’s attribute

Please fetch the result of your query with the relationship’s attribute included and apply sorting locally in your service.

Before:

# instead of sorting tasks by prospect’s name
curl -s -H "$AUTH" "$HOSTNAME/api/v2/tasks?filter[dueAt]=2023-04-10..inf&sort=prospect.firstName"

After:

# fetch tasks with prospect’s name included
curl -s -H "$AUTH" "$HOSTNAME/api/v2/tasks?filter[dueAt]=2023-04-10..inf&include=prospect&fields[prospect]=name" > tasks.json

# prepare map for sorting
jq '[.included[] | {"\(.id)":.attributes.name}] | add' tasks.json > sort_by.json

# sort tasks by prepared map
jq --slurpfile m sort_by.json '.data | sort_by($m[0]["\(.relationships.prospect.data.id)"])' tasks.json

Plese replace the single POST/PATCH request with two: POST/PATCH of the main object followed by GET request for related objects.

Before:

curl -s -H "$AUTH" -X POST "$HOSTNAME/api/v2/prospects?include=account" -H 'Content-Type: application/vnd.api+json' \
     -d '{"data":{"type":"prospect","attributes":{"company":"Acme Corp.","emails":["jane@acme.com"],"firstName":"Jane","lastName":"Doe"}}}'

After:

# create or update the object without including related objects
curl -s -H "$AUTH" -X POST "$HOSTNAME/api/v2/prospects" -H 'Content-Type: application/vnd.api+json' \
     -d '{"data":{"type":"prospect","attributes":{"company":"Acme Corp.","emails":["jane@acme.com"],"firstName":"Jane","lastName":"Doe"}}}' \
     > prospect.json

# get the IDs you need from the response
PROSPECT_ID=`jq .data.id prospect.json`
ACCOUNT_ID=`jq .data.relationships.account.data.id prospect.json`

# and fetch the related object directly
curl -s -H "$AUTH" "$HOSTNAME/api/v2/accounts/$ACCOUNT_ID"
# alternatively you can refetch the main object with included related objects
curl -s -H "$AUTH" -X GET "$HOSTNAME/api/v2/prospects/$PROSPECT_ID?include=account"

Filters by relationship’s attribute for some of the endpoints or relations

Please consult the reference documentation for each relationship to see whether you can use filters by relationship’s attributes, relationship id only, or not even that.

If filtering is alowed by id only, split the original single request to two, get ids of related object(s) in the first request and pass them to the adjusted original request.

Before:

# instead of sequence.name filter in 2 steps by sequence.id as that is supported
curl -s -H "$AUTH" "$HOSTNAME/api/v2/mailings?filter[sequence][name]=ABCD"

After:

# fetch IDs of sequences first (no need to fetch any attributes)
curl -s -H "$AUTH" "$HOSTNAME/api/v2/sequences?filter[name]=ABCD&fields[sequence]=" > sequences.json
SEQ_IDS=`jq -r '[.data[] | .id] | join(",")' sequences.json`

# then fetch the objects by IDs of related objects
curl -s -H "$AUTH" "$HOSTNAME/api/v2/mailings?filter[sequence][id]=$SEQ_IDS"

If filtering by the relationship is not allowed, query the related object and include the original one. This workaround applies if you want to obtain parent entity (e.g. account) filtered by child entity (e.g. prospect). Also in the specific case of accounts/prospects you might want to exclude unnamed accounts from the response as those are not returned by /api/v2/accounts endpoint by default.

Before:

# instead of filtering accounts by prospect filter prospects and include accounts as that is supported
curl -s -H "$AUTH" "$HOSTNAME/api/v2/accounts?filter[prospects][updatedAt]=2023-04-14..inf"

After:

# fetch IDs of prospects only (no need to fetch any attributes as we want accounts)
# in this case we should exclude unnamed accounts which are not returned by original query
curl -s -H "$AUTH" "$HOSTNAME/api/v2/prospects?filter[updatedAt]=2023-04-14..inf&fields[prospect]=&include=account" \
  | jq '.included[] | select(.attributes.named)'

API Reference

Audit

Events that happen during the day. Things like login, plugin mapping changes, etc.

Attribute Name Description Constraints Notes
eventName
string
Name of the event readonly filterable sortable
timestamp
date-time
When the event happened readonly filterable sortable
userEmail
email
Email of the user who perfomed the action readonly

Links

instances
GET https://api.outreach.io/api/v2/audits

Account

A descriptor of a named company used to categorize prospects within an account-based sales approach.

Attribute Name Description Constraints Notes
buyerIntentScore
float
A custom score given to measure the quality of the account. filterable sortable
companyType
string
A description of the company’s type (e.g. "Public Company"). max length
255
createdAt
date-time
The date and time the account was created. readonly filterable sortable
custom1
string
The value of the account’s first custom field. max length
255
custom10
string
The value of the account’s 10th custom field. max length
255
custom100
string
The value of the account’s 100th custom field.
custom101
string
The value of the account’s 101st custom field.
custom102
string
The value of the account’s 102nd custom field.
custom103
string
The value of the account’s 103rd custom field.
custom104
string
The value of the account’s 104th custom field.
custom105
string
The value of the account’s 105th custom field.
custom106
string
The value of the account’s 106th custom field.
custom107
string
The value of the account’s 107th custom field.
custom108
string
The value of the account’s 108th custom field.
custom109
string
The value of the account’s 109th custom field.
custom11
string
The value of the account’s 11th custom field. max length
255
custom110
string
The value of the account’s 110th custom field.
custom111
string
The value of the account’s 111th custom field.
custom112
string
The value of the account’s 112th custom field.
custom113
string
The value of the account’s 113th custom field.
custom114
string
The value of the account’s 114th custom field.
custom115
string
The value of the account’s 115th custom field.
custom116
string
The value of the account’s 116th custom field.
custom117
string
The value of the account’s 117th custom field.
custom118
string
The value of the account’s 118th custom field.
custom119
string
The value of the account’s 119th custom field.
custom12
string
The value of the account’s 12th custom field. max length
255
custom120
string
The value of the account’s 120th custom field.
custom121
string
The value of the account’s 121st custom field.
custom122
string
The value of the account’s 122nd custom field.
custom123
string
The value of the account’s 123rd custom field.
custom124
string
The value of the account’s 124th custom field.
custom125
string
The value of the account’s 125th custom field.
custom126
string
The value of the account’s 126th custom field.
custom127
string
The value of the account’s 127th custom field.
custom128
string
The value of the account’s 128th custom field.
custom129
string
The value of the account’s 129th custom field.
custom13
string
The value of the account’s 13th custom field. max length
255
custom130
string
The value of the account’s 130th custom field.
custom131
string
The value of the account’s 131st custom field.
custom132
string
The value of the account’s 132nd custom field.
custom133
string
The value of the account’s 133rd custom field.
custom134
string
The value of the account’s 134th custom field.
custom135
string
The value of the account’s 135th custom field.
custom136
string
The value of the account’s 136th custom field.
custom137
string
The value of the account’s 137th custom field.
custom138
string
The value of the account’s 138th custom field.
custom139
string
The value of the account’s 139th custom field.
custom14
string
The value of the account’s 14th custom field. max length
255
custom140
string
The value of the account’s 140th custom field.
custom141
string
The value of the account’s 141st custom field.
custom142
string
The value of the account’s 142nd custom field.
custom143
string
The value of the account’s 143rd custom field.
custom144
string
The value of the account’s 144th custom field.
custom145
string
The value of the account’s 145th custom field.
custom146
string
The value of the account’s 146th custom field.
custom147
string
The value of the account’s 147th custom field.
custom148
string
The value of the account’s 148th custom field.
custom149
string
The value of the account’s 149th custom field.
custom15
string
The value of the account’s 15th custom field. max length
255
custom150
string
The value of the account’s 150th custom field.
custom16
string
The value of the account’s 16th custom field.
custom17
string
The value of the account’s 17th custom field.
custom18
string
The value of the account’s 18th custom field.
custom19
string
The value of the account’s 19th custom field.
custom2
string
The value of the account’s second custom field. max length
255
custom20
string
The value of the account’s 20th custom field.
custom21
string
The value of the account’s 21st custom field.
custom22
string
The value of the account’s 22nd custom field.
custom23
string
The value of the account’s 23rd custom field.
custom24
string
The value of the account’s 24th custom field.
custom25
string
The value of the account’s 25th custom field.
custom26
string
The value of the account’s 26th custom field.
custom27
string
The value of the account’s 27th custom field.
custom28
string
The value of the account’s 28th custom field.
custom29
string
The value of the account’s 29th custom field.
custom3
string
The value of the account’s third custom field. max length
255
custom30
string
The value of the account’s 30th custom field.
custom31
string
The value of the account’s 31st custom field.
custom32
string
The value of the account’s 32nd custom field.
custom33
string
The value of the account’s 33rd custom field.
custom34
string
The value of the account’s 34th custom field.
custom35
string
The value of the account’s 35th custom field.
custom36
string
The value of the account's 36th custom field.
custom37
string
The value of the account's 37th custom field.
custom38
string
The value of the account's 38th custom field.
custom39
string
The value of the account's 39th custom field.
custom4
string
The value of the account’s fourth custom field. max length
255
custom40
string
The value of the account's 40th custom field.
custom41
string
The value of the account's 41st custom field.
custom42
string
The value of the account's 42nd custom field.
custom43
string
The value of the account's 43rd custom field.
custom44
string
The value of the account's 44th custom field.
custom45
string
The value of the account's 45th custom field.
custom46
string
The value of the account's 46th custom field.
custom47
string
The value of the account's 47th custom field.
custom48
string
The value of the account's 48th custom field.
custom49
string
The value of the account's 49th custom field.
custom5
string
The value of the account’s fifth custom field. max length
255
custom50
string
The value of the account's 50th custom field.
custom51
string
The value of the account's 51st custom field.
custom52
string
The value of the account's 52nd custom field.
custom53
string
The value of the account's 53rd custom field.
custom54
string
The value of the account's 54th custom field.
custom55
string
The value of the account's 55th custom field.
custom56
string
The value of the account's 56th custom field.
custom57
string
The value of the account's 57th custom field.
custom58
string
The value of the account's 58th custom field.
custom59
string
The value of the account's 59th custom field.
custom6
string
The value of the account’s sixth custom field. max length
255
custom60
string
The value of the account's 60th custom field.
custom61
string
The value of the account's 61st custom field.
custom62
string
The value of the account's 62nd custom field.
custom63
string
The value of the account's 63rd custom field.
custom64
string
The value of the account's 64th custom field.
custom65
string
The value of the account's 65th custom field.
custom66
string
The value of the account's 66th custom field.
custom67
string
The value of the account's 67th custom field.
custom68
string
The value of the account's 68th custom field.
custom69
string
The value of the account's 69th custom field.
custom7
string
The value of the account’s seventh custom field. max length
255
custom70
string
The value of the account's 70th custom field.
custom71
string
The value of the account's 71st custom field.
custom72
string
The value of the account's 72nd custom field.
custom73
string
The value of the account's 73rd custom field.
custom74
string
The value of the account's 74th custom field.
custom75
string
The value of the account's 75th custom field.
custom76
string
The value of the account's 76th custom field.
custom77
string
The value of the account's 77th custom field.
custom78
string
The value of the account's 78th custom field.
custom79
string
The value of the account's 79th custom field.
custom8
string
The value of the account’s eight custom field. max length
255
custom80
string
The value of the account's 80th custom field.
custom81
string
The value of the account's 81st custom field.
custom82
string
The value of the account's 82nd custom field.
custom83
string
The value of the account's 83rd custom field.
custom84
string
The value of the account's 84th custom field.
custom85
string
The value of the account's 85th custom field.
custom86
string
The value of the account's 86th custom field.
custom87
string
The value of the account's 87th custom field.
custom88
string
The value of the account's 88th custom field.
custom89
string
The value of the account's 89th custom field.
custom9
string
The value of the account’s ninth custom field. max length
255
custom90
string
The value of the account's 90th custom field.
custom91
string
The value of the account's 91st custom field.
custom92
string
The value of the account's 92nd custom field.
custom93
string
The value of the account's 93rd custom field.
custom94
string
The value of the account's 94th custom field.
custom95
string
The value of the account's 95th custom field.
custom96
string
The value of the account's 96th custom field.
custom97
string
The value of the account's 97th custom field.
custom98
string
The value of the account's 98th custom field.
custom99
string
The value of the account's 99th custom field.
customId
string
A custom ID for the account, often referencing an ID in an external system. max length
255
filterable sortable
description
string
A custom description of the account. max length
65535
domain
string
The company’s website domain (e.g. "www.acme.com"). max length
255
filterable sortable
externalSource
string
The source of the resource’s creation (e.g. "outreach-api"). max length
255
followers
integer
The number of followers the company has listed on social media.
foundedAt
date-time
The founding date of the company.
industry
string
A description of the company’s industry (e.g. "Manufacturing"). max length
255
linkedInEmployees
integer
The number of employees listed on the company’s LinkedIn URL.
linkedInUrl
string
The company’s LinkedIn URL. max length
1000
locality
string
The company’s primary geographic region (e.g. "Eastern USA"). max length
255
name
string
The name of the company (e.g. "Acme Corporation"). max length
255
filterable sortable
named
boolean
A boolean value determining whether this is a "named" account or not. Only named accounts will show up on the collection index. filterable sortable
naturalName
string
The natural name of the company (e.g. "Acme"). max length
255
numberOfEmployees
integer
The number of employees working at the company.
sharingTeamId
string
The ID of the sharing team associated with this object. Access is currently in beta. max length
255
filterable
tags
string
A list of tag values associated with the account (e.g. ["Enterprise", "Tier 1"]).
touchedAt
date-time
The date and time the account was last touched. readonly filterable sortable
updatedAt
date-time
The date and time the account was last updated. readonly filterable sortable
websiteUrl
string
The company’s website URL (e.g. "https://www.acme.com/contact"). max length
255
Relationship Name Description Notes
creator The creator of the account. Relationship creator cannot be used as a filter. data links readonly
owner The owner of the account. You can use only the attribute id to filter accounts by owner (e.g. filter[owner][id]=X). data links
prospects The account's associated prospects. Relationship prospects cannot be used as a filter. links
tasks The associated tasks. Relationship tasks cannot be used as a filter. links
updater The most recent updater of the account. Relationship updater cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/accounts
create
POST https://api.outreach.io/api/v2/accounts
self
GET https://api.outreach.io/api/v2/accounts/{:id}
update
PATCH https://api.outreach.io/api/v2/accounts/{:id}
destroy
DELETE https://api.outreach.io/api/v2/accounts/{:id}

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
dataConnections The set of connections a given account has to external sources. provideDataConnections

Call Disposition

A ready-made collection of call dispositions that help categorize your call logs.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the call disposition was created. readonly filterable sortable
name
string
The disposition’s name (e.g. "Meeting Scheduled"). max length
255
filterable sortable
order
integer
The disposition’s display order within the collection. filterable sortable
outcome
string
The disposition’s call outcome; must be either "Answered" or "Not Answered". max length
255
filterable sortable
updatedAt
date-time
The date and time the call disposition was last updated. readonly filterable sortable
Relationship Name Description Notes
calls The calls made with this disposition. Relationship calls cannot be used as a filter. links
creator The creator of the call disposition. Relationship creator cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/callDispositions
create
POST https://api.outreach.io/api/v2/callDispositions
self
GET https://api.outreach.io/api/v2/callDispositions/{:id}
update
PATCH https://api.outreach.io/api/v2/callDispositions/{:id}
destroy
DELETE https://api.outreach.io/api/v2/callDispositions/{:id}

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

Call Purpose

A ready-made collection of call purposes that help categorize your call logs.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the call purpose was created. readonly filterable sortable
name
string
The purpose’s name (e.g. "Initial Contact"). max length
255
filterable sortable
order
integer
The purpose’s display order within the collection. filterable sortable
updatedAt
date-time
The date and time the call purpose was last updated. readonly filterable sortable
Relationship Name Description Notes
calls The calls made with this purpose. Relationship calls cannot be used as a filter. links
creator The creator of the call purpose. Relationship creator cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/callPurposes
create
POST https://api.outreach.io/api/v2/callPurposes
self
GET https://api.outreach.io/api/v2/callPurposes/{:id}
update
PATCH https://api.outreach.io/api/v2/callPurposes/{:id}
destroy
DELETE https://api.outreach.io/api/v2/callPurposes/{:id}

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

Call

A log of an inbound or outbound call made with a prospect.

Attribute Name Description Constraints Notes
answeredAt
date-time
The date and time the call was answered.
completedAt
date-time
The date and time the call was completed.
createdAt
date-time
The date and time the call was created. readonly filterable sortable
dialedAt
date-time
The date and time the call was dialed.
direction
string
The call direction from the user’s point of view; must be either "inbound" or "outbound".
externalVendor
string
The voice provider of the call. Can be blank. max length
255
from
string
The phone number used to place the call. max length
255
filterable sortable
note
string
A custom note associated with this call. max length
65535
outcome
string
The call’s outcome; must be either "Answered" or "Not Answered". max length
255
filterable sortable
recordingUrl
string
The URL of the call’s audio recording. max length
255
filterable sortable
returnedAt
date-time
The date and time the call was returned.
sequenceAction
string
The action to take on the associated sequence; must be either "Advance", "Finish", "Finish - No Reply", or "Finish - Replied". max length
255
shouldRecordCall
boolean
Indicated whether or not the call is recorded.
state
string
The call’s current state. max length
255
readonly filterable sortable
stateChangedAt
date-time
The date and time the call’s state last changed. readonly
tags
string
A list of tag values associated with the call (e.g. ["Interested", "Meeting Booked"]).
to
string
The phone number that the call was placed to. max length
255
filterable sortable
uid
string
The Outreach voice trace id. max length
255
readonly
updatedAt
date-time
The date and time the call was last updated. readonly filterable sortable
userCallType
string
The type of call placed within the Outreach client; must be either "bridge" or "voip". max length
255
filterable sortable
vendorCallId
string
The call-id as recoreded by the voice provider. Can be blank. max length
63
voicemailRecordingUrl
string
The URL of the call’s voicemail audio recording. max length
1024
readonly
Relationship Name Description Notes
callDisposition The associated call disposition. You can use only the attribute id to filter calls by callDisposition (e.g. filter[callDisposition][id]=X). data links
callPurpose The associated call purpose. You can use only the attribute id to filter calls by callPurpose (e.g. filter[callPurpose][id]=X). data links
opportunity The associated opportunity. You can use only the attribute id to filter calls by opportunity (e.g. filter[opportunity][id]=X). data links
phoneNumber The associated phone number of the prospect. You can use only the attribute id to filter calls by phoneNumber (e.g. filter[phoneNumber][id]=X). data links
prospect The associated prospect. You can use only the attribute id to filter calls by prospect (e.g. filter[prospect][id]=X). data links
sequence The associated sequence. You can use only the attribute id to filter calls by sequence (e.g. filter[sequence][id]=X). data links
sequenceState The associated sequence state. You can use only the attribute id to filter calls by sequenceState (e.g. filter[sequenceState][id]=X). data links
sequenceStep The associated sequence step. You can use only the attribute id to filter calls by sequenceStep (e.g. filter[sequenceStep][id]=X). data links
task The associated task. You can use only the attribute id to filter calls by task (e.g. filter[task][id]=X). data links
user The associated user. You can use only the attribute id to filter calls by user (e.g. filter[user][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/calls
create
POST https://api.outreach.io/api/v2/calls
self
GET https://api.outreach.io/api/v2/calls/{:id}
destroy
DELETE https://api.outreach.io/api/v2/calls/{:id}

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
dataConnections The set of connections a given call has to external sources. provideDataConnections

Compliance Request

A regulatory request to delete or export an individual's PII.

Attribute Name Description Constraints Notes
batchComplianceRequestUuid
string
The UUID of the batch the compliance request belongs to.
createdAt
date-time
The date and time the compliance request was created. readonly
objectType
string
The type of record to process, can be 'Prospect' or 'Recipient' for e-mail addresses unassociated with a prospect. max length
255
pii
object
A JSON object of personal information required for processing the compliance request.
requestObjectId
string
The identifier for the record processed, for Prospects this is the Prospect ID, for Recipients this is an e-mail address. max length
255
requestType
string
The type of compliance request (only 'Delete' is supported at this time). max length
32
requesterId
integer
The ID of the Outreach user who submitted the compliance request.
state
string
The current state of the compliance request, can be 'pending', 'running', 'failed', or 'done'. The states on the higher level abstraction, the batch compliance request, do not map 1:1 to these states. The only states that the batch compliance request will report are either 'pending' or 'done'. max length
32
filterable sortable
updatedAt
date-time
The date and time at which the compliance request was last updated. readonly
uuid
string
The UUID of the compliance request. max length
255
filterable sortable
Relationship Name Description Notes
requester The Outreach user who submitted the compliance request. Relationship requester cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/complianceRequests
create
POST https://api.outreach.io/api/v2/complianceRequests
self
GET https://api.outreach.io/api/v2/complianceRequests/{:id}

CustomDuty

A freeform user-specified role or job duty played by a user in their organization.

Attribute Name Description Constraints Notes
dutyType
string
The polymorphic type of the duty (not the Ruby type, the duty type).
name
string
The name of the role. max length
255

Links

create
POST https://api.outreach.io/api/v2/customDuties

Content Category

Content can be grouped into content categories to help discoverability.

Attribute Name Description Constraints Notes
allowSequences
boolean
Can this category be used to group sequences?
allowSnippets
boolean
Can this category be used to group snippets?
allowTemplates
boolean
Can this category be used to group templates?
color
string
Color of the content category to be used as a background max length
255
createdAt
date-time
The date and time the content category was created. readonly filterable sortable
name
string
The name of the content category. max length
255
filterable sortable
updatedAt
date-time
The date and time the content category was last updated. readonly filterable sortable
Relationship Name Description Notes
creator The creator of the content category. Relationship creator cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/contentCategories
create
POST https://api.outreach.io/api/v2/contentCategories
self
GET https://api.outreach.io/api/v2/contentCategories/{:id}
update
PATCH https://api.outreach.io/api/v2/contentCategories/{:id}
destroy
DELETE https://api.outreach.io/api/v2/contentCategories/{:id}

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

Content Category Membership

A record that maps content (e.g. a sequence) to a content category.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the content category membership was created. readonly filterable sortable
updatedAt
date-time
The date and time the content category membership was last updated. readonly filterable sortable
Relationship Name Description Notes
content The record in the content category. Must be a sequence, snippet, or template. Relationship content cannot be used as a filter. data links
contentCategory The content category the record is part of. You can use only the attribute id to filter contentCategoryMemberships by contentCategory (e.g. filter[contentCategory][id]=X). data links
creator The creator of the content category membership. Relationship creator cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/contentCategoryMemberships
create
POST https://api.outreach.io/api/v2/contentCategoryMemberships
self
GET https://api.outreach.io/api/v2/contentCategoryMemberships/{:id}
destroy
DELETE https://api.outreach.io/api/v2/contentCategoryMemberships/{:id}

Resource Metadata

Metadata Name Description Query Param
canDelete A boolean value indicating whether the current API user has delete access to this resource. provideAuthorizationMeta

Content Category Ownership

A record that maps content categories to owners. This allows categories to be linked to one or more teams.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the content category ownership was created. readonly filterable sortable
updatedAt
date-time
The date and time the content category ownership was last updated. readonly filterable sortable
Relationship Name Description Notes
contentCategory The content category the owner is linked to. You can use only the attribute id to filter contentCategoryOwnerships by contentCategory (e.g. filter[contentCategory][id]=X). data links
creator The creator of the content category ownership. Relationship creator cannot be used as a filter. data links readonly
owner The record the content category is tied to. Must a team for now. Relationship owner cannot be used as a filter. data links

Links

instances
GET https://api.outreach.io/api/v2/contentCategoryOwnerships
create
POST https://api.outreach.io/api/v2/contentCategoryOwnerships
destroy
DELETE https://api.outreach.io/api/v2/contentCategoryOwnerships/{:id}

Resource Metadata

Metadata Name Description Query Param
canDelete A boolean value indicating whether the current API user has delete access to this resource. provideAuthorizationMeta

Duty

An Outreach-suggested role or job duty played by a user in their organization.

Attribute Name Description Constraints Notes
dutyType
string
The polymorphic type of the duty (not the Ruby type, the duty type).
symbolicName
string
The string constant used to refer to this duty which can be internationalized on the client. max length
255

Links

instances
GET https://api.outreach.io/api/v2/duties

Email Address

A prospect's email address

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the email address was created. readonly
email
email
The raw email address value filterable sortable
emailType
string
Type of email address (work or personal) max length
255
filterable sortable
order
integer
Ordered position in list of emails filterable sortable
status
string
The status of the email max length
255
filterable sortable
statusChangedAt
date-time
Time the status was updated readonly filterable sortable
unsubscribedAt
date-time
Time a mailing was unsubscribed using this address readonly filterable sortable
updatedAt
date-time
The date and time the email address was last updated. readonly filterable sortable
Relationship Name Description Notes
prospect The owning prospect You can use only the attribute id to filter emailAddresses by prospect (e.g. filter[prospect][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/emailAddresses
create
POST https://api.outreach.io/api/v2/emailAddresses
self
GET https://api.outreach.io/api/v2/emailAddresses/{:id}
update
PATCH https://api.outreach.io/api/v2/emailAddresses/{:id}
destroy
DELETE https://api.outreach.io/api/v2/emailAddresses/{:id}

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

Event

Application events, capturing details around the initiator, recipient, etc.

Attribute Name Description Constraints Notes
body
string
The event body (for external events only)
createdAt
date-time
The date and time the event was created. readonly filterable sortable
eventAt
date-time
The date and time the event occurred. filterable sortable
externalUrl
string
The external URL associated with this event (for external events only)
name
string
The name of the event that took place (e.g. "mailbox_created"). max length
255
filterable
payload
object
The transmitted data for the event (cannot be updated once an event has been created)
requestCity
string
The city where the request that created the event was made. max length
255
readonly
requestDevice
string
The type of device on which the request that created the event was made. max length
255
readonly
requestHost
string
Name of the host from which the request was made. max length
255
readonly
requestProxied
boolean
A boolean value whether the request was proxied. For example, when true the request city refers to the location of the email server and not the prospect. readonly
requestRegion
string
Name of the region from which the request was made. max length
255
readonly
Relationship Name Description Notes
account The account associated with this event. You can use only the attribute id to filter events by account (e.g. filter[account][id]=X). data links
call The call associated with this event. You can use only the attribute id to filter events by call (e.g. filter[call][id]=X). data links
mailing The mailing associated with this event. You can use only the attribute id to filter events by mailing (e.g. filter[mailing][id]=X). data links
opportunity The opportunity associated with this event. You can use only the attribute id to filter events by opportunity (e.g. filter[opportunity][id]=X). data links
prospect The prospect associated with this event. You can use only the attribute id to filter events by prospect (e.g. filter[prospect][id]=X). data links
task The task associated with this event. You can use only the attribute id to filter events by task (e.g. filter[task][id]=X). data links
user The user associated with this event. You can use only the attribute id to filter events by user (e.g. filter[user][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/events
create
POST https://api.outreach.io/api/v2/events
self
GET https://api.outreach.io/api/v2/events/{:id}

Resource Metadata

Metadata Name Description Query Param
dataConnections The set of connections the event has to external sources. provideDataConnections

Favorite

A record (Prospect, Account, Sequence, etc.) favorited by a particular user.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the favorite was created. readonly filterable sortable
targetType
string
The type of record that was favorited. max length
255
readonly filterable
updatedAt
date-time
The date and time the favorite was last updated. readonly filterable sortable
Relationship Name Description Notes
creator The user who created the favorite. Relationship creator cannot be used as a filter. data links readonly
user The user who's favorite this is. You can use only the attribute id to filter favorites by user (e.g. filter[user][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/favorites
create
POST https://api.outreach.io/api/v2/favorites
self
GET https://api.outreach.io/api/v2/favorites/{:id}
destroy
DELETE https://api.outreach.io/api/v2/favorites/{:id}

Resource Metadata

Metadata Name Description Query Param
canDelete A boolean value indicating whether the current API user has delete access to this resource. provideAuthorizationMeta

Mail Alias

Alternative email name for a mailbox.

Attribute Name Description Constraints Notes
canSend
boolean
Can this alias send email.
createdAt
date-time
The date the alias was created. readonly filterable sortable
email
string
The email alias. max length
255
emailHash
string
Hashed email address of the alias. max length
255
updatedAt
date-time
The date the alias was last updated. readonly filterable sortable
Relationship Name Description Notes
mailbox The parent mailbox for this alias. You can use only the attribute id to filter mailAliases by mailbox (e.g. filter[mailbox][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/mailAliases
self
GET https://api.outreach.io/api/v2/mailAliases/{:id}

Mailbox

A representation of an email mailbox, used within the application for sending and syncing emails.

Attribute Name Description Constraints Notes
authId
integer
The auth id associated with the mailbox.
createdAt
date-time
The date and time the mailbox was created. readonly filterable sortable
editable
boolean
A boolean value to indicate if the user has the permission to edit mailbox fields. readonly
email
string
The email address of the mailbox. max length
255
filterable sortable
emailHash
string
Hashed email address of the mailbox. max length
255
emailProvider
string
The mail service provider. While not a required field, it is strongly recommended to use one of 'exchange_online', 'exchange_server', 'gmail', 'gmail_api', 'google_oauth2', 'intermedia', 'office365_oauth2', 'microsoft_hma_oauth2', 'office_365', 'rackspace'. If no value is provided, send and sync will make assumptions based on the ews, imap, and smtp values provided. max length
255
emailSignature
string
The default signature, in HTML, to be appended to sent email messages. max length
65535
ewsEndpoint
string
The url of the Exchange Web Service. max length
255
ewsSslVerifyMode
integer
The SSL verify mode, represented as an integer, the EWS connection will used. (verify none=0, verify peer=1, verify client once=4, verify fail if no peer cert=2)
exchangeVersion
string
The version of Exchange. Must be one of 'Exchange2007', 'Exchange2007_SP1', 'Exchange2010', 'Exchange2010_SP1', 'Exchange2010_SP2', 'Exchange2013', 'Exchange2013_SP1'. max length
255
imapHost
string
The address of the IMAP host, used for syncing (e.g. 'imap.gmail.com'). max length
255
imapPort
integer
The port number the IMAP server is using (e.g. '993').
imapSsl
boolean
A boolean value whether the IMAP connection will use SSL.
maxEmailsPerDay
integer
The maximum number of in/out emails per day.
maxMailingsPerDay
integer
The maximum number of emails the application can send in a day from this mailbox. Recommended value is 500.
maxMailingsPerWeek
integer
The maximum number of emails the application can send within a week from this mailbox. Recommended value is 5000.
optOutMessage
string
The message displayed on the unsubscribe confirmation page, seen after clicking the unsubscribe link in the email (e.g. "To unsubscribe, click the button below."). max length
512
optOutSignature
string
The message below the signature, in HTML, when the sequence requires an unsubscribe link (e.g. "If you'd like me to stop sending you emails, please <a href='%unsubscribe_url%'>click here</a>"). max length
512
password
string
The password of the mailbox. This attribute can be used to set the password, but is not available for read. max length
65535
writeonly
prospectEmailExclusions
string
A list (provided as a string, newline-delimited) of email address patterns to be excluded from syncing (e.g. "*@outreach.io\ndaniel@example.com"). max length
65535
providerId
integer
The id of the provider associated with this calendar. readonly
providerType
string
Email provider type. max length
255
readonly
sendDisabled
boolean
A boolean value whether sending is disabled from this mailbox.
sendErroredAt
date-time
The date and time the most recent send error occurred. readonly
sendMaxRetries
integer
The maximum number of times to auto-retry a delivery when it fails.
sendMethod
string
The method used for sending email. Must be either 'ews', 'sendgrid', or 'smtp'. max length
255
sendPeriod
integer
The amount of time in seconds that the number of sendThreshold emails can be sent. Recommended value is two deliveries per minute (sendPeriod is 60).
sendRequiresSync
boolean
A boolean value whether the mailbox is required to be recently synced before sending.
sendSuccessAt
date-time
The date and time the most recent successful email send occurred. readonly
sendThreshold
integer
The maximum number of email sends per the sendPeriod amount of time. Recommended value is two deliveries per minute (sendThreshold is 2).
sendgridApiKey
string
The api key of the SendGrid account used for sending. max length
65535
writeonly
sendgridWebhookUrl
string
The endpoint required within the SendGrid account settings to support bounce and spam-report tracking. readonly
smtpHost
string
The address of the SMTP host, used for sending (e.g. 'smtp.gmail.com'). max length
255
smtpPassword
string
The password for the SMTP account. This value should be left blank unless a separate SMTP account is being used for sending (i.e. not the mailbox's main username/password). max length
65535
writeonly
smtpPort
integer
The port number the SMTP server is using (e.g. '587').
smtpSsl
boolean
A boolean value whether the SMTP connection will use SSL.
smtpUsername
string
The username for the SMTP account. This value should be left blank unless a separate SMTP account is being used for sending (i.e. not the mailbox's main username/password). max length
255
syncActiveFrequency
integer
The amount of time in seconds between syncing when the user is actively using the application.
syncDisabled
boolean
A boolean value whether syncing is disabled from this mailbox.
syncErroredAt
date-time
The date and time the most recent sync error occurred. readonly
syncFinishedAt
date-time
The date and time the most recent sync finished. readonly
syncMethod
string
The method used for syncing email. Must be either 'ews', 'gmail_api', or 'imap'. max length
255
syncOutreachFolder
boolean
A boolean value whether the folder for syncing is named 'Outreach' instead of 'Inbox'. Only available for Exchange version 'Exchange2007_SP1'.
syncPassiveFrequency
integer
The amount of time in seconds between syncing when the user is not actively using the application.
syncSuccessAt
date-time
The date and time the most recent successful email sync occurred. readonly
updatedAt
date-time
The date and time the mailbox was last updated. readonly filterable sortable
userId
integer
The id of the user associated with this mailbox. readonly filterable sortable
username
string
The username of the email account. While not a required field, a username is necessary for most email providers outside of OAuth. This value is normally the same as the email address. max length
255
validateSend
boolean
If this is set to true then the record will only save successfully if the mailbox is properly configured to send emails. writeonly
validateSync
boolean
If this is set to true then the record will only save successfully if the mailbox is properly configured to sync emails. writeonly
Relationship Name Description Notes
creator The creator of the mailbox. Relationship creator cannot be used as a filter. data links readonly
mailAliases The email aliases associated with this mailbox Relationship mailAliases cannot be used as a filter. links
mailings The mailings sent via this mailbox. Relationship mailings cannot be used as a filter. links
updater The most recent updater of the mailbox. Relationship updater cannot be used as a filter. data links readonly
user The user owning this mailbox. You can use only the attribute id to filter mailboxes by user (e.g. filter[user][id]=X). data links

Member Actions

test_send

Test if sending emails works from this mailbox.

test_sync

Test if syncing emails works from this mailbox.

error_sync

Signaling that the mailbox sync errored.

link_ews_master_account

Link mailbox with EWS master account

unlink_ews_master_account

Unlink EWS master account from mailbox

Links

instances
GET https://api.outreach.io/api/v2/mailboxes
create
POST https://api.outreach.io/api/v2/mailboxes
self
GET https://api.outreach.io/api/v2/mailboxes/{:id}
update
PATCH https://api.outreach.io/api/v2/mailboxes/{:id}
destroy
DELETE https://api.outreach.io/api/v2/mailboxes/{:id}
test_send
POST https://api.outreach.io/api/v2/mailboxes/{:id}/actions/testSend
test_sync
POST https://api.outreach.io/api/v2/mailboxes/{:id}/actions/testSync
error_sync
POST https://api.outreach.io/api/v2/mailboxes/{:id}/actions/errorSync
link_ews_master_account
POST https://api.outreach.io/api/v2/mailboxes/{:id}/actions/linkEwsMasterAccount
unlink_ews_master_account
POST https://api.outreach.io/api/v2/mailboxes/{:id}/actions/unlinkEwsMasterAccount

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

Mailing

A representation of a platform-related email.

Attribute Name Description Constraints Notes
bodyHtml
string
The mailing's custom email body, represented in HTML. If provided this field will override any associated template.
bodyText
string
The plain-text representation of the 'bodyHTML' field. readonly
bouncedAt
date-time
The date and time the email was bounced. readonly filterable sortable
clickCount
integer
The total number of times links within the email were clicked (if the message is tracking links). readonly
clickedAt
date-time
The most recent date and time a link was clicked (if the message is tracking links). readonly filterable sortable
createdAt
date-time
The date and time the mailing was created. readonly filterable sortable
deliveredAt
date-time
The date and time the email was delivered. readonly filterable sortable
errorBacktrace
string
Technical details explaining the mailing's error. max length
65535
readonly
errorReason
string
A summary explaining the mailing's error. max length
255
readonly
followUpTaskScheduledAt
date-time
The date and time of when a follow-up task should be due for this mailing.
followUpTaskType
string
The type of follow-up task to create. Possible values are 'follow_up' or 'no_reply'. max length
255
mailboxAddress
string
The email address the mailing was sent from. readonly
mailingType
string
A description of the type of the emailing (e.g. "sequence", "single", "campaign"). max length
255
readonly filterable sortable
markedAsSpamAt
date-time
The date and time the email was marked as spam. readonly
messageId
string
The MIME content Message-ID of the delivered message. max length
255
readonly filterable sortable
notifyThreadCondition
string
The condition of when to bump this mailing to the top of the user's inbox. Possible values are 'always' or 'no_reply'. max length
255
readonly
notifyThreadScheduledAt
date-time
The date and time of when this mailing should be bumped to the top of the user's inbox. readonly filterable sortable
notifyThreadStatus
string
The status of the bump. Possible values are 'pending', 'sent' or 'skipped'. max length
255
readonly filterable sortable
openCount
integer
The total number of times the email was opened (if the message is tracking opens). readonly
openedAt
date-time
The most recent date and time the email was opened (if the message is tracking opens). readonly filterable sortable
overrideSafetySettings
boolean
A boolean value whether users can override submission if template variables have not all been replaced. readonly
references
string
A list of references for the mailing taken from the email header. max length
65535
readonly
repliedAt
date-time
The date and time the email was replied to. readonly filterable sortable
retryAt
date-time
The date and time the email will rety to send. readonly filterable sortable
retryCount
integer
The number of times the email has been retried to send. readonly
retryInterval
integer
The amount of time in seconds between retry attempts. readonly
scheduledAt
date-time
The date and time the email is scheduled to send. filterable sortable
state
string
The current state of the mailing. Can be 'bounced', 'delivered', 'delivering', 'drafted', 'failed', 'opened', 'placeholder', 'queued', 'replied', or 'scheduled'. max length
255
filterable sortable
stateChangedAt
date-time
The date and time the state last changed. readonly filterable sortable
subject
string
The subject line of the email.
trackLinks
boolean
A boolean value whether the mailing is tracking link clicks.
trackOpens
boolean
A boolean value whether the mailing is tracking email opens.
unsubscribedAt
date-time
The date and time the recepient unsubscribed from the mailing's sequence. readonly filterable sortable
updatedAt
date-time
The date and time the mailing was last updated. readonly filterable sortable
Relationship Name Description Notes
followUpSequence The followup sequence associated with this mailing. You can use only the attribute id to filter mailings by followUpSequence (e.g. filter[followUpSequence][id]=X). data links readonly
mailbox The mailbox associated with this mailing. You can use only the attribute id to filter mailings by mailbox (e.g. filter[mailbox][id]=X). data links
opportunity The associated opportunity. You can use only the attribute id to filter mailings by opportunity (e.g. filter[opportunity][id]=X). data links readonly
prospect The prospect associated with this mailing. You can use only the attribute id to filter mailings by prospect (e.g. filter[prospect][id]=X). data links
recipients Recipients of the mailing. Relationship recipients cannot be used as a filter. data links
sequence The associated sequence. You can use only the attribute id to filter mailings by sequence (e.g. filter[sequence][id]=X). data links readonly
sequenceState The associated sequence state. You can use only the attribute id to filter mailings by sequenceState (e.g. filter[sequenceState][id]=X). data links readonly
sequenceStep The associated sequence step. You can use only the attribute id to filter mailings by sequenceStep (e.g. filter[sequenceStep][id]=X). data links readonly
task The task this mailing will or did complete upon sending. You can use only the attribute id to filter mailings by task (e.g. filter[task][id]=X). data links readonly
tasks All tasks associated with this mailing, such as a follow-up task. Relationship tasks cannot be used as a filter. data links readonly
template The template associated with this mailing. You can use only the attribute id to filter mailings by template (e.g. filter[template][id]=X). data links
user The user associated with this mailing. You can use only the attribute id to filter mailings by user (e.g. filter[user][id]=X). data links readonly

Links

instances
GET https://api.outreach.io/api/v2/mailings
create
POST https://api.outreach.io/api/v2/mailings
self
GET https://api.outreach.io/api/v2/mailings/{:id}

Resource Metadata

Metadata Name Description Query Param
canWrite A boolean value indicating whether the current API user has write access to this resource. provideAuthorizationMeta
dataConnections The set of connections a given mailing has to external sources. provideDataConnections

Opportunity

An opportunity for a sale or pending deal. Requires the Opportunities SKU to be enabled in order to have access. Please contact support for more assistance.

Attribute Name Description Constraints Notes
amount
integer
The amount the opportunity is worth. sortable
closeDate
date-time
The date the opportunity is expected to close. sortable
createdAt
date-time
The date the opportunity was created. readonly filterable sortable
currencyType
string
The ISO code of the currency this opportunity is in. max length
255
custom1
string
The value of the opportunity's first custom field. max length
255
custom10
string
The value of the opportunity's 10th custom field.
custom100
string
The value of the opportunity's 100th custom field.
custom101
string
The value of the opportunity’s 101st custom field.
custom102
string
The value of the opportunity’s 102nd custom field.
custom103
string
The value of the opportunity’s 103rd custom field.
custom104
string
The value of the opportunity’s 104th custom field.
custom105
string
The value of the opportunity’s 105th custom field.
custom106
string
The value of the opportunity’s 106th custom field.
custom107
string
The value of the opportunity’s 107th custom field.
custom108
string
The value of the opportunity’s 108th custom field.
custom109
string
The value of the opportunity’s 109th custom field.
custom11
string
The value of the opportunity's 11th custom field.
custom110
string
The value of the opportunity’s 110th custom field.
custom111
string
The value of the opportunity’s 111th custom field.
custom112
string
The value of the opportunity’s 112th custom field.
custom113
string
The value of the opportunity’s 113th custom field.
custom114
string
The value of the opportunity’s 114th custom field.
custom115
string
The value of the opportunity’s 115th custom field.
custom116
string
The value of the opportunity’s 116th custom field.
custom117
string
The value of the opportunity’s 117th custom field.
custom118
string
The value of the opportunity’s 118th custom field.
custom119
string
The value of the opportunity’s 119th custom field.
custom12
string
The value of the opportunity's 12th custom field.
custom120
string
The value of the opportunity’s 120th custom field.
custom121
string
The value of the opportunity’s 121st custom field.
custom122
string
The value of the opportunity’s 122nd custom field.
custom123
string
The value of the opportunity’s 123rd custom field.
custom124
string
The value of the opportunity’s 124th custom field.
custom125
string
The value of the opportunity’s 125th custom field.
custom126
string
The value of the opportunity’s 126th custom field.
custom127
string
The value of the opportunity’s 127th custom field.
custom128
string
The value of the opportunity’s 128th custom field.
custom129
string
The value of the opportunity’s 129th custom field.
custom13
string
The value of the opportunity's 13th custom field.
custom130
string
The value of the opportunity’s 130th custom field.
custom131
string
The value of the opportunity’s 131st custom field.
custom132
string
The value of the opportunity’s 132nd custom field.
custom133
string
The value of the opportunity’s 133rd custom field.
custom134
string
The value of the opportunity’s 134th custom field.
custom135
string
The value of the opportunity’s 135th custom field.
custom136
string
The value of the opportunity’s 136th custom field.
custom137
string
The value of the opportunity’s 137th custom field.
custom138
string
The value of the opportunity’s 138th custom field.
custom139
string
The value of the opportunity’s 139th custom field.
custom14
string
The value of the opportunity's 14th custom field.
custom140
string
The value of the opportunity’s 140th custom field.
custom141
string
The value of the opportunity’s 141st custom field.
custom142
string
The value of the opportunity’s 142nd custom field.
custom143
string
The value of the opportunity’s 143rd custom field.
custom144
string
The value of the opportunity’s 144th custom field.
custom145
string
The value of the opportunity’s 145th custom field.
custom146
string
The value of the opportunity’s 146th custom field.
custom147
string
The value of the opportunity’s 147th custom field.
custom148
string
The value of the opportunity’s 148th custom field.
custom149
string
The value of the opportunity’s 149th custom field.
custom15
string
The value of the opportunity's 15th custom field.
custom150
string
The value of the opportunity’s 150th custom field.
custom16
string
The value of the opportunity's 16th custom field.
custom17
string
The value of the opportunity's 17th custom field.
custom18
string
The value of the opportunity's 18th custom field.
custom19
string
The value of the opportunity's 19th custom field.
custom2
string
The value of the opportunity's second custom field. max length
255
custom20
string
The value of the opportunity's 20th custom field.
custom21
string
The value of the opportunity's 21st custom field.
custom22
string
The value of the opportunity's 22nd custom field.
custom23
string
The value of the opportunity's 23rd custom field.
custom24
string
The value of the opportunity's 24th custom field.
custom25
string
The value of the opportunity's 25th custom field.
custom26
string
The value of the opportunity's 26th custom field.
custom27
string
The value of the opportunity's 27th custom field.
custom28
string
The value of the opportunity's 28th custom field.
custom29
string
The value of the opportunity's 29th custom field.
custom3
string
The value of the opportunity's third custom field. max length
255
custom30
string
The value of the opportunity's 30th custom field.
custom31
string
The value of the opportunity's 31st custom field.
custom32
string
The value of the opportunity's 32nd custom field.
custom33
string
The value of the opportunity's 33rd custom field.
custom34
string
The value of the opportunity's 34th custom field.
custom35
string
The value of the opportunity's 35th custom field.
custom36
string
The value of the opportunity's 36th custom field.
custom37
string
The value of the opportunity's 37th custom field.
custom38
string
The value of the opportunity's 38th custom field.
custom39
string
The value of the opportunity's 39th custom field.
custom4
string
The value of the opportunity's fourth custom field. max length
255
custom40
string
The value of the opportunity's 40th custom field.
custom41
string
The value of the opportunity's 41st custom field.
custom42
string
The value of the opportunity's 42nd custom field.
custom43
string
The value of the opportunity's 43rd custom field.
custom44
string
The value of the opportunity's 44th custom field.
custom45
string
The value of the opportunity's 45th custom field.
custom46
string
The value of the opportunity's 46th custom field.
custom47
string
The value of the opportunity's 47th custom field.
custom48
string
The value of the opportunity's 48th custom field.
custom49
string
The value of the opportunity's 49th custom field.
custom5
string
The value of the opportunity's fifth custom field. max length
255
custom50
string
The value of the opportunity's 50th custom field.
custom51
string
The value of the opportunity's 51st custom field.
custom52
string
The value of the opportunity's 52nd custom field.
custom53
string
The value of the opportunity's 53rd custom field.
custom54
string
The value of the opportunity's 54th custom field.
custom55
string
The value of the opportunity's 55th custom field.
custom56
string
The value of the opportunity's 56th custom field.
custom57
string
The value of the opportunity's 57th custom field.
custom58
string
The value of the opportunity's 58th custom field.
custom59
string
The value of the opportunity's 59th custom field.
custom6
string
The value of the opportunity's sixth custom field.
custom60
string
The value of the opportunity's 60th custom field.
custom61
string
The value of the opportunity's 61st custom field.
custom62
string
The value of the opportunity's 62nd custom field.
custom63
string
The value of the opportunity's 63rd custom field.
custom64
string
The value of the opportunity's 64th custom field.
custom65
string
The value of the opportunity's 65th custom field.
custom66
string
The value of the opportunity's 66th custom field.
custom67
string
The value of the opportunity's 67th custom field.
custom68
string
The value of the opportunity's 68th custom field.
custom69
string
The value of the opportunity's 69th custom field.
custom7
string
The value of the opportunity's seventh custom field.
custom70
string
The value of the opportunity's 70th custom field.
custom71
string
The value of the opportunity's 71st custom field.
custom72
string
The value of the opportunity's 72nd custom field.
custom73
string
The value of the opportunity's 73rd custom field.
custom74
string
The value of the opportunity's 74th custom field.
custom75
string
The value of the opportunity's 75th custom field.
custom76
string
The value of the opportunity's 76th custom field.
custom77
string
The value of the opportunity's 77th custom field.
custom78
string
The value of the opportunity's 78th custom field.
custom79
string
The value of the opportunity's 79th custom field.
custom8
string
The value of the opportunity's eighth custom field.
custom80
string
The value of the opportunity's 80th custom field.
custom81
string
The value of the opportunity's 81st custom field.
custom82
string
The value of the opportunity's 82nd custom field.
custom83
string
The value of the opportunity's 83rd custom field.
custom84
string
The value of the opportunity's 84th custom field.
custom85
string
The value of the opportunity's 85th custom field.
custom86
string
The value of the opportunity's 86th custom field.
custom87
string
The value of the opportunity's 87th custom field.
custom88
string
The value of the opportunity's 88th custom field.
custom89
string
The value of the opportunity's 89th custom field.
custom9
string
The value of the opportunity's ninth custom field.
custom90
string
The value of the opportunity's 90th custom field.
custom91
string
The value of the opportunity's 91st custom field.
custom92
string
The value of the opportunity's 92nd custom field.
custom93
string
The value of the opportunity's 93rd custom field.
custom94
string
The value of the opportunity's 94th custom field.
custom95
string
The value of the opportunity's 95th custom field.
custom96
string
The value of the opportunity's 96th custom field.
custom97
string
The value of the opportunity's 97th custom field.
custom98
string
The value of the opportunity's 98th custom field.
custom99
string
The value of the opportunity's 99th custom field.
description
string
A description of the opportunity. max length
65535
externalCreatedAt
date-time
The date the opportunity was created in the external system.
mapLink
string
A link to the SamePlan MAP (Mutual Action Plan) associated with this opportunity. max length
255
filterable
mapNextSteps
string
The next event in the timeline that has yet to be completed for the SamePlan MAP (Mutual Action Plan). max length
255
mapStatus
string
The status of the SamePlan MAP (Mutual Action Plan) based on how well both parties are trending towards the plan. max length
255
filterable sortable
name
string
The name of the opportunity. max length
255
filterable sortable
nextStep
string
The next step to take for the opportunity. max length
65535
opportunityType
string
The type of opportunity. max length
255
probability
integer
The chances of the opportunity succeeding, represented as a percentage. filterable sortable
prospectingRepId
string
The ID of the sales rep that prospects the opportunity. max length
255
sharingTeamId
string
The ID of the sharing team associated with this object. Access is currently in beta. max length
255
filterable
tags
string
Tags associated with the opportunity.
touchedAt
date-time
The last time an event happened for an opportunity. readonly filterable sortable
updatedAt
date-time
The date the opportunity was last updated. readonly filterable sortable
Relationship Name Description Notes
account The account the opportunity is for. You can use attributes id and name to filter opportunities by account (e.g. filter[account][id]=X). data links
creator The creator of the opportunity. Relationship creator cannot be used as a filter. data links readonly
opportunityStage The current stage of the opportunity. You can use attributes id and isClosed to filter opportunities by opportunityStage (e.g. filter[opportunityStage][id]=X). data links
owner The user who owns the opportunity. You can use only the attribute id to filter opportunities by owner (e.g. filter[owner][id]=X). data links
prospects The prospects associated with this opportunity. You can use only the attribute id to filter opportunities by prospects (e.g. filter[prospects][id]=X). links
stage The current stage of the opportunity. You can use only the attribute id to filter opportunities by stage (e.g. filter[stage][id]=X). data links readonly
updater The updater of the opportunity. Relationship updater cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/opportunities
create
POST https://api.outreach.io/api/v2/opportunities
self
GET https://api.outreach.io/api/v2/opportunities/{:id}
update
PATCH https://api.outreach.io/api/v2/opportunities/{:id}
destroy
DELETE https://api.outreach.io/api/v2/opportunities/{:id}

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
dataConnections The set of connections the opportunity has to external sources. provideDataConnections

Opportunity Prospect Role

A prospect's role and association with an opportunity

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the role was created. readonly filterable sortable
primary
boolean
A boolean value indicating if this prospect is the primary contact within an opportunity.
role
string
A string value representing the role. max length
255
filterable sortable
updatedAt
date-time
The date and time the role was last updated. readonly filterable sortable
Relationship Name Description Notes
opportunity The opportunity associated with the role. You can use only the attribute id to filter opportunityProspectRoles by opportunity (e.g. filter[opportunity][id]=X). data links
prospect The prospect associated with the role. You can use only the attribute id to filter opportunityProspectRoles by prospect (e.g. filter[prospect][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/opportunityProspectRoles
create
POST https://api.outreach.io/api/v2/opportunityProspectRoles
self
GET https://api.outreach.io/api/v2/opportunityProspectRoles/{:id}
update
PATCH https://api.outreach.io/api/v2/opportunityProspectRoles/{:id}
destroy
DELETE https://api.outreach.io/api/v2/opportunityProspectRoles/{:id}

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

Opportunity Stage

The stage an opportunity is in. Requires the Opportunities SKU to be enabled in order to have access. Please contact support for more assistance.

Attribute Name Description Constraints Notes
color
string
The color used to label and highlight the opportunity stage. max length
255
createdAt
date-time
The date and time the opportunity stage was created. readonly filterable sortable
isClosed
boolean
Either true or flase, whether or not the opportunity stage represents an open or closed state of an opportunity. filterable sortable
name
string
The name of the opportunity stage. max length
255
filterable sortable
order
integer
The order of the opportunity stage. filterable sortable
updatedAt
date-time
The date and time the opportunity stage was last updated. readonly filterable sortable
Relationship Name Description Notes
creator The creator of the opportunity. Relationship creator cannot be used as a filter. data links readonly
opportunities The opportunities currently associated with the opportunity stage. Relationship opportunities cannot be used as a filter. links

Links

instances
GET https://api.outreach.io/api/v2/opportunityStages
create
POST https://api.outreach.io/api/v2/opportunityStages
self
GET https://api.outreach.io/api/v2/opportunityStages/{:id}
update
PATCH https://api.outreach.io/api/v2/opportunityStages/{:id}
destroy
DELETE https://api.outreach.io/api/v2/opportunityStages/{:id}

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
dataConnections The set of connections the opportunity stage has to external sources. provideDataConnections

Persona

A descriptor of a person, used for categorizing Prospects.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the persona was created. readonly filterable sortable
description
string
A description of the persona. max length
255
name
string
The name of the persona (e.g. "Sales Rep"). max length
255
filterable sortable
updatedAt
date-time
The date and time the persona was last updated. readonly filterable sortable
Relationship Name Description Notes
prospects The prospects with this persona. Relationship prospects cannot be used as a filter. links

Links

instances
GET https://api.outreach.io/api/v2/personas
create
POST https://api.outreach.io/api/v2/personas
self
GET https://api.outreach.io/api/v2/personas/{:id}
update
PATCH https://api.outreach.io/api/v2/personas/{:id}
destroy
DELETE https://api.outreach.io/api/v2/personas/{:id}

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

Phone Number

A prospect's phone number

Attribute Name Description Constraints Notes
countryCode
string
The country code (e.g. US) max length
255
createdAt
date-time
The date and time the phone number was created. readonly
extension
string
Phone number extension (e.g. 123) max length
255
number
string
The phone number (e.g. +18889387356) max length
255
filterable sortable
order
integer
Ordered position in list of numbers filterable sortable
phoneType
string
Type of phone (mobile, work, home, voip, and other) max length
255
filterable sortable
rawNumber
string
Unformatted phone number max length
255
status
string
The status of the number max length
255
filterable sortable
statusChangedAt
date-time
Time the status was updated readonly filterable sortable
updatedAt
date-time
The date and time the phone number was last updated. readonly filterable sortable
Relationship Name Description Notes
prospect The owning prospect You can use only the attribute id to filter phoneNumbers by prospect (e.g. filter[prospect][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/phoneNumbers
create
POST https://api.outreach.io/api/v2/phoneNumbers
self
GET https://api.outreach.io/api/v2/phoneNumbers/{:id}
update
PATCH https://api.outreach.io/api/v2/phoneNumbers/{:id}
destroy
DELETE https://api.outreach.io/api/v2/phoneNumbers/{:id}

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

Profile

Controls what you can see and do within Outreach

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the team was created. readonly filterable sortable
isAdmin
boolean
Flag that indicates whether the profile provides admin access. readonly
name
string
The name of the profile (e.g. "Admin"). max length
255
filterable sortable
specialId
string
The special id flag assigned to the profile (i.e. admin or default) max length
255
readonly filterable
updatedAt
date-time
The date and time the team was last updated. readonly filterable sortable

Member Actions

ensure_special_profile_exists

Creates or Finds profile with provided special_id.

Parameter name Description
special_id
REQUIRED
Special Id to search for, must be one of "admin," "default," "leadership" or "gwc".

Links

instances
GET https://api.outreach.io/api/v2/profiles
create
POST https://api.outreach.io/api/v2/profiles
self
GET https://api.outreach.io/api/v2/profiles/{:id}
update
PATCH https://api.outreach.io/api/v2/profiles/{:id}
destroy
DELETE https://api.outreach.io/api/v2/profiles/{:id}
ensure_special_profile_exists
POST https://api.outreach.io/api/v2/profiles/{:id}/actions/ensureSpecialProfileExists

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

Prospect

A descriptor of a person.

Attribute Name Description Constraints Notes
addedAt
date-time
The date and time the prospect was added to any system.
addressCity
string
The prospect’s city (e.g. "Seattle"). max length
255
addressCountry
string
The prospect’s country (e.g. "USA"). max length
255
addressState
string
The prospect’s state (e.g. "Washington"). max length
255
addressStreet
string
The prospect’s street address (e.g. "1441 N 34th St"). max length
255
addressStreet2
string
The prospect’s second street address, if applicable. max length
255
addressZip
string
The prospect’s postal code (e.g. "98103"). max length
255
angelListUrl
string
The prospect’s AngelList URL. max length
255
availableAt
date-time
The date and time the prospect is available to contact again.
callOptedOut
boolean
Whether the prospect is opted out of calling, or opted out in general if granular opt-out is not enabled.
callsOptStatus
string
A string ("opted_in", "opted_out", "null") that represents whether a prospect has opted into or out of calls. max length
255
callsOptedAt
date-time
The date and time the prospect opted in/out of calls. readonly
campaignName
string
The name of the campaign the prospect is associated with. max length
255
clickCount
integer
The number of clicks the prospect has made since the last touch point. readonly
company
string
The name of the company the prospect works at. If associated with an account, this is the name of the account. (e.g. Acme International).
contactHistogram
object
The last 12 months of email contact history with the prospect, with the current month being the last element. The format for each month is `[inboundCount, outboundCount]`. Note: Retrieving this field will slow down the queries. Unless this field is required, it is best to filter it out. See Specify Sparse Fieldsets for examples readonly
createdAt
date-time
The date and time the prospect was created. readonly filterable sortable
custom1
string
The value of the prospect’s first custom field.
custom10
string
The value of the prospect’s 10th custom field.
custom100
string
The value of the prospect’s 100th custom field.
custom101
string
The value of the prospect’s 101st custom field.
custom102
string
The value of the prospect’s 102nd custom field.
custom103
string
The value of the prospect’s 103rd custom field.
custom104
string
The value of the prospect’s 104th custom field.
custom105
string
The value of the prospect’s 105th custom field.
custom106
string
The value of the prospect’s 106th custom field.
custom107
string
The value of the prospect’s 107th custom field.
custom108
string
The value of the prospect’s 108th custom field.
custom109
string
The value of the prospect’s 109th custom field.
custom11
string
The value of the prospect’s 11th custom field.
custom110
string
The value of the prospect’s 110th custom field.
custom111
string
The value of the prospect’s 111th custom field.
custom112
string
The value of the prospect’s 112th custom field.
custom113
string
The value of the prospect’s 113th custom field.
custom114
string
The value of the prospect’s 114th custom field.
custom115
string
The value of the prospect’s 115th custom field.
custom116
string
The value of the prospect’s 116th custom field.
custom117
string
The value of the prospect’s 117th custom field.
custom118
string
The value of the prospect’s 118th custom field.
custom119
string
The value of the prospect’s 119th custom field.
custom12
string
The value of the prospect’s 12th custom field.
custom120
string
The value of the prospect’s 120th custom field.
custom121
string
The value of the prospect’s 121st custom field.
custom122
string
The value of the prospect’s 122nd custom field.
custom123
string
The value of the prospect’s 123rd custom field.
custom124
string
The value of the prospect’s 124th custom field.
custom125
string
The value of the prospect’s 125th custom field.
custom126
string
The value of the prospect’s 126th custom field.
custom127
string
The value of the prospect’s 127th custom field.
custom128
string
The value of the prospect’s 128th custom field.
custom129
string
The value of the prospect’s 129th custom field.
custom13
string
The value of the prospect’s 13th custom field.
custom130
string
The value of the prospect’s 130th custom field.
custom131
string
The value of the prospect’s 131st custom field.
custom132
string
The value of the prospect’s 132nd custom field.
custom133
string
The value of the prospect’s 133rd custom field.
custom134
string
The value of the prospect’s 134th custom field.
custom135
string
The value of the prospect’s 135th custom field.
custom136
string
The value of the prospect’s 136th custom field.
custom137
string
The value of the prospect’s 137th custom field.
custom138
string
The value of the prospect’s 138th custom field.
custom139
string
The value of the prospect’s 139th custom field.
custom14
string
The value of the prospect’s 14th custom field.
custom140
string
The value of the prospect’s 140th custom field.
custom141
string
The value of the prospect’s 141st custom field.
custom142
string
The value of the prospect’s 142nd custom field.
custom143
string
The value of the prospect’s 143rd custom field.
custom144
string
The value of the prospect’s 144th custom field.
custom145
string
The value of the prospect’s 145th custom field.
custom146
string
The value of the prospect’s 146th custom field.
custom147
string
The value of the prospect’s 147th custom field.
custom148
string
The value of the prospect’s 148th custom field.
custom149
string
The value of the prospect’s 149th custom field.
custom15
string
The value of the prospect’s 15th custom field.
custom150
string
The value of the prospect’s 150th custom field.
custom16
string
The value of the prospect’s 16th custom field.
custom17
string
The value of the prospect’s 17th custom field.
custom18
string
The value of the prospect’s 18th custom field.
custom19
string
The value of the prospect’s 19th custom field.
custom2
string
The value of the prospect’s second custom field.
custom20
string
The value of the prospect’s 20th custom field.
custom21
string
The value of the prospect’s 21st custom field.
custom22
string
The value of the prospect’s 22nd custom field.
custom23
string
The value of the prospect’s 23rd custom field.
custom24
string
The value of the prospect’s 24th custom field.
custom25
string
The value of the prospect’s 25th custom field.
custom26
string
The value of the prospect’s 26th custom field.
custom27
string
The value of the prospect’s 27th custom field.
custom28
string
The value of the prospect’s 28th custom field.
custom29
string
The value of the prospect’s 29th custom field.
custom3
string
The value of the prospect’s third custom field.
custom30
string
The value of the prospect’s 30th custom field.
custom31
string
The value of the prospect’s 31st custom field.
custom32
string
The value of the prospect’s 32nd custom field.
custom33
string
The value of the prospect’s 33rd custom field.
custom34
string
The value of the prospect’s 34th custom field.
custom35
string
The value of the prospect’s 35th custom field.
custom36
string
The value of the prospect’s 36th custom field.
custom37
string
The value of the prospect’s 37th custom field.
custom38
string
The value of the prospect’s 38th custom field.
custom39
string
The value of the prospect’s 39th custom field.
custom4
string
The value of the prospect’s fourth custom field.
custom40
string
The value of the prospect’s 40th custom field.
custom41
string
The value of the prospect’s 41st custom field.
custom42
string
The value of the prospect’s 42nd custom field.
custom43
string
The value of the prospect’s 43rd custom field.
custom44
string
The value of the prospect’s 44th custom field.
custom45
string
The value of the prospect’s 45th custom field.
custom46
string
The value of the prospect’s 46th custom field.
custom47
string
The value of the prospect’s 47th custom field.
custom48
string
The value of the prospect’s 48th custom field.
custom49
string
The value of the prospect’s 49th custom field.
custom5
string
The value of the prospect’s fifth custom field.
custom50
string
The value of the prospect’s 50th custom field.
custom51
string
The value of the prospect’s 51st custom field.
custom52
string
The value of the prospect’s 52nd custom field.
custom53
string
The value of the prospect’s 53rd custom field.
custom54
string
The value of the prospect’s 54th custom field.
custom55
string
The value of the prospect’s 55th custom field.
custom56
string
The value of the prospect’s 56th custom field.
custom57
string
The value of the prospect’s 57th custom field.
custom58
string
The value of the prospect’s 58th custom field.
custom59
string
The value of the prospect’s 59th custom field.
custom6
string
The value of the prospect’s sixth custom field.
custom60
string
The value of the prospect’s 60th custom field.
custom61
string
The value of the prospect’s 61st custom field.
custom62
string
The value of the prospect’s 62nd custom field.
custom63
string
The value of the prospect’s 63rd custom field.
custom64
string
The value of the prospect’s 64th custom field.
custom65
string
The value of the prospect’s 65th custom field.
custom66
string
The value of the prospect’s 66th custom field.
custom67
string
The value of the prospect’s 67th custom field.
custom68
string
The value of the prospect’s 68th custom field.
custom69
string
The value of the prospect’s 69th custom field.
custom7
string
The value of the prospect’s seventh custom field.
custom70
string
The value of the prospect’s 70th custom field.
custom71
string
The value of the prospect’s 71st custom field.
custom72
string
The value of the prospect’s 72nd custom field.
custom73
string
The value of the prospect’s 73rd custom field.
custom74
string
The value of the prospect’s 74th custom field.
custom75
string
The value of the prospect’s 75th custom field.
custom76
string
The value of the prospect’s 76th custom field.
custom77
string
The value of the prospect’s 77th custom field.
custom78
string
The value of the prospect’s 78th custom field.
custom79
string
The value of the prospect’s 79th custom field.
custom8
string
The value of the prospect’s eight custom field.
custom80
string
The value of the prospect’s 80th custom field.
custom81
string
The value of the prospect’s 81st custom field.
custom82
string
The value of the prospect’s 82nd custom field.
custom83
string
The value of the prospect’s 83rd custom field.
custom84
string
The value of the prospect’s 84th custom field.
custom85
string
The value of the prospect’s 85th custom field.
custom86
string
The value of the prospect’s 86th custom field.
custom87
string
The value of the prospect’s 87th custom field.
custom88
string
The value of the prospect’s 88th custom field.
custom89
string
The value of the prospect’s 89th custom field.
custom9
string
The value of the prospect’s ninth custom field.
custom90
string
The value of the prospect’s 90th custom field.
custom91
string
The value of the prospect’s 91st custom field.
custom92
string
The value of the prospect’s 92nd custom field.
custom93
string
The value of the prospect’s 93rd custom field.
custom94
string
The value of the prospect’s 94th custom field.
custom95
string
The value of the prospect’s 95th custom field.
custom96
string
The value of the prospect’s 96th custom field.
custom97
string
The value of the prospect’s 97th custom field.
custom98
string
The value of the prospect’s 98th custom field.
custom99
string
The value of the prospect’s 99th custom field.
dateOfBirth
date
The date the prospect was born.
degree
string
The degree(s) the prospect has received. max length
255
emailOptedOut
boolean
Whether the prospect is opted out of email, or opted out in general if granular opt-out is not enabled.
emails
email
A list of email addresses associated with the prospect. filterable
emailsOptStatus
string
A string ("opted_in", "opted_out", "null") that represents whether a prospect has opted into or out of emails. max length
255
emailsOptedAt
date-time
The date and time the prospect opted in/out of emails. readonly
engagedAt
date-time
The date and time the prospect last engaged. readonly filterable sortable
engagedScore
float
A number representing the quality of the lead, based on the number of the prospect’s opens, clicks and mailing replies. readonly filterable sortable
eventName
string
The name of the event the prospect was met at. max length
255
externalId
string
A custom ID for the prospect, often referencing an ID in an external system. max length
255
externalOwner
string
A custom owner for the prospect, often referencing an ownering in an external system. max length
255
externalSource
string
The source of the resource’s creation (e.g. "outreach-api"). max length
255
filterable sortable
facebookUrl
string
The prospect’s Facebook URL. max length
255
firstName
string
The first name of the prospect. max length
255
filterable sortable
gender
string
The gender of the prospect. max length
255
githubUrl
string
The prospect’s GitHub URL. max length
1000
githubUsername
string
The prospect’s GitHub username. max length
255
filterable sortable
googlePlusUrl
string
The prospect’s Google+ URL. max length
255
graduationDate
date
The graduation date of the prospect.
homePhones
string
A list of home phone numbers associated with the prospect.
jobStartDate
date
The starting date of the prospect’s current job.
lastName
string
The last name of the prospect. max length
255
filterable sortable
linkedInConnections
integer
The number of connections on the prospect’s LinkedIn profile.
linkedInId
string
The prospect’s LinkedIn ID. max length
255
filterable sortable
linkedInSlug
string
The prospect’s LinkedIn slug. max length
255
readonly filterable sortable
linkedInUrl
string
The prospect’s LinkedIn URL. max length
1000
middleName
string
The middle name of the prospect. max length
255
mobilePhones
string
A list of mobile phone numbers associated with the prospect.
name
string
The full name of the prospect. readonly
nickname
string
The nickname of the prospect. max length
255
occupation
string
The occupation of the prospect (e.g. "Purchasing Manager"). max length
255
openCount
integer
The number of opens the prospect has made since the last touch point. readonly
optedOut
boolean
A boolean value representing whether this prospect is currently opted out of all mailings. Set this value to true to opt out the prospect; the `opted_out` timestamp will be updated to the time of the request. Set this value to false to revert the opt at and clear the opted out timestamp.
optedOutAt
date-time
The date and time the prospect opted out of emails. readonly
otherPhones
string
A list of other phone numbers associated with the prospect.
personalNote1
string
A custom note field related to the prospect. max length
65535
personalNote2
string
A second note field related to the prospect. max length
65535
preferredContact
string
The preferred contact method for the prospect. max length
255
quoraUrl
string
The prospect’s Quora URL. max length
255
region
string
The primary geographic region of the prospect. max length
255
replyCount
integer
The number of replies the prospect has made since the last touch point. readonly
school
string
The school(s) the prospect has attended. max length
255
score
float
A custom score given to measure the quality of the lead.
sharingTeamId
string
The ID of the sharing team associated with this object. Access is currently in beta. max length
255
filterable
source
string
A custom source representing where the lead was first acquired. max length
255
specialties
string
A description of the prospect’s specialties. max length
65535
stackOverflowId
string
The prospect’s StackOverflow ID. max length
255
filterable sortable
stackOverflowUrl
string
The prospect’s StackOverflow URL. max length
1000
tags
string
A list of tag values associated with the account (e.g. ["Interested", "2017 Expo"]).
timeZone
string
The prospect’s current timezone, preferably in the IANA format (e.g. "America/LosAngeles"). max length
255
filterable
timeZoneIana
string
The prospect’s current IANA timezone, if available. readonly
timeZoneInferred
string
The prospect’s current inferred IANA timezone, if available. max length
255
readonly
title
string
The title of the prospect. max length
255
filterable sortable
touchedAt
date-time
The date and time the prospect was last touched. readonly filterable sortable
trashedAt
date-time
The date a prospect was soft deleted.
twitterUrl
string
The prospect’s Twitter URL. max length
1000
twitterUsername
string
The prospect’s Twitter username. max length
255
filterable sortable
updatedAt
date-time
The date and time the prospect was last updated. readonly filterable sortable
voipPhones
string
A list of voip phone numbers associated with the prospect.
websiteUrl1
string
The URL of the prospect’s website. max length
65535
websiteUrl2
string
The value of the prospect’s second website URL field. max length
65535
websiteUrl3
string
The value of the prospect’s third website URL field. max length
65535
workPhones
string
A list of work phone numbers associated with the prospect.
Relationship Name Description Notes
account The prospect's associated account. You can use attributes id, customId, name, named and updatedAt to filter prospects by account (e.g. filter[account][id]=X). data links
activeSequenceStates The non-finished sequence states where this prospect is the primary recipient. This includes states of "active", "paused", "failed", "bounced", "pending" and "disabled." You can use attributes id and state to filter prospects by activeSequenceStates (e.g. filter[activeSequenceStates][id]=X). data links readonly
calls The calls associated with the prospect. Relationship calls cannot be used as a filter. links
creator The creater of the prospect. Relationship creator cannot be used as a filter. data links readonly
emailAddresses The prospect's email addresses. Relationship emailAddresses cannot be used as a filter. data links
favorites The prospect's favorites. Relationship favorites cannot be used as a filter. data links
mailings The mailings associated with the prospect. Relationship mailings cannot be used as a filter. links
opportunities The opportunities associated with the prospect. Requires the Opportunities SKU to be enabled in order to have access. Please contact support@outreach.io for more assistance. You can use only the attribute id to filter prospects by opportunities (e.g. filter[opportunities][id]=X). data links
opportunityProspectRoles The roles that associate the prospect with opportunities. Relationship opportunityProspectRoles cannot be used as a filter. data links
owner The owner of the prospect. You can use only the attribute id to filter prospects by owner (e.g. filter[owner][id]=X). data links
persona The persona of the prospect, if it has one. You can use only the attribute id to filter prospects by persona (e.g. filter[persona][id]=X). data links
phoneNumbers The prospect's phone numbers Relationship phoneNumbers cannot be used as a filter. data links
sequenceStates The sequence states where this prospect is the primary recipient. You can use attributes id and state to filter prospects by sequenceStates (e.g. filter[sequenceStates][id]=X). links
stage The stage the prospect is in. You can use attributes id and name to filter prospects by stage (e.g. filter[stage][id]=X). data links
tasks The tasks associated with the prospect. Relationship tasks cannot be used as a filter. links
updater The most recent updater of the prospect. Relationship updater cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/prospects
create
POST https://api.outreach.io/api/v2/prospects
self
GET https://api.outreach.io/api/v2/prospects/{:id}
update
PATCH https://api.outreach.io/api/v2/prospects/{:id}
destroy
DELETE https://api.outreach.io/api/v2/prospects/{:id}

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
dataConnections The set of connections a given prospect has to external sources. provideDataConnections

Recipient

Record for a recipient for some communication, such as email

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the team was created. readonly
emailHash
string
Hash of email for recipient. max length
255
recipientType
string
The type of action for the communcation to the recipient. Must be one of 'bcc', 'cc', or 'to'. max length
3
updatedAt
date-time
The date and time the team was last updated. readonly
value
string
The recipient contact information (i.e. email address) max length
255

Links

instances
GET https://api.outreach.io/api/v2/recipients
create
POST https://api.outreach.io/api/v2/recipients
self
GET https://api.outreach.io/api/v2/recipients/{:id}
update
PATCH https://api.outreach.io/api/v2/recipients/{:id}
destroy
DELETE https://api.outreach.io/api/v2/recipients/{:id}

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

Role

Where you fall within your organization's structure.

Attribute Name Description Constraints Notes
createdAt
date-time
The date and time the team was created. readonly filterable sortable
name
string
The name of the role (e.g. "Vice-President"). max length
255
filterable sortable
updatedAt
date-time
The date and time the team was last updated. readonly filterable sortable
Relationship Name Description Notes
parentRole Roles are heirarchical. This is the parent of the current role. You can use only the attribute id to filter roles by parentRole (e.g. filter[parentRole][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/roles
create
POST https://api.outreach.io/api/v2/roles
self
GET https://api.outreach.io/api/v2/roles/{:id}
update
PATCH https://api.outreach.io/api/v2/roles/{:id}
destroy
DELETE https://api.outreach.io/api/v2/roles/{:id}

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

A reusable set of behaviors to be applied to Sequences

Attribute Name Description Constraints Notes
applyCompletedStageIn
integer
The amount of time in seconds after the sequence has completed before the "completedStage" will be applied to the Prospect.
autoResumeOotoProspects
boolean
A boolean value whether out-of-the-office Prospects will be automatically resumed. See "autoResumeOotoProspectsIn" and "autoResumeOotoProspectsExpiresIn" for more information. filterable sortable
autoResumeOotoProspectsExpiresIn
integer
The maximum amount of time in seconds to wait before opted-out Prospect will be resumed.
autoResumeOotoProspectsIn
integer
The default amount of time in seconds to wait before opted-out Prospects will be resumed.
callOptOutAction
string
Determines if prospect can be added to sequences if they are opted out of calling. max length
4
clicksNeededBeforeCallTaskCreated
integer
The number of email clicks needed before a call task will be automatically created. This feature will be disabled unless a value is set.
createdAt
date-time
The date and time the ruleset was created. readonly filterable sortable
emailOptOutAction
string
Determines if prospect can be added to sequences if they are opted out of emails. max length
4
includeUnsubscribeLinks
boolean
A boolean value whether to include unsubscribe links within emails. filterable sortable
meetingBookedAction
string
Determines if a prospect is marked as finished when a meeting is booked. max length
255
minimumProspectTouchedInterval
integer
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.
name
string
The name of the ruleset. max length
255
filterable sortable
ootoAutoExtractionEnabled
boolean
A boolean value determining whether to use out of the office return date auto extraction.
opensNeededBeforeCallTaskCreated
integer
The number of email opens needed before a call task will be automatically created. This feature will be disabled unless a value is set.
permitDuplicateProspects
string
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. max length
255
filterable sortable
sequenceExclusivity
string
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. max length
255
filterable sortable
smsOptOutAction
string
Determines if prospect can be added to sequences if they are opted out of SMS. max length
4
smsReceivedAction
string
Determines if a prospect is marked as finished when a text message is received max length
255
stepOverridesEnabled
boolean
A boolean value determining whether to allow users to customize step templates when adding to sequence.
updatedAt
date-time
The date and time the ruleset was last updated. readonly filterable sortable
Relationship Name Description Notes
bouncedStage 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). data links
callTaskPriority Deprecated. This relationship exists to maintain backward compatibility and is strictly an alias for "callTaskPriorityFromOpens". You can use only the attribute id to filter rulesets by callTaskPriority (e.g. filter[callTaskPriority][id]=X). data links
callTaskPriorityFromClicks 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). data links
callTaskPriorityFromOpens 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). data links
completedStage 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). data links
deliveredStage 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). data links
finishedStage 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). data links
optedOutStage 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). data links
owner The owner of the ruleset. You can use only the attribute id to filter rulesets by owner (e.g. filter[owner][id]=X). data links
repliedStage 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). data links
sequences The sequences associated with this ruleset. You can use only the attribute id to filter rulesets by sequences (e.g. filter[sequences][id]=X). links
startedStage 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). data links

Links

instances
GET https://api.outreach.io/api/v2/rulesets
create
POST https://api.outreach.io/api/v2/rulesets
self
GET https://api.outreach.io/api/v2/rulesets/{:id}
update
PATCH https://api.outreach.io/api/v2/rulesets/{:id}
destroy
DELETE https://api.outreach.io/api/v2/rulesets/{:id}

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

Sequence State

A descriptor of a currently sequenced prospect, which includes relationships to its sequence, prospect and user.

Attribute Name Description Constraints Notes
activeAt
date-time
The date and time the sequence state was last active. readonly
bounceCount
integer
The total count of bounced mailings during this sequence state. readonly
callCompletedAt
date-time
The date and time the sequence state last had a call completed. readonly filterable sortable
clickCount
integer
The total count of clicked mailings from this sequence state. readonly filterable sortable
createdAt
date-time
The date and time the sequence state was created. readonly filterable sortable
deliverCount
integer
The total count of delivered mailings from this sequence state. readonly filterable sortable
errorReason
string
The reason for the most recent error. max length
255
readonly
failureCount
integer
The total count of failed mailings from this sequence state. readonly
negativeReplyCount
integer
The total count of negative reply mailings from this sequence state. readonly
neutralReplyCount
integer
The total count of neutral reply mailings from this sequence state. readonly
openCount
integer
The total count of opened mailings from this sequence state. readonly filterable sortable
optOutCount
integer
The total count of opted out mailings from this sequence state. readonly
pauseReason
string
The reason for the most recent pause. max length
255
readonly filterable sortable
positiveReplyCount
integer
The total count of positive reply mailings from this sequence state. readonly
repliedAt
date-time
The date and time the sequence state last had a mailing reply. readonly filterable sortable
replyCount
integer
The total count of replied mailings from this sequence state. readonly filterable sortable
scheduleCount
integer
The total count of scheduled mailings from this sequence state. readonly
state
string
The current state of the sequence state. max length
255
readonly filterable sortable
stateChangedAt
date-time
The date and time the sequence state’s state last changed. readonly filterable sortable
updatedAt
date-time
The date and time the sequence state was last updated. readonly filterable sortable
Relationship Name Description Notes
account The account associated with the prospect the sequence state is targeting. You can use only the attribute id to filter sequenceStates by account (e.g. filter[account][id]=X). data links readonly
activeStepMailings Any undelivered mailings associated with the current sequence step. Relationship activeStepMailings cannot be used as a filter. data links readonly
activeStepTasks Any incomplete tasks associated with the current sequence step. Relationship activeStepTasks cannot be used as a filter. data links readonly
calls The calls associated with the sequence state. You can use only the attribute id to filter sequenceStates by calls (e.g. filter[calls][id]=X). links
creator The creator of the sequence state. Relationship creator cannot be used as a filter. data links readonly
mailbox The mailbox to use for mailing steps. You can use attributes id and email to filter sequenceStates by mailbox (e.g. filter[mailbox][id]=X). data links
mailings The mailings associated with the sequence state. Relationship mailings cannot be used as a filter. links
opportunity The associated opportunity. You can use only the attribute id to filter sequenceStates by opportunity (e.g. filter[opportunity][id]=X). data links readonly
prospect The primary prospect this sequence state is targeting. You can use attributes id and emails to filter sequenceStates by prospect (e.g. filter[prospect][id]=X). data links
sequence The sequence this prospect is engaged in. You can use any filterable attribute of sequence. data links
sequenceStep The current sequence step the prospect is in. You can use any filterable attribute of sequenceStep. data links readonly
tasks The tasks associated with the sequence state. You can use attributes id and dueAt to filter sequenceStates by tasks (e.g. filter[tasks][id]=X). links

Member Actions

finish

Finishes an active sequence state.

pause

Pauses an active sequence state.

resume

Resumes a paused sequence state.

Links

instances
GET https://api.outreach.io/api/v2/sequenceStates
create
POST https://api.outreach.io/api/v2/sequenceStates
self
GET https://api.outreach.io/api/v2/sequenceStates/{:id}
destroy
DELETE https://api.outreach.io/api/v2/sequenceStates/{:id}
finish
POST https://api.outreach.io/api/v2/sequenceStates/{:id}/actions/finish
pause
POST https://api.outreach.io/api/v2/sequenceStates/{:id}/actions/pause
resume
POST https://api.outreach.io/api/v2/sequenceStates/{:id}/actions/resume

Resource Metadata

Metadata Name Description Query Param
canDelete A boolean value indicating whether the current API user has delete access to this resource. provideAuthorizationMeta

Sequence Step

A descriptor of a single step within an automated sequence.

Attribute Name Description Constraints Notes
bounceCount
integer
The total count of bounced mailings during this sequence step. readonly
clickCount
integer
The total count of clicked mailings from this sequence step. readonly
createdAt
date-time
The date and time the sequence step was created. readonly filterable sortable
date
date
The date this step will activate; only applicable to date-based sequences. filterable sortable
deliverCount
integer
The total count of delivered mailings from this sequence step. readonly
displayName
string
A human-readable display name that captures the step’s type and order. readonly
failureCount
integer
The total count of failed mailings from this sequence step. readonly
interval
integer
The interval (in minutes) until this still will activate; only applicable to interval-based sequences.
negativeReplyCount
integer
The total count of negative reply mailings from this sequence step. readonly
neutralReplyCount
integer
The total count of neutral reply mailings from this sequence step. readonly
openCount
integer
The total count of opened mailings from this sequence step. readonly
optOutCount
integer
The total count of opted out mailings from this sequence step. readonly
order
integer
The step’s display order within its sequence. filterable sortable
positiveReplyCount
integer
The total count of positive reply mailings from this sequence step. readonly
replyCount
integer
The total count of replied mailings from this sequence step. readonly
scheduleCount
integer
The total count of scheduled mailings from this sequence step. readonly
stepType
string
The step’s type; must be "auto_email", "manual_email", "call" or "task". max length
255
filterable sortable
taskAutoskipDelay
integer
The optional interval (in seconds) from when tasks created by this sequence step are overdue until they are automatically skipped.
taskNote
string
An optional note to associate with created tasks. max length
65535
updatedAt
date-time
The date and time the sequence step was last updated. readonly filterable sortable
Relationship Name Description Notes
callPurpose The default call purpose associated with the sequence step. You can use only the attribute id to filter sequenceSteps by callPurpose (e.g. filter[callPurpose][id]=X). data links
calls The calls associated with the sequence step. You can use only the attribute id to filter sequenceSteps by calls (e.g. filter[calls][id]=X). links
creator The creator of the sequence step. You can use only the attribute id to filter sequenceSteps by creator (e.g. filter[creator][id]=X). data links readonly
mailings The mailings associated with the sequence step. Relationship mailings cannot be used as a filter. links
sequence The associated sequence. You can use attributes id, enabledAt and name to filter sequenceSteps by sequence (e.g. filter[sequence][id]=X). data links
sequenceTemplates The sequence templates in use by this sequence step. You can use any filterable attribute of sequenceTemplates. data links readonly
taskPriority The associated task priority. You can use only the attribute id to filter sequenceSteps by taskPriority (e.g. filter[taskPriority][id]=X). data links
tasks The tasks associated with the sequence step. You can use only the attribute id to filter sequenceSteps by tasks (e.g. filter[tasks][id]=X). links
updater The most recent updater of the sequence step. You can use only the attribute id to filter sequenceSteps by updater (e.g. filter[updater][id]=X). data links readonly

Links

instances
GET https://api.outreach.io/api/v2/sequenceSteps
create
POST https://api.outreach.io/api/v2/sequenceSteps
self
GET https://api.outreach.io/api/v2/sequenceSteps/{:id}
update
PATCH https://api.outreach.io/api/v2/sequenceSteps/{:id}
destroy
DELETE https://api.outreach.io/api/v2/sequenceSteps/{:id}

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

Sequence Template

An object used to track which templates are in use by which sequence steps.

Attribute Name Description Constraints Notes
bounceCount
integer
The total count of bounced mailings during this sequence template. readonly
clickCount
integer
The total count of clicked mailings from this sequence template. readonly
createdAt
date-time
The date and time the sequence template was created. readonly
deliverCount
integer
The total count of delivered mailings from this sequence template. readonly
enabled
boolean
Boolean indicating if the sequence template is currently enabled. readonly
enabledAt
date-time
Datetime for when the sequence template was enabled. readonly
failureCount
integer
The total count of failed mailings from this sequence template. readonly
isReply
boolean
Boolean indicating if the sequence template should be a reply email or a new thread.
negativeReplyCount
integer
The total count of negative reply mailings from this sequence template. readonly
neutralReplyCount
integer
The total count of neutral reply mailings from this sequence template. readonly
openCount
integer
The total count of opened mailings from this sequence template. readonly
optOutCount
integer
The total count of opted out mailings from this sequence template. readonly
positiveReplyCount
integer
The total count of positive reply mailings from this sequence template. readonly
replyCount
integer
The total count of replied mailings from this sequence template. readonly
scheduleCount
integer
The total count of scheduled mailings from this sequence template. readonly
updatedAt
date-time
The date and time the sequence template was last updated. readonly
Relationship Name Description Notes
creator User that created the sequence template. You can use only the attribute id to filter sequenceTemplates by creator (e.g. filter[creator][id]=X). data links readonly
sequenceStep The sequence step that uses the sequence template. You can use any filterable attribute of sequenceStep. data links
template The template used for this sequence template. You can use only the attribute id to filter sequenceTemplates by template (e.g. filter[template][id]=X). data links
updater User that last updated the sequence template. You can use only the attribute id to filter sequenceTemplates by updater (e.g. filter[updater][id]=X). data links readonly

Links

instances
GET https://api.outreach.io/api/v2/sequenceTemplates
create
POST https://api.outreach.io/api/v2/sequenceTemplates
self
GET https://api.outreach.io/api/v2/sequenceTemplates/{:id}
update
PATCH https://api.outreach.io/api/v2/sequenceTemplates/{:id}
destroy
DELETE https://api.outreach.io/api/v2/sequenceTemplates/{:id}

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

Sequence

Leverage emailing within Sequences to engage each individual persona more effectively, and queue up the right actions at the right time.

Attribute Name Description Constraints Notes
automationPercentage
float
The percentage of "auto_email" sequence steps in this sequence. readonly
bounceCount
integer
The total count of bounced mailings during this sequence. readonly
clickCount
integer
The total count of clicked mailings from this sequence. readonly filterable sortable
createdAt
date-time
The date and time the sequence was created. readonly filterable sortable
deliverCount
integer
The total count of delivered mailings from this sequence. readonly filterable sortable
description
string
A custom description for the sequence. max length
1024
durationInDays
integer
The total number of days it takes to get through this sequence. readonly
enabled
boolean
A boolean value determining whether the sequence is enabled or not. readonly
enabledAt
date-time
The date and time the sequence was enabled, or null if currently disabled. readonly filterable sortable
failureCount
integer
The total count of failed mailings from this sequence. readonly
finishOnReply
boolean
Deprecated. This boolean value exists only to maintain backward compatibility and primaryReplyAction should be used instead. True if primaryReplyAction is "finish", false otherwise.
lastUsedAt
date-time
The date and time the sequence was last used. readonly filterable sortable
locked
boolean
A boolean value determining whether the sequence is locked or not. readonly
lockedAt
date-time
The date and time the sequence was locked, or null if currently unlocked. readonly filterable sortable
maxActivations
integer
The maximum number of prospects that can be associated with the sequence. Only applies if the sequence type is "date".
name
string
The name or the sequence. max length
255
filterable sortable
negativeReplyCount
integer
The total count of negative reply mailings from this sequence. readonly
neutralReplyCount
integer
The total count of neutral reply mailings from this sequence. readonly
numContactedProspects
integer
The total count of prospects who have been either called or emailed. readonly
numRepliedProspects
integer
The total count of prospects who have been marked as replied. readonly
openCount
integer
The total count of opened mailings from this sequence. readonly filterable sortable
optOutCount
integer
The total count of opted out mailings from this sequence. readonly
positiveReplyCount
integer
The total count of positive reply mailings from this sequence. readonly
primaryReplyAction
string
The action to take when the primary prospect replies. Must be one of "finish", "continue", or "pause". max length
4
primaryReplyPauseDuration
integer
The duration in seconds to pause for (before automatically finishing) after a reply from the primary prospect if the primaryReplyAction is "pause".
replyCount
integer
The total count of replied mailings from this sequence. readonly filterable sortable
scheduleCount
integer
The total count of scheduled mailings from this sequence. readonly
scheduleIntervalType
string
The schedule interval type must be either "calendar" or "schedule" max length
255
secondaryReplyAction
string
The action to take when someone other than the primary prospect replies. Must be one of "finish", "continue", or "pause". max length
4
secondaryReplyPauseDuration
integer
The duration in seconds to pause for (before automatically finishing) after a reply from anyone other than the primary prospect if the secondaryReplyAction is "pause".
sequenceStepCount
integer
The total number of sequence steps in this sequence. readonly
sequenceType
string
The sequence type must be either "date" or "interval". max length
255
shareType
string
The sequence share type must be either "private", "read_only" or "shared". max length
255
filterable sortable
tags
string
A list of tag values associated with the sequence (e.g. ["Tier 1", "Inbound Leads"])
throttleCapacity
integer
The maximum number of associated sequence states per user that can be active at a one time. filterable sortable
throttleMaxAddsPerDay
integer
The maximum number of associated sequence states per user that can be added to the sequence each day. filterable sortable
throttlePaused
boolean
A boolean value determining whether the throttling of sequence states is paused or not.
throttlePausedAt
date-time
The date and time the sequence state throttling was paused, or null if not currently paused. readonly
transactional
boolean
A boolean value determining whether prospect opt out preferences are respected. Intended only for non-marketing sequences.
updatedAt
date-time
The date and time the sequence was last updated. readonly filterable sortable
Relationship Name Description Notes
calls The associated calls. You can use only the attribute id to filter sequences by calls (e.g. filter[calls][id]=X). links
contentCategoryMemberships The content categories (collections) of the sequence. You can use only the attribute id to filter sequences by contentCategoryMemberships (e.g. filter[contentCategoryMemberships][id]=X). data links
creator The creater of the sequence. You can use only the attribute id to filter sequences by creator (e.g. filter[creator][id]=X). data links readonly
mailings The associated mailings. Relationship mailings cannot be used as a filter. links
owner The owner of the sequence. You can use attributes id, email, firstName and lastName to filter sequences by owner (e.g. filter[owner][id]=X). data links
ruleset The associated ruleset. You can use only the attribute id to filter sequences by ruleset (e.g. filter[ruleset][id]=X). data links
sequenceStates The associated sequence states. You can use only the attribute id to filter sequences by sequenceStates (e.g. filter[sequenceStates][id]=X). links
sequenceSteps The associated sequence steps. You can use only the attribute id to filter sequences by sequenceSteps (e.g. filter[sequenceSteps][id]=X). data links
tasks The associated tasks. You can use only the attribute id to filter sequences by tasks (e.g. filter[tasks][id]=X). links
updater The most recent updater of the sequence. You can use only the attribute id to filter sequences by updater (e.g. filter[updater][id]=X). data links readonly

Links

instances
GET https://api.outreach.io/api/v2/sequences
create
POST https://api.outreach.io/api/v2/sequences
self
GET https://api.outreach.io/api/v2/sequences/{:id}
update
PATCH https://api.outreach.io/api/v2/sequences/{:id}
destroy
DELETE https://api.outreach.io/api/v2/sequences/{:id}

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

Snippet

A piece of an email to be reused in multiple messages.

Attribute Name Description Constraints Notes
bodyHtml
string
The HTML of the snippet. max length
16777215
bodyText
string
The text of the snippet. max length
16777215
readonly
createdAt
date-time
The date and time the snippet was created. readonly filterable sortable
name
string
The name of the snippet. max length
255
filterable sortable
shareType
string
The permissions for sharing the snippet; must be "private" or "shared." max length
255
filterable sortable
tags
string
A list of tags associated with the snippet (e.g. ["Useful", "Prospecting"]).
updatedAt
date-time
The date and time the snippet was last updated. readonly filterable sortable
Relationship Name Description Notes
contentCategoryMemberships The content categories (collections) of the snippet. You can use only the attribute id to filter snippets by contentCategoryMemberships (e.g. filter[contentCategoryMemberships][id]=X). data links
creator The creator of the snippet. You can use only the attribute id to filter snippets by creator (e.g. filter[creator][id]=X). data links readonly
owner The owner of the snippet. You can use only the attribute id to filter snippets by owner (e.g. filter[owner][id]=X). data links
updater The updater of the snippet. You can use only the attribute id to filter snippets by updater (e.g. filter[updater][id]=X). data links readonly

Member Actions

update_content_categories

Updates the Snippets ContentCategories to match those provided via the contentCategoryIds parameter

Parameter name Description
content_category_ids
REQUIRED
A list of ContentCategory ids, representing the desired ContentCategories that this snippet should be associated with

Links

instances
GET https://api.outreach.io/api/v2/snippets
create
POST https://api.outreach.io/api/v2/snippets
self
GET https://api.outreach.io/api/v2/snippets/{:id}
update
PATCH https://api.outreach.io/api/v2/snippets/{:id}
destroy
DELETE https://api.outreach.io/api/v2/snippets/{:id}
update_content_categories
POST https://api.outreach.io/api/v2/snippets/{:id}/actions/updateContentCategories

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

Stage

A descriptor of the point in the process, used for categorizing Prospects.

Attribute Name Description Constraints Notes
color
string
The color the stage label will be highlighted in the interface, specified as a hexidecimal value (e.g. "#5951ff"). max length
255
createdAt
date-time
The date and time the stage was created. readonly filterable sortable
name
string
The name of the stage (e.g. "Qualified Lead"). max length
255
filterable sortable
order
integer
The stage's display order within the collection. filterable sortable
updatedAt
date-time
The date and time the stage was last updated. readonly filterable sortable
Relationship Name Description Notes
creator The creator of the stage. Relationship creator cannot be used as a filter. data links readonly
prospects The prospects associated to the stage. You can use only the attribute id to filter stages by prospects (e.g. filter[prospects][id]=X). links
updater The most recent updater of the stage. Relationship updater cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/stages
create
POST https://api.outreach.io/api/v2/stages
self
GET https://api.outreach.io/api/v2/stages/{:id}
update
PATCH https://api.outreach.io/api/v2/stages/{:id}
destroy
DELETE https://api.outreach.io/api/v2/stages/{:id}

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
dataConnections The set of connections a given stage has to external sources. provideDataConnections

Task Priority

A descriptor of importance used for categorizing Tasks.

Attribute Name Description Constraints Notes
color
integer
The color the task priority label will be highlighted in the interface, specified as a hexadecimal value (e.g. "0xFF5951FF").
createdAt
date-time
The date and time the task priority was created. readonly filterable sortable
name
string
The name of the task priority (e.g. "High"). max length
255
filterable sortable
updatedAt
date-time
The date and time the task priority was last updated. readonly filterable sortable
weight
integer
A relative value used for display order. Task priorities are listed from lowest to highest weight. filterable sortable
Relationship Name Description Notes
sequenceSteps The associated sequence steps. Relationship sequenceSteps cannot be used as a filter. links
tasks The associated tasks. Relationship tasks cannot be used as a filter. links

Links

instances
GET https://api.outreach.io/api/v2/taskPriorities
self
GET https://api.outreach.io/api/v2/taskPriorities/{:id}

Task

An item that requires action to complete.

Attribute Name Description Constraints Notes
action
string
The action type of the task. Can be 'action_item', 'call', 'email', or 'in_person'. max length
255
autoskipAt
date-time
The optional date and time when the task will automatically be skipped. Tasks with an empty autoskip_at will never be autoskipped. filterable sortable
compiledSequenceTemplateHtml
string
The compiled template HTML of incomplete SMS or LinkedIn tasks associated with a sequence. readonly
completed
boolean
A boolean value whether the task has been completed. readonly
completedAt
date-time
The date and time the task was completed. readonly
createdAt
date-time
The date and time the task was created. readonly filterable sortable
dueAt
date-time
The date and time the task is due. filterable sortable
note
string
An optional note for the task. max length
65535
opportunityAssociation
string
The optional opportunity rule associated with the task. Can be 'recent_created', 'recent_updated', 'noop'. max length
255
scheduledAt
date-time
The date and time the pending task is scheduled for. readonly filterable sortable
state
string
The current state of the task. Can be 'pending', 'incomplete', or 'complete'. max length
255
readonly filterable sortable
stateChangedAt
date-time
The date and time the state last changed. readonly filterable sortable
taskType
string
The type of task. Can be 'follow_up', 'manual', 'no_reply', 'sequence_open', 'sequence_click', 'sequence_step_call', 'sequence_step_email', 'sequence_step_linkedin_interact_with_post', 'sequence_step_linkedin_other', 'sequence_step_linkedin_send_connection_request', 'sequence_step_linkedin_send_message', 'sequence_step_linkedin_view_profile', 'sequence_step_sms', 'sequence_step_task', or 'touch'. Tasks created through the API will automatically be 'manual' tasks. max length
255
readonly filterable sortable
updatedAt
date-time
The date and time the task was last updated. readonly filterable sortable
Relationship Name Description Notes
account The associated account. You can use only the attribute id to filter tasks by account (e.g. filter[account][id]=X). data links readonly
call The associated call, if a call task. You can use only the attribute id to filter tasks by call (e.g. filter[call][id]=X). data links readonly
calls The associated calls, if a call task. You can use only the attribute id to filter tasks by calls (e.g. filter[calls][id]=X). links
completer The completer of this task. You can use only the attribute id to filter tasks by completer (e.g. filter[completer][id]=X). data links readonly
creator The creator of this task. Relationship creator cannot be used as a filter. data links readonly
mailing The associated mailing, if a mailing task. You can use only the attribute id to filter tasks by mailing (e.g. filter[mailing][id]=X). data links readonly
mailings The associated mailings, if a mailing task. You can use only the attribute id to filter tasks by mailings (e.g. filter[mailings][id]=X). links
opportunity The associated opportunity. You can use only the attribute id to filter tasks by opportunity (e.g. filter[opportunity][id]=X). data links readonly
owner The owner of this task. You can use attributes id, email and firstName to filter tasks by owner (e.g. filter[owner][id]=X). data links
prospect The associated prospect. You can use attributes id, byPersonaId, byStageId, createdAt, firstName, tags, title and updatedAt to filter tasks by prospect (e.g. filter[prospect][id]=X). data links readonly
sequence The associated sequence. You can use attributes id and tags to filter tasks by sequence (e.g. filter[sequence][id]=X). data links readonly
sequenceSequenceSteps The sequence steps of the associated sequence. You can use only the attribute id to filter tasks by sequenceSequenceSteps (e.g. filter[sequenceSequenceSteps][id]=X). data links readonly
sequenceState The associated sequence state. You can use only the attribute id to filter tasks by sequenceState (e.g. filter[sequenceState][id]=X). data links readonly
sequenceStep The associated sequence step. You can use attributes id and stepType to filter tasks by sequenceStep (e.g. filter[sequenceStep][id]=X). data links readonly
sequenceTemplate The associated sequence template. You can use only the attribute id to filter tasks by sequenceTemplate (e.g. filter[sequenceTemplate][id]=X). data links readonly
subject The task's subject, either an account or prospect. Relationship subject cannot be used as a filter. data links
taskPriority The associated task priority. You can use attributes id and name to filter tasks by taskPriority (e.g. filter[taskPriority][id]=X). data links
template The associated template. You can use only the attribute id to filter tasks by template (e.g. filter[template][id]=X). data links readonly

Member Actions

mark_complete

Marks the task as complete.

Parameter name Description
completionNote
A note to attach to the associated prospect, if there is one.
completionAction
For sequence step tasks, this specifies how to finish the sequence state. Possible values are: 'finish_no_reply' to finish the sequence, 'finish_replied' to set the sequence as replied, and anything else (including leaving it blank) will advance the sequence state.
snooze

Sets the `dueAt` value to be a day later than either now or the existing `dueAt` value, whichever is later.

Parameter name Description
dueAt
The new time for the task to be due.
markAsUrgent
Whether to mark the task as urgent or not.
advance

Advances the sequence state associated with the task to the next step in the sequence. Note that only tasks with task_type of 'sequence_step_call', 'sequence_step_email', 'sequence_step_linkedin_interact_with_post', 'sequence_step_linkedin_other', 'sequence_step_linkedin_send_connection_request', 'sequence_step_linkedin_send_message', 'sequence_step_linkedin_view_profile', 'sequence_step_sms' or 'sequence_step_task' can be advanced.

deliver

Schedules the mailing associated with the task for delivery, if possible.

reassign_owner

Reassigns the owner of a task

Parameter name Description
ownerId
REQUIRED
The id of the new owner of the task
reschedule

Reschedules a task by setting a new task due time.

Parameter name Description
dueAt
REQUIRED
The new time for the task to be due.
update_note

Updates note of a task

Parameter name Description
note
REQUIRED
The note to set on the task.
update_opportunity_association

Updates opportunity association of a task

Parameter name Description
opportunityAssociation
REQUIRED
The opportunity to associate with the task.

Links

instances
GET https://api.outreach.io/api/v2/tasks
create
POST https://api.outreach.io/api/v2/tasks
self
GET https://api.outreach.io/api/v2/tasks/{:id}
update
PATCH https://api.outreach.io/api/v2/tasks/{:id}
destroy
DELETE https://api.outreach.io/api/v2/tasks/{:id}
mark_complete
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/markComplete
snooze
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/snooze
advance
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/advance
deliver
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/deliver
reschedule
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/reschedule
update_note
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/updateNote
update_opportunity_association
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/updateOpportunityAssociation
reassign_owner
POST https://api.outreach.io/api/v2/tasks/{:id}/actions/reassignOwner

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
dataConnections The set of connections a given task has to external sources. provideDataConnections

Team

A descriptor of a group of users.

Attribute Name Description Constraints Notes
color
string
The color used to label and highlight the team. max length
255
createdAt
date-time
The date and time the team was created. readonly filterable sortable
name
string
The name of the team (e.g. "SDRs"). max length
255
filterable sortable
scimExternalId
string
The ID from the SCIM provisioning service used to create the team. max length
255
scimSource
string
The name of the SCIM provisioning source used to create the team. max length
255
updatedAt
date-time
The date and time the team was last updated. readonly filterable sortable
Relationship Name Description Notes
contentCategories The content categories that are assigned to the team. Relationship contentCategories cannot be used as a filter. data links
creator The creator of the team. Relationship creator cannot be used as a filter. data links readonly
updater The most recent updater of the team. Relationship updater cannot be used as a filter. data links readonly
users The users associated with the team. You can use only the attribute id to filter teams by users (e.g. filter[users][id]=X). data links

Links

instances
GET https://api.outreach.io/api/v2/teams
create
POST https://api.outreach.io/api/v2/teams
self
GET https://api.outreach.io/api/v2/teams/{:id}
update
PATCH https://api.outreach.io/api/v2/teams/{:id}
destroy
DELETE https://api.outreach.io/api/v2/teams/{:id}

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

Template

A reusable template for building emails.

Attribute Name Description Constraints Notes
archived
boolean
Boolean value indicating if the template has been archived.
archivedAt
date-time
The date and time the template was archived. readonly filterable sortable
bccRecipients
string
A list of default person and email address pairs to receive this template in the "bcc" field (e.g. ["Billy Bob <billy.bob@seattle.city>"])
bodyHtml
string
The body HTML of the template. max length
16777215
bodyText
string
The body text of the template. max length
16777215
readonly
bounceCount
integer
The total count of bounced mailings during this template. readonly
ccRecipients
string
A list of default person and email address pairs to receive this template in the "cc" field (e.g. ["Billy Bob <billy.bob@seattle.city>"])
clickCount
integer
The total count of clicked mailings from this template. readonly filterable sortable
createdAt
date-time
The date and time the template was created. readonly filterable sortable
deliverCount
integer
The total count of delivered mailings from this template. readonly filterable sortable
failureCount
integer
The total count of failed mailings from this template. readonly
lastUsedAt
date-time
The last time the template was used. readonly filterable sortable
name
string
The name of the template. max length
255
filterable sortable
negativeReplyCount
integer
The total count of negative reply mailings from this template. readonly
neutralReplyCount
integer
The total count of neutral reply mailings from this template. readonly
openCount
integer
The total count of opened mailings from this template. readonly filterable sortable
optOutCount
integer
The total count of opted out mailings from this template. readonly
positiveReplyCount
integer
The total count of positive reply mailings from this template. readonly
replyCount
integer
The total count of replied mailings from this template. readonly filterable sortable
scheduleCount
integer
The total count of scheduled mailings from this template. readonly
shareType
string
The share type must be one of "read_only," "private," or "shared". max length
255
filterable sortable
subject
string
The subject line for the email to be sent.
tags
string
A list of tag values associated with the template (e.g. ["Sequencing", "Quick Response"]).
toRecipients
string
A list of default person and email address pairs to receive this template in the "to" field (e.g. ["Billy Bob <billy.bob@seattle.city>"])
trackLinks
boolean
Boolean value indicating if link tracking is on for the template.
trackOpens
boolean
Boolean value indicating if open tracking is on for the template.
updatedAt
date-time
The date and time the template was last updated. readonly filterable sortable
Relationship Name Description Notes
contentCategoryMemberships The content cateogories with which this template is associated. Relationship contentCategoryMemberships cannot be used as a filter. data links
creator The creator of the template. You can use only the attribute id to filter templates by creator (e.g. filter[creator][id]=X). data links readonly
owner The owner of the template. You can use only the attribute id to filter templates by owner (e.g. filter[owner][id]=X). data links
recipients A list of default email addresses to receive this template. You can use only the attribute id to filter templates by recipients (e.g. filter[recipients][id]=X). data links readonly
sequenceTemplates The sequence templates using the template for their content. Relationship sequenceTemplates cannot be used as a filter. data links readonly
updater The creator of the template. You can use only the attribute id to filter templates by updater (e.g. filter[updater][id]=X). data links readonly

Member Actions

update_content_categories

Updates the Templates ContentCategories to match those provided via the contentCategoryIds parameter.

Parameter name Description
content_category_ids
REQUIRED
A list of ContentCategory ids, representing the desired ContentCategories that this template should be associated with

Links

instances
GET https://api.outreach.io/api/v2/templates
create
POST https://api.outreach.io/api/v2/templates
self
GET https://api.outreach.io/api/v2/templates/{:id}
update
PATCH https://api.outreach.io/api/v2/templates/{:id}
destroy
DELETE https://api.outreach.io/api/v2/templates/{:id}
update_content_categories
POST https://api.outreach.io/api/v2/templates/{:id}/actions/updateContentCategories

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

User

The individual that uses the application. See https://api.outreach.io/api/v2/docs#invite-new-users for more information on inviting new users.

Attribute Name Description Constraints Notes
accountsViewId
integer
The default smart view to load on the account index view.
activityNotificationsDisabled
boolean
A boolean value whether the user's activity notifications are disabled.
bounceWarningEmailEnabled
boolean
A boolean value whether the user's bounce warning emails are enabled.
bridgePhone
string
The telephone number of the user's outbound bridge phone. max length
255
bridgePhoneExtension
string
The extension number of the user's outbound bridge phone. max length
255
callsViewId
integer
The default smart view to load on the calls view.
controlledTabDefault
string
The user's preferred default tab to open when in task flow. max length
255
createdAt
date-time
The date and time the user was created. readonly filterable sortable
currentSignInAt
date-time
The date and time the user most recently signed in. readonly filterable sortable
custom1
string
The value of the user's first custom field. max length
255
custom2
string
The value of the user's second custom field. max length
255
custom3
string
The value of the user's third custom field. max length
255
custom4
string
The value of the user's fourth custom field. max length
255
custom5
string
The value of the user's fifth custom field. max length
255
dailyDigestEmailEnabled
boolean
A boolean value whether the user's daily digest emails are enabled.
defaultRulesetId
integer
The id of the default ruleset assigned to the user.
duties
object
A collection of the user's work roles.
email
email
The email address of the user. Cannot be updated via the API. filterable sortable
enableVoiceRecordings
boolean
A boolean value whether the user has voice recordings enabled.
engagementEmailsEnabled
boolean
A boolean value whether the user has engagement emails enabled.
firstName
string
The first name of the user. max length
255
filterable sortable
inboundBridgePhone
string
The telephone number of the user's inbound bridge phone. max length
255
inboundBridgePhoneExtension
string
The extension number of the user's inbound bridge phone. max length
255
inboundCallBehavior
string
The behavior of inbound calls. Must be either "inbound_bridge" or "inbound_voicemail". max length
255
inboundPhoneType
string
The user's type of telephone for inbound calls. Must be either "bridge", "voip" or "bridge_and_voip". max length
255
inboundVoicemailCustomMessageText
string
The message for inbound voicemails (e.g. "Please leave a message and I will get back to you as soon I can"). max length
1024
inboundVoicemailMessageTextVoice
string
The gender of the voice that reads the voicemail message. Must be either "man" or "woman". max length
255
inboundVoicemailPromptType
string
The type of inbound voicemail to use. Must be either "automated", "recorded", or "off". max length
255
kaiaRecordingsViewId
integer
The default smart view to load on the kaia recordings view.
keepBridgePhoneConnected
boolean
Whether to keep the user's bridge phone connected in-between outbound calls.
lastName
string
The last name of the user. max length
255
filterable sortable
lastSignInAt
date-time
The date and time the user previously signed in. readonly
locked
boolean
A boolean value whether the user is locked out of the application. filterable sortable
mailboxErrorEmailEnabled
boolean
A boolean value whether the user's mailbox error emails are enabled.
meetingEngagementNotificationEnabled
boolean
A boolean value whether the user's meeting engagement notifications are enabled.
name
string
The full name of the user. readonly
notificationsEnabled
boolean
A boolean value whether the user's notifications are enabled.
oceClickToDialEverywhere
boolean
A boolean value indicating if phone calls will launch a call from Outreach (Salesforce, Github, Gmail, LinkedIn, and Twitter).
oceGmailToolbar
boolean
A boolean value indicating whether the Outreach Gmail toolbar is enabled.
oceGmailTrackingState
string
The user's current email tracking settings when using Outreach Everywhere with GMail. max length
255
oceSalesforceEmailDecorating
boolean
A boolean value indicating if emails are enabled in Outreach Everywhere with Salesforce.
oceSalesforcePhoneDecorating
boolean
A boolean value indicating if phone calls are enabled in Outreach Everywhere with Salesforce.
oceUniversalTaskFlow
boolean
A boolean value indicating whether Outreach Everywhere universal task flow is enabled.
oceWindowMode
boolean
A boolean value indicating whether Outreach Everywhere window mode is enabled.
opportunitiesViewId
integer
The default smart view to load on the opportunity index view.
passwordExpiresAt
date-time
The date and time the current password expires. readonly
phoneCountryCode
string
The country code of the user's phone. max length
2
phoneNumber
string
The telephone number of the user's phone.
phoneType
string
The user's type of telephone for outbound calls. Must be either "bridge" or "voip". max length
255
pluginAlertNotificationEnabled
boolean
A boolean value whether the user's plugin related error notifications are enabled.
preferredVoiceRegion
string
A string that represents Twilio data center used to connect to Twilio. max length
255
prefersLocalPresence
boolean
A boolean value whether the user prefers that a voice call comes from a local phone number.
primaryTimezone
string
The primary preferred timezone to use when scheduling meetings. max length
255
prospectsViewId
integer
The default smart view to load on the prospect index view.
reportsTeamPerfViewId
integer
The default smart view to load on the team performance reports view.
reportsViewId
integer
The default smart view to load on the reports view.
scimExternalId
string
The ID from the SCIM provisioning service used to create the user. max length
255
scimSource
string
The name of the SCIM provisioning source used to create the user. max length
255
secondaryTimezone
string
The secondary preferred timezone to use when scheduling meetings. max length
255
senderNotificationsExcluded
boolean
A boolean value whether the user's sender notifications are excluded.
tasksViewId
integer
The default smart view to load on the tasks index view.
teamsViewId
integer
The default smart view to load on the teams index view.
tertiaryTimezone
string
The tertiary preferred timezone to use when scheduling meetings. max length
255
textingEmailNotifications
boolean
A boolean value whether to send the user email notifications when a text message is missed.
title
string
The user's job title (e.g. "Staff Accountant"). max length
255
unknownReplyEmailEnabled
boolean
A boolean value whether the user's unknown reply emails are enabled.
updatedAt
date-time
The date and time the user was last updated. readonly filterable sortable
userGuid
string
The globally unique ID (GUID) assigned to the user. readonly
username
string
A reader friendly unique identifier of the user. max length
255
filterable sortable
usersViewId
integer
The default smart view to load on the users index view.
voicemailNotificationEnabled
boolean
A boolean value whether the user's voicemail notifications are enabled.
weeklyDigestEmailEnabled
boolean
A boolean value whether the user's weekly digest email are enabled.
Relationship Name Description Notes
contentCategories The groupings of sequences, snippets and templates that this user has access to. Relationship contentCategories cannot be used as a filter. data links
creator The creator of the user. Relationship creator cannot be used as a filter. data links readonly
mailbox The default mailbox associated with the user. Relationship mailbox cannot be used as a filter. data links
mailboxes All mailboxes associated with the user. Relationship mailboxes cannot be used as a filter. data links
profile The user's profile in Outreach. You can use only the attribute id to filter users by profile (e.g. filter[profile][id]=X). data links
recipients Recipients that will be included by default in all emails composed by user. Relationship recipients cannot be used as a filter. data links
role The role associated with the user. You can use only the attribute id to filter users by role (e.g. filter[role][id]=X). data links
teams The teams the user belongs to. You can use only the attribute id to filter users by teams (e.g. filter[teams][id]=X). data links
updater The most recent updater of the user. Relationship updater cannot be used as a filter. data links readonly

Links

instances
GET https://api.outreach.io/api/v2/users
create
POST https://api.outreach.io/api/v2/users
self
GET https://api.outreach.io/api/v2/users/{:id}
update
PATCH https://api.outreach.io/api/v2/users/{:id}

Resource Metadata

Metadata Name Description Query Param
canWrite A boolean value indicating whether the current API user has write access to this resource. provideAuthorizationMeta
dataConnections The set of connections a given user has to external sources. provideDataConnections

Webhook

A configurable notification that submits external JSON-API-formatted HTTP requests whenever resources are modified.

Attribute Name Description Constraints Notes
action
string
The action that will trigger this webhook (e.g. "*", "created", "updated", "destroyed"). Webhooks will only execute if both the action and resource match. max length
255
filterable sortable
active
boolean
A boolean value indicating whether the webhook is active. filterable sortable
createdAt
date-time
The date and time the webhook was created. readonly
resource
string
The resource that will trigger this webhook (e.g. "*", "prospect", "sequenceState"). Webhooks will only execute if both the action and resource match. max length
255
filterable sortable
secret
string
A private token used to verify the authenticity of incoming webhook payloads. max length
255
updatedAt
date-time
The date and time the webhook was last updated. readonly
url
string
The URL where the webhook will route its POST HTTP request. max length
1024
Relationship Name Description Notes
authorizer The authorizer of the webhook. The webhook will not deliver results if the authorizer does not have permission to read the resource being returned. Relationship authorizer cannot be used as a filter. data links readonly
creator The creator of the webhook. You can use only the attribute id to filter webhooks by creator (e.g. filter[creator][id]=X). data links readonly
updater The most recent updater of the webhook. You can use only the attribute id to filter webhooks by updater (e.g. filter[updater][id]=X). data links readonly

Links

instances
GET https://api.outreach.io/api/v2/webhooks
create
POST https://api.outreach.io/api/v2/webhooks
self
GET https://api.outreach.io/api/v2/webhooks/{:id}
update
PATCH https://api.outreach.io/api/v2/webhooks/{:id}
destroy
DELETE https://api.outreach.io/api/v2/webhooks/{:id}

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