# ETF KID Document

> Returns the Key Information Document (KID) as a PDF file.

`GET https://api.bavest.co/v2/etfs/kid`

Group: ETFs. Route id: `v2_etfs_kid`. Included in: Pro, Growth.

## Authentication

Send your API key in the `x-api-key` header on every request. No key yet? Sign up at https://dashboard.bavest.co/sign-up (free trial). The examples read the key from the `BAVEST_API_KEY` environment variable.

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `isin` | query | string | yes | ETF ISIN code (required for KID endpoints) Example `IE00B4L5Y983`. |
| `language` | query | string | no | Language code (ISO 639-1). `lang` is accepted as an alias. Example when explicitly filtering: `en`. Default `en`. |
| `type` | query | string | no | Which document to return. Omit it and the endpoint returns the PRIIPs KID, falling back to the UCITS KIID when no KID is held for that language. Set it to fetch one specific document -- in particular a KIID for an ISIN that also has a KID in the same language, which is otherwise unreachable even though /v2/etfs/documents/catalog lists it. Example when explicitly filtering: `KIID`. One of `KID`, `KIID`. |

## Response

200 KID document (application/pdf) (`application/pdf`).

## Example request

```bash
curl 'https://api.bavest.co/v2/etfs/kid?isin=IE00B4L5Y983' \
  -H "x-api-key: $BAVEST_API_KEY" \
  -H 'accept: application/pdf' \
  --output response.pdf
```

## Errors

| Status | Meaning |
|---|---|
| 400 | Invalid request parameters. Returned when required query parameters are missing, have invalid types, or violate constraints (e.g., providing both symbol and isin when they are mutually exclusive). |
| 401 | Missing or invalid API key. |
| 404 | Resource not found. |
| 429 | Rate limit exceeded. Retry after the `Retry-After` header interval. |
| 500 | An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value. |
| 502 | Upstream data provider returned an error or is temporarily unavailable. Retry after a short delay. |
| 504 | The request timed out waiting for a response from the upstream data provider. This may occur for complex queries or during peak load. |
| default | An unexpected error occurred on the server. If the issue persists, contact support with the X-Request-Id header value. |

- `403` from the gateway: the API key is invalid or switched off.
- `429` with message `Limit Exceeded`: the monthly quota of the key is used up. With `Too Many Requests`: the key is throttled, or this route is not in the key's plan. Wait for `Retry-After` when it is sent.

## Links

- HTML page: https://dashboard.bavest.co/docs/v2_etfs_kid
- OpenAPI: https://dashboard.bavest.co/openapi.json (YAML: https://dashboard.bavest.co/openapi.yaml)
- Authentication: https://dashboard.bavest.co/docs/authentication.md
- MCP server for AI agents: https://dashboard.bavest.co/docs/mcp.md
- All routes: https://dashboard.bavest.co/llms.txt
