Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Objects and fields

This topic describes fields for storing custom metadata in Optimizely Data Platform (ODP).

Objects and fields relationship

Data in Optimizely Data Platform (ODP) is stored in collections called objects (also known as a database table). Objects are composed of fields. Fields link objects together via relationships.

See review data fields section to learn how to view your existing default and custom data fields.


Fields allow storing custom metadata on any ODP Object. Fields can store a variety of data:

TextAny printable UTF-8 encoded character, including space. Text is limited to 1024 characters.
NumberA number represented in standard decimal format (Example: 0, 3.14159, -2.3, -0.112)
Date & TimeMust be formatted as ISO 8601 format or UNIX epoch (seconds since January 1, 1970). Examples: 1435708800, 2015-07-01T00:00:00-00:00, 2015-07-01T12:30:00-07:00

Note: If time and time zone are not provided, the time is assumed to be 12am UTC.
True/FalseMust be one of 0, 1, true, or false



Change ODP schema with caution. After you create a field or object, you cannot delete or rename it.

Create custom fields

You can create custom fields to capture data that is not already provided in ODP's reserved list for each object. However, the new fields only capture data after you create them. For example, if you wanted data from a custom field for a week, you need to create it beforehand to get that data.

To create custom fields:

Create custom objects

You can request custom objects to be created to capture data from objects that are not already provided by ODP. Also, your custom ODP integrations may create custom objects for you.



Custom objects and identifiers are available for creation only by app developers and ODP Customer Success Managers (CSM). To learn more, contact your CSM or our support team.

Update objects

Update objects by calling the Update Object REST API endpoint or through the ODP Web SDK.

curl -iX POST \ \
-d '[
    "object_id": "myObjectId",
    "some_custom_field": "myValue"
    "object_id": "myObjectId_2",
    "some_custom_field": "anotherValue"
]' \
-H 'Content-Type: application/json' \
-H 'x-api-key: example.apiKey'
  type: "zendesk_tickets", 
  {ticket_id: "12345", status: "open"}

  type: "zendesk_tickets", 
  [{ticket_id: "12345", status: "open"}, 
  {ticket_id: "56789", status: "closed"}