# Sextant > Documentation for Sextant, an open-source CLI and HTTP API for scheduling background jobs and observing every run: install, guides, CLI and configuration reference, SDKs and the REST API. Current version: v2.4. The legacy v1 docs are listed under Optional. ## Getting started - [Introduction](https://themes.furybee.org/sextant/v2/getting-started/introduction): What Sextant is, what it is for, and how the documentation is organized. - [Installation](https://themes.furybee.org/sextant/v2/getting-started/installation): Install the sextant binary or the Docker image, choose a store, and check that everything works. - [Quickstart](https://themes.furybee.org/sextant/v2/getting-started/quickstart): Start a server, register a handler, create a job and watch it run, in about five minutes. - [Core concepts](https://themes.furybee.org/sextant/v2/getting-started/concepts): Jobs, queues, handlers, schedules, workers and leases. The six ideas the rest of the docs build on. - [Job lifecycle](https://themes.furybee.org/sextant/v2/getting-started/job-lifecycle): The seven states a job can be in, what moves it between them, and which transitions you can trigger yourself. - [Architecture](https://themes.furybee.org/sextant/v2/getting-started/architecture): How the server, the store and the workers fit together, and what is safe to scale horizontally. ## Guides - [Scheduling jobs](https://themes.furybee.org/sextant/v2/guides/scheduling): Run jobs at a time, after a delay, on a cron expression or on a fixed interval, and decide what happens when runs overlap. - [Retries and backoff](https://themes.furybee.org/sextant/v2/guides/retries): How many times Sextant retries, how long it waits between attempts, and how to treat errors that should never be retried. - [Observability](https://themes.furybee.org/sextant/v2/guides/observability): Prometheus metrics, structured logs and per-job timelines, and the three alerts worth setting up first. - [Webhooks](https://themes.furybee.org/sextant/v2/guides/webhooks): Receive job events at your HTTPS endpoint, verify the signature on every delivery, and handle retries and duplicates. - [Tokens and scopes](https://themes.furybee.org/sextant/v2/guides/access-tokens): Create API tokens with the smallest scopes that work, set expiries, rotate them without downtime and revoke them. - [Deploying](https://themes.furybee.org/sextant/v2/guides/deploying): Run the server and workers with Docker, Kubernetes or systemd, size the store, and shut workers down gracefully. - [Migrating from v1](https://themes.furybee.org/sextant/v2/guides/migrating-from-v1): Move a v1 installation to v2: convert the config, import jobs from Redis, update clients and switch over. ## CLI reference - [CLI overview](https://themes.furybee.org/sextant/v2/cli/overview): How the sextant command is organized, how it finds the server and your credentials, and the flags every command shares. - [server and worker](https://themes.furybee.org/sextant/v2/cli/server-and-worker): Reference for sextant server and sextant worker, the two long-running commands, with every flag and its config key. - [jobs](https://themes.furybee.org/sextant/v2/cli/jobs): Create, list, inspect, cancel and retry jobs from the command line, with every flag. - [schedules](https://themes.furybee.org/sextant/v2/cli/schedules): Create, list, pause and delete recurring schedules from the CLI. - [queues](https://themes.furybee.org/sextant/v2/cli/queues): List queues with their depth and throughput, and pause or resume them without restarting anything. - [tokens, webhooks, logs and more](https://themes.furybee.org/sextant/v2/cli/admin): Reference for the operational commands: tokens, webhooks, logs, inspect, config, migrate, login and init. ## Configuration - [Configuration file](https://themes.furybee.org/sextant/v2/configuration/config-file): Every key in sextant.toml with its type and default, from the server and store to queues, handlers and retention. - [Environment variables](https://themes.furybee.org/sextant/v2/configuration/environment): Every environment variable the CLI, server and SDKs read, and how they combine with flags and the config file. - [Stores and Postgres tuning](https://themes.furybee.org/sextant/v2/configuration/stores): Choose between SQLite and Postgres, set connection limits, plan for backups and keep the jobs table small. ## SDKs - [SDKs overview](https://themes.furybee.org/sextant/v2/sdks/overview): The official Node, Python and Go clients: what they cover, how they authenticate, and how to write handlers with them. - [Node SDK](https://themes.furybee.org/sextant/v2/sdks/node): Install and use the Node client and worker: creating jobs, paging through lists, handlers with cancellation and error handling. - [Python SDK](https://themes.furybee.org/sextant/v2/sdks/python): Install and use the Python client, its asyncio variant and the handler decorator, with typed errors and pagination. - [Go SDK](https://themes.furybee.org/sextant/v2/sdks/go): Install and use the Go client and worker with context cancellation, structured errors and typed parameters. ## API reference - [API overview](https://themes.furybee.org/sextant/v2/api/overview): Base URL, authentication, errors, pagination, idempotency and rate limits of the Sextant REST API. - [Jobs API](https://themes.furybee.org/sextant/v2/api/jobs): POST /jobs, GET /jobs, GET /jobs/{job_id}, POST /jobs/{job_id}/cancel, POST /jobs/{job_id}/retry - [Schedules API](https://themes.furybee.org/sextant/v2/api/schedules): POST /schedules, GET /schedules, GET /schedules/{schedule_id}, PATCH /schedules/{schedule_id}, DELETE /schedules/{schedule_id} - [Queues API](https://themes.furybee.org/sextant/v2/api/queues): GET /queues, POST /queues/{queue}/pause, POST /queues/{queue}/resume - [Workers API](https://themes.furybee.org/sextant/v2/api/workers): GET /workers - [Webhooks API](https://themes.furybee.org/sextant/v2/api/webhooks): POST /webhooks, GET /webhooks, POST /webhooks/{webhook_id}/test, DELETE /webhooks/{webhook_id} - [Tokens API](https://themes.furybee.org/sextant/v2/api/tokens): POST /tokens, GET /tokens, DELETE /tokens/{token_id} ## Optional - [Changelog](https://themes.furybee.org/sextant/changelog): every release, newest first - [Full documentation in one file](https://themes.furybee.org/sextant/llms-full.txt): all v2 pages as Markdown - [v1: Sextant v1 documentation](https://themes.furybee.org/sextant/v1): Documentation for Sextant 1.x, the previous major version. It receives no updates; new projects should use v2. - [v1: Cron jobs](https://themes.furybee.org/sextant/v1/guides/cron-jobs): Declare recurring jobs in sextant.yaml with a cron expression, and understand the single-scheduler rule. - [v1: CLI reference](https://themes.furybee.org/sextant/v1/reference/cli): The v1 commands: start, jobs, requeue, pause and version. - [v1: Installation](https://themes.furybee.org/sextant/v1/getting-started/installation): Install Sextant 1.x and connect it to a Redis server. - [v1: Retries](https://themes.furybee.org/sextant/v1/guides/retries): Configure fixed-delay retries per job or globally in v1. - [v1: Configuration](https://themes.furybee.org/sextant/v1/reference/config): Reference for sextant.yaml in v1: redis, server, defaults, cron and logging. - [v1: Quickstart](https://themes.furybee.org/sextant/v1/getting-started/quickstart): Enqueue a job with the v1 SDKs and see a worker run it. - [v1: Callbacks](https://themes.furybee.org/sextant/v1/guides/callbacks): Ask v1 to call a URL when a job finishes with callback_url, and how to secure the endpoint. - [v1: REST API](https://themes.furybee.org/sextant/v1/reference/rest-api): The v1 REST API under /api/v1: authentication with API keys and the job endpoints. - [v1: Concepts](https://themes.furybee.org/sextant/v1/getting-started/concepts): Jobs, handlers, the single default queue and the v1 job statuses.