Interface OgcProcessExecuteRequest

Process-execution request envelope for POST /processes/{id}/execution (OGC API — Processes Part 1: Core §7.11).

mode selects the OGC API Processes execution negotiation behavior:

  • "async"Prefer: respond-async. A conformant server answers 201 with a Location header and a statusInfo body.
  • "sync" → no Prefer header (OGC Requirement 25), and the caller asserts the process declares sync-execute. A supporting server answers 200 with the results document.
  • "auto" (default) → no Prefer header; whichever shape the server returns is adapted onto the same IJobRun surface.

A server that answers a "sync" request with a job, or an "async" request synchronously, still yields the corresponding IJobRun shape; response status/body/links remain authoritative over the requested preference.

interface OgcProcessExecuteRequest {
    basePath?: string;
    headers?: HeadersInit;
    inputs?: OgcProcessInputs;
    jobControlOptions?: readonly string[];
    mode?: "sync" | "async" | "auto";
    outputs?: Record<string, {
        format?: {
            mediaType?: string;
        };
        transmissionMode?: "value" | "reference";
    }>;
    processId: string;
    signal?: AbortSignal;
}

Properties

basePath?: string

Raw endpoint path prefix (defaults to the Honua facade /ogc/processes). A raw third-party Processes service root discovered by discoverOgcProcesses() threads its service-root path here so the execution route resolves against the advertised layout instead of the facade.

headers?: HeadersInit
jobControlOptions?: readonly string[]

The process's advertised jobControlOptions (from describe() or a discovery snapshot). Supplied — or already memoized from a describe() on the same handle — it lets mode be gated against what the process actually declares, so an undeclared sync-execute / async-execute fails closed with HonuaCapabilityNotSupportedError instead of being posted blindly.

mode?: "sync" | "async" | "auto"

Execution preference; see the interface docs. Defaults to "auto".

outputs?: Record<string, {
    format?: {
        mediaType?: string;
    };
    transmissionMode?: "value" | "reference";
}>
processId: string
signal?: AbortSignal