Gainsight CS Renewal Center API
The Renewal Center API enables creating and updating opportunity records in the Gainsight Opportunity object, supporting renewal, upsell, and downsell booking types within the Matrix Data Architecture.
The Renewal Center API enables creating and updating opportunity records in the Gainsight Opportunity object, supporting renewal, upsell, and downsell booking types within the Matrix Data Architecture.
openapi: 3.1.0
info:
title: Gainsight CS Renewal Center API
description: >-
The Renewal Center API enables creating and updating opportunity records in
the Gainsight Opportunity object, supporting renewal, upsell, and downsell
booking types within the Matrix Data Architecture.
version: '1.0'
contact:
name: Gainsight Support
url: https://support.gainsight.com
email: support@gainsight.com
termsOfService: https://www.gainsight.com/terms-of-service/
externalDocs:
description: Renewal Center API Documentation
url: https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Renewal_Center_API/Renewal_Center_API
servers:
- url: https://{domain}.gainsightcloud.com/v1
description: Gainsight CS Production
variables:
domain:
default: customer
description: Customer-specific domain prefix
tags:
- name: Opportunities
description: Manage opportunity records
security:
- apiKey: []
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:
securitySchemes:
apiKey:
type: apiKey
name: accessKey
in: header
description: Gainsight CS REST API access key
parameters:
recordId:
name: recordId
in: path
required: true
description: Opportunity record Gsid
schema:
type: string
responses:
Unauthorized:
description: Authentication failed or access key is missing
BadRequest:
description: Invalid request body or parameters
NotFound:
description: The requested resource was not found
schemas:
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
WriteResponse:
type: object
properties:
result:
type: boolean
data:
type: object
properties:
count:
type: integer
insertedCount:
type: integer
updatedCount:
type: integer
failedCount:
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