# Abstract > One API for robot action models and LLMs. - [Abstract API](https://docs.abstract.inc/index.md): One API key for robot action models and LLMs. - [Quickstart](https://docs.abstract.inc/quickstart.md): Set up billing, sign in with the CLI, and make a first robot call and a first LLM call. - [Authentication and keys](https://docs.abstract.inc/authentication.md): Get an API key with the abstract CLI, pass it without showing it, and handle 401. - [Robot models](https://docs.abstract.inc/robots/models.md): Cameras, frames, state, and action shapes for each served robot model. - [Chat completions](https://docs.abstract.inc/robots/chat-completions.md): One HTTP request turns one observation into one action chunk. - [Sessions over WebSocket](https://docs.abstract.inc/robots/sessions.md): One socket runs one episode: frames and observations go up, action chunks come back. - [Handoff](https://docs.abstract.inc/robots/handoff.md): The optional handoff flag, and why true is refused today. - [Usage and billing units](https://docs.abstract.inc/robots/usage.md): What a robot chunk is billed from: prompt tokens, cached tokens, and actions. - [Responses API](https://docs.abstract.inc/llm/responses.md): Call the LLM models with the OpenAI Responses API: submit and poll, or stream. - [Errors and limits](https://docs.abstract.inc/errors.md): Every error code the robot and LLM routes return, with its HTTP status and what to do. - [CLI reference](https://docs.abstract.inc/cli.md): The abstract command: install, sign in, print the key, and set up an agent. - [API reference](https://docs.abstract.inc/api-reference/introduction.md): The HTTP endpoints of api.abstract.inc. - [Create an action chunk](https://docs.abstract.inc/api-reference/robot-models/create-an-action-chunk.md): Turns one observation into one action chunk. - [List robot runs](https://docs.abstract.inc/api-reference/robot-runs/list-robot-runs.md): Lists your completed runs by robot, then run name, oldest first. A run shows up once `complete` has accepted it. Page with `cursor`. - [Robot runs usage](https://docs.abstract.inc/api-reference/robot-runs/robot-runs-usage.md): What your account's runs hold against its quota, and this month's metering. Storage is measured over time in GiB-months of 730 hours. Runs are metered, not charged. - [Get a robot run](https://docs.abstract.inc/api-reference/robot-runs/get-a-robot-run.md): Returns a completed run's manifest. Each file's `path`, `size` and `sha256`, and the episode card it was completed with. - [Delete a robot run](https://docs.abstract.inc/api-reference/robot-runs/delete-a-robot-run.md): Deletes every file of the run, completed or not. Deleting a run that does not exist deletes nothing. - [Complete a robot run](https://docs.abstract.inc/api-reference/robot-runs/complete-a-robot-run.md): Lists every file of the run. - [Upload a run file](https://docs.abstract.inc/api-reference/robot-runs/upload-a-run-file.md): Stores one file of at most 64 MiB; a larger one goes up in parts (`/uploads/`). The body must match `X-Content-SHA256`. Putting a path again replaces the file. - [Download a run file](https://docs.abstract.inc/api-reference/robot-runs/download-a-run-file.md): Returns the file's bytes, with its SHA-256 in `X-Content-SHA256`. Send `Range` for part of it. `HEAD` returns the same headers without the body. - [Delete a run file](https://docs.abstract.inc/api-reference/robot-runs/delete-a-run-file.md): Deletes one file. The run leaves the listing until you complete it again. - [Resume a multipart upload](https://docs.abstract.inc/api-reference/robot-runs/resume-a-multipart-upload.md): Returns its state and acknowledged parts. Resume missing parts while uploading; retry completion while assembling or publishing. A completed receipt is returned only while that file version is still stored. - [Start or finish a multipart upload](https://docs.abstract.inc/api-reference/robot-runs/start-or-finish-a-multipart-upload.md): Without `upload_id`, starts an upload of a file larger than 64 MiB. - [Upload a part](https://docs.abstract.inc/api-reference/robot-runs/upload-a-part.md): Uploads part `part` of a multipart upload. Every part but the last is at least 5 MiB; each is at most 64 MiB. - [Abort a multipart upload](https://docs.abstract.inc/api-reference/robot-runs/abort-a-multipart-upload.md) - [Create a response](https://docs.abstract.inc/api-reference/llm-models/create-a-response.md): The OpenAI Responses API for the LLM models. - [Retrieve a response](https://docs.abstract.inc/api-reference/llm-models/retrieve-a-response.md): Returns a response your account created. Poll it until `status` is `completed`, `failed`, `cancelled` or `incomplete`. - [List LLM models](https://docs.abstract.inc/api-reference/llm-models/list-llm-models.md): Lists the LLM model ids. The robot models are listed in [Robot models](/robots/models). ## OpenAPI Specs - [openapi](/api-reference/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.