# Engini Developer Docs ## Docs - [Engini Developer Platform](https://docs.engini.io/index.md): Build integrations and AI agents on Engini - REST API, Python & TypeScript SDKs, and a machine-first CLI. - [Quickstart](https://docs.engini.io/quickstart.md): Get an API key, install an SDK or the CLI, and execute your first tool. - [Platform model](https://docs.engini.io/concepts/platform-model.md): Applications, connections, tools, and toolsets - how the pieces fit. - [Authentication](https://docs.engini.io/concepts/authentication.md): API keys and bearer tokens for the Engini DeveloperAPI. - [OAuth apps](https://docs.engini.io/concepts/oauth-apps.md): Obtain Engini access tokens with the standard OAuth 2.1 authorization-code flow. - [Pagination, errors & rate limits](https://docs.engini.io/concepts/pagination-and-errors.md): The list envelope, the error envelope, and how rate limiting behaves. - [Glossary](https://docs.engini.io/concepts/glossary.md): Engini terminology. - [Cookbook](https://docs.engini.io/examples/overview.md): Complete, working agent apps and scripts built on the Engini SDK. - [REST API walkthrough (cURL)](https://docs.engini.io/examples/rest-walkthrough.md): Zero to executed tool using nothing but HTTP - discovery, an OAuth connection, defaults, and execution. - [CLI walkthrough (human & agent)](https://docs.engini.io/examples/cli-walkthrough.md): The same journey driven from the terminal - and how an AI agent runs it without ever blocking. - [Build a monday.com assistant](https://docs.engini.io/examples/monday-agent.md): A ~100-line Claude agent that answers questions about your monday.com account through Engini tools. - [Gmail agent with file attachments](https://docs.engini.io/examples/gmail-agent.md): An agent that sends email with attachments - the model picks files by name, your code controls the bytes. - [Priority ERP assistant](https://docs.engini.io/examples/priority-erp-agent.md): The agent pattern pointed at an ERP - orders, invoices, customers, inventory. - [Scripted automation (no LLM)](https://docs.engini.io/examples/scripted-automation.md): The SDK as a plain typed API client - the shape of a cron job or data sync. - [SDK overview](https://docs.engini.io/sdk/overview.md): engini (Python) and @engini/sdk (TypeScript) - one surface, two languages. - [Connections & OAuth](https://docs.engini.io/sdk/connections.md): Create connections programmatically: direct credentials, the OAuth flow, object selection, and defaults. - [Toolsets](https://docs.engini.io/sdk/toolsets.md): Bundle connections and tools into a scoped tool belt - locally or persisted on the server. - [LLM providers (OpenAI & Anthropic)](https://docs.engini.io/sdk/llm-providers.md): Turn Engini tools into vendor tool-calling schemas and run the agent loop - with zero vendor dependencies. - [File inputs](https://docs.engini.io/sdk/files.md): Pass files to tools - directly, or by reference in an LLM loop. - [Errors & pagination](https://docs.engini.io/sdk/errors-and-pagination.md): The typed error hierarchy, status mapping, and how list methods paginate. - [CLI overview](https://docs.engini.io/cli/overview.md): The engini CLI - install, authenticate, discover, connect, and execute from the terminal. - [Command reference](https://docs.engini.io/cli/commands.md): Every engini command, its options, and examples. - [Machine contract](https://docs.engini.io/cli/machine-contract.md): Exit codes, output modes, introspection, result handles, and resumable gates - the CLI's contract for scripts and agents. - [API overview](https://docs.engini.io/api-reference/overview.md): Base URL, authentication, pagination, errors, and execution semantics - everything the endpoint pages assume you know. - [Who am I](https://docs.engini.io/api-reference/auth/who-am-i.md): Returns the identity of the principal the request is authenticated as: full name, email, current company, role, and caller type. For x-api-key requests the identity is the token's owner (the key acts as the owner) and the type is reported as apiuser. - [List applications](https://docs.engini.io/api-reference/applications/list-applications.md): List the applications available to the caller, with optional filtering and pagination. - [Get application](https://docs.engini.io/api-reference/applications/get-application.md): Get the full details of a single application identified by its slug. - [List connections](https://docs.engini.io/api-reference/connections/list-connections.md): List the connections available to the caller, with optional filtering and pagination. - [Create connection](https://docs.engini.io/api-reference/connections/create-connection.md): Create a new connection for the caller. - [Get connection](https://docs.engini.io/api-reference/connections/get-connection.md): Get the full details of a single connection identified by its id. - [Update connection](https://docs.engini.io/api-reference/connections/update-connection.md): Update an existing connection owned by the caller. - [Delete connection](https://docs.engini.io/api-reference/connections/delete-connection.md): Delete a connection owned by the caller. - [List default connections](https://docs.engini.io/api-reference/connections/list-default-connections.md): List the caller's default connections, one per application where a default is set. - [Set default connection](https://docs.engini.io/api-reference/connections/set-default-connection.md): Set the given connection as the caller's default for its application. - [Clear default connection](https://docs.engini.io/api-reference/connections/clear-default-connection.md): Clear the default designation for the given connection. - [Replace connection](https://docs.engini.io/api-reference/connections/replace-connection.md): Replace one connection with another across the caller's usages. - [Refresh objects](https://docs.engini.io/api-reference/connections/refresh-objects.md): Trigger a refresh of the objects available through the given connection. - [Get refresh status](https://docs.engini.io/api-reference/connections/get-refresh-status.md): Get the status of the most recent object refresh for the given connection. - [Select objects](https://docs.engini.io/api-reference/connections/select-objects.md): Select which objects from the given connection are active for the caller. - [List connection objects](https://docs.engini.io/api-reference/connections/list-connection-objects.md): List the objects available through the given connection, with optional filtering, sorting, and pagination. - [Check connection](https://docs.engini.io/api-reference/connections/check-connection.md): Verify that the given connection is valid and currently usable. - [Get OAuth sign-in URL](https://docs.engini.io/api-reference/connections/get-oauth-sign-in-url.md): Build an OAuth sign-in URL for an application so the caller can authorize a new connection. - [Get OAuth access token](https://docs.engini.io/api-reference/connections/get-oauth-access-token.md): Retrieve the access token captured for a previously issued sign-in URL, identified by its state value. - [List tools](https://docs.engini.io/api-reference/tools/list-tools.md): List the tools available to the caller, with optional filtering and pagination. - [Get tool](https://docs.engini.io/api-reference/tools/get-tool.md): Get the full details of a single tool identified by its slug. - [Execute tool](https://docs.engini.io/api-reference/tools/execute-tool.md): Execute a tool. Connection is resolved implicitly from the caller's account-user, the tool's parent application, and optional toolsetId. Tool-runtime failures return 200 with isSuccess=false; all other failures use the standard error envelope. - [List toolsets](https://docs.engini.io/api-reference/toolsets/list-toolsets.md): List the toolsets belonging to the caller, with pagination. - [Create toolset](https://docs.engini.io/api-reference/toolsets/create-toolset.md): Create a new toolset for the caller. - [Get toolset](https://docs.engini.io/api-reference/toolsets/get-toolset.md): Get a single toolset owned by the caller, identified by its id. - [Delete toolset](https://docs.engini.io/api-reference/toolsets/delete-toolset.md): Delete a toolset owned by the caller. - [Update toolset](https://docs.engini.io/api-reference/toolsets/update-toolset.md): Update an existing toolset owned by the caller. - [For AI Agents](https://docs.engini.io/agents/overview.md): How AI agents should discover, read, and operate Engini. - [Connect via MCP](https://docs.engini.io/agents/mcp.md): Expose your Engini tools to any MCP client - with spec-compliant OAuth. ## OpenAPI Specs - [openapi](https://docs.engini.io/api-reference/openapi.json)