---
title: "Update AI models"
method: PUT
path: "/api/sites/multiscreen/{site_name}/aeo/models"
tags: ["AEO Settings"]
---

# Update AI models

`PUT /api/sites/multiscreen/{site_name}/aeo/models`

## Request

- Base URL: `https://api.duda.co`
- URL: `https://api.duda.co/api/sites/multiscreen/{site_name}/aeo/models`
- Auth: HTTP basic

Replaces the AI answer engines the site's project tracks, and returns the new list. Other settings are unchanged.

The number of models multiplies the cost of every scheduled and manual run (prompts × AI models).

## Path parameters

- `site_name` string, required

## Request body

- ApiAeoModels
  - `ai_models` ApiAeoModel[], required: AI answer engines the project tracks. At least one is required, up to the plan's limit.

## Response `200`

OK

- ApiAeoModels
  - `ai_models` ApiAeoModel[], required: AI answer engines the project tracks. At least one is required, up to the plan's limit.

## Other responses

- `400`: Bad request. `error_code` is `InvalidInput` and `errors` is empty. - `ai_models` is missing, empty or contains an unknown value.
- `401`: Unauthorized. The credentials are missing or invalid.
- `403`: Forbidden. `error_code` is `AccessForbidden`, and `errors[0].code` names the cause: - No code (`errors` is empty): the caller can't access the site. - `AeoPlanNotFound`: the account has no active AEO plan. - `AeoModelsLimitExceeded`: the list is longer than the plan allows. Duplicate values count toward the limit.
- `404`: Not found. `error_code` is `ResourceNotExist`, and `errors[0].code` names the cause: - `AeoProjectNotFound`: the site has no AEO project.
- `429`: Too many requests. The rate limit was exceeded.

---

[API](https://skmtc.dev/duda/apis/duda-partner-api.md) - [All operations](https://skmtc.dev/duda/apis/duda-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/duda/apis/duda-partner-api/revisions/52be4d41cb12?raw)
