naftiko: 1.0.0-alpha2 info: label: Gainsight CS Custom Object API — Custom Objects description: 'Gainsight CS Custom Object API — Custom Objects. 5 operations. Lead operation: Gainsight Insert custom object records. Self-contained Naftiko capability covering one Gainsight business surface.' tags: - Gainsight - Custom Objects created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GAINSIGHT_API_KEY: GAINSIGHT_API_KEY capability: consumes: - type: http namespace: cs-custom-object-custom-objects baseUri: https://{domain}.gainsightcloud.com/v1 description: Gainsight CS Custom Object API — Custom Objects business capability. Self-contained, no shared references. resources: - name: data-objects-objectName path: /data/objects/{objectName} operations: - name: insertcustomobjectrecords method: POST description: Gainsight Insert custom object records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: updatecustomobjectrecords method: PUT description: Gainsight Update custom object records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: keys in: query type: string description: Comma-separated key fields for matching required: true - name: body in: body type: object description: Request body (JSON). required: true - name: data-objects-objectName-search path: /data/objects/{objectName}/search operations: - name: searchcustomobjectrecords method: POST description: Gainsight Search custom object records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: data-objects-objectName-recordId path: /data/objects/{objectName}/{recordId} operations: - name: getcustomobjectrecord method: GET description: Gainsight Get a custom object record outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletecustomobjectrecord method: DELETE description: Gainsight Delete a custom object record outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: accessKey value: '{{env.GAINSIGHT_API_KEY}}' placement: header exposes: - type: rest namespace: cs-custom-object-custom-objects-rest port: 8080 description: REST adapter for Gainsight CS Custom Object API — Custom Objects. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/data/objects/{objectname} name: data-objects-objectname description: REST surface for data-objects-objectName. operations: - method: POST name: insertcustomobjectrecords description: Gainsight Insert custom object records call: cs-custom-object-custom-objects.insertcustomobjectrecords with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatecustomobjectrecords description: Gainsight Update custom object records call: cs-custom-object-custom-objects.updatecustomobjectrecords with: keys: rest.keys body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/objects/{objectname}/search name: data-objects-objectname-search description: REST surface for data-objects-objectName-search. operations: - method: POST name: searchcustomobjectrecords description: Gainsight Search custom object records call: cs-custom-object-custom-objects.searchcustomobjectrecords with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/data/objects/{objectname}/{recordid} name: data-objects-objectname-recordid description: REST surface for data-objects-objectName-recordId. operations: - method: GET name: getcustomobjectrecord description: Gainsight Get a custom object record call: cs-custom-object-custom-objects.getcustomobjectrecord outputParameters: - type: object mapping: $. - method: DELETE name: deletecustomobjectrecord description: Gainsight Delete a custom object record call: cs-custom-object-custom-objects.deletecustomobjectrecord outputParameters: - type: object mapping: $. - type: mcp namespace: cs-custom-object-custom-objects-mcp port: 9090 transport: http description: MCP adapter for Gainsight CS Custom Object API — Custom Objects. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: gainsight-insert-custom-object-records description: Gainsight Insert custom object records hints: readOnly: false destructive: false idempotent: false call: cs-custom-object-custom-objects.insertcustomobjectrecords with: body: tools.body outputParameters: - type: object mapping: $. - name: gainsight-update-custom-object-records description: Gainsight Update custom object records hints: readOnly: false destructive: false idempotent: true call: cs-custom-object-custom-objects.updatecustomobjectrecords with: keys: tools.keys body: tools.body outputParameters: - type: object mapping: $. - name: gainsight-search-custom-object-records description: Gainsight Search custom object records hints: readOnly: true destructive: false idempotent: false call: cs-custom-object-custom-objects.searchcustomobjectrecords with: body: tools.body outputParameters: - type: object mapping: $. - name: gainsight-get-custom-object-record description: Gainsight Get a custom object record hints: readOnly: true destructive: false idempotent: true call: cs-custom-object-custom-objects.getcustomobjectrecord outputParameters: - type: object mapping: $. - name: gainsight-delete-custom-object-record description: Gainsight Delete a custom object record hints: readOnly: false destructive: true idempotent: true call: cs-custom-object-custom-objects.deletecustomobjectrecord outputParameters: - type: object mapping: $.