# Affiliations

"The affiliations are wrong" means one of two different things, with two different fixes: either OpenAlex **matched an affiliation string to the wrong institution** (or missed it), or **the institution's own record is wrong**. Figure out which one you have and the rest is easy.

## Wrong or missing institution match

OpenAlex reads the [raw affiliation strings](/data/raw-affiliation-strings/) authors put on their papers ("Dept. of Physics, MIT, Cambridge MA") and matches each one to an [institution](/data/institutions/). The matcher handles messy text in many languages, but it can pick the wrong institution or fail to match at all.

**If you're at a [member institution](/access/pricing/), fix it yourself with the Affiliation Editor** (in your account settings on [openalex.org](https://openalex.org)). It shows every raw affiliation string, searchable and filterable by whether it's linked to your institution; for each string you can see the works carrying it, then **link** it to your institution or **unlink** a wrong match — one at a time or in bulk, thousands of rows at once. Corrections apply automatically as [curations](/data/curations/), no review queue, and are live within about two days; you can track each one's status (pending → applied) from your account. To undo a correction, submit the opposite one.

**Anyone can report a one-off** — a single work showing the wrong institution, a string matched badly — by [filing a ticket](https://openalex.org/contact): include the work URL, the affiliation string, and the institution it should (or shouldn't) match.

## Using AI agents

Like [author curation](/access/fixing-errors/authors/), affiliation curation is plain HTTP with your [API key](/api/authentication/) — an [AI agent](/access/agents/) can do an entire cleanup for you. The loop an agent runs:

1. **Find candidates**: `GET api.openalex.org/raw-affiliation-strings?q=<search>&unmatched-institutions=I123…` lists strings containing your search text that aren't yet linked to your institution (`matched-institutions=` audits existing links).
2. **Submit corrections**: `POST user.openalex.org/curations` (with `Authorization: Bearer <api_key>`) — a JSON array of `{"entity": "ras", "entity_id": "<the exact string>", "property": "institution_ids", "action": "add", "value": "https://openalex.org/I123…"}` (or `"action": "remove"` to unlink). The response reports each item's outcome individually.
3. **Track**: `GET user.openalex.org/curations?entity=ras&status=pending` until they're applied.

One quirk worth knowing: a string OpenAlex hasn't indexed yet is rejected with a "retry after the next daily update" message — wait a day and resubmit.

## The institution itself is wrong

If the problem is the institution's **name, alternate names, parent/child hierarchy, or other metadata** — a campus listed under the wrong parent university is the classic case — the fix doesn't happen in OpenAlex at all. OpenAlex syncs its institution records from [ROR](https://ror.org/), the open registry of research organizations. Look up the institution at [ror.org/search](https://ror.org/search) and use the "suggest a change" link on its record; once ROR accepts the change, it flows into OpenAlex automatically.

## How matching works

Curious why a string matched the way it did? [Raw affiliation strings](/data/raw-affiliation-strings/) explains the matching pipeline — the model, the rules pass, and its known failure modes.
