Gainsight · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Gainsight CS Bulk Jobs API

5 actions 5 updates phrasing extends openapi/gainsight-jobs-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 5

$.info
$.paths['/bulk/jobs'].get
$.paths['/bulk/jobs'].post
$.paths['/bulk/jobs/{jobId}'].get
$.paths['/bulk/jobs/{jobId}/errors'].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 CS Bulk Jobs API
  version: 1.0.0
extends: openapi/gainsight-jobs-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: 4
- target: $.paths['/bulk/jobs'].get
  update:
    x-apievangelist-phrasing:
      intent: List bulk import jobs
      effect: read
      questions:
      - Which bulk imports are still running or failed?
      - Can I filter bulk jobs by status?
      instructions:
      - text: List bulk jobs with status {status}.
        slots:
          status: query.status
      - text: Show my last {limit} bulk import jobs.
        slots:
          limit: query.limit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/bulk/jobs'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a CSV bulk import job
      effect: write
      questions:
      - How do I import a large CSV of records into a Gainsight object?
      - How often can I start bulk import jobs?
      instructions:
      - text: Start a bulk {operation} of CSV {file} into object {objectName}.
        slots:
          operation: requestBody.operation
          file: requestBody.file
          objectName: requestBody.objectName
      - text: Upsert CSV {file} into {objectName} with operation {operation}, matching on {keyFields}.
        slots:
          file: requestBody.file
          objectName: requestBody.objectName
          operation: requestBody.operation
          keyFields: requestBody.keyFields
      method: generated
      generated: '2026-09-26'
- target: $.paths['/bulk/jobs/{jobId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a bulk job's status
      effect: read
      questions:
      - Has my bulk import finished yet?
      - How many records did a bulk job process?
      instructions:
      - text: Get the status of bulk job {jobId}.
        slots:
          jobId: path.jobId
      - text: Check progress on import job {jobId}.
        slots:
          jobId: path.jobId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/bulk/jobs/{jobId}/errors'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a bulk job's errors
      effect: read
      questions:
      - Which rows failed in my bulk import, and why?
      - Can I download error details for a completed job?
      instructions:
      - text: Get the errors for bulk job {jobId}.
        slots:
          jobId: path.jobId
      - text: Show which records failed in import {jobId}.
        slots:
          jobId: path.jobId
      method: generated
      generated: '2026-09-26'