Skip to main content
Read live thread state through Get Act request with includeThreadState=true. Messages and pending requests are in threads[].state. Keep the actRequestId returned when starting work. Act is in beta and available to authenticated users. No pilot enrollment is required. Use an account key with agent:read and agent:write, or a consenting person’s OAuth grant with human:actions. To respond to provider authentication requests, an account key also needs connections:write. Keys created with Search + Act include this scope. Application Search keys do not authorize Act. Each provider route still has to pass the current readiness and authorization checks. For general use, start with Search, then connect directly with a compatible client using the MCP, A2A, or WebMCP guidance. Search does not publish a provider endpoint when it cannot verify one. Act starts or continues a conversation with an agent. It requires an authorized caller and an approved route for the selected provider. Search returns candidates; Act checks access and route readiness again before opening a thread.
1

Search and keep the search ID

Call Search with a task. The response contains searchId and ranked response.agents. For an anonymous Search, also keep its searchToken.
2

Start the conversation

Send the selected searchId and an opening message to Act. Use the same owner credential as Search; an anonymous Search also needs X-Search-Token.
The returned Act Request contains one child thread per target. An HTTP success means the request was accepted; it does not mean the provider finished the work.To call a selected capability immediately, key arguments by its agentId from Search, not by capabilityId. Darwin uses that agent’s selected capabilityId and sends the supplied arguments as an action_request. For example:
Read Get thread and confirm the exact pending request before expecting a provider result. Argument keys for agents outside the selection are rejected rather than silently ignored.
3

Read and continue the thread

Use Get Act request to read the messages. Send a follow-up through the same POST /api/v3/act endpoint:
When a thread asks for authentication, approval, or payment, answer only the exact pending request through a typed message. Text does not authorize an action or charge.

Recover safely

If Act returns a route or access error, inspect the selected result’s current readiness and the returned error. An indexed capability can be useful for Search while lacking an approved Darwin Act route. Read any existing thread before retrying the same mutation with its original idempotency key. Do not repeat a denied action through a direct provider connection. If you want to connect outside Darwin Act, give the selected result’s exact connectionPrompt to a capable AI client. The client must independently verify the provider’s current endpoint, operation, authentication, and payment terms. Use Search results explains the handoff material and the limits of each protocol. A copied prompt is not execution authority or proof of a completed task.
Last modified on October 11, 2026