Skip to main content
Use HTTP when the caller needs one completed response. For live progress, streaming text or tool lifecycle events, choose SSE. Both modes use the same Endpoint configuration, request input, authorization and guards.

Select the response contract

Choose HTTP under Options → Response mode. Set the success status and decide which Component output is part of your public contract. For a Component with a visible element named Response:
Component · Response
Set popResult to Response to return:
Leaving the selection at Full result map returns:
The exact visible element key matters. A hidden element cannot be selected. Elements still execute in order; selecting an output does not stop later elements. Use noResult without popResult for a side-effect-only operation.

Return a deliberate status

Normal configured success statuses are 200–299. Component code can use api.throw(status, body) for an intentional status and body, including a business error. Treat it as response control; do not catch and discard it accidentally.
Component · Response
For long work, trigger a Job, return 202 with a durable operation identifier and let the client observe that operation. An HTTP connection is not a durable execution queue.

Validate before execution

A request guard validates the structured body, query, parameters and headers before the Component runs. Set a safe validation error body and status when your client requires a stable error contract. See the JSON Validator guide for RevoEngine validator syntax; it differs from the JSON Schema used to define an OpenAI function tool.

Call the Endpoint

The runtime origin comes from your instance configuration. Caller permissions and the Endpoint’s execution policy determine which instance operations the Component can perform. See Endpoint runtime.

Timeouts and retries

There is no automatic retry of an Endpoint invocation. A timeout does not prove that a remote mutation was rolled back. Give commands an application idempotency key and verify their stored outcome before retrying. HTTP client disconnect does not provide an application callback for ordinary HTTP Endpoints. Choose SSE when you need explicit cancellation, continuation or disconnect notification. Legacy envelopes are compatibility behavior for existing callers. Keep new contracts on a selected result, result map or empty body.
Last modified on October 26, 2026