Skip to main content
POST
Example payload

Authorizations

x-juno-jwt
string
header
required

JWT issued by Dynamic Labs or Privy. Sent in the x-juno-jwt header on every authenticated request.

Headers

Idempotency-Key
string | null
x-juno-orgid
string | null

Tenant org ID for multi-tenant auth

x-sumvin-token
string | null
x-sumvin-pat
string | null
x-juno-jwt
string | null
X-Timestamp-Format
string

Controls how timestamp fields are serialized in JSON response bodies.

Default (header omitted or any other value): epoch milliseconds as integers. iso8601: UTC ISO 8601 strings of the form YYYY-MM-DDTHH:MM:SSZ.

Example: with X-Timestamp-Format: iso8601, the field value 1704067200000 becomes "2024-01-01T00:00:00Z".

Affected fields (recursively, in dicts and arrays): any field whose name ends in _at, plus the literal field names timestamp, period_start, and period_end. All other fields are passed through unchanged.

Only iso8601 is recognized. Any other value (or omitting the header) yields the default epoch-ms representation; the server does not reject unknown values, so this is documented as an example rather than an enum to keep generated clients permissive.

Example:

"iso8601"

Body

application/json

Create a new IPA from a natural-language purchase request.

  • raw_intent preserves the original user request for auditability and re-parsing.
  • constraints define what acceptable purchase options must satisfy (selection filters and guardrails).
  • conditions define when an approved IPA may auto-execute (monitoring/automation triggers).

Use constraints for search and validation guardrails. Use conditions for execution triggers.

Example: constraints.max_price = 200 means results above 200 should not be proposed. conditions[].target_price = 180 means the system may wait and auto-execute if price later drops below 180.

raw_intent
string
required

Raw user request in natural language. Preserved exactly as submitted for auditability and re-parsing.

Required string length: 1 - 2000
Example:

"Buy AirPods Pro under £180 and wait up to 2 weeks."

intent_type
enum<string>
default:product

High-level category of purchase objective. Determines how the system interprets specification and downstream workflows. Values: product (physical or digital goods), service (flights, hotels, reservations), composite (multi-part purchase such as a trip).

Available options:
product,
service,
composite
autonomy_level
enum<string>
default:approve_before_purchase

How much authority the agent has to act without additional user approval. conditions are only used when autonomy_level is auto_within_conditions. Values: supervised (requires approval before each meaningful step), approve_before_purchase (can search and prepare autonomously, requires approval before purchase), auto_within_conditions (may auto-execute only when all configured conditions are met), autonomous (may execute without explicit approval, still bounded by constraints).

Available options:
supervised,
approve_before_purchase,
auto_within_conditions,
autonomous
constraints
IPAConstraint · object | null

Selection constraints for acceptable results. Not auto-execution triggers. Structured requirements and preferences that define what outcomes are acceptable. Used during parsing, search, validation, and manifest construction. Think of these as selection filters and guardrails. Examples: maximum total price, preferred brands, excluded brands, allowed item condition (new, refurbished, used), delivery window, quantity.

conditions
(PriceTargetCondition · object | BudgetCapCondition · object | AvailabilityCondition · object | TimeWindowCondition · object | FlightRouteCondition · object | CoverageMinimumCondition · object | JurisdictionCondition · object | ConditionGroup · object)[] | null

Execution triggers for monitoring / auto-execution. Not search constraints. Structured auto-execution triggers evaluated after approval or during monitoring. Used only to decide when an already-approved IPA may proceed automatically. Think of these as execution triggers, not search filters. Examples: buy when total falls below 180 GBP, execute if price drops by 10%, execute when item becomes available, execute within a specified time window.

Auto-execute when the lowest offer price satisfies a comparison against a target.

originating_agent_task_id
string | null

External ID of an existing agent task to link this IPA to (e.g., 'task-abc123'). When provided, the IPA is attached to this agent task instead of creating a new one. Mutually exclusive with the Idempotency-Key header.

originating_chat_id
string | null

External ID of the chat session this IPA originated from. Used for traceability when IPAs are created via the chat agent.

Response

IPA created, pre-flight workflow triggered

HAL-style hypermedia links for navigation and available actions.

intent
IPAData · object
required