Resource Relationships

Overview of the relationships between resources.

Resource Relationships

Resources can be related to each other in various ways.

  • One-to-Many: A single resource can be associated with multiple instances of another resource.

  • Many-to-One: Multiple instances of a resource can be associated with a single instance of another resource.

  • One-to-One: A single instance of a resource is associated with exactly one instance of another resource.

The following table outlines the relationships between different resources in the system.

Relationship Aliases: When a resource has multiple relationships to the same target, the aliases are shown in parentheses. Use the alias name (not the resource name) in your with block. For example, applications has three relationships to users — use "application_owner", "business_owner", or "it_owner" instead of "users".

⚠️ Contracts ↔ Applications can be split across two relationships. The direct applications ↔ contracts join works for the common case where a contract is associated with a single application. When a contract spans multiple applications (its contract_line_items point to different apps), the contract has no single application_id and the direct join will return null for that contract. In that case, the per-app association lives on contract_line_items.application_id instead. To answer "which apps have/lack contracts" or "how many contracts does this app have" comprehensively, query both populations (applications → contracts AND applications → contract_line_items) and combine results. A single applications → contracts join will silently under-count multi-app contracts. See the Report Builder guide's "Resource-Specific Gotchas" section for worked examples.

ResourceOne-to-ManyMany-to-OneOne-to-One
alertsapplications, contracts
application_licensesapplications, application_users
application_securityapplicationszybrary
application_usersapplication_licensesapplications, users
applicationsalerts, application_licenses, application_users, contract_line_items, contracts, functionalities, payments, po_line_items, savings_events, view_applications, workflow_responses, workflowsapplication_security, users (application_owner, business_owner, it_owner)integrations, usage_connect
contract_line_itemsapplications, contracts
contractsalerts, contract_line_itemsapplications
functionalitiesapplications
integrationsapplications, usage_connect
paymentsapplications, po_line_items, users, zybrary
po_line_itemspayments, unmatched_paymentsapplications, purchase_orders
purchase_orderspo_line_items, unmatched_paymentssuppliers
savings_eventsapplications
supplierspurchase_orders
unmatched_paymentspurchase_orders, po_line_items
usage_connectapplications, integrations
usersapplication_users, applications (app_owner_applications, business_owner_applications, it_owner_applications), payments
view_applicationsapplications, views
view_zylo_usersviews, zylo_users
viewsview_applications, view_zylo_users
workflow_responsesapplications, workflows
workflowsworkflow_responsesapplications
zybrarypaymentsapplication_security
zylo_usersview_zylo_users