# contract_not_found

Source: https://capacms.com/docs/errors/contract_not_found

404 not_found. Capa-Contract names a contract this project does not have.

| HTTP status | `type`      | Surfaces      |
| ----------- | ----------- | ------------- |
| 404         | `not_found` | REST, GraphQL |

## What it means

Capa-Contract names a contract this project does not have. Only contract 1 exists today.

| When                       | What the `hint` tells you |
| -------------------------- | ------------------------- |
| `Capa-Contract` is not `1` | the contracts that exist  |

## What to do

Drop the Capa-Contract header or send 1.

## The response

HTTP 404:

```json
{
  "error": {
    "type": "not_found",
    "code": "contract_not_found",
    "message": "Contract 2 does not exist.",
    "param": "Capa-Contract",
    "hint": "This project has contract 1 only.",
    "docs": "https://docs.capacms.com/errors/contract_not_found"
  },
  "meta": {
    "version": "2026-10-01",
    "contract": 1,
    "requestId": "req_0f3c…"
  }
}
```

## On GraphQL

`/api/graphql` answers the same `code` inside `errors[].extensions`. The status depends on the `Accept` header you send ([status codes](https://capacms.com/docs/api/graphql#status-codes)):

| `application/json` | `graphql-response+json` | When                         |
| ------------------ | ----------------------- | ---------------------------- |
| 404                | 404                     | `Capa-Contract` other than 1 |

## See also

* [Versions](https://capacms.com/docs/api/versions)
