{
  "$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"
      ]
    }
  }
}