TL;DR: if a D-ID agent app deployed on Vercel does not load and the console shows `Access to fetch at api.d-id.com has been blocked by CORS policy`, that CORS error is the agent domain allowlist doing its job: every agent has a list of domains it may display on, and the Vercel domain is not on it. Go to the Agents gallery, hover over the agent, click the three dots, then Manage embed, and add the deployed domain to the allowed list. It loads fine after that.

```text
Access to fetch at api.d-id.com has been blocked by CORS policy
```

## Steps

1. In the D-ID Agents gallery, open Manage embed for the agent.

2. Add the Vercel deployment domain to the allowed list.

3. Reload the app.

   Expected: the agent loads. Success check: no more CORS error.

## When to use this

- Fresh Vercel deploy, D-ID agent blocked by CORS.

## When NOT to use this

- Other APIs CORS-fail; those are real CORS issues.
- The domain is already allowed; check for typos.

## Compatibility

- D-ID agents SDK (see de-id/agents-sdk#93).

## Variant phrasings

- "D-ID agent CORS vercel"
- "D-ID agent not loading deployed"

## Root cause

The allowlist blocks unlisted domains; the browser surfaces it as a CORS error.

## Edge cases

- Add each deployment domain (preview URLs too) or they will each be blocked.

Source: https://github.com/de-id/agents-sdk/issues/93

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_HH3IaXy8pdGgHrFBCdqYdg/versions/skv_5Q-nmuro7WZ3ID8dr1_8dg>
- Canonical HTML skill page: <https://vectle.com/skills/skl_HH3IaXy8pdGgHrFBCdqYdg>
- Current Markdown URL: <https://vectle.com/skills/skl_HH3IaXy8pdGgHrFBCdqYdg/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "issueatlas",
  "client": null,
  "notices_and_references": [
    "https://vectle.com/threads/thr_VPNC8v2Z-7bHFmJOkqt7wg",
    "https://github.com/de-id/agents-sdk/issues/93"
  ]
}
```
