OpenAPI Specification
openapi: 3.0.3
info:
title: Tidio OpenAPI (REST) Contacts Products API
description: 'REST API for managing contacts, conversations, tickets, operators, and Lyro AI data sources. Requires Plus or Premium plan for full access; Lyro AI plan grants access to Lyro-specific endpoints. Authentication uses paired X-Tidio-Openapi-Client-Id and X-Tidio-Openapi-Client-Secret headers. Rate limits range from 10 requests per minute (entry plans) to 120 requests per minute (Premium).
'
version: '1'
contact:
name: Tidio Developer Support
url: https://developers.tidio.com/support
termsOfService: https://www.tidio.com/terms/
license:
name: Proprietary
url: https://www.tidio.com/terms/
servers:
- url: https://api.tidio.co
description: Tidio REST API
security:
- clientId: []
clientSecret: []
tags:
- name: Products
description: Product catalog for Lyro AI recommendations
paths:
/products/batch:
put:
operationId: upsertProducts
tags:
- Products
summary: Upsert products
description: 'Upload or update up to 100 products for Lyro AI recommendations using batch processing. Products are processed all-or-nothing. Processing is asynchronous.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- products
properties:
products:
type: array
minItems: 1
maxItems: 100
items:
$ref: '#/components/schemas/ProductUpsert'
responses:
'204':
description: Products accepted for processing
'400':
description: Bad request
'409':
description: Products import already initialized from e-commerce platform
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/products/{productId}:
delete:
operationId: deleteProduct
tags:
- Products
summary: Delete product
description: 'Permanently removes a product from Lyro AI recommendations. Deletion is irreversible and processed asynchronously.
'
parameters:
- name: productId
in: path
required: true
schema:
type: integer
responses:
'204':
description: Product deletion accepted
'404':
description: Product not found
components:
schemas:
ProductUpsert:
type: object
required:
- id
- url
- title
- description
- default_currency
- status
- updated_at
properties:
id:
type: integer
url:
type: string
maxLength: 512
format: uri
image_url:
type: string
maxLength: 512
format: uri
title:
type: string
maxLength: 512
description:
type: string
vendor:
type: string
maxLength: 255
product_type:
type: string
maxLength: 255
sku:
type: string
maxLength: 255
barcode:
type: string
maxLength: 255
default_currency:
type: string
status:
type: string
enum:
- visible
- hidden
price:
type: number
nullable: true
features:
type: object
additionalProperties:
type: string
maxLength: 255
updated_at:
type: string
format: date-time
description: ISO 8601 timestamp (e.g., 2023-06-01T10:00:00+00:00).
ErrorItem:
type: object
properties:
code:
type: string
message:
type: string
ErrorResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorItem'
securitySchemes:
clientId:
type: apiKey
in: header
name: X-Tidio-Openapi-Client-Id
clientSecret:
type: apiKey
in: header
name: X-Tidio-Openapi-Client-Secret