Entitlement Exports
There are three sets of entitlements-related data that can be exported: entitlements, userEntitlements, and products.
Requesting Access
To request access to entitlements exports for your integration, please contact customer support with the following information:
- Client ID
- Desired export types (entitlements, userEntitlements, products, or all)
- Preferred destination (SFTP, S3, etc.)
- Desired export frequency
Export Destinations
Exports can be delivered to the following destinations:
Amazon S3
- Direct delivery to your S3 bucket
- Requires: bucket name, region, and appropriate IAM permissions
- Primary destination for all exports
- See S3 Destination
Other Destinations
Additional destinations may be available in future releases. Contact customer support to discuss your specific requirements or request new destination types.
Export Types
Full vs Differential Exports
Full Exports: Each export contains the complete dataset of all records, regardless of when they were last modified.
Differential Exports: Currently, exports are full extracts only. Differential/incremental exports may be available in future releases.
Export Scheduling
Exports can be configured to run at the following intervals:
- Hourly: Every hour at a specified minute
- Daily: Once per day at a specified time (UTC)
- Weekly: Once per week on a specified day and time (UTC)
- Custom: Contact customer support for custom scheduling requirements. We use Cron for scheduling: https://crontab.guru/
Data Formats
All entitlement exports are delivered as JSON files.
Export Samples
Entitlements Export
The entitlements export contains all entitlement definitions configured for your client.
Sample Export:
[
{
"_id": "616941806bc11034a221d593",
"clientId": "DEMOCLIENT",
"name": "jnrgold",
"description": "Junior Eagles Silver",
"status": "ACTIVE",
"created": {
"date": "2021-05-06T13:58:29.223Z"
},
"lastModified": {
"date": "2021-05-06T13:58:29.223Z"
},
"deleted": false
},
{
"_id": "616940b96bc11034a2212530",
"clientId": "DEMOCLIENT",
"name": "International Membership",
"description": "",
"status": "ACTIVE",
"created": {
"date": "2021-05-06T12:03:57.835Z"
},
"lastModified": {
"date": "2021-10-18T11:19:10.077Z"
},
"deleted": false
},
{
"_id": "616941766bc11034a221c9cb",
"clientId": "DEMOCLIENT",
"name": "jnrgold",
"description": "Junior Eagles Gold",
"status": "ACTIVE",
"created": {
"date": "2021-05-06T13:58:29.223Z"
},
"lastModified": {
"date": "2021-05-06T13:58:29.223Z"
},
"deleted": false
},
{
"_id": "616941906bc11034a221e520",
"clientId": "DEMOCLIENT",
"name": "jnrint",
"description": "Junior Eagles International",
"status": "ACTIVE",
"created": {
"date": "2021-05-06T13:58:29.223Z"
},
"lastModified": {
"date": "2021-05-06T13:58:29.223Z"
},
"deleted": false
},
{
"_id": "6171327df4a4402a25898848",
"clientId": "DEMOCLIENT",
"name": "Test Membership",
"description": "Just a test",
"status": "ACTIVE",
"deleted": false,
"created": {
"date": null
},
"lastModified": {
"date": null
}
},
{
"_id": "616940cd6bc11034a221359c",
"clientId": "DEMOCLIENT",
"name": "Gold Membership",
"description": "",
"status": "ACTIVE",
"created": {
"date": "2021-05-06T13:58:17.166Z"
},
"lastModified": {
"date": "2021-10-18T10:54:55.439Z"
},
"deleted": false
}
]Field Descriptions:
| Field | Type | Description |
|---|---|---|
_id | string | Unique identifier for the entitlement |
clientId | string | Client identifier |
name | string | Entitlement name |
description | string | Description of the entitlement |
status | string | Current status |
created.date | string (ISO 8601) | Timestamp when the entitlement was created |
lastModified.date | string (ISO 8601) | Timestamp of the last modification |
deleted | boolean | Soft delete flag |
User Entitlements Export
The userEntitlements export contains all user-to-entitlement assignments, including active status and validity periods.
Sample Export:
[
{
"_id": "690c89366c32bc862a4428c6",
"clientId": "DEMOCLIENT",
"entitlementId": "690c894570213d5ce6d764a8",
"metadata": {
"productId": "690c8967894af23d56c49f77",
"sourceSystem": "DEMOCLIENT_SG",
"sourceSystemId": "2d353251-9384-ea11-827b-06f486107252",
"sourceSystemUserId": null
},
"userId": "123",
"active": true,
"endDate": "2021-12-31T23:59:59.000Z",
"entitlementName": "International Membership",
"startDate": "2021-01-01T00:00:00.000Z"
},
{
"_id": "690c893ddbfc222f60aab5fa",
"clientId": "DEMOCLIENT",
"userId": "321",
"entitlementId": "690c8949bd12ecb77dfa0857",
"entitlementName": "International Membership",
"startDate": "2021-10-19T07:00:00.000Z",
"endDate": "2021-10-30T07:00:00.000Z",
"active": true,
"metadata": null
},
{
"_id": "690c89409354ca2ab6edf509",
"clientId": "DEMOCLIENT",
"userId": "231",
"entitlementId": "690c894db4608e7cc0063081",
"entitlementName": "International Membership",
"startDate": "2021-01-21T00:00:00.000Z",
"endDate": "2022-10-30T23:59:00.000Z",
"active": true,
"metadata": null
}
]Field Descriptions:
| Field | Type | Description |
|---|---|---|
_id | string | Unique identifier for the user entitlement assignment |
clientId | string | Client identifier |
userId | string | User identifier in your system |
entitlementId | string | Reference to the entitlement definition ID |
entitlementName | string | Name of the assigned entitlement |
startDate | string (ISO 8601) | When the entitlement becomes active |
endDate | string (ISO 8601) | When the entitlement expires |
active | boolean | Whether the entitlement is currently active |
metadata | object | Optional additional metadata about the assignment |
metadata.productId | string | Associated product ID, if applicable |
metadata.sourceSystem | string | Origin system of the entitlement |
metadata.sourceSystemId | string | ID in the source system |
metadata.sourceSystemUserId | string | User ID in the source system |
Products Export
The products export contains all product definitions that can be associated with entitlements.
Sample Export:
[
{
"_id": "617132e3f4a4402a2589c61c",
"clientId": "DEMOCLIENT",
"name": "Test Product",
"description": "Test Product",
"created": {
"date": "2021-05-12T12:03:57.835Z"
},
"lastModified": {
"date": "2021-05-12T12:03:57.835Z"
},
"deleted": false
}
]Field Descriptions:
| Field | Type | Description |
|---|---|---|
_id | string | Unique identifier for the product |
clientId | string | Client identifier |
name | string | Product name |
description | string | Product description |
created.date | string (ISO 8601) | Timestamp when the product was created |
lastModified.date | string (ISO 8601) | Timestamp of the last modification |
deleted | boolean | Soft delete flag |
Best Practices
- Data Processing: Always validate the JSON structure before processing exports
- Error Handling: Implement retry logic for failed export retrievals
- Monitoring: Set up alerts for missing or delayed exports
- Date Handling: All timestamps are in UTC; convert to your local timezone as needed
- Incremental Processing: You can use the
lastModified.datefield to identify recently changed records, even in full exports - Deleted Records: Check the
deletedflag to handle soft-deleted records appropriately
Troubleshooting
Export Not Received
- Verify your destination credentials are current
- Check that your destination has sufficient storage space
- Review any firewall or security rules that might block the delivery
Data Discrepancies
- Ensure you're processing the most recent export file
- Verify timezone handling for date fields
- Contact customer support if data appears incorrect
Updated about 2 hours ago
