Outreach Opportunity API

## Opportunity Relationships ## Opportunity 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 Opportunity has to external sources. | provideDataConnections | ## ⌵ Opportunity Actions

Business capability
Opportunity & Pipeline Management BC-410.30

Operations 5

GET /opportunities Get a Collection of Opportunities
POST /opportunities Create a New Opportunity
DELETE /opportunities/{id} Delete an Existing Opportunity by ID
GET /opportunities/{id} Get an Opportunity by ID
PATCH /opportunities/{id} Update an Opportunity

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/outreach-opportunity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

outreach-opportunity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: "Outreach Public API is documented here, at the Development Portal, expand the link [Outreach REST API Reference](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\": \"<object_name>\",\n      \"meta\": {\n        \"validations\": {\n          \"<field_name>\": {\n            \"type\": \"<validation_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 Opportunity API
  version: ''
servers:
- url: https://api.outreach.io/api/v2
security:
- bearerAuth: []
tags:
- description: '<SchemaDefinition schemaRef="#/components/schemas/opportunity" />


    ## Opportunity Relationships


    <SchemaDefinition schemaRef="#/components/schemas/opportunityRelationships" />


    ## Opportunity 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 Opportunity has to external sources. | provideDataConnections |



    ## ⌵ Opportunity Actions


    '
  name: Opportunity
  x-internal: false
