# General Input Developer Documentation > Technical documentation for General Input: install and use the geni CLI, connect MCP clients, and build with the REST API. - CLI: The geni command line for local agents - **General** - [Quickstart](https://docs.generalinput.com/llms.mdx/docs/cli/content.md): Install geni, teach your AI agent about it, and start asking it to do things with your connected accounts. - Auth - [Auth](https://docs.generalinput.com/llms.mdx/docs/cli/auth/content.md): Sign the CLI in to your General Input account. - [geni login](https://docs.generalinput.com/llms.mdx/docs/cli/auth/login/content.md): Sign the CLI in to your General Input account through a browser device-code flow. - [geni auth status](https://docs.generalinput.com/llms.mdx/docs/cli/auth/status/content.md): Verify the session server-side and print who is signed in and which workspace is active. - [geni logout](https://docs.generalinput.com/llms.mdx/docs/cli/auth/logout/content.md): Revoke the session server-side and delete the local session file. - Workspace - [Workspace](https://docs.generalinput.com/llms.mdx/docs/cli/workspace/content.md): Switch the active workspace and look up teammates. One account can belong to many workspaces. - [geni workspace list](https://docs.generalinput.com/llms.mdx/docs/cli/workspace/list/content.md): List every workspace your account belongs to. - [geni workspace switch](https://docs.generalinput.com/llms.mdx/docs/cli/workspace/switch/content.md): Re-point the CLI session at a different workspace, by slug or through a picker. - [geni workspace current](https://docs.generalinput.com/llms.mdx/docs/cli/workspace/current/content.md): Print the active workspace. - [geni workspace members](https://docs.generalinput.com/llms.mdx/docs/cli/workspace/members/content.md): List the active members of the active workspace, to resolve a person to an exact email. - Skills - [Skills](https://docs.generalinput.com/llms.mdx/docs/cli/skills/content.md): Teach your AI coding agent how to use geni, and load the platform's authoring contracts as local reference material. - [geni skills install](https://docs.generalinput.com/llms.mdx/docs/cli/skills/install/content.md): Install the geni skills into every detected AI agent. - [geni skills uninstall](https://docs.generalinput.com/llms.mdx/docs/cli/skills/uninstall/content.md): Remove the geni skills from every detected AI agent. - [geni skills load](https://docs.generalinput.com/llms.mdx/docs/cli/skills/load/content.md): Download a platform skill into a local directory as reference material. - Doctor - [geni doctor](https://docs.generalinput.com/llms.mdx/docs/cli/doctor/content.md): Check every layer geni depends on and print a checklist with the fix for anything broken. - Upgrade - [geni upgrade](https://docs.generalinput.com/llms.mdx/docs/cli/upgrade/content.md): Update geni to the latest published version. - Config - [Config](https://docs.generalinput.com/llms.mdx/docs/cli/config/content.md): Read and write the CLI's persistent defaults, and the environment variables that override them. - [geni config set](https://docs.generalinput.com/llms.mdx/docs/cli/config/set/content.md): Write a value to the CLI config. - [geni config get](https://docs.generalinput.com/llms.mdx/docs/cli/config/get/content.md): Print what is written in the config file. Symmetric with set. - [geni config unset](https://docs.generalinput.com/llms.mdx/docs/cli/config/unset/content.md): Remove a key from the CLI config. - [geni config path](https://docs.generalinput.com/llms.mdx/docs/cli/config/path/content.md): Print the absolute path to the config file. - [Exit codes](https://docs.generalinput.com/llms.mdx/docs/cli/exit-codes/content.md): The exit codes every geni command uses, so a script can branch on what went wrong. - **Integrations** - Credential - [Credential](https://docs.generalinput.com/llms.mdx/docs/cli/credential/content.md): Browse the credentials you've connected and add new ones. - [geni credential list](https://docs.generalinput.com/llms.mdx/docs/cli/credential/list/content.md): List the credentials you can use, owned or shared. - [geni credential get](https://docs.generalinput.com/llms.mdx/docs/cli/credential/get/content.md): Print one credential's details — env var names, scopes, and metadata. - [geni credential connect](https://docs.generalinput.com/llms.mdx/docs/cli/credential/connect/content.md): Connect a new credential for a service. - Integration - [Integration](https://docs.generalinput.com/llms.mdx/docs/cli/integration/content.md): Browse the services your workspace can use and the operations each one exposes. - [geni integration list](https://docs.generalinput.com/llms.mdx/docs/cli/integration/list/content.md): List every integration available to your workspace. - [geni integration get](https://docs.generalinput.com/llms.mdx/docs/cli/integration/get/content.md): Print one integration's setup metadata — env var names, the field schema, OAuth scopes, and the setup guide. - [geni integration search](https://docs.generalinput.com/llms.mdx/docs/cli/integration/search/content.md): Search operations across every integration at once, grouped by service in rank order. - [geni integration operations](https://docs.generalinput.com/llms.mdx/docs/cli/integration/operations/content.md): List the operations an integration exposes. - [geni integration operation](https://docs.generalinput.com/llms.mdx/docs/cli/integration/operation/content.md): Get one operation's full docs — endpoint, params, scopes, and a copy-pasteable example. - Exec - [Exec](https://docs.generalinput.com/llms.mdx/docs/cli/exec/content.md): Run commands with your connected credentials available as environment variables. - [geni exec bash](https://docs.generalinput.com/llms.mdx/docs/cli/exec/bash/content.md): Run a bash command locally with your connected credentials injected as environment variables by the cloud. - Browser - [Browser](https://docs.generalinput.com/llms.mdx/docs/cli/browser/content.md): Drive a hosted browser from a local Playwright script, signed in with a saved profile, for sites with no API or data behind a login wall. - [geni browser profiles](https://docs.generalinput.com/llms.mdx/docs/cli/browser/profiles/content.md): List saved browsers and their logins. - [geni browser open](https://docs.generalinput.com/llms.mdx/docs/cli/browser/open/content.md): Open a hosted browser session to drive from a local Playwright script over CDP. - [geni browser close](https://docs.generalinput.com/llms.mdx/docs/cli/browser/close/content.md): Close the open session, save the login back onto the profile, and stop billing. - [geni browser request-login](https://docs.generalinput.com/llms.mdx/docs/cli/browser/request-login/content.md): Sign in to a site on your own saved browser through a live view, so future sessions arrive signed in. - [geni browser report-login](https://docs.generalinput.com/llms.mdx/docs/cli/browser/report-login/content.md): Record whether one of a saved browser's listed logins still works. - **Automation** - Resource - [Resource](https://docs.generalinput.com/llms.mdx/docs/cli/resource/content.md): Author resources (workflows, apps, and skills) locally and run them in the cloud. Scaffold files to disk, edit them, then validate, wire credentials, and publish. - **Building resources** - [Code workflows](https://docs.generalinput.com/llms.mdx/docs/cli/resource/code/content.md): The full contract and runtime API for a code workflow. A single main.ts that runs server-side in Bun once per trigger, with typed credentials, platform auth, logging, and artifact output. - [Agent workflows](https://docs.generalinput.com/llms.mdx/docs/cli/resource/agent/content.md): The full contract for an agent workflow. An LLM agent runs instructions.md as its task, invoking reusable scripts via bash, with its runtime budget shaped by agent.json. - [Apps](https://docs.generalinput.com/llms.mdx/docs/cli/resource/apps/content.md): The full contract for an app. An interactive React SPA in a sandboxed iframe that calls named server-side handlers for data, with a pinned library stack and per-handler caching. - [Skills](https://docs.generalinput.com/llms.mdx/docs/cli/resource/skill/content.md): The full contract for a skill. A SKILL.md instruction bundle that agents load as context to learn how to do a kind of work — authored and published through the same resource lifecycle as workflows and apps. - [Filters](https://docs.generalinput.com/llms.mdx/docs/cli/resource/filter/content.md): An optional filter.ts decides whether a workflow runs at all, and on what. Use it to gate a noisy trigger, or to build a trigger for a source that has none. - **Lifecycle** - [geni resource create](https://docs.generalinput.com/llms.mdx/docs/cli/resource/create/content.md): Create a resource and scaffold its starting files into a local directory. - [geni resource list](https://docs.generalinput.com/llms.mdx/docs/cli/resource/list/content.md): List the resources you can access in the active workspace. - [geni resource get](https://docs.generalinput.com/llms.mdx/docs/cli/resource/get/content.md): Show one workflow's detail. - [geni resource pull](https://docs.generalinput.com/llms.mdx/docs/cli/resource/pull/content.md): Download a resource's live files into a local directory. - [geni resource validate](https://docs.generalinput.com/llms.mdx/docs/cli/resource/validate/content.md): Validate the local files against the spec, wiring, and TypeScript — without publishing. - Config - [Config](https://docs.generalinput.com/llms.mdx/docs/cli/resource/config/content.md): Read and wire a workflow's runtime config — credentials, const values, and trigger schedules. - [geni resource config get](https://docs.generalinput.com/llms.mdx/docs/cli/resource/config/get/content.md): Show a workflow's current credential, const, and trigger bindings. - [geni resource config set](https://docs.generalinput.com/llms.mdx/docs/cli/resource/config/set/content.md): Wire a workflow's credentials, const values, and trigger schedules. - [geni resource publish](https://docs.generalinput.com/llms.mdx/docs/cli/resource/publish/content.md): Validate and promote the local files to the live version. - **Type-specific** - Workflow tools - [Workflow tools](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/content.md): Workflow-only commands on top of the shared resource lifecycle — switch type, run test executions, sample triggers, and inspect runs. - [geni workflow set-type](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/set-type/content.md): Switch a workflow between code and agent. - [geni workflow test](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/test/content.md): Run a cloud test execution of the published version and wait for the result. - [geni workflow trigger-sample](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/trigger-sample/content.md): Fetch live sample data from a workflow's configured poll trigger. - [geni workflow stage-input](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/stage-input/content.md): Upload a local file as a test value for a file-type input field. - [geni workflow executions](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/executions/content.md): List a workflow's recent executions. - [geni workflow execution](https://docs.generalinput.com/llms.mdx/docs/cli/resource/workflow/execution/content.md): Inspect one execution, or download its full trace. - App tools - [App tools](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/content.md): App-only tools — inspect the build, run and inspect handlers, read browser errors, and clear the handler cache. - [geni app build-status](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/build-status/content.md): Read the live app's Vite build state. - [geni app run-handler](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/run-handler/content.md): Dispatch a handler against the live app with test input. - [geni app run-agent](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/run-agent/content.md): Start one of the app's declared agents as a test execution against the live app. - [geni app invocations](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/invocations/content.md): Read recent handler invocations against the live app. - [geni app errors](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/errors/content.md): Read recent browser-side errors the iframe reported. - [geni app clear-cache](https://docs.generalinput.com/llms.mdx/docs/cli/resource/app/clear-cache/content.md): Clear the live app's handler response cache. - Trigger - [Trigger](https://docs.generalinput.com/llms.mdx/docs/cli/trigger/content.md): Discover the trigger providers that can start a workflow — webhook, cron, and poll. - [geni trigger list](https://docs.generalinput.com/llms.mdx/docs/cli/trigger/list/content.md): List and search the trigger providers that can start a workflow. - Project - [Project](https://docs.generalinput.com/llms.mdx/docs/cli/project/content.md): Organize workflows, apps, skills, and shared files into projects. Sharing a project shares everything in it. - [geni project list](https://docs.generalinput.com/llms.mdx/docs/cli/project/list/content.md): List the projects you can access. - [geni project get](https://docs.generalinput.com/llms.mdx/docs/cli/project/get/content.md): Show a project, your role, and the workflows, apps, and skills inside it. - [geni project create](https://docs.generalinput.com/llms.mdx/docs/cli/project/create/content.md): Create a project. - [geni project update](https://docs.generalinput.com/llms.mdx/docs/cli/project/update/content.md): Rename a project, change its description, or set or clear its icon. - [geni project pin](https://docs.generalinput.com/llms.mdx/docs/cli/project/pin/content.md): Put a workflow, app, or skill you own into a project, or take it out. - [geni project delete](https://docs.generalinput.com/llms.mdx/docs/cli/project/delete/content.md): Delete a project you own. It is emptied first, and there is no undo. - [geni project files](https://docs.generalinput.com/llms.mdx/docs/cli/project/files/content.md): A project's shared files. List them, pull them down, push a directory up, or remove one. - Memory - [Memory](https://docs.generalinput.com/llms.mdx/docs/cli/memory/content.md): Read what the workspace already knows and queue changes for its memory agent. - [geni memory show](https://docs.generalinput.com/llms.mdx/docs/cli/memory/show/content.md): Print the memory guide agents load, plus the changes still queued for the next update. - [geni memory remember](https://docs.generalinput.com/llms.mdx/docs/cli/memory/remember/content.md): Queue a change to memory for the memory agent to fold in on its next run. - MCP: Connect Claude, ChatGPT, and other assistants - [MCP server](https://docs.generalinput.com/llms.mdx/docs/mcp/content.md): Use your General Input workspace from Claude, ChatGPT, Claude Code, Codex, or any assistant that speaks MCP. One URL per workspace; each teammate signs in as themselves. - [How it works](https://docs.generalinput.com/llms.mdx/docs/mcp/how-it-works/content.md): Transport, OAuth, sessions, the persistent sandbox, credentials, files, and billing, in enough detail to reason about what the connector is doing. - [Tool reference](https://docs.generalinput.com/llms.mdx/docs/mcp/tools/content.md): Every tool the connector exposes, grouped by what it touches, with its display title and whether it reads or writes. - **Connect a client** - Clients - [Claude](https://docs.generalinput.com/llms.mdx/docs/mcp/clients/claude/content.md): Add General Input as a custom connector in Claude.ai or the Claude desktop app. - [ChatGPT](https://docs.generalinput.com/llms.mdx/docs/mcp/clients/chatgpt/content.md): Add General Input as a Streamable HTTP MCP server in the ChatGPT desktop app. - [Claude Code](https://docs.generalinput.com/llms.mdx/docs/mcp/clients/claude-code/content.md): Add the workspace as an HTTP MCP server with one command, then authenticate from inside Claude Code. - [Codex CLI](https://docs.generalinput.com/llms.mdx/docs/mcp/clients/codex/content.md): Register the workspace as an MCP server in Codex, then log in. - [Other clients](https://docs.generalinput.com/llms.mdx/docs/mcp/clients/other/content.md): Any client that speaks Streamable HTTP MCP with OAuth can connect. What it needs to support and how to configure it. - **Help** - [Troubleshooting](https://docs.generalinput.com/llms.mdx/docs/mcp/troubleshooting/content.md): What the common errors mean and what to do about them. - API: API keys and the /v1 REST reference - [API overview](https://docs.generalinput.com/llms.mdx/docs/api/content.md): The /v1 REST API: base URL, bearer authentication, the two kinds of API key, errors, and rate limits. - [API keys](https://docs.generalinput.com/llms.mdx/docs/api/api-keys/content.md): Personal keys act as you. Platform API keys act as the workspace. Each kind holds its own scopes, and neither can hold the other's. - **Integration docs** - Integration docs - [Integration docs](https://docs.generalinput.com/llms.mdx/docs/api/integrations/content.md): The catalog of services the workspace can use and the reference for every operation: the same docs the agents read before they write a call. - [List integrations](https://docs.generalinput.com/llms.mdx/docs/api/integrations/list/content.md): Every integration the workspace can use, optionally ranked by a search query. - [Get an integration](https://docs.generalinput.com/llms.mdx/docs/api/integrations/get/content.md): Setup metadata for one integration: env var names, the field schema, the OAuth scope catalog, and the setup guide. - [List operations](https://docs.generalinput.com/llms.mdx/docs/api/integrations/list-operations/content.md): The operations one integration exposes, by id and title. - [Get an operation](https://docs.generalinput.com/llms.mdx/docs/api/integrations/get-operation/content.md): One operation's full reference: method and path, params, response shape, an example, and the env vars a credential injects. - [Search operations](https://docs.generalinput.com/llms.mdx/docs/api/integrations/search-operations/content.md): One query across every integration's operations, grouped by service in rank order. - [Get an operation by id](https://docs.generalinput.com/llms.mdx/docs/api/integrations/get-operation-by-id/content.md): Resolve one operation from its bare id, when the service is not yet known. - **Vault** - Vault - [Vault](https://docs.generalinput.com/llms.mdx/docs/api/vault/content.md): The credentials a member holds: list them, connect new ones through a hosted link, and fetch a fresh token to call the third-party API yourself. - [List credentials](https://docs.generalinput.com/llms.mdx/docs/api/vault/list-credentials/content.md): Every credential the member can use, with the env var names each one injects. Never secret values. - [Get a credential](https://docs.generalinput.com/llms.mdx/docs/api/vault/get-credential/content.md): One credential's full record: fields with their secret flag, requested and granted scopes, ownership. - [Issue a token](https://docs.generalinput.com/llms.mdx/docs/api/vault/issue-token/content.md): The credential's usable secret, refreshed if needed, plus the same values under the env var names the list advertises. Every call is logged with your reason. - [Create a connection](https://docs.generalinput.com/llms.mdx/docs/api/vault/create-connection/content.md): Start connecting a service and get a hosted link for a person to finish it. Poll until the connection carries a credential id. - [Get a connection](https://docs.generalinput.com/llms.mdx/docs/api/vault/get-connection/content.md): Poll a connection until it is connected, then read the credential id. - **Hosted services** - Hosted services - [Hosted services](https://docs.generalinput.com/llms.mdx/docs/api/platform/content.md): Six first-party services behind one route shape: web search, page scraping, geolocation, email, image generation, and chat completion. Billed to the workspace. - [Search the web](https://docs.generalinput.com/llms.mdx/docs/api/platform/search-internet/content.md): Execute a web search and get ranked pages with titles, URLs, snippets, and relevance scores. Optionally search images and return page content. - [Fetch a web page](https://docs.generalinput.com/llms.mdx/docs/api/platform/proxy-scrape/content.md): Scrape a page through a proxy that bypasses anti-bot protections, and get it back as markdown, plain text, or raw HTML. - [Geolocation](https://docs.generalinput.com/llms.mdx/docs/api/platform/geolocation/content.md): Seven operations on one route: geocode, reverse geocode, directions, distance matrix, text search, nearby search, and place details. - [Send an email](https://docs.generalinput.com/llms.mdx/docs/api/platform/send-email/content.md): Send an HTML email with optional attachments from the platform's sending address. - [Generate an image](https://docs.generalinput.com/llms.mdx/docs/api/platform/generate-image/content.md): Generate an image from a text prompt. Returns base64 image data with its MIME type. - [Chat completion](https://docs.generalinput.com/llms.mdx/docs/api/platform/chat-completion/content.md): Generate text from a conversation of messages, with multimodal input and a selectable intelligence level. OpenAI-style response envelope. - **Member surfaces** - Workflows and apps - [Workflows and apps](https://docs.generalinput.com/llms.mdx/docs/api/workflows/content.md): The authoring surface behind geni resource, geni workflow, and geni app: scaffold, push files, validate, wire config, publish, test, and read executions. - [List workflows](https://docs.generalinput.com/llms.mdx/docs/api/workflows/list/content.md): The workflows and apps the member can access, or a relevance-ranked subset for a query. - [Create a workflow](https://docs.generalinput.com/llms.mdx/docs/api/workflows/create/content.md): Create a workflow and scaffold its starting files. Pull the scaffold with the bundle URL. - [Get a workflow](https://docs.generalinput.com/llms.mdx/docs/api/workflows/get/content.md): One workflow's detail: type, enabled state, validity, storage path, and last update. - [Set the workflow type](https://docs.generalinput.com/llms.mdx/docs/api/workflows/set-type/content.md): Switch a workflow between code and agent. Rewrite the files for the new type afterwards. - **Files** - [Bundle download URL](https://docs.generalinput.com/llms.mdx/docs/api/workflows/bundle-url/content.md): A presigned URL for the live code bundle. Download the tar.gz and extract it. - [Bundle upload URL](https://docs.generalinput.com/llms.mdx/docs/api/workflows/bundle-upload-url/content.md): A presigned URL to stage a pushed bundle. Tar the directory, PUT it, then validate or publish with the returned key. - [Validate a bundle](https://docs.generalinput.com/llms.mdx/docs/api/workflows/validate/content.md): Check a staged bundle against the spec, the credential and const wiring, and (for code) TypeScript. Nothing is persisted. - [Publish a bundle](https://docs.generalinput.com/llms.mdx/docs/api/workflows/publish/content.md): Validate a staged bundle and promote it to the live version. For apps, kick off the build. - **Config** - [Get workflow config](https://docs.generalinput.com/llms.mdx/docs/api/workflows/get-config/content.md): The runtime bindings: which credential fills each slot, each const's value, and each trigger's schedule or poll inputs. - [Update workflow config](https://docs.generalinput.com/llms.mdx/docs/api/workflows/update-config/content.md): Wire credentials, const values, and trigger schedules. Send only the fields you are changing. - **Runs** - [Run a test execution](https://docs.generalinput.com/llms.mdx/docs/api/workflows/test/content.md): Schedule a cloud test execution of the published version with an optional trigger payload. Poll the execution for the result. - [Trigger sample](https://docs.generalinput.com/llms.mdx/docs/api/workflows/trigger-sample/content.md): Live sample records from the workflow's configured poll trigger, so you can see the exact input shape before writing code. - [Stage an input file](https://docs.generalinput.com/llms.mdx/docs/api/workflows/input-upload-url/content.md): A presigned upload for a file-type test input. PUT the bytes, then pass the storage URI as the field's value in a test payload. - [List executions](https://docs.generalinput.com/llms.mdx/docs/api/workflows/list-executions/content.md): Recent executions of one workflow, newest first. - [Get an execution](https://docs.generalinput.com/llms.mdx/docs/api/workflows/get-execution/content.md): One execution's status, error, and parsed run output. - [Execution logs](https://docs.generalinput.com/llms.mdx/docs/api/workflows/execution-logs/content.md): The raw log text of one execution. - [Execution trace](https://docs.generalinput.com/llms.mdx/docs/api/workflows/execution-trace/content.md): Everything needed to debug one run offline: the trigger input, the run record, the logs, and the step-by-step thread. - **Apps** - [App build status](https://docs.generalinput.com/llms.mdx/docs/api/workflows/app-build-status/content.md): The live app's build state, error, and last build time. - [Run an app handler](https://docs.generalinput.com/llms.mdx/docs/api/workflows/app-run-handler/content.md): Dispatch one handler against the live app with test input and get its result. Bypasses the cache. - [Run an app agent](https://docs.generalinput.com/llms.mdx/docs/api/workflows/app-run-agent/content.md): Start one of the app's declared agents as a test execution. Asynchronous; poll the execution for the outcome. - [App handler invocations](https://docs.generalinput.com/llms.mdx/docs/api/workflows/app-invocations/content.md): Recent handler invocations against the live app: status, timing, cache hits, and errors. - [App browser errors](https://docs.generalinput.com/llms.mdx/docs/api/workflows/app-errors/content.md): Errors the app's iframe reported from the browser: render errors, unhandled rejections, and asset load failures. - [Clear the app handler cache](https://docs.generalinput.com/llms.mdx/docs/api/workflows/app-clear-cache/content.md): Flush every cached handler response so the next read re-executes. Republishing does this automatically. - Skills - [Skills](https://docs.generalinput.com/llms.mdx/docs/api/skills/content.md): SKILL.md instruction bundles the workspace's agents load as context: list, create, edit files, validate, publish, toggle, and revert. - [List skills](https://docs.generalinput.com/llms.mdx/docs/api/skills/list/content.md): The skills the member can access, plus the read-only platform catalog. - [Create a skill](https://docs.generalinput.com/llms.mdx/docs/api/skills/create/content.md): Create a draft skill with a starter SKILL.md. - [Get a skill](https://docs.generalinput.com/llms.mdx/docs/api/skills/get/content.md): One skill's detail. - [Update a skill](https://docs.generalinput.com/llms.mdx/docs/api/skills/update/content.md): Rename a skill or change its description. Owner only. - [Archive a skill](https://docs.generalinput.com/llms.mdx/docs/api/skills/archive/content.md): Archive a skill. Owner only. Agents stop seeing it; the record survives. - [Enable or disable a skill](https://docs.generalinput.com/llms.mdx/docs/api/skills/set-enabled/content.md): Flip the toggle that decides whether agents are offered the skill. - [Get a platform skill](https://docs.generalinput.com/llms.mdx/docs/api/skills/get-platform-skill/content.md): A platform-provided skill's files, read-only. The same bundle geni skills load downloads. - **Files** - [Get skill files](https://docs.generalinput.com/llms.mdx/docs/api/skills/get-files/content.md): The published bundle's files. Text inline; binary assets by path only. - [Save a skill file](https://docs.generalinput.com/llms.mdx/docs/api/skills/save-file/content.md): Write one text file into the bundle and republish. For small edits; use the bundle upload for whole-bundle pushes. - [Skill bundle download URL](https://docs.generalinput.com/llms.mdx/docs/api/skills/bundle-url/content.md): A presigned URL for the live bundle as a tar.gz, binary assets included. - [Skill bundle upload URL](https://docs.generalinput.com/llms.mdx/docs/api/skills/bundle-upload-url/content.md): A presigned URL to stage a pushed bundle for validate or publish. - [Validate a skill bundle](https://docs.generalinput.com/llms.mdx/docs/api/skills/validate/content.md): Check a staged bundle against the skill spec without publishing. - [Publish a skill bundle](https://docs.generalinput.com/llms.mdx/docs/api/skills/publish/content.md): Validate a staged bundle and atomically replace the live bundle. Syncs name and description from the frontmatter and snapshots a version. - **Versions** - [List skill versions](https://docs.generalinput.com/llms.mdx/docs/api/skills/list-versions/content.md): The version history a publish or revert leaves behind. - [Revert a skill version](https://docs.generalinput.com/llms.mdx/docs/api/skills/revert-version/content.md): Make an earlier version the live bundle. Recorded as a new version. - Projects - [Projects](https://docs.generalinput.com/llms.mdx/docs/api/projects/content.md): Folders that group workflows, apps, skills, and shared files. Sharing a project shares everything in it. - [List projects](https://docs.generalinput.com/llms.mdx/docs/api/projects/list/content.md): The projects the member can access, with resource counts. - [Create a project](https://docs.generalinput.com/llms.mdx/docs/api/projects/create/content.md): Create a project owned by the member. - [Get a project](https://docs.generalinput.com/llms.mdx/docs/api/projects/get/content.md): A project, the member's role in it, and the workflows, apps, and skills inside. - [Update a project](https://docs.generalinput.com/llms.mdx/docs/api/projects/update/content.md): Rename a project, change its description, or set or clear its icon. Needs edit access. - [Delete a project](https://docs.generalinput.com/llms.mdx/docs/api/projects/delete/content.md): Delete a project you own. It is emptied first, and there is no undo. - [Pin a resource](https://docs.generalinput.com/llms.mdx/docs/api/projects/pin/content.md): Put a workflow, app, or skill you own into a project, or take it out. - **Files** - [List project files](https://docs.generalinput.com/llms.mdx/docs/api/projects/list-files/content.md): The shared files in a project with size and last update. - [Download project files](https://docs.generalinput.com/llms.mdx/docs/api/projects/download-files/content.md): Every file in the project as one gzipped tar. - [Upload project files](https://docs.generalinput.com/llms.mdx/docs/api/projects/upload-files/content.md): Add or replace files from a gzipped tar. Paths the archive carries are written; everything else stays put. - [Delete a project file](https://docs.generalinput.com/llms.mdx/docs/api/projects/delete-file/content.md): Remove one file from a project. - Memory - [Memory](https://docs.generalinput.com/llms.mdx/docs/api/memory/content.md): Read what a workspace, a member, or a project already knows, and queue a change for the memory agent to fold in. - [Read memory](https://docs.generalinput.com/llms.mdx/docs/api/memory/get/content.md): The memory guide an in-app agent loads, plus the proposals still waiting to be folded in. - [Propose a memory change](https://docs.generalinput.com/llms.mdx/docs/api/memory/propose/content.md): File a note for the memory agent to fold in on its next run. Does not edit memory. - Triggers - [Triggers](https://docs.generalinput.com/llms.mdx/docs/api/triggers/content.md): Discover the trigger providers that can start a workflow. Webhook and cron are built in; poll providers watch an external source. - [List trigger providers](https://docs.generalinput.com/llms.mdx/docs/api/triggers/list/content.md): Every trigger provider, or the ones matching a query. - **CLI internals** - [CLI session endpoints](https://docs.generalinput.com/llms.mdx/docs/api/cli-session/content.md): The routes behind geni login, geni workspace, geni exec, and geni browser. They take a CLI session only, never an API key.