Entity (Base Entity)
EntityEntity is the root type for every record in TribeCRM. All entity types — relations, activities, products, labels, notes, and more — inherit from it. It defines the universal fields (ID, _Type, _Name, timestamps) and shared relationships (labels, notes, attachments) that are available on every record in the system.
The Entity endpoint provides a cross-type view of all records in the database. This is rarely used directly — you typically query a specific entity type instead.
The Entity endpoint is useful for looking up a record when you only have its ID but don't know its type, or for cross-type searches on shared fields like _Name or CreationDate.
Entity is a base entity and cannot be created directly. You must create a concrete subtype. See Subtypes for the full list.
Endpoints
List Entities
Retrieve a paginated list of all entities across all types.
/v1/odata/EntitySingle Entity
Retrieve a single entity by its ID (regardless of type).
/v1/odata/Entity({id})With expanded relations:
/v1/odata/Entity({id})?$expand=Labels,Notes,AttachmentsCreate Entity
The Entity endpoint does not support direct creation. Use a type-specific endpoint instead:
POST /v1/odata/Relation_Person— Create a contactPOST /v1/odata/Relation_Organization— Create an organizationPOST /v1/odata/Activity— Create an activity- See the Data Model for all available entity types.
Update Entity
Update any entity by its ID. Provide only the fields to update.
/v1/odata/Entity({id})Delete Entity
Delete any entity by its ID.
/v1/odata/Entity({id})Subtypes
Entity is the root of the type hierarchy. Key direct subtypes include:
| Subtype | OData Entity Set | Description |
|---|---|---|
| Relations | Relation | People and organizations |
| Activities | Activity | Tasks, meetings, opportunities, invoices |
| Relationships | Relationship | Links between relations |
| Products | Product | Products and services |
| Product Lines | ProductLine | Line items on activities |
| Datastores | Datastore | Lookup values (phases, genders, languages) |
| Addresses | Address | Physical addresses |
| Notes | Note | Notes on any entity |
| Labels | Label | Tags / labels |
| Attachments | Attachment | File attachments |
| Workflows | Workflow | Workflow definitions |
| Teams | Team | Teams |
Fields
All fields below are available on every entity in the system.
Identity Fields
| Field | Type | Description |
|---|---|---|
ID | Guid | Primary key (UUID) |
_Type | String | Entity type discriminator (e.g., Relation.Person, Activity.SalesOpportunity) |
_Name | String | Computed display name |
SortIndex | Double | Sorting order |
Timestamp Fields
| Field | Type | Description |
|---|---|---|
CreationDate | DateTimeOffset | Date the record was created |
LastMutationDate | DateTimeOffset | Date of the last modification |
CloseDate | DateTimeOffset | Date the record was closed |
Status Fields
| Field | Type | Description |
|---|---|---|
IsActive | Boolean | Whether the record is active |
IsClosed | Boolean | Whether the record is closed |
Relationships
| Relationship | Target Entity | Cardinality | Description |
|---|---|---|---|
| Creator | Relation.Person.Contact | N:1 | User who created the record |
| Team | Team | N:1 | Assigned team |
| Labels | Label | 1:N | Tags / labels |
| Notes | Note | 1:N | Notes |
| Attachments | Attachment | 1:N | File attachments |
| Events | Event | 1:N | Events (activity log) |
| Favorite | Favorite | 1:N | Favorite markers |
| ExternalIds | ExternalId | 1:N | External system identifiers |
| WorkflowState | WorkflowState | N:1 | Current workflow phase |
| Pack | Pack | N:1 | Data pack (schema group) |
| EntityType | EntityType | N:1 | Entity type definition |
Expanding Relationships
/v1/odata/Entity({id})?$expand=Labels/v1/odata/Entity({id})?$expand=Creator,Labels,Notes,AttachmentsNavigating Relationships
/v1/odata/Entity({id})/Labels/v1/odata/Entity({id})/Notes/v1/odata/Entity({id})/AttachmentsFiltering Examples
:::warning Filtering by _Type is not supported
_Type is returned in every response but cannot be used in $filter — the clause is silently ignored. See Filtering by Type in the OData concepts page for the working alternative (query the type-specific entity set instead, e.g. /v1/odata/Relation_Person or /v1/odata/Activity_Invoice).
:::
/v1/odata/Entity?$filter=contains(_Name, '{_Name}')&$top={top}/v1/odata/Entity?$filter=CreationDate gt {CreationDate}&$top={top}/v1/odata/Entity?$filter=LastMutationDate gt {LastMutationDate}&$top={top}/v1/odata/Entity?$filter=IsActive eq {IsActive}&$top={top}/v1/odata/Entity?$filter=IsClosed eq {IsClosed}&$top={top}