Gainsight CS Success Plan API
The Success Plan API enables creating, updating, and fetching Success Plans and their configurations, supporting structured goal tracking for customer engagements.
The Success Plan API enables creating, updating, and fetching Success Plans and their configurations, supporting structured goal tracking for customer engagements.
openapi: 3.1.0
info:
title: Gainsight CS Success Plan API
description: >-
The Success Plan API enables creating, updating, and fetching Success Plans
and their configurations, supporting structured goal tracking for customer
engagements.
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: Success Plan API Documentation
url: https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Success_Plan_APIs/Success_Plan_APIs
servers:
- url: https://{domain}.gainsightcloud.com/v1
description: Gainsight CS Production
variables:
domain:
default: customer
description: Customer-specific domain prefix
tags:
- name: Configuration
description: Success plan configuration
- name: Objectives
description: Manage success plan objectives
- name: Success Plans
description: Manage success plans
security:
- apiKey: []
paths:
/successplans:
post:
operationId: createSuccessPlan
summary: Gainsight Create a success plan
description: Create a new success plan for a company.
tags:
- Success Plans
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessPlanInput'
responses:
'200':
description: Success plan created
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
$ref: '#/components/schemas/SuccessPlan'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/successplans/{planId}:
get:
operationId: getSuccessPlan
summary: Gainsight Get a success plan
description: Retrieve a specific success plan by ID.
tags:
- Success Plans
parameters:
- $ref: '#/components/parameters/planId'
responses:
'200':
description: Success plan returned
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
$ref: '#/components/schemas/SuccessPlan'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateSuccessPlan
summary: Gainsight Update a success plan
description: Update an existing success plan.
tags:
- Success Plans
parameters:
- $ref: '#/components/parameters/planId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessPlanInput'
responses:
'200':
description: Success plan updated
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
$ref: '#/components/schemas/SuccessPlan'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/successplans/search:
post:
operationId: searchSuccessPlans
summary: Gainsight Search success plans
description: Search for success plans using filter criteria.
tags:
- Success Plans
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRequest'
responses:
'200':
description: Success plans returned
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
type: object
properties:
records:
type: array
items:
$ref: '#/components/schemas/SuccessPlan'
totalCount:
type: integer
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/successplans/{planId}/objectives:
get:
operationId: listObjectives
summary: Gainsight List objectives
description: Retrieve objectives for a specific success plan.
tags:
- Objectives
parameters:
- $ref: '#/components/parameters/planId'
responses:
'200':
description: Objectives returned
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
type: array
items:
$ref: '#/components/schemas/Objective'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createObjective
summary: Gainsight Create an objective
description: Add a new objective to a success plan.
tags:
- Objectives
parameters:
- $ref: '#/components/parameters/planId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectiveInput'
responses:
'200':
description: Objective created
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
$ref: '#/components/schemas/Objective'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/successplans/config/types:
get:
operationId: getSuccessPlanTypes
summary: Gainsight Get success plan types
description: Retrieve configured success plan types.
tags:
- Configuration
responses:
'200':
description: Success plan types returned
content:
application/json:
schema:
type: object
properties:
result:
type: boolean
data:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
'401':
$ref: '#/components/responses/Unauthorized'
components:
securitySchemes:
apiKey:
type: apiKey
name: accessKey
in: header
description: Gainsight CS REST API access key
parameters:
planId:
name: planId
in: path
required: true
description: Success plan unique identifier
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
SuccessPlan:
type: object
properties:
Gsid:
type: string
description: Success plan unique identifier
Name:
type: string
description: Plan name
CompanyId:
type: string
description: Associated company Gsid
CompanyName:
type: string
description: Associated company name
TypeId:
type: string
description: Success plan type identifier
TypeName:
type: string
description: Type name
Status:
type: string
enum:
- Active
- Completed
- Archived
description: Plan status
OwnerId:
type: string
description: Plan owner user ID
OwnerName:
type: string
description: Plan owner name
StartDate:
type: string
format: date
description: Plan start date
EndDate:
type: string
format: date
description: Plan end date
Comments:
type: string
description: Plan comments
CreatedDate:
type: string
format: date-time
description: Record creation timestamp
ModifiedDate:
type: string
format: date-time
description: Last modification timestamp
SuccessPlanInput:
type: object
required:
- Name
- CompanyId
- TypeId
properties:
Name:
type: string
CompanyId:
type: string
TypeId:
type: string
Status:
type: string
enum:
- Active
- Completed
- Archived
OwnerId:
type: string
StartDate:
type: string
format: date
EndDate:
type: string
format: date
Comments:
type: string
Objective:
type: object
properties:
Gsid:
type: string
description: Objective unique identifier
Name:
type: string
description: Objective name
Description:
type: string
description: Objective description
SuccessPlanId:
type: string
description: Parent success plan Gsid
Status:
type: string
enum:
- Not Started
- In Progress
- Completed
description: Objective status
Priority:
type: string
description: Objective priority
DueDate:
type: string
format: date
description: Objective due date
CompletionPercentage:
type: number
description: Completion percentage
CreatedDate:
type: string
format: date-time
ModifiedDate:
type: string
format: date-time
ObjectiveInput:
type: object
required:
- Name
properties:
Name:
type: string
Description:
type: string
Status:
type: string
enum:
- Not Started
- In Progress
- Completed
Priority:
type: string
DueDate:
type: string
format: date