Acknowledgement envelope for mutating operations (POST/PUT/DELETE). `result` is the literal string `"OK"` on success.
Integration metadata attached to a `Provider`. Distinct named model so that downstream contracts (and generated SDKs) get a stable type to reference.
Qualification stage label attached to a call. Hyros lets users rename qualification stages over time; `oldName` preserves the prior label so historical filters/reports keep working after a rename.
Cart shape as it appears inside a lead's journey response. Named so downstream contracts have a stable type when handling `GET /leads/journey` results — the shape differs slightly from the cart creation/update payload (carries `events` count + attribution).
Minimal lead reference inside a webhook payload.
Full lead shape as it appears inside webhook payloads.
Attribution shape as it appears inside webhook payloads. Extends the REST `Attribution` model with `UTCClickDate`, a webhook-only field that the REST API does not expose.
Sale entity inside `sale.attributed` webhook bodies.
Lead opt-in entity inside `lead.opted.in` webhook bodies.
Origin-assignment entity inside `lead.origin.assigned` webhook bodies.
Call entity inside `call.attributed` webhook bodies.
Common envelope on every webhook event. The consumer must dedupe on `eventId` — Hyros does not guarantee exactly-once delivery.
`sale.attributed` — fired when a sale is connected to a lead.
`lead.opted.in` — fired when a lead subscribes / opts in.
`lead.origin.assigned` — fired when a lead becomes the origin of another lead.
`call.attributed` — fired when a call is connected to a lead.
Mechanism by which a lead was assigned as origin of another lead. Used exclusively by `WebhookLeadOriginAssignedEntity.mechanism` — declared here (in the REST namespace) because the body entity it belongs to is co-located with the other webhook body shapes.
Query alias: 2 models declare adAccountId.
Query alias: 3 models declare adSourceId.
Query alias: 3 models declare attribution.
Query alias: 2 models declare attributionModel.
Query alias: 1 model declares campaignId.
Query alias: 1 model declares cancelAtDate.
Query alias: 1 model declares categoryName.
Query alias: 1 model declares childLead.
Query alias: 1 model declares clickDate.
Query alias: 1 model declares costOfGoods.
Query alias: 2 models declare costPerSale.
Query alias: 1 model declares creationEpoch.
Query alias: 2 models declare disregarded.
Query alias: 3 models declare externalId.
Query alias: 2 models declare firstName.
Query alias: 1 model declares firstOptin.
Query alias: 1 model declares integration.
Query alias: 1 model declares itemDiscount.
Query alias: 1 model declares linkedLeads.
Query alias: 1 model declares matchingValues.
Query alias: 1 model declares mechanism.
Query alias: 2 models declare netProfit.
Query alias: 2 models declare newCustomersPercentage.
Query alias: 1 model declares originLead.
Query alias: 1 model declares periodicity.
Query alias: 2 models declare phoneNumbers.
Query alias: 1 model declares qualification.
Query alias: 4 models declare qualified.
Query alias: 2 models declare recurring.
Query alias: 2 models declare recurringCustomers.
Query alias: 2 models declare recurringRevenue.
Query alias: 1 model declares referrerUrl.
Query alias: 2 models declare refundCount.
Query alias: 2 models declare refundSalesPercentage.
Query alias: 1 model declares request_id.
Query alias: 1 model declares sourceLinkAd.
Query alias: 1 model declares sourceLinkId.
Query alias: 2 models declare subscriptionId.
Query alias: 1 model declares timestamp.
Query alias: 2 models declare totalRevenue.
Query alias: 2 models declare trafficSource.
Query alias: 1 model declares trialEndDate.
Query alias: 1 model declares trialStartDate.
Query alias: 2 models declare uniqueCustomers.
Query alias: 2 models declare uniqueSales.
Query alias: 1 model declares UTCClickDate.
Query alias: 1 model declares UTCJoinDate.
Details of the integration that originated the record.
Human-readable integration name (e.g. "Stripe", "ClickFunnels").
Integration platform type (provider classification).
Account ID of the integration in the external platform.
Source platform. `AdspendType` is the REST API's enum and includes `BING`, but Hyros's webhook spec omits `BING` from its `AdSource.platform` list — webhook payloads will never carry that value even though the type permits it. REST responses can. Live REST inventory also returns versioned Google platform values such as `GOOGLE_V2`.
Ad or campaign display name returned by `/api/v1.0/ads`.
Raw nested ad source returned by `/api/v1.0/ads`.
Raw nested Hyros source returned by `/api/v1.0/ads`.
Unix epoch milliseconds returned by `/api/v1.0/ads`.
Unix epoch seconds (per Hyros source spec — NOT ISO 8601 like `creationDate` on Lead/Sale/Call/Subscription). Wire field is `creationDate`; renamed to `creationEpoch` in TypeSpec so the RDF predicate (`hyros:creationEpoch`) is distinct from the string-typed `hyros:creationDate` used by other entities. This avoids a SHACL datatype contradiction (xsd:integer on Source vs xsd:string in the ontology's predicate range declaration).
Ad or campaign display name derived from `/api/v1.0/ads`.
Ad source id flattened from `adSource.adSourceId`.
Ad account id flattened from `adSource.adAccountId`.
Platform flattened from `adSource.platform`; live REST can return `GOOGLE_V2`.
Unix epoch milliseconds from `/api/v1.0/ads`. This wire field remains `creationDate`, but its RDF predicate is mapped to `hyros:creationEpoch` to avoid conflicting with ISO/date-like `creationDate` fields on other Hyros entities.
Runtime-stable report row id, usually the configured source/ad id.
Campaign/source id returned by `/api/v1.0/attribution` when grouped by campaign/source level.
Report period day from the dynamic Hyros row.
Ad account id used for the `/api/v1.0/attribution/ad-account` request.
Query window lower bound used for this aggregate row.
Query window upper bound used for this aggregate row.
Hyros-assigned internal sale ID (prefixed `sle-...`).
Client-supplied stable identifier from the upstream order system (typically a Stripe charge ID, payment processor reference, or e-commerce order number). Acts as a dedup key on `POST /orders`: resubmitting the same `orderId` updates the existing sale rather than creating a duplicate. Use this as the at-least-once retry handle when ingesting from a source system that issues stable IDs.
Client-supplied stable identifier from the upstream calling system (e.g. Calendly event ID). Acts as a dedup key on `POST /calls`: resubmitting the same `externalId` updates the existing call rather than creating a duplicate. Use this as the at-least-once retry handle when ingesting from a source system that issues stable IDs.
Previous qualification stage name, if the stage was renamed.
Order ID this cart resulted in. Only present if the cart was purchased.
Number of cart events (add-to-cart, update) observed for this cart.
Upstream provider that originated the cart record.
Products in the cart at the time of the snapshot.
First attribution (first-touch) source for the cart's owning lead.
Last attribution (last-touch) source for the cart's owning lead.
Product price per unit (costOfGoods included).
Unique identifier from the external integration.
Number of copies purchased. Defaults to 1.
Cost per unit of manufacture. Must be included in the price. Defaults to 0.
Taxes applied to the item per unit. Defaults to 0.
Discount applied to this specific line item.
Product packages this item belongs to (used for recurring sales attribution).
Faithful to the source spec: scalar number on Subscription (unlike Sale.price which is a Price object). Hyros treats subscription pricing as a single recurring amount rather than a multi-field breakdown.
Price in the outbound currency configured in Hyros.
Click date in UTC. Only present on webhook payloads.
Date of the sale in the user's timezone.
Identifies whether this is the first opt-in for the lead.
Referrer URL from which the lead opted in.
The lead assigned as child. Wire field is `lead`; renamed to `childLead` in TypeSpec to disambiguate from `originLead` and to make the predicate-name match for `hyros:childLead`.
Origin-assignment time in the user's timezone.
Values on which the two leads were matched.
ID of the subscription that triggered delivery.
Unique event ID, suitable for consumer-side deduplication.
ISO 8601 timestamp when the event was sent.