{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/algolia/main/json-schema/algolia-configuration-object-schema.json", "title": "configurationObject", "x-generated": "2026-09-23", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/algolia-advanced-personalization-api-openapi.yml#/components/schemas/configurationObject", "type": "object", "properties": { "indices": { "type": "array", "items": { "title": "configurationObject", "type": "object", "properties": { "index": { "type": "string" }, "affinities": { "type": "array", "items": { "type": "string" } }, "source": { "title": "source", "type": "object", "properties": { "type": { "$ref": "#/$defs/sourceType" }, "events": { "$ref": "#/$defs/events" } } }, "errors": { "type": "array", "items": { "$ref": "#/$defs/issue" } }, "warnings": { "type": "array", "items": { "$ref": "#/$defs/issue" } }, "lastUpdatedAt": { "type": "string" } }, "required": [ "index", "affinities", "source", "errors", "warnings", "lastUpdatedAt" ] } }, "personalizationReRanking": { "$ref": "#/$defs/personalizationReRanking" }, "profileType": { "$ref": "#/$defs/profileType" }, "status": { "$ref": "#/$defs/Configuration_status" }, "features": { "$ref": "#/$defs/features" } }, "required": [ "indices", "personalzationReRanking", "profileType", "status", "features" ], "$defs": { "Configuration_status": { "type": "object", "properties": { "type": { "$ref": "#/$defs/status" }, "errors": { "type": "array", "items": { "$ref": "#/$defs/errorCodes" } }, "lastUpdatedAt": { "type": "string" } } }, "errorCodes": { "title": "errorCodes", "type": "string", "enum": [ "blocked", "deleted", "no_perso_access", "all_attr_value_filtered", "missing_index", "no_events_last_30_days", "pending_pipelines", "invalid_config", "all_facets_invalid" ] }, "event": { "type": "object", "properties": { "type": { "$ref": "#/$defs/eventType" }, "subtype": { "$ref": "#/$defs/subtype" }, "name": { "type": "string" } }, "required": [ "type", "name" ] }, "eventType": { "type": "string", "enum": [ "view", "click", "conversion" ] }, "events": { "type": "object", "properties": { "viewDetails": { "type": "array", "items": { "$ref": "#/$defs/event" } }, "viewListing": { "type": "array", "items": { "$ref": "#/$defs/event" } }, "addToCart": { "type": "array", "items": { "$ref": "#/$defs/event" } }, "purchase": { "type": "array", "items": { "$ref": "#/$defs/event" } } }, "required": [ "viewDetails", "viewListing", "addToCart", "purchase" ] }, "features": { "type": "object", "properties": { "realtime": { "$ref": "#/$defs/realtime" } } }, "issue": { "type": "object", "description": "An issue is either an 'error' or a 'warning' that is generated by the validator.", "properties": { "code": { "type": "string" }, "index": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "index", "message" ] }, "personalizationReRanking": { "type": "string", "description": "The impact that personalization has on the re-ranking of search results.", "enum": [ "none", "low", "medium", "high", "maximum" ] }, "profileType": { "type": "string", "enum": [ "basic" ], "description": "The type of user profiles to generate.\n\nBasic profiles are based on past behaviors, ensuring search results align with previous interests.\n" }, "realtime": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Whether the realtime personalization feature is enabled." } } }, "sourceType": { "title": "type", "type": "string", "enum": [ "insights" ] }, "status": { "title": "status", "type": "string", "enum": [ "pending", "active", "paused" ] }, "subtype": { "type": "string", "enum": [ "addToCart", "purchase" ] } } }