openapi: 3.2.0 info: title: Clerk.io Audiences API version: '2' description: 'Clerk.io e-commerce personalisation REST API. Ingest and manage catalog data (products, categories, pages, orders, order parcels, customers, accessories), run behaviour-ranked search and predictive search-as-you-type, request recommendation logics (popular, trending, new, complementary, substituting, visitor- and customer-personalised, category- and page-scoped), manage merchandising (custom search configurations, synonyms, redirects), drive audiences/campaigns/subscribers for email, log visitor behaviour events, and service GDPR privacy requests. All endpoints live under https://api.clerk.io/v2. Authentication uses a dual-key model: the public `key` identifies the store and is safe in browser-side calls; `private_key` is additionally required for write and sensitive operations and MUST only be sent over SSL.' contact: name: Clerk.io Documentation url: https://docs.clerk.io/ x-provenance: method: searched harvested: '2026-08-13' source: https://docs.clerk.io/reference/ (ReadMe API Designer OpenAPI 3.1.0 fragments per reference page) original: openapi/_original/clerk-io-api-settings-openapi-original.yml note: Provider-published operation content is verbatim. API Evangelist added the document title/description, tags[] declarations and per-operation tag assignment; see overlays/clerk-io-api-overlay.yaml. servers: - url: https://api.clerk.io/v2 security: - sec0: [] tags: - name: Audiences paths: /audiences: get: summary: /audiences description: '' operationId: audiences-get parameters: - name: key in: query description: The public key of the store required: true schema: type: string - name: private_key in: query description: The private key of the store required: true schema: type: string - name: ids in: query description: The ids of the audiences to fetch schema: type: array items: type: integer format: int32 responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Audiences post: summary: /audiences description: '' operationId: audiences-post requestBody: content: application/json: schema: type: object required: - key - private_key properties: key: type: string description: The public key of the store private_key: type: string description: The private key of the store audiences: type: array description: The list of audiences to create responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Audiences patch: summary: /audiences description: '' operationId: audiences-patch requestBody: content: application/json: schema: type: object required: - key - private_key properties: key: type: string description: The public key of the store private_key: type: string description: The private key of the store audiences: type: array description: The list of audiences to update responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Audiences delete: summary: /audiences description: '' operationId: audiences-delete requestBody: content: application/json: schema: type: object required: - key - private_key properties: key: type: string description: The public key of the store private_key: type: string description: The private key of the store ids: type: array description: The ids of the audiences to delete items: type: integer format: int32 responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Audiences /audiences/emails: get: summary: /audiences/emails description: '' operationId: audiencesemails parameters: - name: key in: query description: The public key of the store required: true schema: type: string - name: private_key in: query description: The private key of the store required: true schema: type: string - name: id in: query description: The id for the audience to fetch all emails from. required: true schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: '{''status'':''ok'', ''audiences'':[''a@a.a'',''b@b.gmail'']}' '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Audiences /audiences/list: get: summary: /audiences/list description: '' operationId: audienceslist parameters: - name: key in: query description: The public key of the store required: true schema: type: string - name: private_key in: query description: The private key of the store required: true schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: '{''status'':''ok''}' '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Audiences components: securitySchemes: sec0: type: apiKey name: key in: query x-default: your_api_key