Gainsight · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Gainsight People API

6 actions 6 updates phrasing extends openapi/gainsight-people-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Gainsight's API. It is a proposal applied on top of the contract, not a document Gainsight publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/data/objects/Person'].post
$.paths['/data/objects/Person/search'].post
$.paths['/data/objects/Person/{recordId}'].get
$.paths['/data/objects/Person/{recordId}'].delete
$.paths['/v1/people'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Gainsight People API
  version: 1.0.0
extends: openapi/gainsight-people-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 5
- target: $.paths['/data/objects/Person'].post
  update:
    x-apievangelist-phrasing:
      intent: Upsert person records
      effect: write
      questions:
      - How do I create or update contacts in Gainsight matched on email?
      - How many person records can I upsert per call?
      instructions:
      - text: 'Upsert these person records matched on {keys}: {records}.'
        slots:
          keys: query.keys
          records: requestBody.records
      - text: Insert or update contacts {records} using key fields {keys}.
        slots:
          records: requestBody.records
          keys: query.keys
      method: generated
      generated: '2026-09-26'
- target: $.paths['/data/objects/Person/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search person records
      effect: read
      questions:
      - Which contacts work at a given company?
      - Can I query people with filters and up to 5000 results?
      instructions:
      - text: Search person records where {where}.
        slots:
          where: requestBody.where
      - text: Find people matching {where}, ordered by {orderBy}.
        slots:
          where: requestBody.where
          orderBy: requestBody.orderBy
      method: generated
      generated: '2026-09-26'
- target: $.paths['/data/objects/Person/{recordId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a person record
      effect: read
      questions:
      - How do I read one contact's record by Gainsight ID?
      - Can I fetch a person by GSID?
      instructions:
      - text: Get person {recordId}.
        slots:
          recordId: path.recordId
      - text: Show the contact record {recordId}.
        slots:
          recordId: path.recordId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/data/objects/Person/{recordId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a person record
      effect: destructive
      questions:
      - Can I delete a contact from Gainsight?
      - How is a person record removed by GSID?
      instructions:
      - text: Delete person {recordId}.
        slots:
          recordId: path.recordId
      - text: Remove contact {recordId} from Gainsight.
        slots:
          recordId: path.recordId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/people'].get
  update:
    x-apievangelist-phrasing:
      intent: List person records
      effect: read
      questions:
      - What contacts are stored in Gainsight?
      - Can I page through all people with page numbers?
      instructions:
      - text: List people, page {pageNumber}.
        slots:
          pageNumber: query.pageNumber
      - text: Show all person records, {pageSize} per page.
        slots:
          pageSize: query.pageSize
      method: generated
      generated: '2026-09-26'