# Elan Platform Console > Run Google ADK agents on managed infrastructure. You bring a git repository containing agents and one `elan.yaml`; the platform builds, provisions, deploys and gives you an address to invoke. Documentation is organized as get started, concepts, guides, api, sdk, cli and config, releases. ## Get started - [Platform overview](https://openelan.ai/app/docs/concepts/overview): The four nouns everything else is derived from: a tenant, a project, a workload and a target. What each one owns, and which of them a caller ever sees. - [Quickstart](https://openelan.ai/app/docs/get-started/quickstart): Install the CLI, scaffold a repository, give the platform your model key, deploy, and invoke. About fifteen minutes, most of it waiting for the first build. - [Try it in the console](https://openelan.ai/app/docs/get-started/console): What the console shows once you have deployed: the deploy and its logs, the Playground for talking to an agent, runs and their traces, and what each one cost. - [Call it from your code](https://openelan.ai/app/docs/get-started/your-code): Create a service user, put its id and secret in your environment, install the SDK, and run your agent from a backend — in Python or TypeScript. ## Concepts - [Agents and workflows](https://openelan.ai/app/docs/concepts/workflows): An agent decides what to do next; a workflow is told. What a graph is made of, how data moves between its nodes, and what a resume replays. - [elan.yaml and MANIFEST](https://openelan.ai/app/docs/concepts/contracts): Two files, two owners: the deploy contract the platform reads without running your code, and what your code declares about itself — plus the crosscheck that refuses a deploy until they agree. - [Authentication](https://openelan.ai/app/docs/concepts/authentication): The four kinds of credential, what each one reaches, what a token carries, and how to obtain a client id and secret from the console. - [Sessions and runs](https://openelan.ai/app/docs/concepts/sessions): What a session is, what a run is, how the two relate, whose a conversation is, and why a paused run never reaches a terminal event. - [Invocation lifecycle](https://openelan.ai/app/docs/concepts/invocation-lifecycle): What happens between publishing an invocation and its last event: the queue, a cold start, delivery, the plugin stack, the run, the events and the settlement. - [Autonomy and action policy](https://openelan.ai/app/docs/concepts/autonomy): Every declared tool call resolves to refuse, ask or allow — per call, against that call's own arguments. Tiers, rules, the ceiling nobody can raise, and the order they are resolved in. - [Billing and the ledger](https://openelan.ai/app/docs/concepts/billing): Two books: what the platform bills you, and what your users owe you. How a deposit is reserved, topped up and settled, and why a balance looks lower than you expect mid-run. - [Files and multi-modal](https://openelan.ai/app/docs/concepts/files): Upload a document and have the model actually read it. The four scopes a file can live in, and what reaches a model request as a real file rather than a filename. ## Guides - [Building an agent](https://openelan.ai/app/docs/guides/agents): MANIFEST and build(), tools, a tool that needs a credential or a file, declaring what a tool does, limits, and testing with no model access. - [Building a workflow](https://openelan.ai/app/docs/guides/workflows): A graph's MANIFEST, declared inputs and the state schema, nodes and edges, resumability, invoking one, and calling a workflow from an agent. - [Secrets](https://openelan.ai/app/docs/guides/secrets): Getting a credential from your laptop into os.environ inside the pod: set it, declare where it lands, read it — and rotate or remove it. - [Approvals](https://openelan.ai/app/docs/guides/approvals): Asking somebody who is not in the conversation, with a form, a deadline and a callback — and when to use a confirmation instead. - [Plugins](https://openelan.ai/app/docs/guides/plugins): Cross-cutting code that sees every tool call and model request: declaring one, the callback names, what a plugin cannot do, and the platform's own. - [Context compaction](https://openelan.ai/app/docs/guides/context-compaction): Summarising old turns instead of carrying them: the two triggers, which model summarises, and what it costs. - [Charging your users](https://openelan.ai/app/docs/guides/charging-your-users): Give each of your users a balance, price your agent and its tools, run on their behalf, and show them what they have left. - [Troubleshooting](https://openelan.ai/app/docs/guides/troubleshooting): The failures people actually meet — a 502 on invoke, silence after a valid invocation id, a paused run, a cold start, insufficient funds — and what each one means. ## API - [Overview](https://openelan.ai/app/docs/api/overview): The base URL, the two services behind one host, the bearer token every route takes, and the conventions every reference page below assumes. - [Authentication](https://openelan.ai/app/docs/api/authentication): Exchange a client id and secret for a token, discover the issuer, and create, rotate or delete service users. Six endpoints on deploy-service. - [Projects and secrets](https://openelan.ai/app/docs/api/projects): Create and list projects, see what is deployed, set the secrets your agents read, validate an elan.yaml, and destroy what you no longer need. Eleven endpoints on deploy-service. - [Deployments](https://openelan.ai/app/docs/api/deployments): Ship a project from your own CI, poll it to a terminal state, read a build log and roll back. Five endpoints on deploy-service, all of them asynchronous. - [Invocations](https://openelan.ai/app/docs/api/invocations): Start an agent or a workflow, watch its events, mint a ticket so a browser can watch too, resume a paused one, and read it back. Seven endpoints across rt-service and deploy-service. - [Sessions](https://openelan.ai/app/docs/api/sessions): The full lifecycle: create a conversation or invoke into one, list them, read one back in the live stream's shape, and delete it. Six endpoints on deploy-service, reading your agent's own database — for you or, as an admin, for one of your users. - [Artifacts](https://openelan.ai/app/docs/api/artifacts): Upload a file without its bytes passing through the platform, list what a conversation can see, and hand a reader a download URL. Four endpoints on rt-service. - [Autonomy and actions](https://openelan.ai/app/docs/api/autonomy): The approval inbox, the three kinds of answer a run can be waiting for, and the stored policies that decide what never gets asked. Eight endpoints on rt-service. - [Wallets](https://openelan.ai/app/docs/api/wallets): Give your users a balance, credit it, correct it, freeze it and read a statement. Eight endpoints on deploy-service. - [Usage and analytics](https://openelan.ai/app/docs/api/usage): What your runs cost and how they behaved: your balance and usage, platform charges by agent, workload and SKU, one run's usage, and the series the console's charts draw. Thirteen endpoints on deploy-service. ## SDK - [Install and configure](https://openelan.ai/app/docs/sdk/overview): Install the Python or TypeScript client, the environment it reads, sync against async, errors, and what the SDK deliberately does not cover. - [Runtime](https://openelan.ai/app/docs/sdk/runtime): Starting runs and reading their events: run, conversation, invoke and resume, the subscribe-then-invoke ordering, state on a turn, and what a paused run looks like. - [Sessions and files](https://openelan.ai/app/docs/sdk/sessions): Create, list, read back and delete conversations, and upload and download the files they carry. - [Approvals and autonomy](https://openelan.ai/app/docs/sdk/actions): Answering confirmations, approvals and long-running tool calls, and reading and writing the policy that decides what gets asked. - [Wallets and usage](https://openelan.ai/app/docs/sdk/money): Your users' balances and statements, your own balance, and the usage and cost series a dashboard draws. - [TypeScript and React](https://openelan.ai/app/docs/sdk/typescript): The TypeScript client, its React provider and hooks, and the two credentials that may reach a browser. ## CLI and config - [CLI reference](https://openelan.ai/app/docs/reference/cli): Every command, its flags, where it reads its configuration and credentials from, and its exit codes. - [elan.yaml reference](https://openelan.ai/app/docs/reference/deploy-contract): Every field, default and limit of the deploy contract — resources, scaling, models, egress, secrets, databases, artifacts, groups and isolated deployment. ## Releases - [Changelogs](https://openelan.ai/app/docs/changelogs): What changed in each published package and when, taken from the changelog that ships inside it. Every package carries its own version and is released by its own tag. ## Notes - Every page inline, as one file: https://openelan.ai/app/llms-full.txt - Every documentation page has a "Copy for AI" control that yields the page as markdown. - The documentation index is at https://openelan.ai/app/docs.