Skip to content

Data Model

Understanding how entities relate to each other is crucial for effective API integration. The diagram below illustrates these relationships and can help you:

  • Identify which entities you need to work with for your use case
  • Understand data dependencies (e.g., a Case requires a Customer and can contain multiple Invoices)
  • Navigate ownership hierarchies (e.g., Creditors belonging to either Partners or Accounts)
  • Plan your integration workflow

Entity Relations Diagram

Note Partner entity is only accessable for partners

API User Note An API user is a standard User that authenticates using a public_key and is a member of the api_user access group, which grants API-specific permissions. For direct API integrations, the Account uses such a user. For partner-led integrations, the Partner uses such a user; accounts under that partner typically do not have their own API user.

Relationship Types

The diagram uses standard ER notation to show relationships between entities:

Cardinality

The relationships use crow's foot notation to show cardinality:

  • ||--|| : Exactly one to exactly one
  • ||--|{ : Exactly one to zero or many
  • ||--o| : Exactly one to zero or one
  • }|--|{ : Zero or many to zero or many

For example:

  • ACCOUNT ||--|{ CREDITOR : owns
    • Each Account must own one or more Creditors
    • Each Creditor must belong to exactly one Account

Access Group

Access Groups define permissions and data access scopes for users within an Account. Each Account can define multiple Access Groups, and users can be members of multiple Access Groups. The api_user access group is a special group that grants API-specific permissions for programmatic access.

Key relationships:

  • ACCOUNT ||--|{ ACCESSGROUP : defines - Each Account defines its own Access Groups
  • ACCESSGROUP }|--|{ USER : members - Users can belong to multiple Access Groups

For API integration details, see the Account creation endpoint, Access Group listing, and User creation.

User

Users represent individuals or system accounts that can access the platform. A User includes authentication data, email information, and data access permissions. For API access, users authenticate using a public_key and must be members of the api_user access group to gain API-specific permissions.