openapi: 3.2.0 info: description: "Outreach Public API is documented here, at the Development Portal, expand the link [Outreach REST API Reference](https://developers.outreach.io/api/reference/overview/) in the left navigation bar to see human-readable description of endpoints and data types.\n\nHowever, if you would like to get machine-readable schema definition there are two other options available:\n\n* [https://api.outreach.io/api/v2/schema.json](https://api.outreach.io/api/v2/schema.json) contains the API definition in the [json-schema format](https://json-schema.org/) and if you provide `Authorization` header with valid token (same as actual API call) all the custom objects defined for the organization will be included as well.\n\n* [https://api.outreach.io/api/v2/schema/openapi.json](https://api.outreach.io/api/v2/schema/openapi.json) contains the API definition in the [OpenAPI / Swagger format](https://swagger.io/specification/). Unfortunately custom objects are not included in this file.\n\nAdditionally to these standard definitions Outreach provides detailed list of validations applied to custom fields. Custom objects will be included later, the work is in progress.\n\n* [https://api.outreach.io/api/v2/types](https://api.outreach.io/api/v2/types) endpoint returns a list of all `customXXX` fields on standard objects with their type, label, options or other constraints defined by the administrator. This endpoint requires valid token in the `Authorization` header. The format of the definitions is described below.\n\n### Custom field types\n\n```json\n{\n \"data\": [\n {\n \"type\": \"\",\n \"meta\": {\n \"validations\": {\n \"\": {\n \"type\": \"\",\n \"required\": true / false,\n \"label\": \"...\",\n \"definition\": null / [\"...\", ...] / \"...\"\n },\n ...\n }\n }\n }\n },\n ...\n ]\n}\n```\n\n#### Objects with custom fields\n\n* Account\n* Opportunity\n* OpportunityLineItem\n* OpportunityProspectRole\n* Product\n* Prospect\n* Purchase\n\n#### Validation types\n\n* `boolean` - true or false\n* `currency` - monetary value, `definition` contains an abbreviation of the currency like `\"USD\"` or `\"EUR\"`\n* `date` - a date stored in ISO8601 format: YYYY-MM-DD.\n* `date_time` a date and time stored as YYYY-MM-DDThh:mm:ss.\n* `inclusion` - a pick list with predefined set of options available in `definition` attribute as a list of strings\n* multi_inclusion - a pick list with several options selectable at once with predefined set of options available in `definition` attribute as a list of strings\n* `numerical`\n* `percentage`\n* `phone_number`\n* `string`\n* `url`\n" title: Outreach REST API Reference Email Address API version: '' servers: - url: https://api.outreach.io/api/v2 security: - bearerAuth: [] tags: - description: ' ## Email Address Relationships ## Email Address 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 | ## ⌵ Email Address Actions ' name: Email Address x-internal: false paths: /emailAddresses: get: responses: '200': content: application/vnd.api+json: schema: properties: data: items: $ref: '#/components/schemas/emailAddressResponse' type: array description: OK '422': content: application/vnd.api+json: schema: properties: errors: items: properties: detail: type: string id: type: string title: type: string type: object type: array description: JSON error message summary: Get a Collection of Email Addresses tags: - Email Address x-internal: false post: requestBody: content: application/vnd.api+json: schema: properties: data: properties: attributes: $ref: '#/components/schemas/emailAddress' relationships: $ref: '#/components/schemas/emailAddressRelationships' type: type: string type: object required: true responses: '201': content: application/vnd.api+json: schema: properties: data: $ref: '#/components/schemas/emailAddressResponse' description: Created '422': content: application/vnd.api+json: schema: properties: errors: items: properties: detail: type: string id: type: string title: type: string type: object type: array description: JSON error message summary: Create a New Email Address tags: - Email Address x-internal: false /emailAddresses/{id}: delete: parameters: - in: path name: id required: true schema: type: integer responses: '204': content: application/vnd.api+json: {} description: Deleted '422': content: application/vnd.api+json: schema: properties: errors: items: properties: detail: type: string id: type: string title: type: string type: object type: array description: JSON error message summary: Delete an Existing Email Address by ID tags: - Email Address x-internal: false get: parameters: - in: path name: id required: true schema: type: integer responses: '200': content: application/vnd.api+json: schema: properties: data: $ref: '#/components/schemas/emailAddressResponse' description: OK '404': content: application/vnd.api+json: schema: properties: errors: items: properties: detail: type: string id: type: string title: type: string type: object type: array description: Not Found summary: Get an Email Address by ID tags: - Email Address x-internal: false patch: parameters: - in: path name: id required: true schema: type: integer requestBody: content: application/vnd.api+json: schema: properties: data: properties: attributes: $ref: '#/components/schemas/emailAddress' id: type: integer relationships: $ref: '#/components/schemas/emailAddressRelationships' type: type: string required: - type - id type: object required: true responses: '200': content: application/vnd.api+json: schema: properties: data: properties: attributes: $ref: '#/components/schemas/emailAddress' id: type: integer relationships: $ref: '#/components/schemas/emailAddressRelationships' type: type: string required: - type - id type: object description: OK '422': content: application/vnd.api+json: schema: properties: errors: items: properties: detail: type: string id: type: string title: type: string type: object type: array description: JSON error message summary: Update an Email Address tags: - Email Address x-internal: false components: schemas: emailAddressResponse: properties: attributes: $ref: '#/components/schemas/emailAddress' id: type: integer relationships: $ref: '#/components/schemas/emailAddressRelationships' type: type: string type: object x-internal: false emailAddress: description: 'A prospect''s email address ' properties: createdAt: description: ' The date and time the email address was created.' format: date-time type: - string - 'null' x-internal: false email: description: ' The raw email address value' format: email maxLength: 255 type: - string - 'null' x-internal: false emailType: description: ' Type of email address (work or personal)' maxLength: 255 type: - string - 'null' x-internal: false order: description: ' Ordered position in list of emails' type: - integer - 'null' x-internal: false status: description: ' The status of the email' maxLength: 255 type: - string - 'null' x-internal: false statusChangedAt: description: ' Time the status was updated' format: date-time type: - string - 'null' x-internal: false unsubscribedAt: description: ' Time a mailing was unsubscribed using this address' format: date-time type: - string - 'null' x-internal: false updatedAt: description: ' The date and time the email address was last updated.' format: date-time type: - string - 'null' x-internal: false type: object x-internal: false emailAddressRelationships: properties: prospect: description: The owning prospect You can use only the attribute id to filter emailAddresses by prospect (e.g. filter[prospect][id]=X). properties: data: properties: id: type: integer type: enum: - prospect type: string type: - object - 'null' links: properties: related: format: uri type: string type: object type: object securitySchemes: bearerAuth: bearerFormat: JWT scheme: bearer type: http s2sAuthToken: bearerFormat: JWT scheme: bearer type: http