Skip to main content
Every call to POST /action returns an ActionResponse object. It tells you whether the action was dispatched, whether any post-action verification expression was satisfied, how long the full round-trip took, and — when the action produces a return value — what the runtime returned. For actions dispatched with verify: true, the response also embeds a VerificationResult that captures the expression evaluated, the computed value, and whether it was satisfied within the timeout.
success
boolean
required
true when the action was dispatched and either no verification was requested or the verify_expression evaluated to true within verify_timeout_ms. false when the action failed to dispatch, the expression never became true before the timeout, or the probe returned an error during post-action polling.When success is false due to a verification timeout, the HTTP status is 422 Unprocessable Entity. For dispatch failures (pre-flight errors, wrong PID, unknown action name) the HTTP status is 400 or 404.
result
any
The raw return value of the action as reported by the runtime. For V8 actions this is the JavaScript return value serialized to JSON. For JVM and CLR actions this is the method return value converted from its native type. For actions that return nothing (void functions or UI interactions) this field is null.
latency_ms
integer
required
Total wall-clock time in milliseconds from the moment NSP received the request to when it sent the response. For requests with verify: true, this includes all post-action polling time. For requests without verification, it reflects only dispatch latency.
action_name
string
required
The name of the action that was invoked, echoed back from the request. Useful for logging and for correlating responses when you fire multiple concurrent requests.
pid
integer
required
The OS process ID of the application against which the action was executed, echoed back from the request.
executed_at
string
required
ISO 8601 UTC timestamp of when the action was dispatched to the runtime, for example "2026-07-20T13:00:00.312Z". Note that executed_at reflects the dispatch moment — if verify: true, additional time elapses after this for post-action polling before the response is returned.
verification
object
Present and populated when verify: true was set in the request. Contains the full post-action verification result. null when no verification was requested.

JSON Example — Success with Verification

JSON Example — Success without Verification

JSON Example — Failure (Verification Timeout)

When NSP dispatches the action but the verify_expression never becomes true before the timeout, it returns HTTP 422 with success: false:
A 422 response means the action was dispatched but the expected state change was not observed. Treat this as an indeterminate outcome — the action may have succeeded on the application side but the state probe did not confirm it within the timeout window. You should inspect the current state (via GET /state) and potentially increase verify_timeout_ms for slow operations before retrying.