openapi: 3.0.2 info: title: Algolia Ingestion API description: >- The Algolia Ingestion API is a tool that allows developers to easily and efficiently transfer data into their Algolia search index. This API provides a simple and flexible way to ingest large amounts of data, whether it be product information, user profiles, or any other type of content. With the Ingestion API, developers can quickly upload and update records in their search index, ensuring that the most relevant and up-to-date information is available to users. By streamlining the process of data ingestion, the Algolia Ingestion API helps to improve search functionality and enhance the overall user experience. version: 1.0.0 servers: - url: https://data.{region}.algolia.com variables: region: enum: - eu - us default: us security: - appId: [] apiKey: [] tags: - name: Ingestion paths: /{path}: get: operationId: customGet summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - $ref: '#/components/parameters/PathInPath' - $ref: '#/components/parameters/Parameters' responses: '200': description: OK content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '402': $ref: '#/components/responses/FeatureNotEnabled' '403': $ref: '#/components/responses/MethodNotAllowed' '404': $ref: '#/components/responses/IndexNotFound' tags: - Ingestion post: operationId: customPost requestBody: description: Parameters to send with the custom request. content: application/json: schema: type: object summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - $ref: '#/components/parameters/PathInPath' - $ref: '#/components/parameters/Parameters' responses: '200': description: OK content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '402': $ref: '#/components/responses/FeatureNotEnabled' '403': $ref: '#/components/responses/MethodNotAllowed' '404': $ref: '#/components/responses/IndexNotFound' tags: - Ingestion put: operationId: customPut requestBody: description: Parameters to send with the custom request. content: application/json: schema: type: object summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - $ref: '#/components/parameters/PathInPath' - $ref: '#/components/parameters/Parameters' responses: '200': description: OK content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '402': $ref: '#/components/responses/FeatureNotEnabled' '403': $ref: '#/components/responses/MethodNotAllowed' '404': $ref: '#/components/responses/IndexNotFound' tags: - Ingestion delete: operationId: customDelete summary: Send requests to the Algolia REST API description: This method allow you to send requests to the Algolia REST API. parameters: - $ref: '#/components/parameters/PathInPath' - $ref: '#/components/parameters/Parameters' responses: '200': description: OK content: application/json: schema: type: object '400': $ref: '#/components/responses/BadRequest' '402': $ref: '#/components/responses/FeatureNotEnabled' '403': $ref: '#/components/responses/MethodNotAllowed' '404': $ref: '#/components/responses/IndexNotFound' tags: - Ingestion /1/authentications: get: tags: - Ingestion summary: Algolia List authentication resources description: Retrieves a list of all authentication resources. operationId: listAuthentications x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/type' - $ref: '#/components/parameters/platform' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/order' responses: '200': description: OK content: application/json: schema: title: listAuthenticationsResponse type: object additionalProperties: false properties: authentications: type: array items: $ref: '#/components/schemas/Authentication' pagination: $ref: '#/components/schemas/Pagination' required: - authentications - pagination '400': $ref: '#/components/responses/BadRequest' post: tags: - Ingestion summary: Algolia Create an authentication resource description: Creates a new authentication resource. operationId: createAuthentication x-acl: - addObject - deleteIndex - editSettings requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/AuthenticationCreate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthenticationCreateResponse' '400': $ref: '#/components/responses/BadRequest' /1/authentications/search: post: tags: - Ingestion summary: Algolia Search for authentication resources description: Searches for authentication resources. operationId: searchAuthentications x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthenticationSearch' required: true responses: '200': description: OK content: application/json: schema: title: searchAuthenticationsResponse type: array items: $ref: '#/components/schemas/Authentication' '400': $ref: '#/components/responses/BadRequest' /1/authentications/{authenticationID}: get: tags: - Ingestion summary: Algolia Retrieve an authentication resource description: Retrieves an authentication resource by its ID. operationId: getAuthentication x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathAuthenticationID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Authentication' '400': $ref: '#/components/responses/BadRequest' patch: tags: - Ingestion summary: Algolia Update an authentication resource description: Updates an authentication resource. operationId: updateAuthentication x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathAuthenticationID' requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthenticationUpdate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AuthenticationUpdateResponse' '400': $ref: '#/components/responses/BadRequest' delete: tags: - Ingestion summary: Algolia Delete an authentication resource description: >- Deletes an authentication resource. You can't delete authentication resources that are used by a source or a destination. operationId: deleteAuthentication x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathAuthenticationID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' /1/destinations: get: tags: - Ingestion summary: Algolia List destinations description: Retrieves a list of destinations. operationId: listDestinations x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/destinationParameters_type' - $ref: '#/components/parameters/authenticationID' - $ref: '#/components/parameters/transformationID' - $ref: '#/components/parameters/destinationParameters_sort' - $ref: '#/components/parameters/order' responses: '200': description: OK content: application/json: schema: title: listDestinationsResponse type: object additionalProperties: false properties: destinations: type: array items: $ref: '#/components/schemas/Destination' pagination: $ref: '#/components/schemas/Pagination' required: - destinations - pagination '400': $ref: '#/components/responses/BadRequest' post: tags: - Ingestion summary: Algolia Create a destination description: Creates a new destination. operationId: createDestination x-acl: - addObject - deleteIndex - editSettings requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/DestinationCreate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DestinationCreateResponse' '400': $ref: '#/components/responses/BadRequest' /1/destinations/search: post: tags: - Ingestion summary: Algolia Search for destinations description: Searches for destinations. operationId: searchDestinations x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/DestinationSearch' required: true responses: '200': description: OK content: application/json: schema: title: searchDestinationsResponse type: array items: $ref: '#/components/schemas/Destination' '400': $ref: '#/components/responses/BadRequest' /1/destinations/{destinationID}: get: tags: - Ingestion summary: Algolia Retrieve a destination description: Retrieves a destination by its ID. operationId: getDestination x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathDestinationID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Destination' '400': $ref: '#/components/responses/BadRequest' patch: tags: - Ingestion summary: Algolia Update a destination description: Updates the destination by its ID. operationId: updateDestination x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathDestinationID' requestBody: content: application/json: schema: $ref: '#/components/schemas/DestinationUpdate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DestinationUpdateResponse' '400': $ref: '#/components/responses/BadRequest' delete: tags: - Ingestion summary: Algolia Delete a destination description: >- Deletes a destination by its ID. You can't delete destinations that are referenced in tasks. operationId: deleteDestination x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathDestinationID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' /1/sources: get: tags: - Ingestion summary: Algolia List sources description: Retrieves a list of sources. operationId: listSources x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/sourceParameters_type' - $ref: '#/components/parameters/sourceParameters_authenticationID' - $ref: '#/components/parameters/sourceParameters_sort' - $ref: '#/components/parameters/order' responses: '200': description: OK content: application/json: schema: title: listSourcesResponse type: object additionalProperties: false properties: sources: type: array items: $ref: '#/components/schemas/Source' pagination: $ref: '#/components/schemas/Pagination' required: - sources - pagination '400': $ref: '#/components/responses/BadRequest' post: tags: - Ingestion summary: Algolia Create a source description: Creates a new source. operationId: createSource x-acl: - addObject - deleteIndex - editSettings requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/SourceCreate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SourceCreateResponse' '400': $ref: '#/components/responses/BadRequest' /1/sources/validate: post: tags: - Ingestion summary: Algolia Validates a source payload description: > Validates a source payload to ensure it can be created and that the data source can be reached by Algolia. operationId: validateSource x-acl: - addObject - deleteIndex - editSettings x-timeouts: connect: 180000 read: 180000 write: 180000 requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/SourceCreate' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WatchResponse' '400': $ref: '#/components/responses/BadRequest' /1/sources/search: post: tags: - Ingestion summary: Algolia Search for sources description: Searches for sources. operationId: searchSources x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/SourceSearch' required: true responses: '200': description: OK content: application/json: schema: title: searchSourcesResponse type: array items: $ref: '#/components/schemas/Source' '400': $ref: '#/components/responses/BadRequest' /1/sources/{sourceID}: get: tags: - Ingestion summary: Algolia Retrieve a source description: Retrieve a source by its ID. operationId: getSource x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathSourceID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Source' '400': $ref: '#/components/responses/BadRequest' patch: tags: - Ingestion summary: Algolia Update a source description: Updates a source by its ID. operationId: updateSource x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathSourceID' requestBody: content: application/json: schema: $ref: '#/components/schemas/SourceUpdate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SourceUpdateResponse' '400': $ref: '#/components/responses/BadRequest' delete: tags: - Ingestion summary: Algolia Delete a source description: >- Deletes a source by its ID. You can't delete sources that are referenced in tasks. operationId: deleteSource x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathSourceID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' /1/sources/{sourceID}/validate: post: tags: - Ingestion summary: Algolia Validates an update of a source payload description: > Validates an update of a source payload to ensure it can be created and that the data source can be reached by Algolia. operationId: validateSourceBeforeUpdate x-acl: - addObject - deleteIndex - editSettings x-timeouts: connect: 180000 read: 180000 write: 180000 parameters: - $ref: '#/components/parameters/pathSourceID' requestBody: content: application/json: schema: $ref: '#/components/schemas/SourceUpdate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WatchResponse' '400': $ref: '#/components/responses/BadRequest' /1/sources/{sourceID}/discover: post: tags: - Ingestion summary: Algolia Trigger a stream-listing request description: > Triggers a stream-listing request for a source. Triggering stream-listing requests only works with sources with `type: docker` and `imageType: airbyte`. operationId: triggerDockerSourceDiscover x-acl: - addObject - deleteIndex - editSettings x-timeouts: connect: 180000 read: 180000 write: 180000 parameters: - $ref: '#/components/parameters/pathSourceID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WatchResponse' '400': $ref: '#/components/responses/BadRequest' /1/sources/{sourceID}/run: post: tags: - Ingestion summary: Algolia Run all tasks linked to a source description: >- Runs all tasks linked to a source, only available for Shopify sources. It will create 1 run per task. operationId: runSource x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathSourceID' requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/RunSourcePayload' responses: '200': description: OK content: application/json: schema: title: runSourceResponse type: object properties: taskWithRunID: type: object description: >- Map of taskID sent for reindex with the corresponding runID. additionalProperties: type: string createdAt: $ref: '#/components/schemas/createdAt' required: - taskWithRunID - createdAt '400': $ref: '#/components/responses/BadRequest' /2/tasks: get: tags: - Ingestion summary: Algolia List tasks description: Retrieves a list of tasks. operationId: listTasks x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/action' - $ref: '#/components/parameters/enabled' - $ref: '#/components/parameters/sourceID' - $ref: '#/components/parameters/sourceType' - $ref: '#/components/parameters/destinationID' - $ref: '#/components/parameters/triggerType' - $ref: '#/components/parameters/withEmailNotifications' - $ref: '#/components/parameters/taskParameters_sort' - $ref: '#/components/parameters/order' responses: '200': description: OK content: application/json: schema: title: listTasksResponse type: object description: Configured tasks and pagination information. additionalProperties: false properties: tasks: type: array items: $ref: '#/components/schemas/Task' pagination: $ref: '#/components/schemas/Pagination' required: - tasks - pagination '400': $ref: '#/components/responses/BadRequest' post: tags: - Ingestion summary: Algolia Create a task description: Creates a new task. operationId: createTask requestBody: description: Request body for creating a task. content: application/json: schema: $ref: '#/components/schemas/TaskCreate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskCreateResponse' '400': $ref: '#/components/responses/BadRequest' /2/tasks/search: post: tags: - Ingestion summary: Algolia Search for tasks description: Searches for tasks. operationId: searchTasks x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskSearch' required: true responses: '200': description: OK content: application/json: schema: title: searchTasksResponse type: array items: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequest' /2/tasks/{taskID}: get: tags: - Ingestion summary: Algolia Retrieve a task description: Retrieves a task by its ID. operationId: getTask x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Task' '400': $ref: '#/components/responses/BadRequest' patch: tags: - Ingestion summary: Algolia Update a task description: Updates a task by its ID. operationId: updateTask parameters: - $ref: '#/components/parameters/pathTaskID' requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskUpdate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskUpdateResponse' '400': $ref: '#/components/responses/BadRequest' delete: tags: - Ingestion summary: Algolia Delete a task description: Deletes a task by its ID. operationId: deleteTask parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' /2/tasks/{taskID}/run: post: tags: - Ingestion summary: Algolia Run a task description: >- Runs a task. You can check the status of task runs with the observability endpoints. operationId: runTask x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RunResponse' '400': $ref: '#/components/responses/BadRequest' /2/tasks/{taskID}/push: post: tags: - Ingestion summary: Algolia Push a `batch` request payload through the Pipeline description: >- Push a `batch` request payload through the Pipeline. You can check the status of task pushes with the observability endpoints. operationId: pushTask x-acl: - addObject - deleteIndex - editSettings x-timeouts: connect: 180000 read: 180000 write: 180000 parameters: - $ref: '#/components/parameters/pathTaskID' - name: watch in: query description: >- When provided, the push operation will be synchronous and the API will wait for the ingestion to be finished before responding. required: false schema: type: boolean requestBody: description: >- Request body of a Search API `batch` request that will be pushed in the Connectors pipeline. content: application/json: schema: title: pushTaskPayload type: object properties: action: $ref: '#/components/schemas/action' records: type: array items: title: pushTaskRecords type: object additionalProperties: true required: - objectID properties: objectID: $ref: '#/components/schemas/objectID' required: - action - records required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/WatchResponse' '400': $ref: '#/components/responses/BadRequest' /2/tasks/{taskID}/enable: put: tags: - Ingestion summary: Algolia Enable a task description: Enables a task. operationId: enableTask x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskUpdateResponse' '400': $ref: '#/components/responses/BadRequest' /2/tasks/{taskID}/disable: put: tags: - Ingestion summary: Algolia Disable a task description: Disables a task. operationId: disableTask x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskUpdateResponse' '400': $ref: '#/components/responses/BadRequest' /1/tasks: get: tags: - Ingestion summary: Algolia List tasks V1 description: >- Retrieves a list of tasks using the v1 endpoint, please use `getTasks` instead. operationId: listTasksV1 deprecated: true x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/action' - $ref: '#/components/parameters/enabled' - $ref: '#/components/parameters/sourceID' - $ref: '#/components/parameters/destinationID' - $ref: '#/components/parameters/triggerType' - $ref: '#/components/parameters/taskParameters_sort' - $ref: '#/components/parameters/order' responses: '200': description: OK content: application/json: schema: title: listTasksResponseV1 type: object description: Configured tasks and pagination information. additionalProperties: false properties: tasks: type: array items: $ref: '#/components/schemas/TaskV1' pagination: $ref: '#/components/schemas/Pagination' required: - tasks - pagination '400': $ref: '#/components/responses/BadRequest' post: tags: - Ingestion summary: Algolia Create a task V1 description: >- Creates a new task using the v1 endpoint, please use `createTask` instead. operationId: createTaskV1 deprecated: true x-codegen-request-body-name: taskCreate requestBody: description: Request body for creating a task. content: application/json: schema: $ref: '#/components/schemas/TaskCreateV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskCreateResponse' '400': $ref: '#/components/responses/BadRequest' /1/tasks/search: post: tags: - Ingestion summary: Algolia Search for tasks V1 description: >- Searches for tasks using the v1 endpoint, please use `searchTasks` instead. operationId: searchTasksV1 deprecated: true x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskSearch' required: true responses: '200': description: OK content: application/json: schema: title: searchTasksResponseV1 type: array items: $ref: '#/components/schemas/TaskV1' '400': $ref: '#/components/responses/BadRequest' /1/tasks/{taskID}: get: tags: - Ingestion summary: Algolia Retrieve a task V1 description: >- Retrieves a task by its ID using the v1 endpoint, please use `getTask` instead. operationId: getTaskV1 deprecated: true x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskV1' '400': $ref: '#/components/responses/BadRequest' patch: tags: - Ingestion summary: Algolia Update a task V1 description: >- Updates a task by its ID using the v1 endpoint, please use `updateTask` instead. operationId: updateTaskV1 deprecated: true parameters: - $ref: '#/components/parameters/pathTaskID' x-codegen-request-body-name: taskUpdate requestBody: content: application/json: schema: $ref: '#/components/schemas/TaskUpdateV1' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskUpdateResponse' '400': $ref: '#/components/responses/BadRequest' delete: tags: - Ingestion summary: Algolia Delete a task description: >- Deletes a task by its ID using the v1 endpoint, please use `deleteTask` instead. operationId: deleteTaskV1 deprecated: true parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' /1/tasks/{taskID}/run: post: tags: - Ingestion summary: Algolia Run a task V1 description: >- Runs a task using the v1 endpoint, please use `runTask` instead. You can check the status of task runs with the observability endpoints. operationId: runTaskV1 deprecated: true x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RunResponse' '400': $ref: '#/components/responses/BadRequest' /1/tasks/{taskID}/enable: put: tags: - Ingestion summary: Algolia Enable a task V1 description: Enables a task using the v1 endpoint, please use `enableTask` instead. operationId: enableTaskV1 deprecated: true x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskUpdateResponse' '400': $ref: '#/components/responses/BadRequest' /1/tasks/{taskID}/disable: put: tags: - Ingestion summary: Algolia Disable a task V1 description: Disables a task using the v1 endpoint, please use `disableTask` instead. operationId: disableTaskV1 deprecated: true x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTaskID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TaskUpdateResponse' '400': $ref: '#/components/responses/BadRequest' /1/transformations: get: tags: - Ingestion summary: Algolia List transformations description: Retrieves a list of transformations. operationId: listTransformations x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/transformationParameters_sort' - $ref: '#/components/parameters/order' responses: '200': description: OK content: application/json: schema: title: listTransformationsResponse type: object description: Configured transformations and pagination information. additionalProperties: false properties: transformations: type: array items: $ref: '#/components/schemas/Transformation' pagination: $ref: '#/components/schemas/Pagination' required: - transformations - pagination '400': $ref: '#/components/responses/BadRequest' post: tags: - Ingestion summary: Algolia Create a transformation description: Creates a new transformation. operationId: createTransformation requestBody: description: Request body for creating a transformation. content: application/json: schema: $ref: '#/components/schemas/TransformationCreate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransformationCreateResponse' '400': $ref: '#/components/responses/BadRequest' /1/transformations/try: post: tags: - Ingestion summary: Algolia Try a transformation before creating it description: Try a transformation before creating it. operationId: tryTransformation x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/TransformationTry' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransformationTryResponse' '400': $ref: '#/components/responses/BadRequest' /1/transformations/search: post: tags: - Ingestion summary: Algolia Search for transformations description: Searches for transformations. operationId: searchTransformations x-acl: - addObject - deleteIndex - editSettings requestBody: content: application/json: schema: $ref: '#/components/schemas/TransformationSearch' required: true responses: '200': description: OK content: application/json: schema: title: searchTransformationsResponse type: array items: $ref: '#/components/schemas/Transformation' '400': $ref: '#/components/responses/BadRequest' /1/transformations/{transformationID}: get: tags: - Ingestion summary: Algolia Retrieve a transformation description: Retrieves a transformation by its ID. operationId: getTransformation x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTransformationID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Transformation' '400': $ref: '#/components/responses/BadRequest' put: tags: - Ingestion summary: Algolia Update a transformation description: Updates a transformation by its ID. operationId: updateTransformation parameters: - $ref: '#/components/parameters/pathTransformationID' requestBody: content: application/json: schema: $ref: '#/components/schemas/TransformationCreate' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransformationUpdateResponse' '400': $ref: '#/components/responses/BadRequest' delete: tags: - Ingestion summary: Algolia Delete a transformation description: Deletes a transformation by its ID. operationId: deleteTransformation parameters: - $ref: '#/components/parameters/pathTransformationID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteResponse' '400': $ref: '#/components/responses/BadRequest' /1/transformations/{transformationID}/try: post: tags: - Ingestion summary: Algolia Try a transformation before updating it description: Try a transformation before updating it. operationId: tryTransformationBeforeUpdate x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathTransformationID' requestBody: content: application/json: schema: $ref: '#/components/schemas/TransformationTry' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransformationTryResponse' '400': $ref: '#/components/responses/BadRequest' /1/runs: get: tags: - Ingestion summary: Algolia List task runs description: Retrieve a list of task runs. operationId: listRuns x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/runStatus' - $ref: '#/components/parameters/runType' - $ref: '#/components/parameters/taskID' - $ref: '#/components/parameters/runSort' - $ref: '#/components/parameters/order' - name: startDate in: query description: >- Date in RFC 3339 format for the earliest run to retrieve. By default, the current day minus seven days is used. schema: type: string - name: endDate in: query description: >- Date in RFC 3339 format for the latest run to retrieve. By default, the current day is used. schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RunListResponse' '400': $ref: '#/components/responses/BadRequest' /1/runs/{runID}: get: tags: - Ingestion summary: Algolia Retrieve a task run description: Retrieve a single task run by its ID. operationId: getRun x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathRunID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Run' '400': $ref: '#/components/responses/BadRequest' /1/runs/{runID}/events: get: tags: - Ingestion summary: Algolia List task run events description: Retrieves a list of events for a task run, identified by its ID. operationId: listEvents x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathRunID' - $ref: '#/components/parameters/itemsPerPage' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/eventStatus' - $ref: '#/components/parameters/eventType' - $ref: '#/components/parameters/eventSort' - $ref: '#/components/parameters/order' - name: startDate in: query description: >- Date and time in RFC 3339 format for the earliest events to retrieve. By default, the current time minus three hours is used. schema: type: string - name: endDate in: query description: >- Date and time in RFC 3339 format for the latest events to retrieve. By default, the current time is used. schema: type: string responses: '200': description: OK content: application/json: schema: title: listEventsResponse type: object additionalProperties: false properties: events: type: array items: $ref: '#/components/schemas/Event' pagination: $ref: '#/components/schemas/Pagination' window: $ref: '#/components/schemas/Window' required: - events - pagination - window '400': $ref: '#/components/responses/BadRequest' /1/runs/{runID}/events/{eventID}: get: tags: - Ingestion summary: Algolia Retrieve a task run event description: Retrieves a single task run event by its ID. operationId: getEvent x-acl: - addObject - deleteIndex - editSettings parameters: - $ref: '#/components/parameters/pathRunID' - $ref: '#/components/parameters/pathEventID' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Event' '400': $ref: '#/components/responses/BadRequest' /setClientApiKey: get: x-helper: true x-asynchronous-helper: false tags: - Ingestion operationId: setClientApiKey summary: Algolia Switch the API key used to authenticate requests description: | Switch the API key used to authenticate requests. parameters: - in: query name: apiKey description: API key to be used from now on. required: true schema: type: string responses: '204': description: No content. components: securitySchemes: appId: type: apiKey in: header name: x-algolia-application-id description: Your Algolia application ID. apiKey: type: apiKey in: header name: x-algolia-api-key description: > Your Algolia API key with the necessary permissions to make the request. Permissions are controlled through access control lists (ACL) and access restrictions. The required ACL to make a request is listed in each endpoint's reference. parameters: PathInPath: name: path in: path description: Path of the endpoint, anything after "/1" must be specified. required: true schema: type: string example: /keys Parameters: name: parameters in: query description: Query parameters to apply to the current query. schema: type: object additionalProperties: true itemsPerPage: name: itemsPerPage in: query description: Number of items per page. required: false schema: $ref: '#/components/schemas/itemsPerPage' page: name: page in: query description: Page number of the paginated API response. required: false schema: $ref: '#/components/schemas/page' type: name: type in: query description: Type of authentication resource to retrieve. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/AuthenticationType' example: basic,oauth platform: name: platform in: query description: Ecommerce platform for which to retrieve authentications. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/platformWithNone' example: commercetools,none sort: name: sort in: query description: Property by which to sort the list of authentications. required: false schema: $ref: '#/components/schemas/authenticationSortKeys' order: name: order in: query description: Sort order of the response, ascending or descending. required: false schema: $ref: '#/components/schemas/orderKeys' pathAuthenticationID: name: authenticationID in: path required: true description: Unique identifier of an authentication resource. schema: $ref: '#/components/schemas/authenticationID' destinationParameters_type: name: type in: query description: Destination type. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/DestinationType' example: search authenticationID: name: authenticationID in: query description: Authentication ID used by destinations. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/authenticationID' transformationID: name: transformationID in: query description: Get the list of destinations used by a transformation. required: false style: form explode: false schema: $ref: '#/components/schemas/transformationID' destinationParameters_sort: name: sort in: query description: Property by which to sort the destinations. required: false example: type schema: $ref: '#/components/schemas/destinationSortKeys' pathDestinationID: name: destinationID in: path required: true description: Unique identifier of a destination. schema: $ref: '#/components/schemas/destinationID' sourceParameters_type: name: type in: query description: Source type. Some sources require authentication. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/SourceType' example: commercetools,bigcommerce sourceParameters_authenticationID: name: authenticationID in: query description: | Authentication IDs of the sources to retrieve. 'none' returns sources that doesn't have an authentication. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/authenticationID' example: - 10000000-0a75-4000-a000-000000000001 - none sourceParameters_sort: name: sort in: query description: Property by which to sort the list of sources. required: false schema: $ref: '#/components/schemas/sourceSortKeys' pathSourceID: name: sourceID in: path required: true description: Unique identifier of a source. schema: $ref: '#/components/schemas/sourceID' action: name: action in: query required: false description: Actions for filtering the list of tasks. style: form explode: false schema: type: array description: Actions to perform on the Algolia index. items: $ref: '#/components/schemas/ActionType' example: save,replace,partial,append enabled: name: enabled in: query description: Whether to filter the list of tasks by the `enabled` status. required: false schema: type: boolean sourceID: name: sourceID in: query description: Source IDs for filtering the list of tasks. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/sourceID' sourceType: name: sourceType in: query description: Filters the tasks with the specified source type. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/SourceType' example: json,commercetools destinationID: name: destinationID in: query description: Destination IDs for filtering the list of tasks. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/destinationID' triggerType: name: triggerType in: query description: Type of task trigger for filtering the list of tasks. required: false style: form explode: false schema: type: array items: $ref: '#/components/schemas/TriggerType' example: onDemand,schedule,subscription,streaming withEmailNotifications: name: withEmailNotifications in: query description: >- If specified, the response only includes tasks with notifications.email.enabled set to this value. required: false schema: type: boolean taskParameters_sort: name: sort in: query description: Property by which to sort the list of tasks. required: false schema: $ref: '#/components/schemas/taskSortKeys' pathTaskID: name: taskID in: path required: true description: Unique identifier of a task. schema: $ref: '#/components/schemas/taskID' transformationParameters_sort: name: sort in: query description: Property by which to sort the list of transformations. required: false schema: $ref: '#/components/schemas/transformationSortKeys' pathTransformationID: name: transformationID in: path required: true description: Unique identifier of a transformation. schema: $ref: '#/components/schemas/transformationID' runStatus: name: status in: query description: Run status for filtering the list of task runs. schema: type: array items: $ref: '#/components/schemas/RunStatus' runType: name: type in: query description: Run type for filtering the list of task runs. schema: type: array items: $ref: '#/components/schemas/RunType' taskID: name: taskID in: query description: Task ID for filtering the list of task runs. schema: $ref: '#/components/schemas/taskID' runSort: name: sort in: query description: Property by which to sort the list of task runs. required: false schema: $ref: '#/components/schemas/runSortKeys' pathRunID: name: runID in: path required: true description: Unique identifier of a task run. schema: $ref: '#/components/schemas/runID' eventStatus: name: status in: query description: Event status for filtering the list of task runs. schema: type: array items: $ref: '#/components/schemas/EventStatus' eventType: name: type in: query description: Event type for filtering the list of task runs. schema: type: array items: $ref: '#/components/schemas/EventType' eventSort: name: sort in: query description: Property by which to sort the list of task run events. required: false schema: $ref: '#/components/schemas/eventSortKeys' pathEventID: name: eventID in: path required: true description: Unique identifier of an event. schema: $ref: '#/components/schemas/eventID' schemas: ErrorBase: description: Error. type: object x-keep-model: true additionalProperties: true properties: message: type: string example: Invalid Application-Id or API-Key itemsPerPage: type: integer description: Number of items per page. minimum: 1 maximum: 100 default: 10 page: type: integer minimum: 1 description: Page of the API response to retrieve. AuthenticationType: type: string description: >- Type of authentication. This determines the type of credentials required in the `input` object. enum: - googleServiceAccount - basic - apiKey - oauth - algolia - algoliaInsights - secrets Platform: default: oneOf: - type: string description: | Name of an ecommerce platform with which to authenticate. This determines which authentication type you can select. enum: - bigcommerce - commercetools - shopify - type: 'null' platformNone: type: string description: >- Authentication resource not tied to any ecommerce platform, used for filtering. enum: - none platformWithNone: oneOf: - $ref: '#/components/schemas/Platform' - $ref: '#/components/schemas/platformNone' authenticationSortKeys: type: string description: Property by which to sort the list of authentications. default: createdAt enum: - name - type - platform - updatedAt - createdAt orderKeys: type: string description: Ascending or descending sort order. default: desc enum: - asc - desc authenticationID: type: string description: Universally unique identifier (UUID) of an authentication resource. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f name: type: string description: Descriptive name for the resource. AuthGoogleServiceAccountPartial: type: object description: >- Credentials for authenticating with a Google service account, such as BigQuery. additionalProperties: false properties: clientEmail: type: string description: Email address of the Google service account. example: service-account-name@project-id.iam.gserviceaccount.com privateKey: type: string description: >- Private key of the Google service account. This field is `null` in the API response. x-discriminator-fields: - clientEmail AuthBasicPartial: type: object description: Credentials for authenticating with user name and password. additionalProperties: false properties: username: type: string description: Username. password: type: string description: Password. This field is `null` in the API response. x-discriminator-fields: - username AuthAPIKeyPartial: type: object description: Credentials for authenticating with an API key. additionalProperties: false properties: key: type: string description: API key. This field is `null` in the API response. x-discriminator-fields: - key AuthOAuthPartial: type: object description: Credentials for authenticating with OAuth 2.0. additionalProperties: false properties: url: type: string description: URL for the OAuth endpoint. client_id: type: string description: Client ID. client_secret: type: string description: Client secret. This field is `null` in the API response. scope: type: string default: '' description: OAuth scope. x-discriminator-fields: - url AuthAlgoliaPartial: type: object description: Credentials for authenticating with Algolia. additionalProperties: false properties: appID: type: string description: Algolia application ID. apiKey: type: string description: > Algolia API key with the ACL: `addObject`, `deleteObject`, `settings`, `editSettings`, `listIndexes`, `deleteIndex`. This field is `null` in the API response. AuthAlgoliaInsightsPartial: type: object additionalProperties: false description: Credentials for authenticating with the Algolia Insights API. properties: appID: type: string description: Algolia application ID. apiKey: type: string description: | Algolia API key with the ACL: `search`. This field is `null` in the API response. AuthSecrets: type: object description: A key:value authentication for your transformations. additionalProperties: type: string AuthInputPartial: oneOf: - $ref: '#/components/schemas/AuthGoogleServiceAccountPartial' - $ref: '#/components/schemas/AuthBasicPartial' - $ref: '#/components/schemas/AuthAPIKeyPartial' - $ref: '#/components/schemas/AuthOAuthPartial' - $ref: '#/components/schemas/AuthAlgoliaPartial' - $ref: '#/components/schemas/AuthAlgoliaInsightsPartial' - $ref: '#/components/schemas/AuthSecrets' createdAt: type: string description: Date of creation in RFC 3339 format. updatedAt: type: string description: Date of last update in RFC 3339 format. Authentication: type: object description: >- Resource representing the information required to authenticate with a source or a destination. additionalProperties: false properties: authenticationID: $ref: '#/components/schemas/authenticationID' type: $ref: '#/components/schemas/AuthenticationType' name: $ref: '#/components/schemas/name' platform: $ref: '#/components/schemas/Platform' input: $ref: '#/components/schemas/AuthInputPartial' createdAt: $ref: '#/components/schemas/createdAt' updatedAt: $ref: '#/components/schemas/updatedAt' required: - authenticationID - type - name - input - createdAt Pagination: type: object description: Paginated API response. additionalProperties: false properties: nbPages: type: integer minimum: 1 description: Number of pages in the API response. page: $ref: '#/components/schemas/page' nbItems: type: integer minimum: 0 description: Number of items in the API response. itemsPerPage: $ref: '#/components/schemas/itemsPerPage' required: - nbPages - page - nbItems - itemsPerPage AuthGoogleServiceAccount: type: object description: >- Credentials for authenticating with a Google service account, such as BigQuery. additionalProperties: false properties: clientEmail: type: string description: Email address of the Google service account. example: service-account-name@project-id.iam.gserviceaccount.com privateKey: type: string description: >- Private key of the Google service account. This field is `null` in the API response. required: - clientEmail - privateKey x-discriminator-fields: - clientEmail - privateKey AuthBasic: type: object description: Credentials for authenticating with user name and password. additionalProperties: false properties: username: type: string description: Username. password: type: string description: Password. This field is `null` in the API response. required: - username - password x-discriminator-fields: - username - password AuthAPIKey: type: object description: Credentials for authenticating with an API key. additionalProperties: false properties: key: type: string description: API key. This field is `null` in the API response. required: - key x-discriminator-fields: - key AuthOAuth: type: object description: Credentials for authenticating with OAuth 2.0. additionalProperties: false properties: url: type: string description: URL for the OAuth endpoint. client_id: type: string description: Client ID. client_secret: type: string description: Client secret. This field is `null` in the API response. scope: type: string default: '' description: OAuth scope. required: - url - client_id - client_secret x-discriminator-fields: - url - client_id - client_secret AuthAlgolia: type: object additionalProperties: false description: Credentials for authenticating with Algolia. properties: appID: type: string description: Algolia application ID. apiKey: type: string description: > Algolia API key with the ACL: `addObject`, `deleteObject`, `settings`, `editSettings`, `listIndexes`, `deleteIndex`. This field is `null` in the API response. required: - appID - apiKey AuthAlgoliaInsights: type: object additionalProperties: false description: Credentials for authenticating with the Algolia Insights API. properties: appID: type: string description: Algolia application ID. apiKey: type: string description: | Algolia API key with the ACL: `search`. This field is `null` in the API response. required: - appID - apiKey AuthInput: oneOf: - $ref: '#/components/schemas/AuthGoogleServiceAccount' - $ref: '#/components/schemas/AuthBasic' - $ref: '#/components/schemas/AuthAPIKey' - $ref: '#/components/schemas/AuthOAuth' - $ref: '#/components/schemas/AuthAlgolia' - $ref: '#/components/schemas/AuthAlgoliaInsights' - $ref: '#/components/schemas/AuthSecrets' AuthenticationCreate: type: object description: Request body for creating a new authentication resource. additionalProperties: false properties: type: $ref: '#/components/schemas/AuthenticationType' name: $ref: '#/components/schemas/name' platform: $ref: '#/components/schemas/Platform' input: $ref: '#/components/schemas/AuthInput' required: - type - name - input AuthenticationCreateResponse: type: object description: API response for the successful creation of an authentication resource. additionalProperties: false properties: authenticationID: $ref: '#/components/schemas/authenticationID' name: $ref: '#/components/schemas/name' createdAt: $ref: '#/components/schemas/createdAt' required: - authenticationID - name - createdAt AuthenticationSearch: type: object additionalProperties: false description: Request body for searching for authentication resources. properties: authenticationIDs: type: array items: $ref: '#/components/schemas/authenticationID' required: - authenticationIDs DeleteResponse: type: object properties: deletedAt: type: string description: Date of deletion in RFC 3339 format. required: - deletedAt AuthenticationUpdate: type: object description: Request body for updating an authentication resource. additionalProperties: false properties: type: $ref: '#/components/schemas/AuthenticationType' name: $ref: '#/components/schemas/name' platform: $ref: '#/components/schemas/Platform' input: $ref: '#/components/schemas/AuthInputPartial' AuthenticationUpdateResponse: type: object additionalProperties: false description: API response for a successful update of an authentication resource. properties: authenticationID: $ref: '#/components/schemas/authenticationID' name: $ref: '#/components/schemas/name' updatedAt: $ref: '#/components/schemas/updatedAt' required: - authenticationID - name - updatedAt DestinationType: type: string description: | Destination type. - `search`. Data is stored in an Algolia index. - `insights`. Data is recorded as user events in the Insights API. enum: - search - insights transformationID: type: string description: Universally unique identifier (UUID) of a transformation. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f destinationSortKeys: type: string description: Property by which to sort the destinations. default: createdAt enum: - name - type - updatedAt - createdAt destinationID: type: string description: Universally unique identifier (UUID) of a destination resource. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f RecordType: type: string description: Record type for ecommerce sources. enum: - product - variant AttributesToExclude: type: array description: > Attributes from your source to exclude from Algolia records. Not all your data attributes will be useful for searching. Keeping your Algolia records small increases indexing and search performance. - Exclude nested attributes with `.` notation. For example, `foo.bar` indexes the `foo` attribute and all its children **except** the `bar` attribute. - Exclude attributes from arrays with `[i]`, where `i` is the index of the array element. For example, `foo.[0].bar` only excludes the `bar` attribute from the first element of the `foo` array, but indexes the complete `foo` attribute for all other elements. Use `*` as wildcard: `foo.[*].bar` excludes `bar` from all elements of the `foo` array. items: type: string DestinationIndexName: type: object additionalProperties: false properties: indexName: type: string description: Algolia index name (case-sensitive). recordType: $ref: '#/components/schemas/RecordType' attributesToExclude: $ref: '#/components/schemas/AttributesToExclude' required: - indexName DestinationInput: oneOf: - $ref: '#/components/schemas/DestinationIndexName' transformationIDs: type: array items: $ref: '#/components/schemas/transformationID' Destination: type: object description: Destinations are Algolia resources like indices or event streams. additionalProperties: false properties: destinationID: $ref: '#/components/schemas/destinationID' type: $ref: '#/components/schemas/DestinationType' name: $ref: '#/components/schemas/name' input: $ref: '#/components/schemas/DestinationInput' createdAt: $ref: '#/components/schemas/createdAt' updatedAt: $ref: '#/components/schemas/updatedAt' authenticationID: $ref: '#/components/schemas/authenticationID' transformationIDs: $ref: '#/components/schemas/transformationIDs' required: - destinationID - type - name - input - createdAt DestinationCreate: type: object additionalProperties: false description: API request body for creating a new destination. properties: type: $ref: '#/components/schemas/DestinationType' name: $ref: '#/components/schemas/name' input: $ref: '#/components/schemas/DestinationInput' authenticationID: $ref: '#/components/schemas/authenticationID' transformationIDs: $ref: '#/components/schemas/transformationIDs' required: - type - name - input DestinationCreateResponse: type: object additionalProperties: false description: API response for creating a new destination. properties: destinationID: $ref: '#/components/schemas/destinationID' name: $ref: '#/components/schemas/name' createdAt: $ref: '#/components/schemas/createdAt' required: - destinationID - name - createdAt DestinationSearch: type: object additionalProperties: false description: API request body for searching destinations. properties: destinationIDs: type: array items: $ref: '#/components/schemas/destinationID' required: - destinationIDs DestinationUpdate: type: object additionalProperties: false description: API request body for updating a destination. properties: type: $ref: '#/components/schemas/DestinationType' name: $ref: '#/components/schemas/name' input: $ref: '#/components/schemas/DestinationInput' authenticationID: $ref: '#/components/schemas/authenticationID' transformationIDs: $ref: '#/components/schemas/transformationIDs' DestinationUpdateResponse: type: object additionalProperties: false description: API response for updating a destination. properties: destinationID: $ref: '#/components/schemas/destinationID' name: $ref: '#/components/schemas/name' updatedAt: $ref: '#/components/schemas/updatedAt' required: - destinationID - name - updatedAt SourceType: type: string enum: - bigcommerce - bigquery - commercetools - csv - docker - ga4BigqueryExport - json - shopify - push sourceSortKeys: type: string description: Property by which to sort the list of sources. default: createdAt enum: - name - type - updatedAt - createdAt sourceID: type: string description: Universally uniqud identifier (UUID) of a source. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f CommercetoolsCustomFields: type: object additionalProperties: false description: > Custom fields from commercetools to add to the records. For more information, see [Using Custom Types and Custom Fields](https://docs.commercetools.com/tutorials/custom-types). properties: inventory: oneOf: - type: array description: Inventory custom fields. items: type: string - type: 'null' price: oneOf: - type: array description: Price custom fields. items: type: string - type: 'null' category: oneOf: - type: array description: Category custom fields. items: type: string - type: 'null' SourceCommercetools: type: object additionalProperties: false properties: storeKeys: type: array items: description: Unique and immutable key of the referenced store. type: string locales: type: array description: Locales for your commercetools stores. items: type: string pattern: ^[a-z]{2}(-[A-Z]{2})?$ description: >- Locale specfied as combination of a two-letter language code and an optional two-letter country code. example: fr-FR url: type: string projectKey: type: string fallbackIsInStockValue: type: boolean default: true description: > Whether a fallback value is stored in the Algolia record if there's no inventory information about the product. customFields: $ref: '#/components/schemas/CommercetoolsCustomFields' required: - url - projectKey x-discriminator-fields: - projectKey BigCommerceChannel: type: object additionalProperties: false properties: id: type: integer description: ID of the BigCommerce channel. currencies: type: array description: Currencies for the given channel. example: - usd - eur items: type: string description: Three-letter code for the currency. example: usd required: - id BigCommerceMetafield: type: object additionalProperties: false properties: namespace: type: string description: Namespace of the metafield. key: type: string description: Key identifier of the metafield. required: - namespace - key SourceBigCommerce: type: object additionalProperties: false properties: storeHash: type: string description: Store hash identifying your BigCommerce store. channel: $ref: '#/components/schemas/BigCommerceChannel' customFields: type: array items: type: string productMetafields: type: array items: $ref: '#/components/schemas/BigCommerceMetafield' variantMetafields: type: array items: $ref: '#/components/schemas/BigCommerceMetafield' required: - storeHash x-discriminator-fields: - storeHash UniqueIDColumn: type: string description: >- Name of a column that contains a unique ID which will be used as `objectID` in Algolia. MethodType: type: string description: HTTP method to be used for retrieving your data. enum: - GET - POST SourceJSON: type: object additionalProperties: false properties: url: type: string description: URL of the file. uniqueIDColumn: $ref: '#/components/schemas/UniqueIDColumn' method: $ref: '#/components/schemas/MethodType' required: - url MappingTypeCSV: type: string enum: - string - integer - float - boolean - json SourceCSV: type: object additionalProperties: false properties: url: type: string description: URL of the file. uniqueIDColumn: $ref: '#/components/schemas/UniqueIDColumn' mapping: type: object description: | Key-value pairs of column names and their expected types. x-additionalPropertyName: column name additionalProperties: $ref: '#/components/schemas/MappingTypeCSV' method: $ref: '#/components/schemas/MethodType' delimiter: type: string minLength: 1 maxLength: 1 default: ',' description: >- The character used to split the value on each line, default to a comma (\r, \n, 0xFFFD, and space are forbidden). required: - url BigQueryDataType: type: string enum: - ga4 - ga360 SourceBigQuery: type: object additionalProperties: false properties: projectID: type: string description: Project ID of the BigQuery source. datasetID: type: string description: Dataset ID of the BigQuery source. dataType: $ref: '#/components/schemas/BigQueryDataType' table: type: string description: Table name for the BigQuery export. tablePrefix: type: string description: Table prefix for a Google Analytics 4 data export to BigQuery. customSQLRequest: type: string description: Custom SQL request to extract data from the BigQuery table. uniqueIDColumn: $ref: '#/components/schemas/UniqueIDColumn' required: - projectID - datasetID x-discriminator-fields: - projectID SourceGA4BigQueryExport: type: object additionalProperties: false properties: projectID: type: string description: GCP project ID that the BigQuery export writes to. datasetID: type: string description: BigQuery dataset ID that the BigQuery export writes to. tablePrefix: type: string description: Prefix of the tables that the BigQuery Export writes to. example: events_intraday_ required: - projectID - datasetID - tablePrefix x-discriminator-fields: - projectID - datasetID - tablePrefix SourceDocker: type: object additionalProperties: false properties: image: type: string description: Shortname of the image, as returned by the referential. example: zendesk configuration: type: object description: Configuration of the spec. required: - image - configuration x-discriminator-fields: - image - configuration SourceUpdateShopify: type: object additionalProperties: false properties: featureFlags: type: object description: Feature flags for the Shopify source. additionalProperties: true sourceShopifyBase: type: object additionalProperties: false properties: shopURL: type: string description: URL of the Shopify store. required: - shopURL x-discriminator-fields: - shopURL SourceShopify: allOf: - $ref: '#/components/schemas/SourceUpdateShopify' - $ref: '#/components/schemas/sourceShopifyBase' SourceInput: oneOf: - $ref: '#/components/schemas/SourceCommercetools' - $ref: '#/components/schemas/SourceBigCommerce' - $ref: '#/components/schemas/SourceJSON' - $ref: '#/components/schemas/SourceCSV' - $ref: '#/components/schemas/SourceBigQuery' - $ref: '#/components/schemas/SourceGA4BigQueryExport' - $ref: '#/components/schemas/SourceDocker' - $ref: '#/components/schemas/SourceShopify' Source: type: object additionalProperties: false properties: sourceID: $ref: '#/components/schemas/sourceID' type: $ref: '#/components/schemas/SourceType' name: type: string input: $ref: '#/components/schemas/SourceInput' authenticationID: $ref: '#/components/schemas/authenticationID' createdAt: $ref: '#/components/schemas/createdAt' updatedAt: $ref: '#/components/schemas/updatedAt' required: - sourceID - type - name - createdAt SourceCreate: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/SourceType' name: type: string description: Descriptive name of the source. input: $ref: '#/components/schemas/SourceInput' authenticationID: $ref: '#/components/schemas/authenticationID' required: - type - name SourceCreateResponse: type: object additionalProperties: false properties: sourceID: $ref: '#/components/schemas/sourceID' name: type: string description: Descriptive name of the source. createdAt: $ref: '#/components/schemas/createdAt' required: - sourceID - name - createdAt runID: type: string description: Universally unique identifier (UUID) of a task run. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f eventID: type: string description: Universally unique identifier (UUID) of an event. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f EventStatus: type: string enum: - created - started - retried - failed - succeeded - critical EventType: type: string enum: - fetch - record - log - transform publishedAt: type: string description: Date of publish RFC 3339 format. Event: type: object description: An event describe a step of the task execution flow.. additionalProperties: false properties: eventID: $ref: '#/components/schemas/eventID' runID: $ref: '#/components/schemas/runID' status: $ref: '#/components/schemas/EventStatus' type: $ref: '#/components/schemas/EventType' batchSize: type: integer description: The extracted record batch size. example: 10 minimum: 0 multipleOf: 1 data: type: object additionalProperties: true publishedAt: $ref: '#/components/schemas/publishedAt' required: - eventID - runID - status - type - batchSize - publishedAt WatchResponse: type: object additionalProperties: false properties: runID: $ref: '#/components/schemas/runID' data: type: array description: >- when used with discovering or validating sources, the sampled data of your source is returned. items: type: object events: description: >- in case of error, observability events will be added to the response, if any. type: array items: $ref: '#/components/schemas/Event' message: description: a message describing the outcome of a validate run. type: string required: - message SourceSearch: type: object additionalProperties: false properties: sourceIDs: type: array items: type: string required: - sourceIDs SourceUpdateCommercetools: type: object additionalProperties: false properties: storeKeys: type: array items: description: Unique and immutable key of the referenced store. type: string locales: type: array description: Locales for your commercetools stores. items: type: string pattern: ^[a-z]{2}(-[A-Z]{2})?$ description: >- Locale specfied as combination of a two-letter language code and an optional two-letter country code. example: fr-FR url: type: string fallbackIsInStockValue: type: boolean description: > Whether a fallback value is stored in the Algolia record if there's no inventory information about the product. customFields: $ref: '#/components/schemas/CommercetoolsCustomFields' SourceUpdateDocker: type: object additionalProperties: false properties: configuration: type: object description: Configuration of the spec. required: - configuration x-discriminator-fields: - configuration SourceUpdateInput: oneOf: - $ref: '#/components/schemas/SourceUpdateCommercetools' - $ref: '#/components/schemas/SourceJSON' - $ref: '#/components/schemas/SourceCSV' - $ref: '#/components/schemas/SourceBigQuery' - $ref: '#/components/schemas/SourceGA4BigQueryExport' - $ref: '#/components/schemas/SourceUpdateDocker' - $ref: '#/components/schemas/SourceUpdateShopify' SourceUpdate: type: object additionalProperties: false properties: name: type: string description: Descriptive name of the source. input: $ref: '#/components/schemas/SourceUpdateInput' authenticationID: $ref: '#/components/schemas/authenticationID' SourceUpdateResponse: type: object additionalProperties: false properties: sourceID: $ref: '#/components/schemas/sourceID' name: type: string description: Descriptive name of the source. updatedAt: $ref: '#/components/schemas/updatedAt' required: - sourceID - name - updatedAt EntityType: type: string description: Type of entity to update. enum: - product - collection RunSourcePayload: type: object additionalProperties: false properties: indexToInclude: type: array description: List of index names to include in reidexing/update. items: type: string indexToExclude: type: array description: List of index names to exclude in reidexing/update. items: type: string entityIDs: type: array items: type: string description: List of entityID to update. entityType: $ref: '#/components/schemas/EntityType' ActionType: type: string description: Action to perform on the Algolia index. enum: - replace - save - partial - append TriggerType: type: string description: | Task trigger, describing when a task should run. - `onDemand`. Manually trigger the task with the `/run` endpoint. - `schedule`. Regularly trigger the task on a `cron` schedule. - `subscription`. Trigger the task after an event is received, such as, a webhook. - `streaming`. Run the task continuously. enum: - onDemand - schedule - subscription - streaming taskSortKeys: type: string description: Property by which to sort the list of tasks. default: createdAt enum: - enabled - triggerType - action - updatedAt - createdAt taskID: type: string description: Universally unique identifier (UUID) of a task. example: 6c02aeb1-775e-418e-870b-1faccd4b2c0f Cron: type: string description: Cron expression for the task's schedule. example: '* * 1 * *' LastRun: description: The last time the scheduled task ran in RFC 3339 format. type: string NextRun: description: The next scheduled run of the task in RFC 3339 format. type: string MappingFormatSchema: type: string description: Mapping format schema. enum: - mappingkit/v1 MappingFieldDirective: type: object additionalProperties: false description: >- Describes how a field should be resolved by applying a set of directives. properties: fieldKey: description: Destination field key. type: string value: type: object additionalProperties: true description: How the destination field should be resolved from the source. required: - fieldKey - value MappingKitAction: type: object additionalProperties: false description: >- Describes how a destination object should be resolved by means of applying a set of directives. properties: id: description: ID to uniquely identify this action. type: string enabled: description: Whether this action has any effect. type: boolean trigger: description: >- Condition which must be satisfied to apply the action. If this evaluates to false, the action is not applied, and the process attempts to apply the next action, if any. type: string fieldDirectives: type: array items: $ref: '#/components/schemas/MappingFieldDirective' required: - enabled - trigger - fieldDirectives MappingInput: type: object additionalProperties: false description: Transformations to apply to the source, serialized as a JSON string. properties: format: $ref: '#/components/schemas/MappingFormatSchema' actions: type: array items: $ref: '#/components/schemas/MappingKitAction' required: - format - actions x-discriminator-fields: - format - actions StreamingInput: type: object additionalProperties: false description: >- Input for a `streaming` task whose source is of type `ga4BigqueryExport` and for which extracted data is continuously streamed. properties: mapping: $ref: '#/components/schemas/MappingInput' required: - mapping x-discriminator-fields: - mapping DockerStreamsSyncMode: type: string description: The strategy to use to fetch the data. enum: - incremental - fullTable DockerStreams: type: object properties: name: type: string description: The name of the stream to fetch the data from (e.g. table name). properties: type: array description: The properties of the stream to select (e.g. column). items: type: string syncMode: $ref: '#/components/schemas/DockerStreamsSyncMode' required: - name - syncMode DockerStreamsInput: description: The selected streams of an airbyte connector. type: object properties: streams: type: array items: $ref: '#/components/schemas/DockerStreams' required: - streams x-discriminator-fields: - streams ShopifyMetafield: type: object additionalProperties: false description: Represents a metafield in Shopify. properties: namespace: type: string key: type: string value: type: string required: - namespace - key - value ShopifyMarket: type: object additionalProperties: false description: Represents a market in Shopify. properties: countries: type: array items: type: string currencies: type: array items: type: string locales: type: array items: type: string required: - countries - currencies - locales ShopifyInput: type: object additionalProperties: false description: >- Represents the required elements of the task input when using a `shopify` source. properties: metafields: type: array items: $ref: '#/components/schemas/ShopifyMetafield' market: $ref: '#/components/schemas/ShopifyMarket' required: - metafields - market TaskInput: description: Configuration of the task, depending on its type. oneOf: - $ref: '#/components/schemas/StreamingInput' - $ref: '#/components/schemas/DockerStreamsInput' - $ref: '#/components/schemas/ShopifyInput' failureThreshold: type: integer minimum: 0 maximum: 100 description: >- Maximum accepted percentage of failures for a task run to finish successfully. cursor: type: string description: Date of the last cursor in RFC 3339 format. Notifications: type: object additionalProperties: false description: Notifications settings for a task. properties: email: title: emailNotifications type: object additionalProperties: false properties: enabled: description: >- Whether to send email notifications, note that this doesn't prevent the task from being blocked. type: boolean required: - email Policies: type: object additionalProperties: false description: Set of rules for a task. properties: criticalThreshold: description: >- The number of critical failures in a row before blocking the task and sending a notification. type: integer minimum: 1 maximum: 10 Task: type: object additionalProperties: false properties: taskID: $ref: '#/components/schemas/taskID' sourceID: $ref: '#/components/schemas/sourceID' destinationID: $ref: '#/components/schemas/destinationID' cron: $ref: '#/components/schemas/Cron' lastRun: $ref: '#/components/schemas/LastRun' nextRun: $ref: '#/components/schemas/NextRun' input: $ref: '#/components/schemas/TaskInput' enabled: type: boolean default: true description: Whether the task is enabled. failureThreshold: $ref: '#/components/schemas/failureThreshold' action: $ref: '#/components/schemas/ActionType' cursor: $ref: '#/components/schemas/cursor' notifications: $ref: '#/components/schemas/Notifications' policies: $ref: '#/components/schemas/Policies' createdAt: $ref: '#/components/schemas/createdAt' updatedAt: $ref: '#/components/schemas/updatedAt' required: - taskID - sourceID - destinationID - enabled - createdAt TaskCreate: type: object additionalProperties: false description: API request body for creating a task. properties: sourceID: $ref: '#/components/schemas/sourceID' destinationID: $ref: '#/components/schemas/destinationID' action: $ref: '#/components/schemas/ActionType' cron: $ref: '#/components/schemas/Cron' enabled: type: boolean description: Whether the task is enabled. failureThreshold: $ref: '#/components/schemas/failureThreshold' input: $ref: '#/components/schemas/TaskInput' cursor: $ref: '#/components/schemas/cursor' notifications: $ref: '#/components/schemas/Notifications' policies: $ref: '#/components/schemas/Policies' required: - sourceID - destinationID - action TaskCreateResponse: type: object additionalProperties: false description: API response for creating a task. properties: taskID: $ref: '#/components/schemas/taskID' createdAt: $ref: '#/components/schemas/createdAt' required: - taskID - createdAt TaskSearch: type: object additionalProperties: false properties: taskIDs: type: array items: $ref: '#/components/schemas/taskID' required: - taskIDs TaskUpdate: type: object additionalProperties: false description: API request body for updating a task. properties: destinationID: $ref: '#/components/schemas/destinationID' cron: $ref: '#/components/schemas/Cron' input: $ref: '#/components/schemas/TaskInput' enabled: type: boolean description: Whether the task is enabled. failureThreshold: $ref: '#/components/schemas/failureThreshold' notifications: $ref: '#/components/schemas/Notifications' policies: $ref: '#/components/schemas/Policies' TaskUpdateResponse: type: object description: API response for updating a task. additionalProperties: false properties: taskID: $ref: '#/components/schemas/taskID' updatedAt: $ref: '#/components/schemas/updatedAt' required: - taskID - updatedAt RunResponse: type: object additionalProperties: false description: API response for running a task. properties: runID: $ref: '#/components/schemas/runID' createdAt: $ref: '#/components/schemas/createdAt' required: - runID - createdAt action: type: string enum: - addObject - updateObject - partialUpdateObject - partialUpdateObjectNoCreate - deleteObject - delete - clear description: Type of indexing operation. objectID: type: string description: Unique record identifier. example: test-record-123 OnDemandTriggerType: type: string description: Task is run manually, with the `/run` endpoint. enum: - onDemand OnDemandTrigger: type: object additionalProperties: false description: Trigger information for manually-triggered tasks. properties: type: $ref: '#/components/schemas/OnDemandTriggerType' lastRun: $ref: '#/components/schemas/LastRun' required: - type ScheduleTriggerType: type: string description: Task runs on a schedule. enum: - schedule ScheduleTrigger: type: object additionalProperties: false description: Trigger information for scheduled tasks. properties: type: $ref: '#/components/schemas/ScheduleTriggerType' cron: $ref: '#/components/schemas/Cron' lastRun: $ref: '#/components/schemas/LastRun' nextRun: $ref: '#/components/schemas/NextRun' required: - type - cron - nextRun SubscriptionTriggerType: type: string description: Task runs after receiving subscribed event. enum: - subscription SubscriptionTrigger: type: object additionalProperties: false description: Trigger input for subscription tasks. properties: type: $ref: '#/components/schemas/SubscriptionTriggerType' required: - type StreamingTriggerType: type: string description: Task runs continuously. enum: - streaming StreamingTrigger: type: object additionalProperties: false description: Trigger input for continuously running tasks. properties: type: $ref: '#/components/schemas/StreamingTriggerType' required: - type Trigger: description: Trigger that runs the task. oneOf: - $ref: '#/components/schemas/OnDemandTrigger' - $ref: '#/components/schemas/ScheduleTrigger' - $ref: '#/components/schemas/SubscriptionTrigger' - $ref: '#/components/schemas/StreamingTrigger' TaskV1: type: object additionalProperties: false deprecated: true description: >- The V1 task object, please use methods and types that don't contain the V1 suffix. properties: taskID: $ref: '#/components/schemas/taskID' sourceID: $ref: '#/components/schemas/sourceID' destinationID: $ref: '#/components/schemas/destinationID' trigger: $ref: '#/components/schemas/Trigger' input: $ref: '#/components/schemas/TaskInput' enabled: type: boolean default: true description: Whether the task is enabled. failureThreshold: $ref: '#/components/schemas/failureThreshold' action: $ref: '#/components/schemas/ActionType' cursor: $ref: '#/components/schemas/cursor' notifications: $ref: '#/components/schemas/Notifications' policies: $ref: '#/components/schemas/Policies' createdAt: $ref: '#/components/schemas/createdAt' updatedAt: $ref: '#/components/schemas/updatedAt' required: - taskID - sourceID - destinationID - trigger - enabled - createdAt OnDemandTriggerInput: type: object additionalProperties: false description: Trigger information for manually-triggered tasks. properties: type: $ref: '#/components/schemas/OnDemandTriggerType' required: - type ScheduleTriggerInput: type: object additionalProperties: false description: Trigger input for scheduled tasks. properties: type: $ref: '#/components/schemas/ScheduleTriggerType' cron: $ref: '#/components/schemas/Cron' required: - type - cron x-discriminator-fields: - cron TaskCreateTrigger: oneOf: - $ref: '#/components/schemas/OnDemandTriggerInput' - $ref: '#/components/schemas/ScheduleTriggerInput' - $ref: '#/components/schemas/SubscriptionTrigger' - $ref: '#/components/schemas/StreamingTrigger' TaskCreateV1: type: object additionalProperties: false deprecated: true description: >- API request body for creating a task using the V1 shape, please use methods and types that don't contain the V1 suffix. properties: sourceID: $ref: '#/components/schemas/sourceID' destinationID: $ref: '#/components/schemas/destinationID' trigger: $ref: '#/components/schemas/TaskCreateTrigger' action: $ref: '#/components/schemas/ActionType' enabled: type: boolean description: Whether the task is enabled. failureThreshold: $ref: '#/components/schemas/failureThreshold' input: $ref: '#/components/schemas/TaskInput' cursor: $ref: '#/components/schemas/cursor' required: - sourceID - destinationID - trigger - action TriggerUpdateInput: type: object additionalProperties: false description: Trigger for a task update. properties: cron: $ref: '#/components/schemas/Cron' required: - cron TaskUpdateV1: type: object additionalProperties: false deprecated: true description: >- API request body for updating a task using the V1 shape, please use methods and types that don't contain the V1 suffix. properties: destinationID: $ref: '#/components/schemas/destinationID' trigger: $ref: '#/components/schemas/TriggerUpdateInput' input: $ref: '#/components/schemas/TaskInput' enabled: type: boolean description: Whether the task is enabled. failureThreshold: $ref: '#/components/schemas/failureThreshold' transformationSortKeys: type: string description: Property by which to sort the list of transformations. default: createdAt enum: - name - updatedAt - createdAt AuthenticationIDs: description: The authentications associated with the current transformation. type: array items: $ref: '#/components/schemas/authenticationID' Code: type: string description: The source code of the transformation. Name: type: string description: The uniquely identified name of your transformation. Description: type: string description: A descriptive name for your transformation of what it does. Transformation: type: object additionalProperties: false properties: transformationID: $ref: '#/components/schemas/transformationID' authenticationIDs: $ref: '#/components/schemas/AuthenticationIDs' code: $ref: '#/components/schemas/Code' name: $ref: '#/components/schemas/Name' description: $ref: '#/components/schemas/Description' createdAt: $ref: '#/components/schemas/createdAt' updatedAt: $ref: '#/components/schemas/updatedAt' required: - transformationID - code - name - createdAt TransformationCreate: type: object additionalProperties: false description: API request body for creating a transformation. properties: code: $ref: '#/components/schemas/Code' name: $ref: '#/components/schemas/Name' description: $ref: '#/components/schemas/Description' authenticationIDs: $ref: '#/components/schemas/AuthenticationIDs' required: - code - name TransformationCreateResponse: type: object additionalProperties: false description: API response for creating a transformation. properties: transformationID: $ref: '#/components/schemas/transformationID' createdAt: $ref: '#/components/schemas/createdAt' required: - transformationID - createdAt TransformationTry: type: object additionalProperties: false properties: code: $ref: '#/components/schemas/Code' sampleRecord: description: The record to apply the given code to. type: object authentications: type: array items: $ref: '#/components/schemas/AuthenticationCreate' required: - code - sampleRecord TransformationTryResponse: type: object additionalProperties: false properties: payloads: type: array description: The array of records returned by the transformation service. items: type: object error: title: transformationError type: object description: The error if the transformation failed. properties: code: description: The error status code. type: integer message: description: A descriptive message explaining the failure. type: string required: - payloads TransformationSearch: type: object additionalProperties: false properties: transformationIDs: type: array items: $ref: '#/components/schemas/transformationID' required: - transformationIDs TransformationUpdateResponse: type: object description: API response for updating a transformation. additionalProperties: false properties: transformationID: $ref: '#/components/schemas/transformationID' updatedAt: $ref: '#/components/schemas/updatedAt' required: - transformationID - updatedAt RunStatus: type: string description: Task run status. enum: - created - started - idled - finished - skipped RunType: type: string description: Task run type. enum: - reindex - update - discover - validate - push runSortKeys: type: string description: Property by which to sort the list of task runs. default: createdAt enum: - status - updatedAt - createdAt RunOutcome: type: string description: Task run outcome. enum: - success - failure RunReasonCode: type: string description: >- A code for the task run's outcome. A readable description of the code is included in the `reason` response property. enum: - internal - critical - no_events - too_many_errors - ok - discarded - blocking startedAt: type: string description: Date of start in RFC 3339 format. finishedAt: type: string description: Date of finish in RFC 3339 format. Run: type: object additionalProperties: false properties: runID: $ref: '#/components/schemas/runID' appID: type: string taskID: $ref: '#/components/schemas/taskID' status: $ref: '#/components/schemas/RunStatus' progress: title: runProgress type: object additionalProperties: false properties: expectedNbOfEvents: type: integer receivedNbOfEvents: type: integer required: - expectedNbOfEvents - receivedNbOfEvents outcome: $ref: '#/components/schemas/RunOutcome' failureThreshold: $ref: '#/components/schemas/failureThreshold' reason: type: string description: More information about the task run's outcome. reasonCode: $ref: '#/components/schemas/RunReasonCode' type: $ref: '#/components/schemas/RunType' createdAt: $ref: '#/components/schemas/createdAt' startedAt: $ref: '#/components/schemas/startedAt' finishedAt: $ref: '#/components/schemas/finishedAt' required: - runID - appID - taskID - status - type - createdAt Window: type: object additionalProperties: false description: Time window by which to filter the observability data. properties: startDate: type: string description: >- Date in RFC 3339 format representing the oldest data in the time window. endDate: type: string description: >- Date in RFC 3339 format representing the newest data in the time window. required: - startDate - endDate RunListResponse: type: object additionalProperties: false properties: runs: type: array items: $ref: '#/components/schemas/Run' pagination: $ref: '#/components/schemas/Pagination' window: $ref: '#/components/schemas/Window' required: - runs - pagination - window eventSortKeys: type: string description: Property by which to sort the list of task run events. enum: - status - type - publishedAt responses: BadRequest: description: Bad request or request arguments. content: application/json: schema: $ref: '#/components/schemas/ErrorBase' FeatureNotEnabled: description: This feature is not enabled on your Algolia account. content: application/json: schema: $ref: '#/components/schemas/ErrorBase' MethodNotAllowed: description: Method not allowed with this API key. content: application/json: schema: $ref: '#/components/schemas/ErrorBase' IndexNotFound: description: Index not found. content: application/json: schema: $ref: '#/components/schemas/ErrorBase' x-tagGroups: - name: Resources tags: - authentications - destinations - observability - sources - tasks - transformations x-timeouts: browser: connect: 25000 read: 25000 write: 25000 server: connect: 25000 read: 25000 write: 25000