niyra_ask — synchronous Q&A niyraask A single-turn Q&A surface. You send a question, Niyra answers. No follow-up, no scheduling, no long-running work — for those, use niyraexecute. When to use - "What's on my calendar tomorrow?" - "Summarize my last conversation with Sarah." - "Has Acme renewed their contract yet?" If the question needs Niyra to actually do something (send an email, file a ticket, schedule a meeting), reach for niyraexecute instead. Endpoint | Method | Path | Auth | Scope | | ------ | ---- | ---- | ----- | | POST | /v1/public/ask | Bearer token (PAT or OAuth) | niyra:ask | The same tool is also available via the MCP JSON-RPC surface at POST /mcp (method: tools/call, name: niyraask). Request | Field | Type | Required | Notes | | ----- | ---- | -------- | ----- | | question | string | yes | The question to answer. Max 4000 chars. | | conversationid | uuid | no | Pin the answer to an existing thread. Omit to use the default thread. | | channelcontext | string | no | Short hint about where this came from ("from Slack via Zapier"). Surfaces in Niyra's reply tone. | Response If the answer can't be produced in the 30s budget, taskid is non-null and answer is null. Poll niyragettask until the task reaches a terminal state. Code examples curl JavaScript Python Errors | Status | Code | Meaning | | ------ | ---- | ------- | | 400 | invalidrequest | Missing or empty question, or question > 4000 chars | | 401 | invalidtoken | Token revoked, expired, or unknown | | 403 | insufficientscope | Token lacks niyra:ask | | 429 | ratelimitexceeded | Per-token sliding-window budget exhausted; Retry-After header tells you when | Related - niyraexecute — for tasks that need action, not just an answer - niyraget_task — poll a spawned task - Scope catalog - Rate limits