Skip to main content

Query Mapping Bindings

BindingDescription
queryQuery parameters from the request
bodyRequest body
contextAccount variables
beforeResults from before steps
idResource ID from URL
Example:
{
  "warehouse_id": query.location_id,
  "limit": query.page_size
}

Body Mapping Bindings

BindingDescription
bodyRequest body
queryMapped query parameters
rawQueryOriginal query parameters
contextAccount variables
beforeResults from before steps
Example:
{
  "order_name": body.name,
  "customer_email": body.customer.email
}

Response Mapping Bindings

BindingDescription
responseRaw API response
queryMapped query parameters
rawQueryOriginal query parameters
bodyRequest body
contextAccount variables
headersResponse headers
Example:
{
  "id": response.order_id,
  "status": $lowercase(response.order_status),
  "items": response.line_items.{
    "sku": sku,
    "quantity": qty
  }
}

Header Mapping Bindings

BindingDescription
headersHTTP headers
queryMapped query parameters
bodyRequest body
contextAccount variables

Error Mapping Bindings

BindingDescription
errorError details
headersResponse headers
bodyRequest body
queryMapped query parameters
contextAccount variables

Before/After Step Bindings

BindingDescription
idResource ID
queryMapped query parameters
bodyRequest body
contextAccount variables
stepCurrent step info

Practical Example

Query mapping:
{ "person_id": query.contact.id }
Response mapping using the mapped value:
{
  "contact": {
    "id": query.person_id,
    "name": response.full_name
  }
}

Common JSONata Functions

FunctionDescriptionExample
$lowercase()Convert to lowercase$lowercase(status)
$uppercase()Convert to uppercase$uppercase(code)
$now()Current timestamp$now()
$count()Count array items$count(items)
$sum()Sum numbers$sum(items.price)
$merge()Combine objects$merge([a, b])