Skip to main content
The Take Time API is a REST API that lets you read and manage your study schedule programmatically. Every endpoint requires a Bearer token and returns the same JSON envelope — making error handling predictable and integrations easy to build.

Base URL

All requests are made to the following base URL:

Authentication

Every request must include your API key as a Bearer token in the Authorization header.
API keys are prefixed by environment: tt_live_ keys access your real data; tt_test_ keys operate in sandbox mode and do not affect real data. Generate keys from the Settings → Developer section of the Take Time app.
Keep your API key secret. Do not expose it in client-side code, public repositories, or logs. If a key is compromised, rotate it immediately from your account settings.

Content-Type

For endpoints that accept a request body (POST and PATCH), set the Content-Type header to application/json and send the body as a JSON object.

Response Envelope

Every response — success or error — is wrapped in the same JSON envelope with three top-level keys. Success envelope
Error envelope
The meta.request_id field is useful when contacting support. Include it in any bug reports or support requests so the team can trace the exact request.

Error Codes

When a request fails, the error object in the response envelope contains a code field that identifies the problem.
When you receive a RATE_LIMITED response, check the Retry-After header for the number of seconds to wait before retrying the request.

Pagination

List endpoints return all matching results as an array inside the data field. There is no cursor or page-based pagination at this time — apply query parameter filters (such as date_from / date_to or subject_id) to narrow large result sets.

Date and Time Formats

All times are interpreted in the timezone configured on your Take Time account.