Endpoints

Read the callable paths an application exposes on its active version.

Introduction

Endpoints are read-only here, because they come from your source rather than from an API call. A code app derives them from the methods you decorated, and a container app declares them in its container.yaml.

A path is a bare lowercase segment with no leading slash, up to 64 characters, and an app serves at most 20 of them. What this page reports is the set on the app's active version, which is what a request can actually reach today.

List endpoints

GETapi.serverless.runware.ai/v1/apps/{appId}/endpoints

Lists the endpoints of the app's active version. The set is written by the source itself, a code build's introspection, or a container's config document, and is replaced atomically whenever a version activates, so a deploy of a newer version or a rollback to an older one is immediately reflected here. Empty while the app is initializing: nothing is routable until its first build is ready and deployed. Each row may include runtime (status, req/min, p95, p99) from the latest 5-minute Insights window. Those fields are omitted when metrics cannot be read or the endpoint has no samples. Identity always comes from Postgres.

Request

Path

appId

stringrequiredmin: 6max: 30

Immutable app identifier, unique among the authenticated organization's live apps.

Query

limit

integerint32min: 1max: 100default: 20

Maximum number of items to return.

cursor

string

Opaque pagination cursor returned by a previous call, as nextCursor or, on the operations that offer one, prevCursor.

Response

nextCursor

stringnullable

Cursor for the next page. Null when there are no more items.

data

object[]
Array items6 properties each

id

string (uuid)requiredUUID v4

appId

stringrequiredmin: 6max: 30

Immutable app identifier. Unique among the authenticated organization's live apps: it cannot be changed after creation, and it becomes available again once the app it named reaches deleted.

path

stringrequired

The endpoint's identity within the app: a bare lowercase URL segment, e.g. generate, with no leading slash. Unique within the app, so it identifies the endpoint on its own.

createdAt

string (date-time)date-time

updatedAt

string (date-time)date-time

runtime

object

Latest-window traffic for one endpoint. Identity stays on the parent Endpoint. These fields come from Insights and are omitted independently when their backing series has no samples. The whole object is omitted when Insights is unset, times out, or the endpoint had no request samples. Zero is a reading, not an absence.

Properties4 properties
status
string

Badge derived from the latest-window error ratio (4xx + 5xx over requests). Not stored: there is no endpoint status column. Omitted when metrics cannot be read or the endpoint had no requests in the window. healthy is a zero ratio, degraded is below 0.05, unhealthy is 0.05 and above.

Possible values3 values
requestsPerMinute
numberdoublemin: 0

5-minute request rate (rate(rw_requests_total[5m]) * 60), in req/min. Not derived from the 24h sparkline counts.

p95RequestDuration
numberdoublemin: 0

Latest-window p95 request duration in seconds (all requests, the duration histogram has no status class).

p99RequestDuration
numberdoublemin: 0

Latest-window p99 request duration in seconds (all requests, the duration histogram has no status class).

Errors

StatusWhen
400The request was malformed and could not be parsed (e.g. invalid JSON). A well-formed request that fails validation returns 422 instead.
401Missing or invalid credentials
404Resource not found
422The request was well-formed but semantically invalid (e.g. a missing or out-of-range field). A request that could not be parsed returns 400. The errors array carries one entry per offending field.
500Unexpected server error
503A required service is temporarily unavailable

Get an endpoint

GETapi.serverless.runware.ai/v1/apps/{appId}/endpoints/{endpointId}

Returns one live endpoint on the app. runtime is the same optional latest-window traffic as listEndpoints and is omitted when metrics cannot be read or the endpoint has no samples.

Request

Path

appId

stringrequiredmin: 6max: 30

Immutable app identifier, unique among the authenticated organization's live apps.

endpointId

string (uuid)requiredUUID v4

Response

id

string (uuid)requiredUUID v4

appId

stringrequiredmin: 6max: 30

Immutable app identifier. Unique among the authenticated organization's live apps: it cannot be changed after creation, and it becomes available again once the app it named reaches deleted.

path

stringrequired

The endpoint's identity within the app: a bare lowercase URL segment, e.g. generate, with no leading slash. Unique within the app, so it identifies the endpoint on its own.

createdAt

string (date-time)date-time

updatedAt

string (date-time)date-time

runtime

object

Latest-window traffic for one endpoint. Identity stays on the parent Endpoint. These fields come from Insights and are omitted independently when their backing series has no samples. The whole object is omitted when Insights is unset, times out, or the endpoint had no request samples. Zero is a reading, not an absence.

Properties4 properties

status

string

Badge derived from the latest-window error ratio (4xx + 5xx over requests). Not stored: there is no endpoint status column. Omitted when metrics cannot be read or the endpoint had no requests in the window. healthy is a zero ratio, degraded is below 0.05, unhealthy is 0.05 and above.

Possible values3 values

requestsPerMinute

numberdoublemin: 0

5-minute request rate (rate(rw_requests_total[5m]) * 60), in req/min. Not derived from the 24h sparkline counts.

p95RequestDuration

numberdoublemin: 0

Latest-window p95 request duration in seconds (all requests, the duration histogram has no status class).

p99RequestDuration

numberdoublemin: 0

Latest-window p99 request duration in seconds (all requests, the duration histogram has no status class).

Errors

StatusWhen
400The request was malformed and could not be parsed (e.g. invalid JSON). A well-formed request that fails validation returns 422 instead.
401Missing or invalid credentials
404Resource not found
422The request was well-formed but semantically invalid (e.g. a missing or out-of-range field). A request that could not be parsed returns 400. The errors array carries one entry per offending field.
500Unexpected server error
503A required service is temporarily unavailable