This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
The endpoint host 'clay-public-api.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (6)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/clay.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data. public carries the fewest handling requirements.
clay.search.query_reference.read v2.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://clay-public-api.invalid/public/v0/search/query-mode/reference- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-clay-api-key- Data class
- public
Read search query reference.
Fetch Clay's search query-language reference — the markdown document describing the queryable fields and grammar for advanced search, which Clay documents as the intended first step (an agent reads it to write valid queries). Public reference material, registered at the public class; no records are returned.
clay.searches.create v2.0.0R2
- Kind
- tool
- Action
- create
- Endpoint
POST https://clay-public-api.invalid/public/v0/search/query-mode- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-clay-api-key- Data class
- internal
Create searches.
Create an advanced search over Clay's GTM database. The body carries a query in Clay's documented query language (cross-entity criteria and nested Boolean logic over people or companies) and the response is a search_id: a separately addressable, persisted search definition, so this is a create even though no records are returned and no workspace data changes. The search definition itself reveals prospecting intent, so the capability is classified as internal data.
Results are fetched by the separate run capability.
clay.searches.run v2.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
POST https://clay-public-api.invalid/public/v0/search/query-mode/SEARCH_ID/run- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-clay-api-key- Data class
- pii
Run searches.
Run a created search and page its results: the documented iterator returns people records (names, titles, employers, structured locations — personal data, classified as pii (personal data)) or company records, with has_more signalling further pages; the method is POST with a limit body but the documented effect is a read only. Metering: searches are plan-capped — Clay documents per-request, per-search and per-period result limits by plan, and returns HTTP 402 naming the exhausted limit when the search quota runs out (a budget failure, not a retryable 429). SEARCH_ID is a placeholder the deployment binds to a created search before enabling.
clay.routines.run v2.0.0R2
- Kind
- tool
- Action
- execute
- Endpoint
POST https://clay-public-api.invalid/public/v0/routines/ROUTINE_ID/run- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-clay-api-key- Data class
- pii
Run routines.
Start an inline run of a routine — a Clay-managed function (enrichment, research) or a custom function (team scoring, routing logic) — over 1 to 100 input items. Registered execute at R2 because the documented effect is metered execution: Clay documents that routine runs consume the same Data Credits and Actions as equivalent in-product work, so each run spends the workspace's paid balance; and Clay documents no per-key budget on the Public API path, so the deployment must set its own spend ceiling.
The call is asynchronous: it returns a routine_run_id and results are read through the separate results capability. Routine ids use the documented function:t_... format; ROUTINE_ID is a placeholder the deployment binds to a reviewed function before enabling. Inputs and outputs routinely contain prospect and company data, classified as pii (personal data). Batch runs (upload-url plus run-batch) and Alpha Workflows are not registered by this pack.
clay.routines.runs.results.read v2.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://clay-public-api.invalid/public/v0/routines/run/ROUTINE_RUN_ID/results- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-clay-api-key- Data class
- pii
Read routine results.
Read the status and results of a routine run started earlier: the documented polling endpoint for the asynchronous run, returning run state and, once complete, the enriched output records — prospect and company data, classified as pii (personal data). Read-only: a pending run is re-polled, not re-created. ROUTINE_RUN_ID is a placeholder the deployment binds to a concrete run before enabling.
clay.tables.query.read v2.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
POST https://clay-public-api.invalid/public/v0/tables/query- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-clay-api-key- Data class
- pii
Query tables.
Query structured data from known Clay tables: the body selects fields, applies filters and pages with a cursor (limit max 100). The method is POST with a query body but the documented effect is a collection read only — Clay documents the Tables primitive as read-only. Enterprise-only: Clay documents table queries as an Enterprise-plan feature, and there is no list-tables endpoint, so the deployment must already know its table ids (found in the Clay app URL after /tables/) and carries them in the request body.
Clay tables conventionally hold prospect rows — names, emails, employers — personal data, classified as pii (personal data).
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-clay-api-key- Custody
- customer_vault
- Injection
- header (clay-api-key)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
A Clay Public API key, held in the client's own secret manager. The stored material must be the complete clay-api-key header value: the bare key with no scheme prefix, as Clay's own examples send it. customer_vault is the only generally-supported production custody model here — identity_federation and customer_broker are refused at startup and inline is lab-only.
Issuance, per Clay's quickstart: a key is created in the Clay app under Settings > Account > API keys (currently labeled beta), or generated by the agent plugin after install. Scope model: Clay documents keys as tied to a specific Clay user and inheriting that user's workspace access — a key is not a service account, so it can reach exactly what its creating user can reach, and it stops working if that user is removed from the workspace; mint the key from a user whose workspace membership is limited to what this integration needs, monitor for 401s, and tie key rotation to the offboarding process, because there is no org-scoped alternative today.
Least privilege: the key inherits the user's workspace access wholesale (no per-endpoint scoping is documented), so least privilege is exercised through the choice of the issuing user, and through the deployment's own spend ceiling — Clay documents credit budgets only for MCP users, not for Public API keys.
Expiry and revocation: the retrieved first-party pages document creation but not scheduled expiry, rotation semantics or a revocation API (the dedicated authentication page at developers.clay.com/public-api/authentication was retrieved and likewise documents none); treat keys as long-lived until deleted in Clay settings, own rotation and revocation as external administrative actions, and ensure a stale value fails closed. The executor injects the stored value verbatim and performs no credential lifecycle itself.
Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
clay-gtm-database(api, pii):https://clay-public-api.invalid/public/v0/search/query-modeclay-routine-runs(api, pii):https://clay-public-api.invalid/public/v0/routinesclay-tables(api, pii):https://clay-public-api.invalid/public/v0/tables/query
Technical package and review record
Complete provider requirements and exclusions
The endpoint host 'clay-public-api.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD, a deliberate fail-closed default): substitute the real host before enabling, in the endpoints, the resource locators and the egress allowlist — the allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step. The real host is api.clay.com and every registered path sits under the /public/v0 base path of Clay's Public API, the developer platform Clay launched on 9 July 2026.
This pack registers only operations documented in Clay's official developer documentation at developers.clay.com, retrieved on the review date: the search query-language reference read, advanced-search create and run, routine run start, routine run results read, and the table query. Searches are POST-with-query-body shapes whose documented effect is retrieval: creating a search posts a query in Clay's documented query language and returns a search_id (no records change hands), and running a search is a stateful iterator that pages records until has_more is false — the run is registered read at R0, while the create is registered create at R2 because it persists a separately addressable search definition even though no records change hands.
Searches are plan-capped metered reads: Clay documents per-request, per-search and per-period result limits by plan, and returns HTTP 402 (naming the limit hit) when the search quota is exhausted — 402 means out of budget, not slow-down-and-retry; malformed input returns 400. Routine execution is registered execute at R2 because a run consumes paid capacity: Clay documents that API and CLI work consumes the same Data Credits (purchased data) and Actions (operations) as equivalent in-product runs, so every run spends the workspace's paid balance; Clay documents no per-key credit budget on the Public API path (budgets exist only on the MCP surface), so the deployment must impose its own spend ceiling.
Runs are asynchronous: the run call returns a routine_run_id and results are polled from the results endpoint. Routine ids for custom functions use the documented format function:t_... — ROUTINE_ID and ROUTINE_RUN_ID are placeholders the deployment binds before enabling. Inline runs accept 1 to 100 items; the batch run surface (presigned upload URL plus run-batch start) is not registered by this pack. Workflows are documented as Alpha; this pack registers function routines only.
The table query is documented Enterprise-only and read-only: there is no list-tables endpoint, so the integration must already know its table ids (found in the Clay app URL after /tables/), and the table id travels in the request body, not the path.
Excluded operations: table writes of any kind (Clay documents the Tables primitive as read-only — no create-table, add-field or write-record operations), the older filters-mode search, batch routine runs, webhook management (run-completion webhooks are created with the clay CLI and verified with X-Clay-Signature), the Audiences and Signals primitives, the MCP surfaces (the hosted MCP connector and the local stdio MCP server that ships with the agent plugin) and the clay CLI itself — those are local or OAuth-gated surfaces outside this pack's HTTP connector — and the in-table HTTP API enrichment column, which is outbound from Clay, not an endpoint a caller invokes.
People search results and routine/table outputs conventionally contain prospect names, titles, employers and locations — personal data, classified as pii (personal data). Documentation review is complete. Deployment requirements remain: the first-party developer documentation was retrieved for this review, including the authentication page at developers.clay.com/public-api/authentication, and neither it nor the other retrieved pages document key expiry, scheduled rotation or a revocation API — those custody properties are unresolved vendor-side (see the credential note).
Versioning: every capability carries version 2.0.0, the pack version in which it was registered when the pack was rewritten against Clay's July 2026 Public API; a capability's version is the pack version in which its registration last changed.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-10-22
11 sources, retrieved 2026-09-21
- https://developers.clay.com/ (retrieved 2026-09-21)
- https://developers.clay.com/quickstart (retrieved 2026-09-21)
- https://developers.clay.com/searches (retrieved 2026-09-21)
- https://developers.clay.com/searches/advanced (retrieved 2026-09-21)
- https://developers.clay.com/routines/api (retrieved 2026-09-21)
- https://developers.clay.com/tables (retrieved 2026-09-21)
- https://www.scalekit.com/blog/clay-mcp-vs-api (retrieved 2026-09-21)
- https://developers.clay.com/public-api/authentication (retrieved 2026-09-21)
- https://developers.clay.com/routines/batch-runs (retrieved 2026-09-21)
- https://university.clay.com/docs/clay-api-cli (retrieved 2026-09-21)
- https://university.clay.com/docs/actions-data-credits (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: 07f8764f9e5903d8c0aef1f2ccb72526efd4a8b8a434004469c51fc731b8c84e
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.