openapi: 3.0.3 info: title: Lytics REST Accounts Jobs API description: The Lytics REST API provides programmatic access to user profile management, behavioral segment queries, content affinity scores, audience activations, data stream ingestion, Cloud Connect warehouse integrations, and job orchestration for the Lytics customer data platform (CDP). version: 2.1.0 contact: name: Lytics Support url: https://support.lytics.com/hc/en-us license: name: Proprietary url: https://www.lytics.com/ servers: - url: https://api.lytics.io description: Lytics Production API security: - ApiKeyQuery: [] - ApiKeyHeader: [] tags: - name: Jobs description: Orchestrate and monitor background data jobs paths: /api/job: get: operationId: listJobs summary: List jobs description: Returns all data import/export jobs for the account. tags: - Jobs parameters: - $ref: '#/components/parameters/ApiKeyParam' responses: '200': description: Successful response with job list content: application/json: schema: $ref: '#/components/schemas/JobListResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' post: operationId: createJob summary: Create a job description: Creates and starts a new data import or export job. tags: - Jobs parameters: - $ref: '#/components/parameters/ApiKeyParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/JobRequest' responses: '200': description: Job created successfully content: application/json: schema: $ref: '#/components/schemas/JobResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /api/job/{id}: get: operationId: getJob summary: Get job by ID description: Returns the current status and details of a specific job. tags: - Jobs parameters: - name: id in: path required: true description: The job ID schema: type: string - $ref: '#/components/parameters/ApiKeyParam' responses: '200': description: Successful response with job details content: application/json: schema: $ref: '#/components/schemas/JobResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: operationId: cancelJob summary: Cancel a job description: Cancels a running job. tags: - Jobs parameters: - name: id in: path required: true description: The job ID schema: type: string - $ref: '#/components/parameters/ApiKeyParam' responses: '200': description: Job cancelled successfully content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' components: responses: NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Unauthorized — missing or invalid API key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalServerError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Bad request — invalid parameters or request body content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: JobRequest: type: object required: - type - connection_id properties: type: type: string description: Job type connection_id: type: string description: Connection to use for this job config: type: object description: Job configuration parameters additionalProperties: true JobResponse: type: object properties: status: type: integer example: 200 message: type: string example: ok data: $ref: '#/components/schemas/Job' Job: type: object description: A Lytics data import or export job properties: id: type: string description: Unique job identifier type: type: string description: Job type (import, export, etc.) status: type: string description: Current job status enum: - pending - running - complete - failed - cancelled connection_id: type: string description: Associated connection ID config: type: object description: Job-specific configuration additionalProperties: true error: type: string description: Error message if the job failed created: type: string format: date-time modified: type: string format: date-time ErrorResponse: type: object properties: status: type: integer description: HTTP status code example: 400 message: type: string description: Human-readable error message example: invalid API key JobListResponse: type: object properties: status: type: integer example: 200 message: type: string example: ok data: type: array items: $ref: '#/components/schemas/Job' SuccessResponse: type: object properties: status: type: integer example: 200 message: type: string example: ok parameters: ApiKeyParam: name: key in: query required: false description: Lytics API key (required unless passed via Authorization header) schema: type: string securitySchemes: ApiKeyQuery: type: apiKey in: query name: key description: Lytics API key passed as a query parameter. Obtain your API key from the Lytics account settings. ApiKeyHeader: type: apiKey in: header name: Authorization description: Lytics API key passed as an Authorization header value. externalDocs: description: Lytics API Reference Documentation url: https://docs.lytics.com/reference