swagger: '2.0' info: title: Emarsys Core API - Events endpoint batch description: In this batch you may find endpoints related to events. version: v2 host: api.emarsys.net basePath: /api schemes: - https paths: /v2/event: post: summary: Create an External Event description: 'Creates an external event with the specified name in order to allow your external program, such as a CMS or CRM to trigger an Emarsys event.' operationId: createExternalEvent produces: - application/json consumes: - application/json parameters: - in: body name: body schema: type: object properties: name: type: string description: The name of the external event. required: - name x-examples: - name: bulk purchasing schemes: - https responses: '200': description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/error-codes.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/error-codes.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/error-codes.md).' created: type: string description: Creation date of the external event replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/error-codes.md).' data: type: object description: The requested data. properties: id: type: integer description: The identifier of the external event. name: type: string description: The name of the external event. '400': description: '' schema: $ref: '#/definitions/default-response' security: - X-WSSE: [] /v2/event/: get: summary: List External Events description: Lists external event names and identifiers. Use the returned identifiers to trigger emails or programs. operationId: listExternalEvents produces: - application/json schemes: - https responses: '200': description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/error-codes.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/error-codes.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/error-codes.md).' data: type: array description: The requested data. items: type: object properties: id: type: integer description: The identifier of the external event. name: type: string description: The name of the external event. created: type: string description: The creation date of the external event. '400': description: '' schema: $ref: '#/definitions/default-response' security: - X-WSSE: [] '/v2/event/{eventId}': get: summary: Query an External Event description: Returns the name of the external event specified by its identifier. operationId: QueryExternalEvent produces: - application/json parameters: - name: eventId in: path description: The identifier of the external event. required: true type: integer schemes: - https responses: '200': description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/error-codes.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/error-codes.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/error-codes.md).' data: type: array description: The requested data. items: type: object properties: id: type: integer description: The identifier of the external event. name: type: string description: The name of the external event. '400': description: '' schema: $ref: '#/definitions/default-response' security: - X-WSSE: [] post: summary: Update an External Event description: Updates the name of an external event. operationId: updateExternalEvent produces: - application/json consumes: - application/json parameters: - name: eventId in: path description: The identifier of the external event. required: true type: integer - in: body name: body schema: type: object properties: name: type: string description: The name of the external event. required: - name x-examples: - name: response_email schemes: - https responses: '200': description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/error-codes.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/error-codes.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/error-codes.md).' data: type: object description: The requested data. properties: id: type: integer description: The identifier of the external event. name: type: string description: The name of the external event. '400': description: '' schema: $ref: '#/definitions/default-response' security: - X-WSSE: [] '/v2/event/{eventId}/usages': get: summary: List Uses of an External Event description: |- Lists the identifiers of the automation programs and emails that the specified external event triggers or is used in. Returns Automation Center and Interactions program identifiers and email identifiers. **Note:** Emails must be in the *launched* state in order to appear. operationId: listUsesOfExternalEvent produces: - application/json parameters: - name: eventId in: path description: The identifier of the external event. required: true type: integer schemes: - https responses: '200': description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/error-codes.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/error-codes.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/error-codes.md).' data: type: object description: The requested data. properties: program_ids: type: array description: The Automation Center program identifier. items: type: integer email_ids: type: array description: The email identifier. items: type: integer interactions_program_ids: type: array description: 'The Interactions program identifier. ' items: type: string '400': description: '' schema: $ref: '#/definitions/default-response' security: - X-WSSE: [] '/v2/event/{eventId}/delete': post: summary: Delete an External Event description: |- Deletes an external event. **Note:** Deleting an event has no effect on any programs or email campaigns linked to the event. operationId: deleteExternalEvent produces: - application/json parameters: - name: eventId in: path description: The identifier of the external event. required: true type: integer schemes: - https responses: '200': description: '' schema: $ref: '#/definitions/default-response' '400': description: '' schema: $ref: '#/definitions/default-response' security: - X-WSSE: [] '/v2/event/{eventId}/trigger': post: summary: Trigger an External Event description: |- Activates a named external event trigger for a specified contact. ### `event_time` parameter If the `event_time` parameter is added to the request, it will be used as the time of event in [Interactions](https://help.sap.com/docs/SAP_EMARSYS/f8e2fafeea804018a954a8857d9dfff3/fde90b2e74c11014b517a61775d6bcc3.html). The parameter has to be in one of the following formats: - 2007-03-01T13:00:00Z - 2007-03-01T13:00:00.000Z. If the `event_time` is not provided, we will continue to use the time when the event was processed by Emarsys. If invalid `event_time` is provided (it is set, but not matching the above formats), an error will be provided and the event will not trigger either emails, Automation Center programs, or be used in Interactions. The `event_time` parameter is checked at the same level as `trigger_id`, e.g. in the first level for single contact case and within the contacts array for the batch use case. For more information on the new parameter, please contact Emarsys Support. >**Note:** The optional field `trigger_id` is used for deduplication that you can define for each trigger. If an event is sent multiple times with the same `trigger_id`, only the first one will be processed. If these IDs differ or are missing, the triggers are considered different and all of them will be processed. From May 15, 2023 on, this change also applies to Automation Center programs starting with the External Event entry point that contains [Send email](https://help.sap.com/docs/SAP_EMARSYS/f8e2fafeea804018a954a8857d9dfff3/da7fef86a24e4fda99c57a3731cbd7e6.html) nodes. Please make sure that you use this field appropriately until the mentioned date. Programs using the `trigger_id` field inappropriately might result in unique events being dropped. For further assistance, please contact your Client Success Manager. ### Prerequisites - If you synchronize your contact data using your own unique identifier in your system, a custom contact field `externalId` must exist as the external identifier. To create one, use the [Create a field](https://dev.emarsys.com/docs/core-api-reference/eccvwbclv1qia-create-a-field) endpoint or go to **Admin** > **Field Editor** > **New** in the Emarsys application. For details on contact identifiers, see [Concepts](https://dev.emarsys.com/docs/emarsys-core-api-guides/75f3acc2c94dc-concepts). >**Note:** Using external field identifiers is the recommended method for identifying contacts. However, you can use other Emasys system fields as well, such as email. For details, see [Contact system fields](https://dev.emarsys.com/docs/emarsys-core-api-guides/7f3e853b57d26-contact-system-fields). - The specified contact must exist in the Emarsys database to trigger an event. - The external event has been created using the API endpoint [Create an External Event](https://dev.emarsys.com/docs/core-api-reference/39rrldcc17zoa-create-an-external-event), or in the Emarsys application. See [Using External Events](https://help.sap.com/docs/SAP_EMARSYS/f8e2fafeea804018a954a8857d9dfff3/fdec9cdb74c110149fdfb21a28afa1a1.html#trigger-sources) for details. - The field identifier is required to create contacts with custom fields. List the field identifiers at the [List available fields](https://dev.emarsys.com/docs/core-api-reference/a0l7f9tviiuiv-list-available-fields) endpoint or go to **Admin** > **Field Editor** in the Emarsys application. **Notes** - The maximum number of objects per request is 1000. - Do not use the `ems_event_time` key under `data` as this is reserved for internal use. Values sent with this key are **ignored**. - New to triggered emails? See [Triggered Email - Overview](https://help.sap.com/docs/SAP_EMARSYS/f8e2fafeea804018a954a8857d9dfff3/fdec996074c11014a105f7ec8ea92bc2.html) for an introduction. - For further information about creating emails with transaction-specific content, see [Creating Transactional Emails](https://help.sap.com/docs/SAP_EMARSYS/f8e2fafeea804018a954a8857d9dfff3/fdeca3e674c11014bb309b904ebdc1b4.html). - For the list of possible campaign-related placeholders, see [Email personalization placeholders](https://dev.emarsys.com/docs/emarsys-core-api-guides/ddb458580a19f-email-personalization-placeholders). ### Payload Structure >**Note:** We are introducing a limit of 1 MB for the payload size limit of External events effective October 24, 2023. Events exceeding this limit will not be accepted and you will receive an error response from the API. As a result, External events over the limit will not trigger any Triggered Email campaigns, Automation Center or Interactions programs. You can trigger an event in different ways as a single or batch request, depending on the content of the email. - Global variables are accessible in the entire content of the email, and useful for defining general properties, such the as name of your customer. - The scope of section variables are limited to the defined section group. Each section variable in the group adds a copy of the referenced content. - [Emarsys Scripting Language](https://esl.emarsys.com/hc/en-us) (ESL) variables allow you to define custom content, but not compatible with section groups. The `data` element of the payload contains the variables of the mail, as follows: | Variable Type | Description | Restrictions | | --- | --- | --- | global | Contains variables of global scope of the email. | Applies to all variants. | | {section_group_name} | Contains variables of the named section group. | Can be paired with global variables, but mutually exclusive with ESL variables. | | {twig_variable} | Contains ESL variables. | Can be paired with global variables, but mutually exclusive with section variables. | The payload structure also depends on whether the request is a single or batch call. The following examples show all variants. **Note:** The definition below and the interactive demo feature illustrates a batch call. ```json { "key_id": 3, "external_id": "test@example.com", "data": { "section_group1": [ { "section_variable1": "some_value", "section_variable2": "another_value" }, { "section_variable1": "yet_another_value", "section_variable2": "one_more_value" } ], "global": { "global_variable1": "global_value", "global_variable2": "another_global_value" } }, "attachment": [ { "filename": "example.pdf", "data": "ZXhhbXBsZQo=" } ] } ``` ```json { "key_id": 3, "external_id": "test@example.com", "data": { "global": { "global_variable1": "global_value", "global_variable2": "another_global_value" }, "twig_variable1": "first_value", "twig_variable2": "another_value" }, "attachment": [ { "filename": "example.pdf", "data": "ZXhhbXBsZQo=" } ] } ``` ```json { "key_id": 3, "contacts": [ { "external_id": "test@example.com", "data": { "section_group1": [ { "section_variable1": "some_value", "section_variable2": "another_value" }, { "section_variable1": "yet_another_value", "section_variable2": "one_more_value" } ], "global": { "global_variable1": "global_value", "global_variable2": "another_global_value" } }, "attachment": [ { "filename": "example.pdf", "data": "ZXhhbXBsZQo=" } ] } ] } ``` ```json { "key_id": 3, "contacts": [ { "external_id": "test@example.com", "data": { "global": { "global_variable1": "global_value", "global_variable2": "another_global_value" }, "twig_variable1": "first_value", "twig_variable2": "another_value" }, "attachment": [ { "filename": "example.pdf", "data": "ZXhhbXBsZQo=" } ] } ] } ``` #### Types of 200 OK messages There are four types of `200 OK` messages we return, depending on whether Interactions advanced features are enabled, and whether the request is a single or a batch call. The four versions differ in what is included in the "data" object. The following table summarizes how the possible `200 OK` versions differ based on the scenario in which they are sent: | | **Interactions advanced features not enabled** | **Interactions advanced features enabled** | | ---------------------- | ------------------------ | ------------------------------------ | | **Single contact trigger** | { } - `200(a)` | {"connectedTo"} - `200(c)` | | **Batch contact trigger** | {"ids","errors"} - `200(b)` | {"ids","errors","connectedTo"} - `200(d)` | You can find an example for each version (`a`, `b`, `c`, `d`) at the end of this section. For customers who have Interactions advanced features enabled, this endpoint returns a `200 OK` response even if the event is not configured to trigger an automated program or an email campaign launch (e.g. the AC program it was linked to has been deleted). In the response body, it is indicated whether any automated programs (AC or Interactions) or email campaigns are connected to the event. Customers who do not have Interactions advanced features enabled get a `400` error in such scenarios: `No program or campaign is triggered.` If event data is above the limit of 1 MB for the Interactions program, a warning will will inform you of the event not being valid for Interactions under `warnings`. ### Non-executable programs The functionality of this endpoint is status-sensitive with regard to the programs. It performs checks and behaves differently if the triggered external event is connected to a **non-executable** Automation program (AC or Interactions). To count as executable, the program needs to have one of the following statutses **at the time of the event trigger**: - Active - Testing - Paused - Failsafe - Error ### Checking Results There are two ways to check if the program was successfully triggered: - In the Emarsys application, go to the **Analysis** page of the program and verify that the number of sent emails has increased. - Include a test customer in the contact list and check if it receives the relevant email. ### Example Use Case When a customer clicks the ***I want to learn more about this product*** button in your webshop, call this endpoint to trigger the associated program, which sends out more information about your product. For more use cases, see: [Send Batch Emails](https://dev.emarsys.com/docs/emarsys-core-api-guides/5ca6be14a1f06-send-batch-emails) [Personalize Your Email with Placeholders](https://dev.emarsys.com/docs/emarsys-core-api-guides/e5eb487489b4a-personalize-your-email-with-placeholders) operationId: triggerExternalEvents produces: - application/json consumes: - application/json parameters: - name: eventId in: path description: The identifier of the external event. required: true type: integer - in: body name: body schema: type: object properties: key_id: description: |- Identifies the contact by their `id`, `uid`, or the name/integer id of a custom field, such as `email`. When `id` or `uid` is used as identifier, provide value in this parameter and specify the the actual `id` or `uid` in the `external_id` parameter. oneOf: - type: string - type: integer contacts: type: array description: The contacts to trigger in a batch call. items: type: object properties: external_id: type: string description: |- The external identifier of the field specified in the `key_id` parameter. **Tip:** Get the contact identifier at the [Get Contact Data](/reference/openapi.json/paths/~1v2~1contact~1getdata/post) endpoint. trigger_id: type: string description: |- An **optional** unique identifier for each trigger, used for deduplication in Interactions. If an event is sent multiple times with the same `trigger_id` in Interactions, only the first one will be processed. If these IDs differ or are missing, the triggers are considered different, and all of them will be processed. We are adding the same functionality to AC programs, so you need to send different IDs, or not send any. Otherwise some events may not be processed in AC programs because of the identical IDs. Only send the same ID again if a previously failed trigger needs to be retried. `trigger_id` is different from `event_id`. `trigger_id` identifies an individual request **not** the source event. data: type: object description: |- The external data used for the trigger. The example payload shows the following scenario. If the email template is prepared properly, the `itemName`and `itemPrice` placeholders is replaced by the values in the email campaign, which is sent to the specified contacts. attachment: type: string description: |- The email attachment. **Note:** For details and limitations, see [Using Attachments](https://help.emarsys.com/hc/en-us/articles/115004461489-triggered-email-end-user-guide#using-attachments). event_time: type: string description: 'If the format matches one of these: 2007-03-01T13:00:00Z or 2007-03-01T13:00:00.000Z, we will use that as event time in Interactions. If event time is not provided, we will continue to use the time when the event was processed by us. If invalid event time is provided (it is set, but not matching the above formats) an error will be provided and the event won''t trigger either email, AC program, or be used in Interactions. Event time is checked at the same level as trigger_id, e.g. in the first level for single contact case and within the contacts array for batch use case.' required: - external_id required: - key_id x-examples: - key_id: veniam deserunt dolor dolor cupidatat contacts: - attachment: sint anim - event_time: ipsum attachment: nostrud Duis trigger_id: cillum nostrud eu sit est external_id: eiusmod schemes: - https responses: '400': description: '' schema: $ref: '#/definitions/default-response' 200(a): description: '' schema: $ref: '#/definitions/default-response' 200(b): description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/http-200-responses.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/http-200-responses.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/http-200-responses.md).' data: type: object description: The requested data. properties: ids: type: array description: The array of identifiers of successfully triggered contacts. items: type: string errors: type: object description: Indicates that an error occurred during triggering the listed contacts identified by the value of the specified `key_id`. 200(c): description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/http-200-responses.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/http-200-responses.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/http-200-responses.md).' data: type: object description: The requested data. properties: connectedTo: type: object description: 'Indicates whether the event has triggered any emails, AC, or Interactions programs. Only executable programs are listed. This object becomes `false` if the customer is triggering an External event that is not triggering **any** executable Automation programs or email campaigns.' properties: email: type: boolean description: '*true*: the event triggered an email.' acProgram: type: boolean description: '*true*: the event triggered an AC program.' interactionsProgram: type: boolean description: |- *true*: the event triggered an Interaction program. This field is only returned if the *Real Time Interaction* feature is enabled for the customer. 200(d): description: '' schema: type: object description: 'See the example or [Response Codes](docs/response-codes/http-200-responses.md) for details.' additionalProperties: false properties: replyCode: type: integer description: 'The Emarsys [response code](docs/response-codes/http-200-responses.md).' replyText: type: string description: 'The summary of the [response](docs/response-codes/http-200-responses.md).' data: type: object description: The requested data. properties: ids: type: array description: The array of identifiers of successfully triggered contacts. items: type: string errors: type: object description: Indicates that an error occurred during triggering the listed contacts identified by the value of the specified `key_id`. connectedTo: type: object description: 'Indicates whether the event has triggered any emails, AC, or Interactions programs. Only executable programs are listed. This object becomes `false` if the customer is triggering an External event that is not triggering **any** executable Automation programs or email campaigns.' properties: email: type: boolean description: '*true*: the event triggered an email.' acProgram: type: boolean description: '*true*: the event triggered an AC program.' interactionsProgram: type: boolean description: |- *true*: the event triggered an Interaction program. This field is only returned if the *Interaction* feature is enabled for the customer. 400(a): description: '' schema: type: object properties: replyCode: type: integer replyText: type: string description: Invalid event time format. data: type: string security: - X-WSSE: [] /v2/wishlist/update: post: summary: Trigger a Wishlist Update description: |- Activates a wishlist update event for the specified contacts. ### Prerequisites - If you synchronize your contact data using your own unique identifier in your system, a custom contact field `externalId` must exist as the external identifier. To create one, use the [Create a field](https://dev.emarsys.com/docs/emarsys-api/b3A6MjQ4OTk4MTY) endpoint or go to **Admin** > **Field Editor** > **New** in the Emarsys application. For details on contact identifiers, see [Concepts](docs/before-you-start/concepts.md). >**Note:** Using external field identifiers is the recommended method for identifying contacts. However, you can use other Emasys system fields as well, such as email. For details, see [Contact system fields](docs/personalization/contact-system-fields.md). - The specified contact must exist in the Emarsys database to trigger an event. **Notes** - The maximum number of objects per request is 1000. - The maximum size of a single event is 20kB. - For Emarsys to follow-up changes, it is beneficial to have an initial load: we recommend sending through the current wishlist state for all your contacts with their corresponding event time. From that point on, Emarsys can calculate changes from the states (wishlist contents). operationId: triggerWishlistUpdate produces: - application/json consumes: - application/json parameters: - name: WSSE in: header required: true type: string - in: body name: body schema: type: object properties: key_id: description: |- Identifies the contact by their `id`, `uid`, or the name/integer id of a custom field, such as `email`. When `id` or `uid` is used as identifier, provide value in this parameter and specify the the actual `id` or `uid` in the `external_id` parameter. oneOf: - type: string - type: integer events: type: array description: The update event(s) in the batch. items: type: object properties: external_id: description: |- The external identifier of the field specified in the `key_id` parameter. Tip: Get the contact identifier at the [Get Contact Data](reference/openapi.json/paths/~1v2~1contact~1getdata/post) endpoint. oneOf: - type: string - type: integer trigger_id: type: string description: 'The unique identifier of the wishlist update event. This field is used for deduplication. If an event is sent multiple times with the same `trigger_id`, only one gets processed. If these IDs differ or are missing, the triggers are considered different, and all of them are processed.' event_time: type: string description: |- The time when the update event happened in UTC using the ISO 8601 format. In Interactions programs the expiration of the event is calculated based on this value. wishlist_content: type: array description: |- **Wishlist Content Overview** The wishlist content reflects the items currently present in the user's wishlist after an update has occurred. Please note the following important details: **What to Expect When the Wishlist is Empty:** - **Empty Wishlist Possibility**: _The wishlist content can sometimes be empty_. This might happen when a user has cleared their wishlist or hasn't added any items yet. - **Impact on Automated Programs**: If your automated programs are designed to send communications based on wishlist updates, an empty wishlist can cause the program to go to fail-safe. This means that if you haven't filtered out empty wishlist events, your program may halt. An empty wishlist event will not be automatically filtered out or handled appropriately by the system unless you have configured it to do so. Manual intervention or specific program settings are required to handle such scenarios effectively. **Preventing Issues with Empty Wishlists:** - **Read More**: Please read the following resource: [Excluding contacts with empty wishlists from programs](https://help.emarsys.com/hc/en-us/articles/360020803417-Triggers-Wishlist-Event#excluding-contacts-with-empty-wishlists-from-programs). This guide provides important information on how to exclude contacts with empty wishlists—an essential step if you plan to maintain meaningful interactions and avoid fail-safe. - **Program Configuration**: Ensure that your marketing automation programs are configured to filter out or handle empty wishlist events properly. This can mean setting up conditional filters, alternative content paths, or exclusion rules to maintain the quality and relevance of your communications. By taking these steps, you can ensure that your marketing efforts remain effective and avoid the pitfalls associated with empty wishlist events. items: type: object properties: item_id: type: string description: 'The unique identifier of the item, which is the same as your product ID in your Predict catalogue. Two items under `wishlist_content` cannot have the same `item_id`. The value entered here is case-sensitive.' quantity: type: integer description: 'The quantity of the item. It must be a positive integer. If it is missing, "1" will be used.' required: - item_id event_attributes: type: object description: Additional custom attributes to the event. Any field with any type of value can be provided. properties: myNumber: type: integer myString: type: string required: - external_id - event_time - wishlist_content required: - key_id - events x-examples: - key_id: 3 events: - external_id: test@example.com trigger_id: ebf90e7e-0962-4942-96f9-f30b9456f871 event_time: '2020-11-11T15:32:12Z' wishlist_content: - item_id: item_1 quantity: 1 - item_id: item_2 quantity: 5 - item_id: item_4 quantity: 4 event_attributes: myNumber: 123 myString: yolo schemes: - https responses: '200': description: '' schema: type: object properties: replyCode: type: integer replyText: type: string data: type: object '400': description: '' schema: type: object properties: replyCode: type: integer replyText: type: string data: type: string '403': description: '' schema: type: object properties: replyCode: type: integer replyText: type: string description: This feature is not available in your account. data: type: string required: - replyCode - replyText - data 200a: description: '' schema: type: object properties: replyCode: type: integer replyText: type: string data: type: object properties: errors: type: object description: '`errors` is an `object` indicating failed processing of the events belonging to the listed contacts identified by the value of the specified `key_id`.' properties: jane.doe@example.com: type: object properties: '1008': type: string '': type: string definitions: default-response: type: object title: Default Response description: |- See the following documents for details on the error codes: - [HTTP 200 errors](docs/response-codes/http-200-responses.md) - [HTTP 400 errors](docs/response-codes/http-400-errors.md) - [HTTP 401-429 errors](docs/response-codes/http-401-429-errors.md) - [HTTP 500 errors](docs/response-codes/http-500-errors.md) properties: replyCode: type: integer description: 'The Emarsys response code. Successful requests return *0*; otherwise, see [errors](docs/response-codes/http-400-errors.md).' default: 0 replyText: type: string description: Additional information on the status of the request. data: description: 'Contains the requested data, if applicable.' oneOf: - type: string - type: integer - x-nullable: true - type: object properties: '': type: object x-examples: - replyCode: 0 replyText: OK data: {} parameters: 'trait:filter:filter': name: filter in: query type: string 'trait:limit10K:limit': name: limit in: query description: Specifies the maximum number of records to return. type: integer default: 10000 maximum: 10000 minimum: 1 'trait:offset:offset': name: offset in: query description: Specifies an offset for pagination. The offset of the first record is *0*. type: integer default: 0 'trait:limit1M:limit': name: limit in: query description: Specifies the maximum number of records to return. type: integer default: 1000000 maximum: 1000000 minimum: 1 'trait:interval:start_date': name: start_date in: query description: |- Returns results from the specified date. **Accepted formats:** YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD type: string 'trait:interval:end_date': name: end_date in: query description: |- Returns results until the specified date. **Accepted formats:** YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD type: string 'trait:excludeEmptyResults:excludeempty': name: excludeempty in: query description: |- If `true`, contacts with a null or empty value in the specified field are not returned. **Note:** Any value except for `true` is interpreted as false. type: boolean 'trait:limit10M:limit': name: limit in: query description: Specifies the maximum number of records to return. type: integer default: 10000000 maximum: 10000000 minimum: 1 'trait:limit1MRequired:limit': name: limit in: query description: Specifies the maximum number of records to return. required: true type: integer default: 1000000 maximum: 1000000 minimum: 1 'trait:limit1K:limit': name: limit in: query description: Specifies the maximum number of records to return. type: integer default: 1000 maximum: 1000 minimum: 1 securityDefinitions: X-WSSE: type: apiKey name: X-WSSE in: header