Intempt Docs
Developer DocsAPI Reference

Data Hub API Reference

Programmatic access to user attributes and event attributes.

Data Hub API Reference

Covers two resource families: user attributes and event attributes. Both live under single-metadata and follow the standard /{orgName}/projects/{projectName}/... path pattern.


List Attributes

GET /{orgName}/projects/{projectName}/attributes

Returns user attributes for the project, with optional filters and pagination.

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number (via pageable)
sizeintegerNoPage size (via pageable)
attributeTypestringNoOne of extracted, predicted, scoring, calculated, metric
scoringTypestringNoScoring subtype, when attributeType is scoring
namestringNoFilter by attribute name
titlestringNoFilter by attribute title
createdByintegerNoFilter by creator's person ID

Examples

List all scoring attributes

GET /{orgName}/projects/{projectName}/attributes?attributeType=scoring

Responses

200 OK

[
  {
    "id": 111111111111111111,
    "name": "sample_source",
    "attributeType": "extracted",
    "type": "user",
    "title": "Sample Source",
    "description": "Sample Stripe source for data",
    "example": "500.0",
    "active": true,
    "lastUpdated": "2026-07-19T10:00:00Z",
    "createdBy": 1,
    "segmentationAvailable": false,
    "pii": true,
    "unique": true,
    "system": false
  }
]

400 Bad Request

Invalid filter parameters.


Response Fields

FieldTypeDescription
idintegerAttribute ID
namestringAttribute name
attributeTypestringextracted, predicted, scoring, calculated, or metric
typestringuser or account
titlestringDisplay title
descriptionstringDescription
examplestringExample value
activebooleanWhether the attribute is active
lastUpdatedstring (date-time)Last update timestamp
createdByintegerCreator's person ID
segmentationAvailablebooleanWhether this attribute can be used in segment conditions
piibooleanWhether the attribute holds personally identifiable information
uniquebooleanWhether values must be unique
systembooleanWhether this is a system-defined attribute

Create Attribute

POST /{orgName}/projects/{projectName}/attributes

Creates a user attribute. Required fields are attributeType and title. The exact shape of the request varies by attributeType (for example, extracted and scoring attributes each accept type-specific fields beyond the ones listed below).

Request Body

FieldTypeRequiredDescription
attributeTypestringYesextracted, predicted, scoring, calculated, or metric
titlestringYesDisplay title
descriptionstringNoDescription
examplestringNoExample value
typestringNouser or account
activebooleanNoWhether the attribute is active
segmentationAvailablebooleanNoWhether this attribute can be used in segment conditions
piibooleanNoWhether the attribute holds personally identifiable information
uniquebooleanNoWhether values must be unique

Retrieve, Update, Delete a Single Attribute

GET /{orgName}/projects/{projectName}/attributes/{attributeId} PUT /{orgName}/projects/{projectName}/attributes/{attributeId} DELETE /{orgName}/projects/{projectName}/attributes/{attributeId}

GET returns the same shape as List Attributes above. PUT accepts the same body as Create Attribute. DELETE takes no body.


List Event Attributes

GET /{orgName}/projects/{projectName}/event-attributes

Returns event attributes for a collection.

Query Parameters

ParameterTypeRequiredDescription
collectionIdstringYesThe event collection to list attributes for

Search Event Attributes

POST /{orgName}/projects/{projectName}/event-attributes

Despite the POST method, this searches and filters existing event attributes rather than creating one. Use this when you need filters beyond what collectionId alone supports on the GET endpoint above.

📘 Good to know

The GET and POST methods on this same path do different things: GET lists by collection, POST searches by a filter body. Don't assume POST here means create.

On this page