# Abstract > One API for robot action models and LLMs. - [Abstract API](https://abstract-pbc.mintlify.app/index.md): One API key for robot action models and LLMs. - [Quickstart](https://abstract-pbc.mintlify.app/quickstart.md): Choose a checkpoint, send an observation, and get robot actions. - [Authentication and keys](https://abstract-pbc.mintlify.app/authentication.md): Get an API key with the abstract CLI, pass it without showing it, and handle 401. - [Robot models](https://abstract-pbc.mintlify.app/robots/models.md): Cameras, frames, native state, and action shapes for each served robot model. - [Robot episodes](https://abstract-pbc.mintlify.app/robots/chat-completions.md): Call get_action, execute the chunk, repeat. - [Get action](https://abstract-pbc.mintlify.app/robots/get-action.md): One observation in, one action chunk in the selected model's contract out. - [Handoff](https://abstract-pbc.mintlify.app/robots/handoff.md): The optional handoff flag, and why true is refused today. - [Usage and billing units](https://abstract-pbc.mintlify.app/robots/usage.md): What a robot chunk is billed from: prompt tokens, cached tokens, and actions. - [Chat completions](https://abstract-pbc.mintlify.app/llm/chat-completions.md): Call the LLM models with the OpenAI Chat Completions API, whole or streamed. - [Errors and limits](https://abstract-pbc.mintlify.app/errors.md): Every error code the robot and LLM routes return, with its HTTP status and what to do. - [CLI reference](https://abstract-pbc.mintlify.app/cli.md): The abstract command: install, sign in, print the key and set up an agent. - [API reference](https://abstract-pbc.mintlify.app/api-reference/introduction.md): The HTTP endpoints of api.abstract.inc. - [Create a chat completion](https://abstract-pbc.mintlify.app/api-reference/chat-completions/create-a-chat-completion.md): An LLM model answers an OpenAI Chat Completions body. - [Retrieve a chat completion](https://abstract-pbc.mintlify.app/api-reference/chat-completions/retrieve-a-chat-completion.md): Returns an LLM completion your account created. A completion from a retired model reads back from its kept answer. - [Turn one observation into an action chunk](https://abstract-pbc.mintlify.app/api-reference/end-effector/turn-one-observation-into-one-pose-chunk-per-arm.md): One metered action chunk, using the selected model's observation and action contract. YAM models take grasp-site poses and grippers and refuse joints. Xiaomi's ARX X5 checkpoint additionally needs measured joints and uses RoboDojo/world-frame poses. FLUX's DROID checkpoint takes seven Franka joints… - [End an episode](https://abstract-pbc.mintlify.app/api-reference/end-effector/end-an-episode.md): Ends the episode now instead of at its 60-second idle expiry. Not billed. `ended` is `false` when the episode was already gone: unknown, expired, ended before, or another account's. - [List LLM models](https://abstract-pbc.mintlify.app/api-reference/catalog/list-llm-models.md): Lists the LLM model ids. The robot models are listed in [Robot models](/robots/models). ## OpenAPI Specs - [fine-tuning.openapi](/api-reference/fine-tuning.openapi.yaml) - [openapi](/api-reference/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.