Account and partner response objects
These definitions describe grouped resource summaries, purchases, users, event passes and partner cascade access, including their conditional relationships. A missing relationship may be null or omitted as stated. Do not assume stored values are converted to another type unless a conversion is stated. Common response rules apply.
Grouped resources
Subscription/purchase/transaction summary pages use items with one wrapper object containing resources. The outer paginator counts resources.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
items | array with one wrapper object | Contains resources even when that array is empty. |
items[].resources | array | Selected active resources of active related partners within the selected resource’s partner. |
resources[].id | integer | Resource record identifier. |
resources[].title, .key, .host | stored strings / nullable text | Display name, public resource key and configured host. |
resources[].plans | array; subscription summary only | Membership summaries below. |
resources[].purchases | array; purchase summary only | Purchase records; unpaginated inside each resource. |
resources[].transactions | array; transaction summary only | Transaction records; unpaginated inside each resource. |
Membership summary
Under resources[].plans; this is different from a catalog Pricing.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id | integer | Plan ID. |
title, slug, description | stored string / nullable text | Plan name, label and description. |
subscription | object | Membership summary: id (integer Pricing ID), title (stored text), expiration_date (nullable timestamp) and autorenew (boolean). No active-membership-only filter is promised. |
Transaction
Under resources[].transactions. Monetary units and timestamp timezone are unspecified.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id | integer | Transaction ID. |
date | timestamp string | Transaction creation time. |
amount | integer | Stored transaction amount; no currency conversion. |
amount_refunded | integer | Stored refunded amount. |
currency | stored string | Currency code. |
card | string / null | Card last four digits when available; not the full card number. |
type | string / null | Card brand, not a generic transaction category. |
pay_system | stored string | Payment-system label, such as stripe. |
status | stored string | Payment status. succeeded, free and manual are treated as successful by the source; requires_source_action requires further source authentication. This is not a complete status enum, nor an authorization to perform a payment action. |
Purchase
Every record includes the base fields and item/relation below. Additional fields depend on item_type and whether the referenced record exists.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id, item_id | integer | Purchase ID and purchased record ID. |
item_type | string | Purchased category; recognized projections include content, subscription, bundle and ti_event_ticket_pass. Not a complete enum promise. |
item_key | string | Resolved content key for content; string form of item_id otherwise. |
discount, price, amount | integer | Stored discount, price and subtotal amount respectively; units unspecified. |
currency | string | Stored currency code. |
created_at | timestamp string | Purchase creation time. |
processing_fee_wallkit, processing_fee_payment | stored numeric / nullable | Recorded platform/payment fees; no unit or recalculation guarantee. |
processing_vat | stored numeric / nullable | Recorded VAT value. |
processing_taxes_json_data | decoded JSON or stored value / nullable | Fetched string tax data is decoded only when neither empty nor "0". Empty strings and the string "0" remain unchanged; no fixed property schema. |
relation_model | stored string / nullable | Relationship category used to select relation. |
relation_id | stored numeric / nullable | Related record ID. |
item | object / null | Content: base content; subscription: general Pricing; bundle: id, title, price, currency, created_at (stored values); ticket pass: expanded pass. Unknown/missing item can be null. |
relation | object / null | Membership relationship or sponsored subscription; unrecognized relationship is null. |
item_title | stored string / nullable; conditional | Content/bundle title, or combined plan+Pricing/event+ticket title when referenced records exist. |
extra | decoded value / empty object; fetched content only | Same extra projection as fetched content; no fixed property schema. |
subscription_type | stored string; subscription only | Pricing type when Pricing exists. |
plan | object; subscription only | id and title of the Pricing’s plan (stored values). |
subscription | object; subscription with membership only | subscription_start_date, subscription_end_date (nullable timestamps), autorenew (stored flag; no explicit conversion). |
TiEvent, TiEventTicket, TiEventTicketPass | objects; ticket-pass with event only | Event, ticket without ti_event, and base pass without owner/assign/ticket expansion. |
Purchase content
Purchase item for content uses the base content projection: fields below; it does not add id, VAT, content_type or taxonomies.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
key, title, description, price, currency, extra, link, created_at, updated_at, published_at, images, is_payable_content | same types/meaning as content with term arrays | Exactly these base fields; image objects use that definition. |
Membership relationship
Purchase relation for a UserPlanRelationships record uses these stored fields; do not infer all are cast booleans/integers.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id, parent_id, user_id, admin_id, plan_id, subscription_id, team_id | stored numeric IDs / nullable references | Relationship, hierarchy, identity, plan, Pricing and team references. |
subscription_end_date | timestamp / null | Membership expiration. |
is_team_subscription, autorenew, is_trial, is_allowed_next_subscription | stored flags | Team membership, renewal choice, trial and next-Pricing permission. |
sponsored_subscription_id, sponsored_subscription_slot_id | stored numeric / null | Sponsorship and slot references. |
created_at | timestamp string | Relationship creation time. |
Sponsored subscription
Purchase relation for sponsored_subscriptions. Missing appended relationships are null; an incomplete mapping can omit later additions.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id, sponsor_id, subscription_id | stored numeric IDs | Sponsorship, sponsoring user and Pricing. |
title, description | stored strings / nullable | Sponsorship display text. |
is_paying_by_sponsor | boolean | Selects the sponsor as payer; does not prove that payment was collected. |
activated_at, expired_at | timestamp / nullable | Activation and expiration times. |
created_at, updated_at | timestamp strings | Record times. |
subscription_end_date | timestamp / null | Related membership expiration, or null. |
autorenew, is_allowed_next_subscription, is_trial | stored flags / null | Related membership settings, or null without a relationship. |
sponsor | full user / null | Sponsoring user. |
subscription | general Pricing / null | Sponsored Pricing. |
slots | array | Each slot has id, sponsored_subscription_id, recipient_id (stored numeric/null), recipient_email, activation_code (stored string/null), activated_id (stored reference/null), activated_at (nullable timestamp), created_at, updated_at (timestamps), recipient (full user/null). No nested sponsored_subscription is added in this slot projection. |
User
Nested purchase sponsor/recipient uses the full projection; pass owner/assign uses the short projection. Stored contact text can be null. These are returned data, not fields required by the request.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id | stored integer | User ID. |
email | string / nullable stored text | Email address; decoded in full projection. |
first_name, last_name | string / nullable | User name. |
company, job | string / nullable | Company and occupation. |
country, city, address, state, zip | string / nullable | Stored address details. |
phone, facebook_id, google_id | string / nullable | Contact/social identifiers. |
photos | map / empty array | Photo slug or image-size key to URL; may use configured fallback image URLs. |
nick_name | string / nullable; full only | Stored nickname. |
created_at, updated_at | timestamp strings; full only | User record times. |
active, confirm | boolean; full only | Resolved activation and confirmation state. With resource context, active means the relationship is neither suspended nor locked and confirm resolves its confirmation flag; global user state applies without a relationship. |
extra | dynamic object; full only | Resource extra properties; empty object without resource-specific context. |
uid, user_resource_created_at | string / null; full only | Resource UID and resource relationship creation time; null without resource context. |
language | object / null; full only | Resource-language record; nested purchase getUser has no resource argument, so null here. |
locked | stored flag / false; full only | Resource lock state; false without resource context. |
can_own_teams | boolean; full only | Computed team ownership capability. |
last_activity_date | timestamp / null; full only | Last recorded session activity. |
online | source-derived activity flag; full only | Activity indicator; do not use as a live presence or access guarantee. |
settings, role | raw settings / null and string; admin context, full only | Conditional resource settings and role; no fixed settings schema. Nested purchase user has no resource argument, so settings can be null. |
Event
Cascade applied_ti_event and purchase TiEvent use this base event projection.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id | stored integer | Event ID. |
slug, title, description | stored string / nullable | Event label and display text. |
location, timezone | stored string / nullable | Location and configured timezone; timestamps below have no universal UTC guarantee. |
registration_page, url, contact_email | stored string / nullable | Registration page, event link and contact address. |
status | stored string | Event status; no closed enum here. |
start_date, end_date | timestamp / nullable | Event schedule. |
active, is_virtual | stored flags | Activation and virtual-event settings. |
photo | array | Media objects with slug and url (stored strings); empty when none. |
Event ticket
Cascade source_ti_event_ticket and expanded pass ticket include ti_event; purchase TiEventTicket base does not.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id, ti_event_id | stored numeric IDs | Ticket and event identifiers. |
title, slug, description | stored string / nullable | Ticket display text and label. |
quantity, min_quantity_order, max_quantity_order | stored numeric / nullable | Configured stock/order quantities. |
price | stored numeric | Stored ticket price; units unspecified. |
currency | stored string | Currency code. |
status | stored string | Configured ticket status; no closed enum. |
start_date, end_date | timestamp / nullable | Ticket availability schedule. |
is_private, active, is_applied_vat | stored flags | Visibility, activation and VAT settings; no explicit boolean cast guaranteed here. |
vat_percent | stored number / nullable | Configured VAT percentage. |
extra | decoded JSON value / nullable | Ticket-defined extra data. |
ti_event | event; expanded/cascade only | Parent event; absent in base purchase TiEventTicket. |
Event pass
Purchase TiEventTicketPass uses base fields. Purchase item for a pass uses expanded fields too.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
id, owner_id, assign_id | stored numeric / nullable references | Pass, owning user and assigned user. |
extra | stored extra value / nullable | Pass-defined additional data. |
active | stored flag | Activation setting. |
owner, assign | short user / null; expanded only | Owner and assigned recipient. |
ti_event_ticket | expanded ticket / null; expanded only | Ticket including its event when available. No auth_link is added by these selected projections. |
Cascade access
Top-level plan and event matches; cached/helper-level failure can also produce empty values, so absence is not a detailed diagnostic.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
cascade_access_plan | object / null | At most one match; applied_plan (plan), source_resource (source resource), source_subscription (general Pricing). |
cascade_access_ti_event | array | At most 100 entries, no caller paging or guaranteed selection order. Each has applied_ti_event (event), source_resource, source_ti_event_ticket (expanded ticket). |
Source resource
Cascade uses the resource projection without a partner object.
| Field | Type / presence | Meaning and conditions |
|---|---|---|
title, key, host | stored string / nullable | Display name, public key and configured host. |
active | stored flag | Activation setting. |
created_at | timestamp string | Creation time. |
logo | URL string / null | Resource logo, or null when none exists. |