Runs a scene function of type API_REQUEST the way Studio saved it: the platform fills in the variables, adds the team's stored connection credentials, and calls the third-party API, so the credentials never reach the device. The method, URL, headers and body come from the saved function and cannot be changed by the caller. Writing the result into variables and running the success or failure sequence is left to the client.
The call is made only to a host on the team's endpoint allowlist, over https, with no redirects followed and a timeout of at most 30 seconds. Once the call is attempted the answer is HTTP 200 with the outcome, also when the third-party API failed: check ok and error_code.
Do not send dry_run: dry_run: true is the Studio editor's test mode, and a key is refused with 403 DRY_RUN_JWT_ONLY.
With a client key the function must be in the key's project. An id your key cannot reach (another team's, or another project's for a bound key) gets the same answer as an id that does not exist.
Counts as one request against the team's monthly API request quota for every attempt, whatever the outcome.
Recent Requests
Log in to see full request history
Time
Status
User Agent
Retrieving recent requests…
Loading…
Responses
401
MISSING_AUTH: no x-api-key header, and no other credential.
INVALID_API_KEY_FORMAT: the key is not rv_live_, rv_client_ or rv_secret_ followed by 64 lowercase hexadecimal characters.
INVALID_API_KEY: no such key, or a key sent with the wrong prefix for its type.
API_KEY_EXPIRED: the key is past its expiry date.
AUTH_ERROR: a user token (rv_ut_) was sent as a Bearer token. This operation does not accept user tokens.
403
API_REQUEST_LIMIT_REACHED: the team's monthly API request quota is used up.
DRY_RUN_JWT_ONLY: the body has dry_run: true.
404
FUNCTION_NOT_FOUND: no such API_REQUEST function, or one the key cannot reach.
405
METHOD_NOT_ALLOWED: a method other than POST.
429
RATE_LIMITED: over a rate limit: 120 calls a minute for the team, which is always enforced (Retry-After: 60); or over 300 a minute from one IP address; or, for a secret key, over 120 a minute for the key or 1,200 requests a minute across all operations. Wait the number of seconds in Retry-After. See Limits.
500
INTERNAL_ERROR: an unexpected error. Retry, and quote meta.request_id to support if it persists.
503
API_KEY_LOOKUP_FAILED: the key could not be checked. Retry; this does not mean the key is invalid.