Optimizely Data Platform (ODP) API v3

The Optimizely customer data platform, formerly Zaius. Eleven separately published OpenAPI documents covering customer profiles, events, objects, products, orders, lists and subscriptions, consent, real-time segments, recommendations, schema management and asynchronous exports, plus GDPR/CCPA/LGPD privacy operations. Region-pinned across US, EU and AU hosts. Harvested verbatim 2026-08-13.

Documentation

Specifications

OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-advanced-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-customers-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-events-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-objects-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-products-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-orders-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-lists-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-consent-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-realtimesegments-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-recommendations-openapi.json
OpenAPI
https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-exports-openapi.json

Other Resources

OpenAPI Specification

optimizely-data-platform-advanced-openapi.json Raw ↑
{"openapi":"3.0.1","info":{"title":"Advanced","description":"Advanced","version":"v3"},"servers":[{"url":"https://api.us1.odp.optimizely.com/v3","description":"United States"},{"url":"https://api.eu1.odp.optimizely.com/v3","description":"Europe"},{"url":"https://api.au1.odp.optimizely.com/v3","description":"Asia-Pacific"}],"security":[{"x-api-key":[]}],"paths":{"/compliance/gdpr/delete":{"post":{"tags":["Compliance"],"summary":"GDPR delete request","description":"Send a GDPR compliance delete request for a customer.","operationId":"gdpr-delete","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentifierRequestObject"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResponseBody"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/compliance/ccpa/delete":{"post":{"tags":["Compliance"],"summary":"CCPA delete request","description":"Send a CCPA compliance delete request for a customer.","operationId":"ccpa-delete","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentifierRequestObject"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResponseBody"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/compliance/ccpa/optout":{"post":{"tags":["Compliance"],"summary":"CCPA opt-out request","description":"Send a CCPA compliance opt-out request for a customer.","operationId":"ccpa-optout","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentifierRequestObject"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResponseBody"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/compliance/lgpd/delete":{"post":{"tags":["Compliance"],"summary":"LGPD delete request","description":"Send an LGPD compliance delete request for a customer.","operationId":"lgpd-delete","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentifierRequestObject"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceResponseBody"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/compliance/gdpr/status/{requestId}":{"get":{"tags":["Compliance"],"summary":"GDPR request status","description":"Get the status of a previous GDPR compliance delete request (by request ID).","operationId":"gdpr-status","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string","enum":["IN_PROGRESS","COMPLETED"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/compliance/ccpa/status/{requestId}":{"get":{"tags":["Compliance"],"summary":"CCPA request status","description":"Get the status of a previous CCPA compliance delete or opt-out request (by request ID).","operationId":"ccpa-status","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string","enum":["IN_PROGRESS","COMPLETED"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/compliance/lgpd/status/{requestId}":{"get":{"tags":["Compliance"],"summary":"LGPD request status","description":"Get the status of a previous LGPD compliance delete request (by request ID).","operationId":"lgpd-status","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string","enum":["IN_PROGRESS","COMPLETED"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"example":"{\"title\":\"Bad Request\",\"status\":400,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"invalids\":[{\"field\":\"delimiter\",\"reason\":\"Unrecognized delimiter, valid options are comma, tab or pipe\"}]}}"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"example":"{  \"message\": \"Forbidden\"}"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"example":"{\"title\":\"Not Found\",\"status\":404,\"timestamp\":\"2018-09-10T21:07:10-05:00\",\"detail\":{\"message\":\"Not found description\"}}"}}}}}}},"/schema/objects":{"post":{"tags":["Object schema"],"summary":"Create object","description":"Create a new Object within Optimizely Data Platform (ODP), define its fields and how it relates to other objects.","operationId":"create-object","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"},"examples":{"Example Payload":{"description":"Example Payload","value":{"name":"objects","display_name":"Object","public_read":false,"alias":"object","fields":[{"name":"object_id","display_name":"New Object Identifier","public_read":false,"type":"string","primary":true},{"name":"another_field","display_name":"Another Fields","type":"string"},{"name":"child_id","display_name":"Child Identifier","type":"number"}],"relations":[{"name":"my_relation","display_name":"My Relationship","public_read":false,"child_object":"child","join_fields":[{"parent":"child_id","child":"child_id"}]}]}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"},"example":{"name":"objects","display_name":"Object","alias":"object","fields":[{"name":"object_id","display_name":"New Object Identifier","type":"string","primary":true},{"name":"another_field","display_name":"Another Fields","type":"string"},{"name":"child_id","display_name":"Child Identifier","type":"number"}],"relations":[{"name":"my_relation","display_name":"My Relationship","child_object":"child","join_fields":[{"parent":"child_id","child":"child_id"}]}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"title":"Bad Request","status":400,"timestamp":"2018-08-07T13:44:17.659Z","detail":{"invalids":[{"field":"name","reason":"already used by another object"},{"field":"alias","reason":"already used by another object"},{"field":"display_name","reason":"already used by another object"},{"field":"fields","reason":"at least one primary key field required"},{"field":"relations[0].child_object","reason":"does not exist"}]}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}},"get":{"tags":["Object schema"],"summary":"List objects","description":"List the details of all objects within an Optimizely Data Platform (ODP) account.","operationId":"list-objects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Object"}},"example":[{"name":"tickets","display_name":"Tickets","alias":"ticket","fields":[{"name":"field_name","type":"number","display_name":"Display Name","primary":true}],"relations":[{"name":"my_relation","display_name":"My Relationship","child_object":"target_object_name","join_fields":[{"parent":"child_id","child":"child_id"}]}]},{"name":"concerts","display_name":"Concerts","alias":"concert","fields":[{"name":"field_name","type":"number","display_name":"Display Name","primary":true}],"relations":[{"name":"my_relation","display_name":"My Relationship","child_object":"target_object_name","join_fields":[{"parent":"child_id","child":"child_id"}]}]}]}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/schema/objects/{object_name}":{"get":{"tags":["Object schema"],"summary":"Get object","description":"List the details of a specific object in an Optimizely Data Platform (ODP) account.","operationId":"get-object","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object.","example":"myobject"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"},"example":{"name":"tickets","display_name":"Tickets","alias":"ticket","fields":[{"name":"field_name","type":"number","display_name":"Display Name","primary":true}],"relations":[{"name":"my_relation","display_name":"My Relationship","child_object":"target_object_name","join_fields":[{"parent":"child_id","child":"child_id"}]}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/schema/objects/{object_name}/fields":{"post":{"tags":["Fields schema"],"summary":"Create field","description":"Create a field on an object in Optimizely Data Platform (ODP).","operationId":"create-field","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Field"},"examples":{"Example Payload":{"description":"Example Payload","value":{"name":"field_name","type":"number","display_name":"Display Name","public_read":false,"description":"Description of field"}},"PII Access Policies":{"description":"Enable the access policy of this field as Personal Identifiable Information. `suggestible` is used to retrieve autosuggestions for this field.","value":{"name":"new_pii_field","display_name":"New PII Field","description":"This is a new Field with PII access policies enabled","type":"string","access_policies":{"PII":{"enable":true,"suggestible":true}}}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Field"},"example":{"name":"field_name","display_name":"Display Name","description":"Description of field","type":"number"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object"},"example":{}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}},"get":{"tags":["Fields schema"],"summary":"List fields","description":"List the details of all fields for a specific object.","operationId":"list-fields","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Field"}},"example":{"name":"field_name","type":"number","display_name":"Display Name","auto":true,"description":"The venue that the user visisted.","created_by":"zaius"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","example":{}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/schema/objects/{object_name}/fields/{field_name}":{"get":{"tags":["Fields schema"],"summary":"Get field","description":"List the details of a single field for a specific object.","operationId":"get-field","parameters":[{"name":"field_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the field."},{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Field"},"example":{"name":"tickets","display_name":"Tickets","alias":"ticket","fields":[{"name":"field_name","type":"number","display_name":"Display Name","primary":true}],"relations":[{"name":"my_relation","display_name":"My Relationship","child_object":"target_object_name","join_fields":[{"parent":"child_id","child":"child_id"}]}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","example":{}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/schema/objects/{object_name}/relations":{"post":{"tags":["Relationships schema"],"summary":"Create relationship","description":"Create a relation between objects in Optimizely Data Platform (ODP).","operationId":"create-relationship","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object where you want to create the relationship."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relation"},"examples":{"Example Payload":{"description":"Example Payload","value":{"name":"relation_name","display_name":"Relation Display Name","public_read":false,"child_object":"child_object_name","join_fields":[{"parent":"child_id","child":"child_id"}]}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"},"example":{"name":"my_relation","display_name":"My Relationship","child_object":"child","join_fields":[{"parent":"child_id","child":"child_id"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"title":"Bad Request","status":400,"timestamp":"2018-08-14T12:23:04.500Z","detail":{"invalids":[{"field":"join_fields[0].parent","reason":"does not match child data type"}]}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}},"get":{"tags":["Relationships schema"],"summary":"List relations","description":"List the details of all relationships of a specific object.","operationId":"list-relations","parameters":[{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Relation"}},"example":[{"name":"my_relation","display_name":"My Relationship","child_object":"child","join_fields":[{"parent":"child_id","child":"child_id"}]},{"name":"my_relation2","display_name":"My Relationship 2","child_object":"child","join_fields":[{"parent":"child_id","child":"child_id"}]}]}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","example":{}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/schema/objects/{object_name}/relations/{relation_name}":{"get":{"tags":["Relationships schema"],"summary":"Get relation","description":"List the details of a single relationship of a specific object.","operationId":"get-relation","parameters":[{"name":"relation_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the relationship."},{"name":"object_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the object."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relation"},"example":{"name":"my_relation","display_name":"My Relationship","child_object":"target_object_name","join_fields":[{"parent":"child_id","child":"child_id"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","example":{}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/reachability":{"post":{"tags":["Reachability"],"summary":"Update reachability","description":"Update reachability for a messaging identifier.","operationId":"update-reachability","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reachability"},"examples":{"Example Payload":{"description":"Example Payload","value":[{"identifier_value":"email@optimizely.com","identifier_field_name":"email","reachable":false,"reachable_update_type":"hard_bounce"},{"identifier_value":"email2@optimizely.com","identifier_field_name":"email","reachable":true}]}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericUpdateResponse"},"example":"{\n  \"title\": \"Accepted\",\n  \"status\": 202,\n  \"timestamp\": \"2019-07-30T23:55:00.519Z\"\n}\n"}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReachabilityError"},"example":"{\n  \"title\": \"Bad Request\",\n  \"status\": 400,\n  \"timestamp\": \"2019-07-30T23:53:48.615Z\",\n  \"detail\": {\n    \"message\": \"Unable to parse request body.\"\n  }\n}\n"}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/reachability/{identifier_field_name}":{"get":{"tags":["Reachability"],"summary":"Get reachability","description":"Retrieve reachability information for a specific identifier.","operationId":"get-reachability","parameters":[{"name":"identifier_field_name","in":"path","required":true,"schema":{"type":"string"},"description":"The name of the field that this identifiers falls under (for example, email)."},{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"A valid messaging identifier (for example, an email address)."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reachability"},"example":{"identifier_field_name":"email","identifier_value":"test@optimizely.com","reachable_update_type":"hard_bounce","reachable_update_reason":"5xx from mailbox provider","reachable_update_ts":1572721108,"reachable":false,"zaius_id":3355837520960160000}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/schema/identifiers":{"post":{"tags":["Identifiers"],"summary":"Create identifier","description":"Create an identifier in Optimizely Data Platform (ODP) to use for user resolution.","operationId":"create-identifier","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Identifier"},"examples":{"Example Payload":{"description":"Example Payload","value":{"name":"facebook_messenger_id","display_name":"Facebook Messenger ID","public_read":false,"merge_confidence":"high","messaging":true}}}}},"required":true},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifierCreated"},"example":{"events":[{"name":"event_facebook_messenger_id","display_name":"Event Facebook Messenger ID","type":"identifier"}],"customers":[{"name":"facebook_messenger_id","display_name":"Last Seen Facebook Messenger ID","type":"identifier"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"title":"Bad Request","status":400,"timestamp":"2018-08-07T13:44:17.659Z","detail":{"invalids":[{"field":"customers.name","reason":"already used by another object"},{"field":"customers.display_name","reason":"already used by another object"}]}}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/identifiers":{"post":{"tags":["Identifiers"],"summary":"Update identifier metadata","description":"Update metadata for an identifier.","operationId":"update-identifier-metadata","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpdateIdentifier"}},"examples":{"Example Payload":{"description":"Example Payload","value":[{"identifier_value":"test@optimizely.com","identifier_field_name":"email","metadata":{"mailbox_provider":"google","primary_mailbox":true}}]}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifierCreated"},"example":"{\n  \"title\": \"Accepted\",\n  \"status\": 202,\n  \"timestamp\": \"2019-07-30T23:55:00.519Z\"\n}\n"}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}},"/identifiers/{field_name}":{"get":{"tags":["Identifiers"],"summary":"Get identifier metadata","description":"Retrieve metadata for an identifier in Optimizely Data Platform (ODP).","operationId":"get-identifier-metadata","parameters":[{"name":"field_name","in":"path","required":true,"schema":{"type":"string"},"description":"The field name for the identifier being requested (for example, email)."},{"name":"id","in":"query","schema":{"type":"string"},"description":"The identifier value being requested (for example, test@optimizely.com)."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdenfitierMetadata"},"example":{"identifier_value":"john@example.com","identifier_field_name":"email","zaius_id":"abcd","metadata":{"mailbox_provider":"google","primary_mailbox":true},"metadata_update_ts":1556582935}}}},"403":{"description":"Forbidden","content":{"application/json":{"example":"{\"message\": \"Forbidden\"}"}}}}}}},"components":{"schemas":{"IdentifierRequestObject":{"required":["identifier_field_name","identifier_value","requester"],"type":"object","properties":{"requester":{"type":"string","description":"The email address of the requester for audit purposes.","example":"brand@example.com"},"identifier_value":{"type":"string","description":"The value of the identifier to delete or opt out.","example":"johndoe@example.com"},"identifier_field_name":{"type":"string","description":"The type of identifier that you are deleting or opting out.","example":"email"}}},"ComplianceResponseBody":{"type":"object","properties":{"request_ids":{"type":"array","items":{"type":"string"}}}},"GenericUpdateResponse":{"type":"object","properties":{"title":{"type":"string"},"status":{"type":"integer","format":"int32"},"timestamp":{"type":"string"}}},"Object":{"required":["name","display_name","public_read","alias","fields"],"type":"object","properties":{"name":{"type":"string","description":"the plural name of the object (for example, tickets)"},"display_name":{"type":"string","description":"the human-readable name of the object (for example, Tickets)"},"public_read":{"type":"boolean","description":"enable access with the API public key","default":false},"alias":{"type":"string","description":"the singular name of the object (for example, ticket)"},"fields":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"object_id"},"display_name":{"type":"string","example":"New Object Identifier"},"type":{"type":"string","example":"string"},"primary":{"type":"boolean","example":true,"default":true}}},"description":"an array of fields objects"},"relations":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"my_relation"},"display_name":{"type":"string","example":"My Relationship"},"child_object":{"type":"string","example":"child"},"join_fields":{"type":"array","items":{"type":"object","properties":{"parent":{"type":"string","example":"child_id"},"child":{"type":"string","example":"child_id"}}}}}},"description":"an array of relations objects"}}},"Error":{"type":"object","properties":{"title":{"type":"string","example":"Bad Request"},"status":{"type":"integer","example":400,"default":0},"timestamp":{"type":"string","example":"2018-08-07T13:44:17.659Z"},"detail":{"type":"object","properties":{"invalids":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"name"},"reason":{"type":"string","example":"already used by another object"}}}}}}}},"Field":{"required":["name","display_name","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field (for example, `ticket_id`)."},"display_name":{"type":"string","description":"The human-readable name of the field (for example, Ticket ID)."},"public_read":{"type":"boolean","description":"Enable access with the API public key.","default":false},"description":{"type":"array","description":"Detailed description of the field's purpose.","items":{"type":"string"}},"type":{"type":"string","description":"An array of relations field data type. Options are `number`, `timestamp`, `string`, `boolean`.","enum":["number","timestamp","string","boolean"]},"access_policies":{"type":"object","description":"Set access policies, like PII, for the field.","properties":{"PII":{"type":"object","description":"Mark the field as Personally Identifiable Information (PII).","properties":{"enable":{"type":"boolean","description":"Set to `true` to mark the field as Personally Identifiable Information (PII); `false` to indicate the field is not PII. Default is `true`."},"suggestible":{"type":"boolean","description":"Set to `true` to enable autosuggestions for the field; `false` to disable autosuggestions. Default is `false`."}}}}}}},"Relation":{"required":["child_object","name","display_name","public_read","fields"],"type":"object","properties":{"child_object":{"type":"string","example":"child","description":"The name of the child object."},"name":{"type":"string","example":"relation_name","description":"The name of the relationship (for example, ticket)."},"display_name":{"type":"string","example":"Relation Display Name","description":"The human-readable name of the field (for example, Ticket)."},"public_read":{"type":"string","example":false,"default":false,"description":"Enable access with the API public key."},"join_fields":{"type":"array","items":{"required":["parent"],"type":"object","properties":{"parent":{"type":"string","example":"id","description":"The name of the object that links to the child object (for example, id)."},"child":{"type":"string","example":"child_id","description":"The name of the child object that links to this object (for example, ticket_id)."}}}}}},"Reachability":{"required":["identifier_value","identifier_field_name","reachable","reachable_update_type"],"type":"object","properties":{"identifier_value":{"type":"string","description":"A valid messaging identifier, like an email address."},"identifier_field_name":{"type":"string","description":"The name of the field that this identifier falls under (for example, email)."},"reachable":{"type":"boolean","description":"True/false indicator of the reachability status for this identifier value.","default":true},"reachable_update_type":{"type":"string","description":"The type of change to the reachability status. If `reachable` is set to `true`, you must leave this field null. Reason must be one of the following options: `hard_bounce`, `soft_bounce`, `spam_report`, `uninstall`, `invalid_identifier`, `returned_to_sender`, `unknown`, `expired`, `other`."},"reachable_update_reason":{"type":"string","description":"A specific error code or note for the change type."},"reachable_update_ts":{"type":"string","description":"The time of the event (defaults to current time)."},"zaius_id":{"type":"integer"}}},"ReachabilityError":{"type":"object","properties":{"title":{"type":"string","example":"Bad Request"},"status":{"type":"integer","example":400,"default":0},"timestamp":{"type":"string","example":"2018-08-07T13:44:17.659Z"},"detail":{"type":"object","properties":{"message":{"type":"string"}}}}},"Identifier":{"type":"object","required":["name","display_name","merge_confidence"],"properties":{"name":{"type":"string","description":"The field name of the identifier, ending with one of the known suffixes: id, hash, number, token, alias, address, key."},"display_name":{"type":"string","description":"The human-readable name, ending with the title case version of the name suffix: ID, Hash, Number, Token, Alias, Address, Key."},"public_read":{"type":"boolean","description":"Enable access with the API public key.","default":false},"merge_confidence":{"type":"string","description":"The level of confidence (`high` or `low`) that this identifier can be used to merge customer profiles together."},"messaging":{"type":"boolean","description":"Whether this identifier can be used to message customers in campaigns."}}},"IdentifierCreated":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"event_facebook_messenger_id"},"display_name":{"type":"string","example":"Event Facebook Messenger ID"},"type":{"type":"string","example":"identifier"}}}},"customers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"facebook_messenger_id"},"display_name":{"type":"string","exa

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/_original/optimizely-data-platform-advanced-openapi.json