Gainsight Opportunities API

Manage opportunity records

Documentation

📖
Documentation
https://support.gainsight.com/PX/API_for_Developers
📖
Authentication
https://support.gainsight.com/PX/API_for_Developers/02About/Authentication
📖
Documentation
https://support.gainsight.com/PX/API_for_Developers/APIs_for_Developers/PX_API
📖
Documentation
https://gainsightpx.docs.apiary.io/
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Company_and_Relationship_API/Company_API_Documentation
📖
Authentication
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Generate_REST_API/Generate_REST_API_Key
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Person_API/People_API_Documentation
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Custom_Object_API/Gainsight_Custom_Object_API_Documentation
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Cockpit_API/Call_To_Action_(CTA)_API_Documentation
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Timeline_API/Timeline_APIs
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Success_Plan_APIs/Success_Plan_APIs
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Data_Management_APIs/Data_Management_APIs
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Bulk_API/Gainsight_Bulk_REST_APIs
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Bulk_API/Gainsight_Bulk_API
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Events_API/Events_API
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/User_Management_APIs/User_Management_APIs
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/User_Management_APIs/SCIM_API
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/User_Management_APIs/API_for_Company_Team_Record
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Customer_Goals_API/Customer_Goals_APIs
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Renewal_Center_API/Renewal_Center_API
📖
Documentation
https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Cockpit_API/Task_APIs

Specifications

Other Resources

OpenAPI Specification

gainsight-opportunities-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Gainsight CS Bulk Accounts Opportunities API
  description: The Gainsight Bulk API is an asynchronous connector that automates insert or update of large data volumes from CSV files into Gainsight standard and custom objects, with rate limits of 10 calls per hour and 100 per day.
  version: '1.0'
  contact:
    name: Gainsight Support
    url: https://support.gainsight.com
    email: support@gainsight.com
  termsOfService: https://www.gainsight.com/terms-of-service/
servers:
- url: https://{domain}.gainsightcloud.com/v1
  description: Gainsight CS Production
  variables:
    domain:
      default: customer
      description: Customer-specific domain prefix
security:
- apiKey: []
tags:
- name: Opportunities
  description: Manage opportunity records
paths:
  /data/objects/Opportunity:
    post:
      operationId: createOpportunity
      summary: Gainsight Create an opportunity
      description: Create a new opportunity record in the Gainsight Opportunity object. Supports renewal, upsell, and downsell booking types.
      tags:
      - Opportunities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - records
              properties:
                records:
                  type: array
                  maxItems: 50
                  items:
                    $ref: '#/components/schemas/OpportunityRecord'
      responses:
        '200':
          description: Opportunity created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WriteResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      operationId: updateOpportunity
      summary: Gainsight Update opportunities
      description: Update one or more opportunity records.
      tags:
      - Opportunities
      parameters:
      - name: keys
        in: query
        required: true
        description: Comma-separated key fields for matching
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - records
              properties:
                records:
                  type: array
                  maxItems: 50
                  items:
                    $ref: '#/components/schemas/OpportunityRecord'
      responses:
        '200':
          description: Opportunity updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WriteResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /data/objects/Opportunity/search:
    post:
      operationId: searchOpportunities
      summary: Gainsight Search opportunities
      description: Search for opportunity records using filter criteria.
      tags:
      - Opportunities
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
      responses:
        '200':
          description: Opportunities returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                  data:
                    type: object
                    properties:
                      records:
                        type: array
                        items:
                          $ref: '#/components/schemas/OpportunityRecord'
                      totalCount:
                        type: integer
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /data/objects/Opportunity/{recordId}:
    get:
      operationId: getOpportunity
      summary: Gainsight Get an opportunity
      description: Retrieve a specific opportunity by ID.
      tags:
      - Opportunities
      parameters:
      - $ref: '#/components/parameters/recordId'
      responses:
        '200':
          description: Opportunity returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/OpportunityRecord'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    WriteResponse:
      type: object
      properties:
        result:
          type: boolean
        data:
          type: object
          properties:
            count:
              type: integer
            insertedCount:
              type: integer
            updatedCount:
              type: integer
            failedCount:
              type: integer
    SearchRequest:
      type: object
      properties:
        select:
          type: array
          items:
            type: string
        where:
          type: object
          properties:
            conditions:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  value: {}
                  operator:
                    type: string
            expression:
              type: string
        limit:
          type: integer
        offset:
          type: integer
    OpportunityRecord:
      type: object
      properties:
        Gsid:
          type: string
          description: Opportunity unique identifier
        Name:
          type: string
          description: Opportunity name
        CompanyId:
          type: string
          description: Associated company Gsid
        CompanyName:
          type: string
          description: Associated company name
        BookingType:
          type: string
          enum:
          - New Business
          - Renewal
          - Upsell
          - Downsell
          - Churn
          description: Booking type
        Amount:
          type: number
          description: Opportunity amount
        Currency:
          type: string
          description: Currency code
        CloseDate:
          type: string
          format: date
          description: Expected close date
        Stage:
          type: string
          description: Opportunity stage
        Probability:
          type: number
          minimum: 0
          maximum: 100
          description: Win probability percentage
        OwnerId:
          type: string
          description: Opportunity owner user ID
        OwnerName:
          type: string
          description: Owner name
        ARR:
          type: number
          description: Annual recurring revenue
        Term:
          type: integer
          description: Contract term in months
        RenewalDate:
          type: string
          format: date
          description: Renewal date
        IsClosed:
          type: boolean
          description: Whether the opportunity is closed
        IsWon:
          type: boolean
          description: Whether the opportunity was won
        SfdcOpportunityId:
          type: string
          description: Salesforce opportunity ID
        CreatedDate:
          type: string
          format: date-time
        ModifiedDate:
          type: string
          format: date-time
  responses:
    NotFound:
      description: The requested resource was not found
    BadRequest:
      description: Invalid request body or parameters
    Unauthorized:
      description: Authentication failed or access key is missing
  parameters:
    recordId:
      name: recordId
      in: path
      required: true
      description: Opportunity record Gsid
      schema:
        type: string
  securitySchemes:
    apiKey:
      type: apiKey
      name: accessKey
      in: header
      description: Gainsight CS REST API access key
externalDocs:
  description: Bulk API Documentation
  url: https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Bulk_API/Gainsight_Bulk_REST_APIs