openapi: 3.1.0 info: title: Gainsight CS Bulk Accounts Tasks API description: The Gainsight Bulk API is an asynchronous connector that automates insert or update of large data volumes from CSV files into Gainsight standard and custom objects, with rate limits of 10 calls per hour and 100 per day. version: '1.0' contact: name: Gainsight Support url: https://support.gainsight.com email: support@gainsight.com termsOfService: https://www.gainsight.com/terms-of-service/ servers: - url: https://{domain}.gainsightcloud.com/v1 description: Gainsight CS Production variables: domain: default: customer description: Customer-specific domain prefix security: - apiKey: [] tags: - name: Tasks description: Manage tasks paths: /tasks: post: operationId: createTask summary: Gainsight Create a task description: Create a new task associated with a CTA. tags: - Tasks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TaskInput' responses: '200': description: Task created content: application/json: schema: type: object properties: result: type: boolean data: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /tasks/{taskId}: get: operationId: getTask summary: Gainsight Get a task description: Retrieve a specific task by ID. tags: - Tasks parameters: - $ref: '#/components/parameters/taskId' responses: '200': description: Task returned content: application/json: schema: type: object properties: result: type: boolean data: $ref: '#/components/schemas/Task' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateTask summary: Gainsight Update a task description: Update an existing task. tags: - Tasks parameters: - $ref: '#/components/parameters/taskId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TaskInput' responses: '200': description: Task updated content: application/json: schema: type: object properties: result: type: boolean data: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /tasks/search: post: operationId: searchTasks summary: Gainsight Search tasks description: Search for tasks using filter criteria. tags: - Tasks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: '200': description: Tasks returned content: application/json: schema: type: object properties: result: type: boolean data: type: object properties: records: type: array items: $ref: '#/components/schemas/Task' totalCount: type: integer '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' components: responses: NotFound: description: The requested resource was not found BadRequest: description: Invalid request body or parameters Unauthorized: description: Authentication failed or access key is missing parameters: taskId: name: taskId in: path required: true description: Task unique identifier schema: type: string schemas: TaskInput: type: object required: - Name - CTAId properties: Name: type: string Description: type: string CTAId: type: string OwnerId: type: string Status: type: string enum: - Not Started - In Progress - Completed - Skipped Priority: type: string DueDate: type: string format: date Task: type: object properties: Gsid: type: string description: Task unique identifier Name: type: string description: Task name Description: type: string description: Task description CTAId: type: string description: Associated CTA Gsid CompanyId: type: string description: Associated company Gsid CompanyName: type: string description: Associated company name OwnerId: type: string description: Task owner user ID OwnerName: type: string description: Task owner name Status: type: string enum: - Not Started - In Progress - Completed - Skipped description: Task status Priority: type: string description: Task priority DueDate: type: string format: date description: Task due date CompletedDate: type: string format: date description: Completion date PlaybookId: type: string description: Associated playbook ID Order: type: integer description: Task order within the playbook CreatedDate: type: string format: date-time ModifiedDate: type: string format: date-time 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 securitySchemes: apiKey: type: apiKey name: accessKey in: header description: Gainsight CS REST API access key externalDocs: description: Bulk API Documentation url: https://support.gainsight.com/gainsight_nxt/API_and_Developer_Docs/Bulk_API/Gainsight_Bulk_REST_APIs