Gainsight CS Data Management API

The Data Management API provides access to Gainsight object and field metadata, enabling retrieval of schema information for integration and data mapping purposes.

OpenAPI Specification

gainsight-cs-data-management-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Gainsight CS Data Management API
  description: >-
    The Data Management API provides access to Gainsight object and field
    metadata, enabling retrieval of schema information for integration and
    data mapping purposes.
  version: '1.0'
  contact:
    name: Gainsight Support
    url: https://support.gainsight.com
    email: [email protected]
  termsOfService: https://www.gainsight.com/terms-of-service/
externalDocs:
  description: Data Management API Documentation
  url: https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Data_Management_APIs/Data_Management_APIs
servers:
  - url: https://{domain}.gainsightcloud.com/v1
    description: Gainsight CS Production
    variables:
      domain:
        default: customer
        description: Customer-specific domain prefix
tags:
  - name: Fields
    description: Retrieve field metadata
  - name: Objects
    description: Retrieve object metadata
security:
  - apiKey: []
paths:
  /meta/objects:
    get:
      operationId: listObjects
      summary: Gainsight List objects
      description: >-
        Retrieve metadata for all Gainsight objects including standard and
        custom objects.
      tags:
        - Objects
      responses:
        '200':
          description: Object metadata returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ObjectMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /meta/objects/{objectName}:
    get:
      operationId: getObject
      summary: Gainsight Get object metadata
      description: Retrieve metadata for a specific Gainsight object.
      tags:
        - Objects
      parameters:
        - $ref: '#/components/parameters/objectName'
      responses:
        '200':
          description: Object metadata returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/ObjectMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /meta/objects/{objectName}/fields:
    get:
      operationId: listFields
      summary: Gainsight List fields for an object
      description: Retrieve field metadata for a specific Gainsight object.
      tags:
        - Fields
      parameters:
        - $ref: '#/components/parameters/objectName'
      responses:
        '200':
          description: Field metadata returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FieldMetadata'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /meta/objects/{objectName}/fields/{fieldName}:
    get:
      operationId: getField
      summary: Gainsight Get field metadata
      description: Retrieve metadata for a specific field on a Gainsight object.
      tags:
        - Fields
      parameters:
        - $ref: '#/components/parameters/objectName'
        - $ref: '#/components/parameters/fieldName'
      responses:
        '200':
          description: Field metadata returned
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/FieldMetadata'
        '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:
    objectName:
      name: objectName
      in: path
      required: true
      description: Name of the Gainsight object
      schema:
        type: string
    fieldName:
      name: fieldName
      in: path
      required: true
      description: Name of the field
      schema:
        type: string
  responses:
    Unauthorized:
      description: Authentication failed or access key is missing
    NotFound:
      description: The requested resource was not found
  schemas:
    ObjectMetadata:
      type: object
      properties:
        objectName:
          type: string
          description: Object API name
        label:
          type: string
          description: Object display label
        description:
          type: string
          description: Object description
        isCustom:
          type: boolean
          description: Whether this is a custom object
        isStandard:
          type: boolean
          description: Whether this is a standard object
        category:
          type: string
          description: Object category
        fieldCount:
          type: integer
          description: Number of fields on the object
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
    FieldMetadata:
      type: object
      properties:
        fieldName:
          type: string
          description: Field API name
        label:
          type: string
          description: Field display label
        description:
          type: string
          description: Field description
        dataType:
          type: string
          enum:
            - STRING
            - NUMBER
            - BOOLEAN
            - DATE
            - DATETIME
            - CURRENCY
            - PERCENTAGE
            - EMAIL
            - URL
            - PHONE
            - PICKLIST
            - MULTI_PICKLIST
            - LOOKUP
            - RICH_TEXT
          description: Field data type
        isRequired:
          type: boolean
          description: Whether the field is required
        isReadOnly:
          type: boolean
          description: Whether the field is read-only
        isCustom:
          type: boolean
          description: Whether this is a custom field
        maxLength:
          type: integer
          description: Maximum length for string fields
        picklistValues:
          type: array
          items:
            type: object
            properties:
              value:
                type: string
              label:
                type: string
          description: Picklist options for picklist fields
        lookupObjectName:
          type: string
          description: Referenced object name for lookup fields