# Clay docs > Developer documentation for using Clay from agents, CLIs, APIs, and internal systems. ## Docs - [Get the authenticated user](https://developers.clay.com/api-reference/me/get-the-authenticated-user.md): Returns the Clay user and workspace associated with the API key. - [Execute a routine against 1-100 items](https://developers.clay.com/api-reference/routines/execute-a-routine-against-1-100-items.md): Starts an asynchronous routine run for up to 100 input items. - [Fetch progress and results for a batch run](https://developers.clay.com/api-reference/routines/fetch-progress-and-results-for-a-batch-run.md): Returns current status and results for an asynchronous batch routine run. - [Fetch progress and results for a routine run](https://developers.clay.com/api-reference/routines/fetch-progress-and-results-for-a-routine-run.md): Returns current status and paginated results for an asynchronous routine run. - [Issue a presigned PUT URL for uploading a batch input JSONL](https://developers.clay.com/api-reference/routines/issue-a-presigned-put-url-for-uploading-a-batch-input-jsonl.md): Creates a presigned URL for uploading a JSONL file used by a batch routine run. - [Start an async routine run-batch over an uploaded JSONL file](https://developers.clay.com/api-reference/routines/start-an-async-routine-run-batch-over-an-uploaded-jsonl-file.md): Starts an asynchronous batch routine run over a previously uploaded JSONL file. - [Advance the search iterator and return the next page of results](https://developers.clay.com/api-reference/searches/advance-the-search-iterator-and-return-the-next-page-of-results.md): Returns the next page of records for an existing search. - [Create a search from structured filters](https://developers.clay.com/api-reference/searches/create-a-search-from-structured-filters.md): Starts a new Clay search from a source type and structured filter fields. - [List the filter fields available for a search source type](https://developers.clay.com/api-reference/searches/list-the-filter-fields-available-for-a-search-source-type.md): Returns every filter field accepted by POST /searches for the given source type, including each field's type, description, allowed values, and usage guidance. Call this before creating a search to build valid filters. - [Run a structured query across one or more tables](https://developers.clay.com/api-reference/tables/run-a-structured-query-across-one-or-more-tables.md): Runs a structured query against Clay table data and returns records with field metadata. - [Clay plugin quickstart](https://developers.clay.com/cli/quickstart.md): Install the Clay plugin or CLI, sign in, and run your first command. - [api-keys create](https://developers.clay.com/cli/reference/api-keys-create.md): Create a Public API key and print its secret once. - [api-keys delete](https://developers.clay.com/cli/reference/api-keys-delete.md): Delete a Public API key by id. - [api-keys list](https://developers.clay.com/cli/reference/api-keys-list.md): List the Public API keys you own as JSON. - [api-keys update](https://developers.clay.com/cli/reference/api-keys-update.md): Rename a Public API key by id. - [credits](https://developers.clay.com/cli/reference/credits.md): Print the authenticated workspace's remaining credit balance as JSON. - [feedback](https://developers.clay.com/cli/reference/feedback.md): Send a bug report or feedback to the Clay team from the CLI. - [functions list](https://developers.clay.com/cli/reference/functions-list.md): List functions in the workspace pinned to your API key. - [login](https://developers.clay.com/cli/reference/login.md): Sign in to Clay, saving credentials to the local config file. - [logout](https://developers.clay.com/cli/reference/logout.md): Remove the saved Clay API key from the config file. - [mcp](https://developers.clay.com/cli/reference/mcp.md): Run Clay as a local MCP server over stdio for an MCP host to spawn. - [routines create](https://developers.clay.com/cli/reference/routines-create.md): Create a routine from an existing function or workflow. - [routines get](https://developers.clay.com/cli/reference/routines-get.md): Fetch a routine by id with full config, integrations, and input schema. - [routines list](https://developers.clay.com/cli/reference/routines-list.md): List routines in the workspace pinned to your API key. - [routines runs get](https://developers.clay.com/cli/reference/routines-runs-get.md): Fetch status and results for an inline or bulk routine run. - [routines runs list](https://developers.clay.com/cli/reference/routines-runs-list.md): List recent async routine runs and their statuses. - [routines runs start](https://developers.clay.com/cli/reference/routines-runs-start.md): Start an async routine run. - [routines update](https://developers.clay.com/cli/reference/routines-update.md): Update a routine — name, description, entity type, or integrations. - [search create](https://developers.clay.com/cli/reference/search-create.md): Start a Clay search from structured filters. - [search fields](https://developers.clay.com/cli/reference/search-fields.md): List the filter fields available for a search source type. - [search next](https://developers.clay.com/cli/reference/search-next.md): Fetch the next page of results for a search. - [tables columns get](https://developers.clay.com/cli/reference/tables-columns-get.md): List a table's columns with each basic and action column's full settings. - [tables columns list](https://developers.clay.com/cli/reference/tables-columns-list.md): List a table's columns in abbreviated form. - [tables get](https://developers.clay.com/cli/reference/tables-get.md): Get metadata for a table, including row count and archive linkage. - [tables list](https://developers.clay.com/cli/reference/tables-list.md): List tables in the workspace pinned to your API key. - [tables query](https://developers.clay.com/cli/reference/tables-query.md): Run a structured query across one or more tables. - [tables query-usage](https://developers.clay.com/cli/reference/tables-query-usage.md): Show how many tables are enabled for querying and the workspace limit. - [tables rows get](https://developers.clay.com/cli/reference/tables-rows-get.md): Get a single table row by id. - [tables rows list](https://developers.clay.com/cli/reference/tables-rows-list.md): List rows in a table, optionally filtered. - [tables update](https://developers.clay.com/cli/reference/tables-update.md): Enable or disable querying for a table. - [webhooks](https://developers.clay.com/cli/reference/webhooks.md): Create, list, delete, test, and handle Clay webhook deliveries. - [webhooks create](https://developers.clay.com/cli/reference/webhooks-create.md): Create a webhook and capture its signing secret. - [webhooks delete](https://developers.clay.com/cli/reference/webhooks-delete.md): Delete a webhook by id. - [webhooks list](https://developers.clay.com/cli/reference/webhooks-list.md): List the active webhooks in the workspace, newest first. - [webhooks test](https://developers.clay.com/cli/reference/webhooks-test.md): Send a signed test event to a webhook and report the outcome. - [whoami](https://developers.clay.com/cli/reference/whoami.md): Print the authenticated user and their workspace as JSON. - [workflows actions dynamic-fields](https://developers.clay.com/cli/reference/workflows-actions-dynamic-fields.md): Resolve an action parameter whose options or fields depend on other inputs. - [workflows actions list](https://developers.clay.com/cli/reference/workflows-actions-list.md): Dump the full Clay action catalog as greppable JSON. - [workflows actions schema](https://developers.clay.com/cli/reference/workflows-actions-schema.md): Fetch one action's input schema by packageId and actionKey. - [workflows create](https://developers.clay.com/cli/reference/workflows-create.md): Create a new empty workflow. - [workflows diagram](https://developers.clay.com/cli/reference/workflows-diagram.md): Render a workflow's current graph as a Mermaid flowchart. - [workflows get](https://developers.clay.com/cli/reference/workflows-get.md): Fetch a single workflow by id. - [workflows list](https://developers.clay.com/cli/reference/workflows-list.md): List workflows in the workspace pinned to your API key. - [workflows runs get](https://developers.clay.com/cli/reference/workflows-runs-get.md): Fetch status, progress, and per-node summary for a workflow run. - [workflows runs list](https://developers.clay.com/cli/reference/workflows-runs-list.md): List runs of a workflow, newest first, with optional filters. - [workflows runs pause](https://developers.clay.com/cli/reference/workflows-runs-pause.md): Pause an active workflow run. - [workflows runs resume](https://developers.clay.com/cli/reference/workflows-runs-resume.md): Resume a paused workflow run. - [workflows runs steps](https://developers.clay.com/cli/reference/workflows-runs-steps.md): List the individual execution steps of a workflow run. - [workflows runs test](https://developers.clay.com/cli/reference/workflows-runs-test.md): Start a test run of a workflow. - [workflows snapshots get](https://developers.clay.com/cli/reference/workflows-snapshots-get.md): Fetch one snapshot's full workflow graph — nodes, edges, agent prompts, and code. - [workflows snapshots list](https://developers.clay.com/cli/reference/workflows-snapshots-list.md): List a workflow's automatic version-history snapshots, newest first. - [workflows snapshots restore](https://developers.clay.com/cli/reference/workflows-snapshots-restore.md): Roll a workflow back to a previous snapshot, replacing its current graph. - [CLI basics](https://developers.clay.com/concepts/cli-basics.md): Understand the Clay CLI output contract, exit codes, environment variables, and authentication. - [Execution model](https://developers.clay.com/concepts/execution-model.md): Understand the primitives behind Clay routines, searches, tables, runs, and batch jobs. - [MCP server](https://developers.clay.com/concepts/mcp.md): Understand how the Clay plugin exposes Clay to agents over the Model Context Protocol. - [Overview](https://developers.clay.com/index.md): Use Clay from agents, terminals, backend services, internal tools, and custom apps. - [Authentication](https://developers.clay.com/public-api/authentication.md): Authenticate requests with a Clay API key. - [Errors](https://developers.clay.com/public-api/errors.md): Understand Clay Public API error responses. - [Pagination](https://developers.clay.com/public-api/pagination.md): Handle paginated collections and stateful result iterators. - [Public API quickstart](https://developers.clay.com/public-api/quickstart.md): Make your first Clay Public API request. - [Rate limits](https://developers.clay.com/public-api/rate-limits.md): Understand Clay Public API rate limits and how to handle 429 responses. - [Give an agent access to a Clay function](https://developers.clay.com/recipes/agent-function-access.md): Let an agent call Clay-managed or custom functions from its normal workflow. - [Build a Workflow (Alpha)](https://developers.clay.com/recipes/build-workflow-alpha.md): Use the Clay plugin and CLI to create, edit, run, and inspect a Workflow. - [Encode Clay functions into business systems](https://developers.clay.com/recipes/business-systems.md): Call Clay functions from backend jobs, internal tools, queues, and product workflows. - [Run a search, then enrich with a function](https://developers.clay.com/recipes/search-and-enrich.md): Use Searches to find records, then run Clay-managed functions on the results. - [Routines API](https://developers.clay.com/routines/api.md): Run Clay-managed functions and custom functions through the Public API. - [Batch runs](https://developers.clay.com/routines/batch-runs.md): Run routines across many records. - [Clay-managed functions](https://developers.clay.com/routines/clay-managed-functions.md): Use Clay-provided functions for common enrichment and research jobs. - [Custom functions](https://developers.clay.com/routines/custom-functions.md): Run your own reusable Clay logic from agents, the CLI, MCP, or the API. - [Functions vs. Workflows](https://developers.clay.com/routines/functions-vs-workflows.md): Choose between custom functions and Workflows for reusable Clay logic. - [Routines overview](https://developers.clay.com/routines/index.md): Understand the routine types: Clay-managed functions, custom functions, and Workflows. - [Workflows (Alpha)](https://developers.clay.com/routines/workflows-alpha.md): Build, edit, run, inspect, and batch-run Clay Workflows from the plugin and CLI. - [Searches](https://developers.clay.com/searches.md): Create structured-filter searches over Clay's proprietary GTM database and fetch structured records. - [Tables (Enterprise)](https://developers.clay.com/tables.md): Query known Clay tables with structured filters, selected fields, ordering, and pagination. - [Agent workflows](https://developers.clay.com/use-cases/agent-workflows.md): Use Clay with coding agents, MCP clients, local scripts, and JSON-first automations. - [Use Clay tables as a database](https://developers.clay.com/use-cases/build-on-tables.md): Build dashboards, internal tools, and interactive apps on top of data that exists in Clay tables. - [Enrich leads and accounts](https://developers.clay.com/use-cases/enrich-leads-and-accounts.md): Use Clay to enrich records with contact, company, technology, hiring, funding, and firmographic data. - [Use cases](https://developers.clay.com/use-cases/index.md): See the GTM workflows you can run with Clay from a CLI, API, service, or agent. - [Run GTM workflows](https://developers.clay.com/use-cases/run-gtm-workflows.md): Embed Clay scoring, routing, research, enrichment waterfalls, and other GTM logic in your systems. - [Search Clay's GTM database](https://developers.clay.com/use-cases/search-gtm-database.md): Use structured filters to search Clay's proprietary database of companies and people. ## OpenAPI Specs - [openapi](https://developers.clay.com/openapi.json)