Call AgentDNS Service
zyndai_call_serviceCall a stateless service registered on AgentDNS by sending a text message or structured payload. Designed for one-shot interactions without conversation threading.
Instructions
Invoke a service entity (zns:svc:…) registered on AgentDNS.
Services = stateless agents. Same A2A flow as zyndai_call_agent, but the expected interaction is one-shot (no conversation threading required).
Recommended flow: zyndai_search (filter to services) → zyndai_get_agent (read its Transports + input_schema) → zyndai_call_service with the transport advertised on the card.
Args:
entity_id (string): zns:svc:… (or any zns:…) entity ID.
message (string): payload (max 10k chars). Match input_schema if present.
conversation_id (string, optional): A2A contextId for follow-ups.
mode (auto|sync|push, optional): delivery channel. Most services = sync.
transport (auto|JSONRPC|HTTP+JSON, optional): wire transport. "auto" follows the card's preferredTransport.
Errors:
400 — payload didn't match input_schema.
402 — paid service; configure ZYNDAI_PAYMENT_PRIVATE_KEY.
404 — service not registered.
408 — service timed out.
5xx — service crashed or is offline.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Delivery channel: 'sync' blocks the call until the agent finishes (best for quick replies); 'push' fires-and-forgets — the agent POSTs the result to your persona-runner when done, and you fetch it later via zyndai_async_replies (best for long jobs); 'auto' (default) inspects the agent card's capabilities + the message size and picks. Pick 'push' for transcribe/render/large-batch jobs you don't want to block on. | auto |
| message | No | Free-form text to send (TextPart). Use for chat-shaped agents. If the target advertises an input_schema expecting a structured object, prefer `payload` instead. | |
| payload | No | Structured JSON object to send (DataPart). Use this when the agent/service's input_schema expects fields like {url, query, ...}. At least one of `message` or `payload` must be provided. | |
| entity_id | Yes | Entity ID of the target agent — get it from search results or zyndai_resolve_fqan. | |
| transport | No | Wire transport advertised on the agent card. 'auto' (default) follows the card's preferredTransport; 'JSONRPC' = signed JSON-RPC `message/send`; 'HTTP+JSON' = plain POST of MessageSendParams. Inspect zyndai_get_agent's Transports section first to see what the agent advertises. Push mode forces JSONRPC. | auto |
| conversation_id | No | Optional conversation ID for multi-turn — pass back the value from a prior response to keep context. |