# Client SDKs

> Generate a typed Curriculo API client for TypeScript, Python or any language from the OpenAPI 3.1 specification, or import it into Postman.

**Source:** /docs/client-sdks/ (Curriculo Docs)  
**Updated:** 12 October 2026  
**Contact:** hello@curriculo.me

The API is plain REST described by an OpenAPI 3.1 document, so you generate a typed client for your language in one command rather than depending on a hand-written SDK release cycle.

```text
https://api.curriculo.me/public/openapi.json
```

The specification covers the synchronous operations and the background task endpoints. The [screening interview](/docs/api/screening-interview/) endpoints are not in it yet; call them directly.

## Generate a typed client from the spec

TypeScript:

```bash
npx @hey-api/openapi-ts -i https://api.curriculo.me/public/openapi.json -o src/curriculo-client
```

Python:

```bash
openapi-generator-cli generate -i https://api.curriculo.me/public/openapi.json \
  -g python -o ./curriculo-client
```

## What every client must do

- Send `Authorization: Bearer <credential>` on every call.
- Keep a request timeout above five minutes for the document operations.
- Retry `429` and `503` with backoff.
- Log the `X-Curriculo-Request-Id` response header.

See [Authentication](/docs/authentication/), [Rate limits](/docs/rate-limits/) and [Errors](/docs/errors/).

## Interactive documentation and Postman

- [Swagger UI](https://api.curriculo.me/public/docs): run any synchronous operation against production with your own key.
- [ReDoc](https://api.curriculo.me/public/redoc): the same specification, as a readable reference.
- **Postman:** import the OpenAPI JSON above, or a cURL request copied from the documentation page in the [Developer Console](https://console.curriculo.me).
