openapi: 3.2.0 info: title: Epsilon Retail Media Integration Customers API version: '1' x-source: https://developers.citrusad.com/integration/reference/ servers: - url: https://integration-BASE-URL.citrusad.com/v1/ security: - sec0: [] tags: - name: Customers paths: /customers: post: summary: Create or update a customer description: '' operationId: create-or-update-a-customer requestBody: content: application/json: schema: type: object properties: customers: type: array items: properties: id: type: string description: The unique ID of the customer in your system. teamId: type: string description: If a teamId is not provided, then the teamId will fall back onto the teamId provided by the API key. yearOfBirth: type: integer description: Deprecated. Legacy field. format: int32 gender: type: string description: 'Deprecated. Legacy field.Accepted values: Male, Female, Other' suburb: type: string description: Deprecated. Legacy field. postcode: type: string description: Deprecated. Legacy field. targetingData: type: array description: Deprecated. Legacy field. items: properties: key: type: string description: Arbitrary key:value pairing set by the retailer. default: value type: object required: - id type: object responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"customers\": [\n {\n \"targetingData\": {\n \"string\": \"string\"\n },\n \"gender\": \"string\",\n \"teamId\": \"string\",\n \"postcode\": \"string\",\n \"suburb\": \"string\",\n \"id\": \"string, \n\t\t\t\t\t\"segmentIds\": [\n \"string\", \"string\"\n ],\n \"yearOfBirth\": \"integer\"\n }\n ]\n}\n" '400': description: '400' content: application/json: examples: Result: value: "{\n \"additionalInfo\": [\n {\n \"code\": \"string\",\n \"message\": \"string\"\n }\n ],\n \"message\": \"string\"\n}" schema: type: object properties: additionalInfo: type: array items: type: object properties: code: type: string example: string message: type: string example: string message: type: string example: string '401': description: '401' content: text/plain: examples: Result: value: '' '403': description: '403' content: text/plain: examples: Result: value: '' '404': description: '404' content: text/plain: examples: Result: value: '' '429': description: '429' content: text/plain: examples: Result: value: '' '500': description: '500' content: text/plain: examples: Result: value: '' '502': description: '502' content: text/plain: examples: Result: value: '' '503': description: '503' content: text/plain: examples: Result: value: '' '504': description: '504' content: text/plain: examples: Result: value: '' deprecated: false tags: - Customers get: summary: Retrieve a list of customers description: '' operationId: retrieve-a-list-of-customers parameters: - name: limit in: query schema: type: integer format: int32 - name: skip in: query schema: type: string - name: customerIds in: query schema: type: array items: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "\n \"customers\": [\n { \n \"targetingData\": {\n \"string\": \"string\"\n },\n \"id\": \"string\",\n \"teamId\": \"string\",\n \"yearOfBirth\": \"integer\",\n \"gender\": \"string\",\n \"suburb\": \"string\",\n \"postcode\": \"string\",\n\t\t\t\t\t \"segmentIds\": [\n \"string\"\n ]\n\n }\n ]\n}" '400': description: '400' content: application/json: examples: Result: value: "{\n \"additionalInfo\": [\n {\n \"code\": \"string\",\n \"message\": \"string\"\n }\n ],\n \"message\": \"string\"\n}" schema: type: object properties: additionalInfo: type: array items: type: object properties: code: type: string example: string message: type: string example: string message: type: string example: string '401': description: '401' content: text/plain: examples: Result: value: '' '403': description: '403' content: text/plain: examples: Result: value: '' '404': description: '404' content: text/plain: examples: Result: value: '' '429': description: '429' content: text/plain: examples: Result: value: '' '500': description: '500' content: text/plain: examples: Result: value: '' '502': description: '502' content: text/plain: examples: Result: value: '' '503': description: '503' content: text/plain: examples: Result: value: '' '504': description: '504' content: text/plain: examples: Result: value: '' deprecated: false tags: - Customers /customers/{customerId}: get: summary: Retrieve a customer description: '' operationId: retrieve-a-customer parameters: - name: customerId in: path schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{ \n \"targetingData\": {\n \"string\": \"string\"\n },\n \"id\": \"string\",\n \"teamId\": \"string\",\n \"yearOfBirth\": \"integer\",\n \"gender\": \"string\",\n \"suburb\": \"string\",\n \"postcode\": \"string\",\t\t\t\t\t\n\t\t\t\t\t\t \"segmentIds\": [\n \"string\"\n ]\n\n}" schema: type: object properties: targetingData: type: object properties: string: type: string example: string id: type: string example: string teamId: type: string example: string yearOfBirth: type: string example: integer gender: type: string example: string suburb: type: string example: string postcode: type: string example: string segmentIds: type: array items: type: string example: string '400': description: '400' content: application/json: examples: Result: value: "{\n \"additionalInfo\": [\n {\n \"code\": \"string\",\n \"message\": \"string\"\n }\n ],\n \"message\": \"string\"\n}" schema: type: object properties: additionalInfo: type: array items: type: object properties: code: type: string example: string message: type: string example: string message: type: string example: string '401': description: '401' content: text/plain: examples: Result: value: '' '403': description: '403' content: text/plain: examples: Result: value: '' '404': description: '404' content: text/plain: examples: Result: value: '' '429': description: '429' content: text/plain: examples: Result: value: '' '500': description: '500' content: text/plain: examples: Result: value: '' '502': description: '502' content: text/plain: examples: Result: value: '' '503': description: '503' content: text/plain: examples: Result: value: '' '504': description: '504' content: text/plain: examples: Result: value: '' deprecated: false tags: - Customers /customers/manage-segments: post: summary: Manage customer-segment linkage description: '' operationId: manage-customers-and-segments requestBody: content: application/json: schema: type: object properties: teamId: type: string description: The retailer teamId for the retailer the customer is within. customerId: type: string description: The unique identifier of the customer you are managing segments for. segments: type: array items: properties: segmentIds: type: array description: The list of Segment IDs the customer has access to. default: [] items: type: string type: object responses: '200': description: '200' content: application/json: examples: Result: value: '' '400': description: '400' content: application/json: examples: Result: value: "{\n \"additionalInfo\": [\n {\n \"code\": \"string\",\n \"message\": \"string\"\n }\n ],\n \"message\": \"string\"\n}" schema: type: object properties: additionalInfo: type: array items: type: object properties: code: type: string example: string message: type: string example: string message: type: string example: string '401': description: '401' content: text/plain: examples: Result: value: '' '403': description: '403' content: text/plain: examples: Result: value: '' '404': description: '404' content: text/plain: examples: Result: value: '' '429': description: '429' content: text/plain: examples: Result: value: '' '500': description: '500' content: text/plain: examples: Result: value: '' '502': description: '502' content: text/plain: examples: Result: value: '' '503': description: '503' content: text/plain: examples: Result: value: '' '504': description: '504' content: text/plain: examples: Result: value: '' deprecated: false tags: - Customers components: securitySchemes: sec0: type: apiKey name: Authorization in: header x-bearer-format: basic x-default: YOUR_API_KEY