paths:
  /opportunities:
    get:
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/opportunityResponse'
                    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
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Get a Collection of Opportunities
      tags:
      - Opportunity
      x-internal: false
    post:
      requestBody:
        content:
          application/vnd.api+json:
            schema:
              properties:
                data:
                  properties:
                    attributes:
                      $ref: '#/components/schemas/opportunity'
                    relationships:
                      $ref: '#/components/schemas/opportunityRelationships'
                    type:
                      type: string
              type: object
        required: true
      responses:
        '201':
          content:
            application/vnd.api+json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/opportunityResponse'
          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
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Create a New Opportunity
      tags:
      - Opportunity
      x-internal: false
  /opportunities/{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
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Delete an Existing Opportunity by ID
      tags:
      - Opportunity
      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/opportunityResponse'
          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
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Get an Opportunity by ID
      tags:
      - Opportunity
      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/opportunity'
                    id:
                      type: integer
                    relationships:
                      $ref: '#/components/schemas/opportunityRelationships'
                    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/opportunity'
                      id:
                        type: integer
                      relationships:
                        $ref: '#/components/schemas/opportunityRelationships'
                      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
      security:
      - bearerAuth: []
        s2sAuthToken: []
      summary: Update an Opportunity
      tags:
      - Opportunity
      x-internal: false
components:
  schemas:
    opportunityRelationships:
      properties:
        account:
          description: The account the opportunity is for. You can use attributes id and name to filter opportunities by account (e.g. filter[account][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - account
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        assignedTeams:
          description: ''
          properties:
            data:
              items:
                properties:
                  id:
                    type: integer
                  type:
                    enum:
                    - team
                    type: string
                type: object
              type: array
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        assignedUsers:
          description: ''
          properties:
            data:
              items:
                properties:
                  id:
                    type: integer
                  type:
                    enum:
                    - user
                    type: string
                type: object
              type: array
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        creator:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The creator of the opportunity. Relationship creator cannot be used as a filter.'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        defaultPluginMapping:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The default plugin mapping associated with the opportunity. If no plugin mapping is enabled, it will return the first plugin mapping associated with the opportunity.'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - pluginMapping
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        externalCreator:
          description: ''
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        favorites:
          description: The opportunity favorited by the user.
          properties:
            data:
              items:
                properties:
                  id:
                    type: integer
                  type:
                    enum:
                    - favorite
                    type: string
                type: object
              type: array
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        opportunityHealthFactors:
          description: The factors related to the opportunities health.
          properties:
            data:
              items:
                properties:
                  id:
                    type: integer
                  type:
                    enum:
                    - opportunityHealthFactor
                    type: string
                type: object
              type: array
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        opportunityLineItems:
          description: The products associated with opportunity.
          properties:
            data:
              items:
                properties:
                  id:
                    type: integer
                  type:
                    enum:
                    - opportunityLineItem
                    type: string
                type: object
              type: array
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        opportunityStage:
          description: The current stage of the opportunity. You can use only the attribute id to filter opportunities by stage (e.g. filter[stage][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - opportunityStage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        owner:
          description: The user who owns the opportunity. You can use only the attribute id to filter opportunities by owner (e.g. filter[owner][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        primaryProspect:
          description: ''
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - prospect
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        prospects:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The prospects associated with this opportunity. You can use only the attribute id to filter opportunities by prospects (e.g. filter[prospects][id]=X).'
          properties:
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        stage:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The current stage of the opportunity. You can use only the attribute id to filter opportunities by stage (e.g. filter[stage][id]=X).'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - opportunityStage
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        territory:
          description: The territory of the opportunity. You can use attributes id and name to filter opportunities by territory (e.g. filter[territory][id]=X).
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - territory
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
        updater:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg>


            The updater of the opportunity. Relationship updater cannot be used as a filter.'
          properties:
            data:
              properties:
                id:
                  type: integer
                type:
                  enum:
                  - user
                  type: string
              type:
              - object
              - 'null'
            links:
              properties:
                related:
                  format: uri
                  type: string
              type: object
      type: object
    opportunityResponse:
      properties:
        attributes:
          $ref: '#/components/schemas/opportunity'
        id:
          type: integer
        relationships:
          $ref: '#/components/schemas/opportunityRelationships'
        type:
          type: string
      type: object
      x-internal: false
    opportunity:
      description: '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.

        '
      properties:
        amount:
          description: '<img src=https://developers.outreach.io/badges/sortable.svg>


            The amount the opportunity is worth.'
          type:
          - integer
          - 'null'
          x-internal: false
        amountPrecise:
          description: '<img src=https://developers.outreach.io/badges/sortable.svg>


            The precise amount that the opportunity is worth.'
          maxLength: 15
          type:
          - string
          - 'null'
          x-internal: false
        closeDate:
          description: '<img src=https://developers.outreach.io/badges/sortable.svg>


            The date the opportunity is expected to close.'
          format: date-time
          type:
          - string
          - 'null'
          x-internal: false
        createdAt:
          description: '<img src=https://developers.outreach.io/badges/readonly.svg> <img src=https://developers.outreach.io/badges/filterable.svg> <img src=https://developers.outreach.io/badges/sortable.svg>


            The date the opportunity was created.'
          format: date-time
          type:
          - string
          - 'null'
          x-internal: false
        currencyType:
          description: '


            The ISO code of the currency this opportunity is in.'
          maxLength: 255
          type:
          - string
          - 'null'
          x-internal: false
        custom1:
          description: '


            The value of the opportunity''s first custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom2:
          description: '


            The value of the opportunity''s second custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom3:
          description: '


            The value of the opportunity''s third custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom4:
          description: '


            The value of the opportunity''s fourth custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom5:
          description: '


            The value of the opportunity''s fifth custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom6:
          description: '


            The value of the opportunity''s sixth custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom7:
          description: '


            The value of the opportunity''s seventh custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom8:
          description: '


            The value of the opportunity''s eighth custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom9:
          description: '


            The value of the opportunity''s ninth custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom10:
          description: '


            The value of the opportunity''s 10th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom11:
          description: '


            The value of the opportunity''s 11th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom12:
          description: '


            The value of the opportunity''s 12th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom13:
          description: '


            The value of the opportunity''s 13th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom14:
          description: '


            The value of the opportunity''s 14th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom15:
          description: '


            The value of the opportunity''s 15th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom16:
          description: '


            The value of the opportunity''s 16th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom17:
          description: '


            The value of the opportunity''s 17th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom18:
          description: '


            The value of the opportunity''s 18th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom19:
          description: '


            The value of the opportunity''s 19th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom20:
          description: '


            The value of the opportunity''s 20th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom21:
          description: '


            The value of the opportunity''s 21st custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom22:
          description: '


            The value of the opportunity''s 22nd custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom23:
          description: '


            The value of the opportunity''s 23rd custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom24:
          description: '


            The value of the opportunity''s 24th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom25:
          description: '


            The value of the opportunity''s 25th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom26:
          description: '


            The value of the opportunity''s 26th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom27:
          description: '


            The value of the opportunity''s 27th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom28:
          description: '


            The value of the opportunity''s 28th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom29:
          description: '


            The value of the opportunity''s 29th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom30:
          description: '


            The value of the opportunity''s 30th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom31:
          description: '


            The value of the opportunity''s 31st custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom32:
          description: '


            The value of the opportunity''s 32nd custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom33:
          description: '


            The value of the opportunity''s 33rd custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom34:
          description: '


            The value of the opportunity''s 34th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom35:
          description: '


            The value of the opportunity''s 35th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom36:
          description: '


            The value of the opportunity''s 36th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom37:
          description: '


            The value of the opportunity''s 37th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom38:
          description: '


            The value of the opportunity''s 38th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom39:
          description: '


            The value of the opportunity''s 39th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom40:
          description: '


            The value of the opportunity''s 40th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom41:
          description: '


            The value of the opportunity''s 41st custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom42:
          description: '


            The value of the opportunity''s 42nd custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom43:
          description: '


            The value of the opportunity''s 43rd custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom44:
          description: '


            The value of the opportunity''s 44th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom45:
          description: '


            The value of the opportunity''s 45th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom46:
          description: '


            The value of the opportunity''s 46th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom47:
          description: '


            The value of the opportunity''s 47th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom48:
          description: '


            The value of the opportunity''s 48th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom49:
          description: '


            The value of the opportunity''s 49th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        custom50:
          description: '


            The value of the opportunity''s 50th custom field.'
          maxLength: 32000
          type:
          - string
          - 'null'
          x-internal: false
        cust

# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/outreach/refs/heads/main/openapi/outreach-opportunity-api-openapi.yml