### POST /recipients/:batch Source: https://apidocs.agillic.net/recipients/openapi Creates or updates a number of Recipients. If the recipient does not already exist in the database then the Recipient will be created. Any Person Data in the object that is not well formatted or violates the restrictions setup in Agillic will be ignored. The response will contain information on any issues found during the handling of the data. Limited to a maximum of 1000 recipients or 5Mb of data ```markdown ### Parameters - **fieldName** (string, query, optional): Overwrite which Person Data is used to match with existing recipients ### Request Body **Content-Type:** application/json - Array of object ### Responses #### 200 - OK **BulkResponseBody** - **updated** (integer (int32)) - **created** (integer (int32)) - **result** (string) - **warnings** (array (string)): A list of responses from the bulk update recipient call - **errors** (array (string)): A list of responses from the bulk update recipient call - **field_access_blocked_to** (array (string)): A list of responses from the bulk update recipient call - **unknown_fields** (array (string)): A list of responses from the bulk update recipient call #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/:batch?fieldName=string" \ -H "Content-Type: application/json" \ -d '[ { "FIRSTNAME": "hello", "LASTNAME": "world" } ]' ``` ``` -------------------------------- ### GET /recipients/{recipientId} Source: https://apidocs.agillic.net/recipients/openapi Returns a Recipient by the recipientId ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **personDataFields** (array (string), query, optional): Specify which Person Data Fields should be present in the response body, e.g ?personDataFields=EMAIL,PHONE_NUMBER,FIRST_NAME ### Responses #### 200 - OK **Recipient** - **personData** (object) (required): Person Data object (example: {"FIRSTNAME":"hello","LASTNAME":"world"}) - **empty** (boolean) #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/{recipientId}?personDataFields=item1,item2" ``` ``` -------------------------------- ### GET /recipients/{recipientId}/targetGroups Source: https://apidocs.agillic.net/recipients/openapi Returns a list of Target Groups the Recipient belongs to. The ordering is currently undefined and subject to change ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) ### Responses #### 200 - OK **TargetGroupList** - Array of object - **name** (string) #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/{recipientId}/targetGroups" ``` ``` -------------------------------- ### GET /recipients Source: https://apidocs.agillic.net/recipients/openapi Returns a collection of Recipients in an undefined order. A collection filter can be applied to narrow the scope of the returned recipients. There is an optional flag called `objectResponse`. If this parameter is set to `true`, the API will create a document with all recipients and return only a partial amount of these recipients inside a `page object` or just `page`. This page contains a collection of recipients, links to request additional pages from the same document and additional information about the document and the requested page. In a future version the API will be changed to return only pages ```markdown ### Parameters - **objectResponse** (string, query, optional): If this boolean is true, return an object (e.g. Pagination) instead of a collection - **documentId** (string, query, optional): The document Id which contains a list of recipient ids for pagination - **pageStart** (string (1), query, optional): The index of an item in a document at which the page should start - **pageSize** (string, query, optional): The number of items to be returned per page, maximum of 1000 - **filter** (string, query, optional): The Recipient filter makes it possible to use filtering on Person Data like NAME and EMAIL etc. ### Responses #### 200 - OK #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients?objectResponse=string&documentId=string&pageStart=1&pageSize=string&filter=string" ``` ``` -------------------------------- ### GET /recipients/v2/task/{taskId} Source: https://apidocs.agillic.net/recipients/openapi Returns the Task status ("processing" or "completed") of a previously started task. When completed it may contain details about the result of task. The status information is stored for 2 days ```markdown ### Parameters - **taskId** (string, path, required): Task identifier ### Responses #### 200 - OK **TaskStatus** - **taskId** (string) (required): UUID reference to a previously started operation - **status** (string (processing|completed)) (required): The status will be "processing" from the time an operation has been accepted until completion (completed) ("processing"|"completed") - **details** (object): Optional map of key/value pairs that provide information about the completed operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/v2/task/{taskId}" ``` ``` -------------------------------- ### POST /recipients/{recipientId}/:listCommunicationHistory Source: https://apidocs.agillic.net/recipients/openapi Get a communication history log for the Recipient. The list must be filtered by start and end date and by communication type. Currently the email, transactional email, sms, and print communications are supported. If type is ommitted, all types are returned. This call is a realtime operation and should only be used for on demand requests, not as a batch operations for system synchronization ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **dateStart** (string (date-time), query, required): Starting timestamp in UTC for the communication history. As defined by date-time (RFC3339) - **dateEnd** (string (date-time), query, required): Finishing timestamp in UTC for the communication history. As defined by date-time (RFC3339) - **communicationType** (string (email|sms|print|transactionalemail), query, optional): Communication type. Accepted values are email, transactionalemail, sms, print ### Responses #### 200 - OK **CommunicationLogList** - Array of object - **communicationId** (string) (required): Communication entry identifier. - **communicationType** (string (email|sms|print|transactionalemail)) (required): Communication type (email,transactionalemail, sms or print). ("email"|"sms"|"print"|"transactionalemail") - **executionTimestamp** (string (date-time)): Timestamp of execution. - **additionalFields** (object) #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/{recipientId}/:listCommunicationHistory?dateStart=2023-01-01T00:00:00Z&dateEnd=2023-01-01T00:00:00Z&communicationType=email" ``` ``` -------------------------------- ### Schema: TaskId Source: https://apidocs.agillic.net/recipients/openapi The Task ID returned when starting a asynchronous operation ```markdown ## Schema: TaskId The Task ID returned when starting a asynchronous operation **Type:** object - **taskId** (string) (required): UUID of the started asynchronous operation ``` -------------------------------- ### GET /recipients/{recipientId}/events/{eventId} Source: https://apidocs.agillic.net/recipients/openapi Returns a specific Event even if it has not been achieved ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **eventId** (string, path, required): Event identifier ### Responses #### 200 - OK **Event** - **eventId** (string) (required): Event identifier. - **achievedCount** (integer (int64)) (required): Current value of the Event counter. #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/{recipientId}/events/{eventId}" ``` ``` -------------------------------- ### GET /recipients/{recipientId}/events Source: https://apidocs.agillic.net/recipients/openapi Returns list of Events achieved by the Recipient, where ordering is undefined and subject to change. It will only return events that have been achieved. An Event is achieved only if the `achievedCount` is greater than zero. If the Event has been reset to zero it will _not_ be returned ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) ### Responses #### 200 - OK **EventList** - Array of object - **eventId** (string) (required): Event identifier. - **achievedCount** (integer (int64)) (required): Current value of the Event counter. #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/{recipientId}/events" ``` ``` -------------------------------- ### GET /recipients/{recipientId}/oneToManyTables Source: https://apidocs.agillic.net/recipients/openapi Returns a list of Recipient's One To Many tables where the ordering is currently undefined and subject to change ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) ### Responses #### 200 - OK **OneToManyTableList** - Array of object - **tableId** (string) (required): Table identifier - **recordList** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/{recipientId}/oneToManyTables" ``` ``` -------------------------------- ### GET /recipients/{recipientId}/oneToManyTables/{tableId} Source: https://apidocs.agillic.net/recipients/openapi Returns the One To Many table object with all records ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **tableId** (string, path, required): Name of One-To-Many Table ### Responses #### 200 - OK **OneToManyTable** - **tableId** (string) (required): Table identifier - **recordList** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api-eu1.agillic.net/recipients/{recipientId}/oneToManyTables/{tableId}" ``` ``` -------------------------------- ### Schema: Promotion Source: https://apidocs.agillic.net/recipients/openapi Promotion object. ```markdown ## Schema: Promotion Promotion object. **Type:** object - **propositionList** (array (object)) (required) Array items: - **name** (string) (required): Proposition name (promotionId) - **fields** (object) (required): The Proposition fields. ``` -------------------------------- ### Schema: Callback Source: https://apidocs.agillic.net/recipients/openapi Callback configuration ```markdown ## Schema: Callback Callback configuration **Type:** object - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") ``` -------------------------------- ### POST /recipients/{recipientId}/promotions/{promotionId}/:evaluatePromotion Source: https://apidocs.agillic.net/recipients/openapi Evaluates a Promotion for a recipient, and returns a list of the Propositions for which that recipient has met conditions. The number of Propositions returned is by default one (1). Optionally use the maximumPropositions parameter to override the maximum returned Propositions. A value of zero (0) returns all Propositions available. The ordering of Propositions can be configured in the Promotions Section of the Agillic UI ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **promotionId** (string, path, required): Promotion identifier - **maximumPropositions** (string, query, optional): Maximum number of Propositions returned when evaluating Promotion ### Responses #### 200 - OK **Promotion** - **propositionList** (array (object)) (required) Array items: - **name** (string) (required): Proposition name (promotionId) - **fields** (object) (required): The Proposition fields. #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/{recipientId}/promotions/{promotionId}/:evaluatePromotion?maximumPropositions=string" ``` ``` -------------------------------- ### API Overview: Recipient API Source: https://apidocs.agillic.net/recipients/openapi OpenAPI specification version 2.0 ```yaml # Recipient API # Version: 2.0 OpenAPI specification # Base URL: https://api-eu1.agillic.net ``` -------------------------------- ### Schema: Proposition Source: https://apidocs.agillic.net/recipients/openapi Proposition object. ```markdown ## Schema: Proposition Proposition object. **Type:** object - **name** (string) (required): Proposition name (promotionId) - **fields** (object) (required): The Proposition fields. ``` -------------------------------- ### Schema: EventList Source: https://apidocs.agillic.net/recipients/openapi List of Events. ```markdown ## Schema: EventList List of Events. **Type:** array - Array of object - **eventId** (string) (required): Event identifier. - **achievedCount** (integer (int64)) (required): Current value of the Event counter. ``` -------------------------------- ### Schema: AsyncAchieveEventRequest Source: https://apidocs.agillic.net/recipients/openapi Achieve event parameters ```markdown ## Schema: AsyncAchieveEventRequest Achieve event parameters **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") - **event** (string) (required): Event name (example: "Event_Name") - **context** (object) - **context_parameters** (object) - **empty** (boolean) - **conversion** (object) - **conversion_parameters** (object) - **value** (number (double)) - **channel** (string) - **item** (string) ``` -------------------------------- ### Schema: Event Source: https://apidocs.agillic.net/recipients/openapi Event object. ```markdown ## Schema: Event Event object. **Type:** object - **eventId** (string) (required): Event identifier. - **achievedCount** (integer (int64)) (required): Current value of the Event counter. ``` -------------------------------- ### Schema: Configuration Source: https://apidocs.agillic.net/recipients/openapi Additional request config ```markdown ## Schema: Configuration Additional request config **Type:** object - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") ``` -------------------------------- ### Schema: AsyncRecipientsBatchRequest Source: https://apidocs.agillic.net/recipients/openapi Recipients to be used by batch operation ```markdown ## Schema: AsyncRecipientsBatchRequest Recipients to be used by batch operation **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **batch** (array (object)): Person Data object (example: [{"FIRSTNAME":"hello","LASTNAME":"world"}]) ``` -------------------------------- ### Schema: CommunicationLogList Source: https://apidocs.agillic.net/recipients/openapi List of communication logs. ```markdown ## Schema: CommunicationLogList List of communication logs. **Type:** array - Array of object - **communicationId** (string) (required): Communication entry identifier. - **communicationType** (string (email|sms|print|transactionalemail)) (required): Communication type (email,transactionalemail, sms or print). ("email"|"sms"|"print"|"transactionalemail") - **executionTimestamp** (string (date-time)): Timestamp of execution. - **additionalFields** (object) ``` -------------------------------- ### Schema: RecordList Source: https://apidocs.agillic.net/recipients/openapi List of records ```markdown ## Schema: RecordList List of records **Type:** array - Array of object ``` -------------------------------- ### Security: basicAuth Source: https://apidocs.agillic.net/recipients/openapi Security scheme: basicAuth ```markdown ## Security: basicAuth **Description:** Security scheme: basicAuth **Type:** http **Scheme:** basic ``` -------------------------------- ### Schema: TargetGroupList Source: https://apidocs.agillic.net/recipients/openapi List of Target Groups. ```markdown ## Schema: TargetGroupList List of Target Groups. **Type:** array - Array of object - **name** (string) ``` -------------------------------- ### Schema: RecipientsBatch Source: https://apidocs.agillic.net/recipients/openapi Recipients to be used by batch operation ```markdown ## Schema: RecipientsBatch Recipients to be used by batch operation **Type:** array - Array of object ``` -------------------------------- ### Schema: Communication Source: https://apidocs.agillic.net/recipients/openapi Communication log entry ```markdown ## Schema: Communication Communication log entry **Type:** object - **communicationId** (string) (required): Communication entry identifier. - **communicationType** (string (email|sms|print|transactionalemail)) (required): Communication type (email,transactionalemail, sms or print). ("email"|"sms"|"print"|"transactionalemail") - **executionTimestamp** (string (date-time)): Timestamp of execution. - **additionalFields** (object) ``` -------------------------------- ### Schema: RecordIdList Source: https://apidocs.agillic.net/recipients/openapi List of record identifiers ```markdown ## Schema: RecordIdList List of record identifiers **Type:** array - Array of string ``` -------------------------------- ### Schema: ContextParametersWrapper Source: https://apidocs.agillic.net/recipients/openapi Schema definition for ContextParametersWrapper ```markdown ## Schema: ContextParametersWrapper Schema definition for ContextParametersWrapper **Type:** object - **context_parameters** (object) - **empty** (boolean) ``` -------------------------------- ### Schema: ConversionParameters Source: https://apidocs.agillic.net/recipients/openapi Schema definition for ConversionParameters ```markdown ## Schema: ConversionParameters Schema definition for ConversionParameters **Type:** object - **value** (number (double)) - **channel** (string) - **item** (string) ``` -------------------------------- ### Schema: ConversionParametersWrapper Source: https://apidocs.agillic.net/recipients/openapi Schema definition for ConversionParametersWrapper ```markdown ## Schema: ConversionParametersWrapper Schema definition for ConversionParametersWrapper **Type:** object - **conversion_parameters** (object) - **value** (number (double)) - **channel** (string) - **item** (string) ``` -------------------------------- ### Schema: AsyncOtmUpsertRequest Source: https://apidocs.agillic.net/recipients/openapi Upsert Historical records parameters ```markdown ## Schema: AsyncOtmUpsertRequest Upsert Historical records parameters **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **table** (string) (required): Name of One-To-Many Table (example: "PURCHASES") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") - **batch** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) ``` -------------------------------- ### Schema: BulkResponseBody Source: https://apidocs.agillic.net/recipients/openapi The response for a batch update of recipient ```markdown ## Schema: BulkResponseBody The response for a batch update of recipient **Type:** object - **updated** (integer (int32)) - **created** (integer (int32)) - **result** (string) - **warnings** (array (string)): A list of responses from the bulk update recipient call - **errors** (array (string)): A list of responses from the bulk update recipient call - **field_access_blocked_to** (array (string)): A list of responses from the bulk update recipient call - **unknown_fields** (array (string)): A list of responses from the bulk update recipient call ``` -------------------------------- ### Schema: TargetGroup Source: https://apidocs.agillic.net/recipients/openapi Target Group object. ```markdown ## Schema: TargetGroup Target Group object. **Type:** object - **name** (string) ``` -------------------------------- ### Schema: AsyncCombinedOtm Source: https://apidocs.agillic.net/recipients/openapi Name and records of a single one-to-many table ```markdown ## Schema: AsyncCombinedOtm Name and records of a single one-to-many table **Type:** object - **name** (string): Name of the one-to-many table (example: "ORDERS") - **records** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) ``` -------------------------------- ### Schema: OneToManyTableList Source: https://apidocs.agillic.net/recipients/openapi List of One-To-Many tables. ```markdown ## Schema: OneToManyTableList List of One-To-Many tables. **Type:** array - Array of object - **tableId** (string) (required): Table identifier - **recordList** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) ``` -------------------------------- ### POST /recipients/{recipientId}/events/{eventId}/:achieveWithContext Source: https://apidocs.agillic.net/recipients/openapi Operation achieves an Event for a recipient by incrementing the number of times this event has occurred. The required JSON body must be validated by a pre-defined and published JSON schema, which defines what types the data should be, if it is required, and more. Once validated, it sets Contextual Data for the recipient, and the fields are merged into emails sent from the triggered flow. The Contextual Data is not stored in the Agillic Recipient Database, and is only used for this execution ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **eventId** (string, path, required): Event identifier ### Request Body **Content-Type:** application/json ### Responses #### 200 - OK Empty response body #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/{recipientId}/events/{eventId}/:achieveWithContext" \ -H "Content-Type: application/json" \ -d '"string"' ``` ``` -------------------------------- ### Schema: AsyncCombinedRecipientUpsertRequest Source: https://apidocs.agillic.net/recipients/openapi Upsert recipient parameters ```markdown ## Schema: AsyncCombinedRecipientUpsertRequest Upsert recipient parameters **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **personData** (object): Person Data object (example: {"FIRSTNAME":"hello","LASTNAME":"world"}) - **empty** (boolean) - **oneToMany** (object): Name and records of a single one-to-many table - **name** (string): Name of the one-to-many table (example: "ORDERS") - **records** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) - **event** (string): Name of event to achieve for recipient (example: "Event_Name") ``` -------------------------------- ### Schema: Recipient Source: https://apidocs.agillic.net/recipients/openapi Recipient to be used by request ```markdown ## Schema: Recipient Recipient to be used by request **Type:** object - **personData** (object) (required): Person Data object (example: {"FIRSTNAME":"hello","LASTNAME":"world"}) - **empty** (boolean) ``` -------------------------------- ### Schema: TaskStatus Source: https://apidocs.agillic.net/recipients/openapi The current status of a task. If status is "completed" there might be additional information in details ```markdown ## Schema: TaskStatus The current status of a task. If status is "completed" there might be additional information in details **Type:** object - **taskId** (string) (required): UUID reference to a previously started operation - **status** (string (processing|completed)) (required): The status will be "processing" from the time an operation has been accepted until completion (completed) ("processing"|"completed") - **details** (object): Optional map of key/value pairs that provide information about the completed operation ``` -------------------------------- ### POST /recipients/v2/:delete Source: https://apidocs.agillic.net/recipients/openapi Asynchronous batch delete operation ```markdown ### Parameters - **fieldName** (string, query, optional): Overwrite which Person Data is used to match with existing recipients ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **batch** (array (string)): Recipients identifiers (example: ["rec1@agillic.com","rec2@agillic.com"]) ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/:delete?fieldName=string" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "batch": [ "rec1@agillic.com", "rec2@agillic.com" ] }' ``` ``` -------------------------------- ### Schema: StaticTargetGroupRequest Source: https://apidocs.agillic.net/recipients/openapi Data to be used by request ```markdown ## Schema: StaticTargetGroupRequest Data to be used by request **Type:** object - **targetGroup** (string) (required): Name of Static-Target-Group - **batch** (array (string)) (required): Recipients identifiers (could be any unique Person Data like EMAIL or MOBILE) (example: ["rec1@agillic.com","rec2@agillic.com"]) ``` -------------------------------- ### POST /recipients Source: https://apidocs.agillic.net/recipients/openapi Creates a new Recipient object unless a Recipient already exists in which case the response is HTTP 403 Forbidden ```markdown ### Request Body **Content-Type:** application/json - **personData** (object) (required): Person Data object (example: {"FIRSTNAME":"hello","LASTNAME":"world"}) - **empty** (boolean) ### Responses #### 200 - OK Empty response body #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients" \ -H "Content-Type: application/json" \ -d '{ "personData": { "FIRSTNAME": "hello", "LASTNAME": "world" } }' ``` ``` -------------------------------- ### Schema: OneToManyTable Source: https://apidocs.agillic.net/recipients/openapi One-To-Many table object. ```markdown ## Schema: OneToManyTable One-To-Many table object. **Type:** object - **tableId** (string) (required): Table identifier - **recordList** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) ``` -------------------------------- ### Schema: AsyncOtmTruncateRequest Source: https://apidocs.agillic.net/recipients/openapi Truncate Historical records parameters ```markdown ## Schema: AsyncOtmTruncateRequest Truncate Historical records parameters **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **table** (string) (required): Name of One-To-Many Table (example: "PURCHASES") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") ``` -------------------------------- ### POST /recipients/{recipientId}/events/{eventId}/:achieveEvent Source: https://apidocs.agillic.net/recipients/openapi Operation achieves an Event by incrementing the number of times this event has occurred ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **eventId** (string, path, required): Event identifier ### Responses #### 200 - OK Empty response body #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/{recipientId}/events/{eventId}/:achieveEvent" ``` ``` -------------------------------- ### POST /recipients/v2/historicalTables/:upsert Source: https://apidocs.agillic.net/recipients/openapi Updates the Historical table object with multiple records ```markdown ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **table** (string) (required): Name of One-To-Many Table (example: "PURCHASES") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") - **batch** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/historicalTables/:upsert" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "table": "PURCHASES", "recipient": "test@agllic.com", "batch": [ { "ID": "123", "TYPE": "BOOK" } ] }' ``` ``` -------------------------------- ### POST /recipients/v2/:upsert Source: https://apidocs.agillic.net/recipients/openapi Submits a request to creates or updates a multiple recipients.Returns a taskId to track execution of the operation ```markdown ### Parameters - **fieldName** (string, query, optional): Overwrite which Person Data is used to match with existing recipients ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **batch** (array (object)): Person Data object (example: [{"FIRSTNAME":"hello","LASTNAME":"world"}]) ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/:upsert?fieldName=string" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "batch": [ { "FIRSTNAME": "hello", "LASTNAME": "world" } ] }' ``` ``` -------------------------------- ### POST /recipients/v2/events/:achieve Source: https://apidocs.agillic.net/recipients/openapi Operation achieves an Event for a recipient by incrementing the number of times this event has occurred. The required JSON body must be validated by a pre-defined and published JSON schema, which defines what types the data should be, if it is required, and more. Once validated, it sets contextual data for the recipient, and the fields are merged into emails sent from the triggered flow. The contextual data is not stored in the Agillic Recipient Database, and is only used for this execution ```markdown ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") - **event** (string) (required): Event name (example: "Event_Name") - **context** (object) - **context_parameters** (object) - **empty** (boolean) - **conversion** (object) - **conversion_parameters** (object) - **value** (number (double)) - **channel** (string) - **item** (string) ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/events/:achieve" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "recipient": "test@agllic.com", "event": "Event_Name", "context": { "context_parameters": { "empty": "true" } }, "conversion": { "conversion_parameters": { "value": "0", "channel": "string", "item": "string" } } }' ``` ``` -------------------------------- ### Schema: AsyncRecipientsDeleteRequest Source: https://apidocs.agillic.net/recipients/openapi Recipients to be deleted by batch operation ```markdown ## Schema: AsyncRecipientsDeleteRequest Recipients to be deleted by batch operation **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **batch** (array (string)): Recipients identifiers (example: ["rec1@agillic.com","rec2@agillic.com"]) ``` -------------------------------- ### POST /recipients/v2/:upsertAndAchieve Source: https://apidocs.agillic.net/recipients/openapi Insert or update a recipient. Must include person data with at least identifier, optional records of a single otm table, and a single optional event. ```markdown ### Parameters - **fieldName** (string, query, optional): Overwrite which Person Data is used to match with existing recipients ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **personData** (object): Person Data object (example: {"FIRSTNAME":"hello","LASTNAME":"world"}) - **empty** (boolean) - **oneToMany** (object): Name and records of a single one-to-many table - **name** (string): Name of the one-to-many table (example: "ORDERS") - **records** (array (object)): Array of records. (example: [{"ID":"123","TYPE":"BOOK"}]) - **event** (string): Name of event to achieve for recipient (example: "Event_Name") ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/:upsertAndAchieve?fieldName=string" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "personData": { "FIRSTNAME": "hello", "LASTNAME": "world" }, "oneToMany": { "name": "ORDERS", "records": [ { "ID": "123", "TYPE": "BOOK" } ] }, "event": "Event_Name" }' ``` ``` -------------------------------- ### Schema: AsyncOtmDeleteReqeust Source: https://apidocs.agillic.net/recipients/openapi Delete Historical records parameters ```markdown ## Schema: AsyncOtmDeleteReqeust Delete Historical records parameters **Type:** object - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") - **table** (string) (required): Name of One-To-Many Table (example: "PURCHASES") - **batch** (array (string)): List of record identifiers (example: ["otm_primary_value_1","otm_primary_value_2"]) ``` -------------------------------- ### POST /recipients/v2/historicalTables/:delete Source: https://apidocs.agillic.net/recipients/openapi Deletes multiple records in the Historical table object ```markdown ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") - **table** (string) (required): Name of One-To-Many Table (example: "PURCHASES") - **batch** (array (string)): List of record identifiers (example: ["otm_primary_value_1","otm_primary_value_2"]) ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/historicalTables/:delete" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "recipient": "test@agllic.com", "table": "PURCHASES", "batch": [ "otm_primary_value_1", "otm_primary_value_2" ] }' ``` ``` -------------------------------- ### POST /recipients/v2/historicalTables/:truncate Source: https://apidocs.agillic.net/recipients/openapi Deletes all records from the Historical table object ```markdown ### Request Body **Content-Type:** application/json - **configuration** (object): Additional request config - **callback** (object): Callback configuration - **on** (string (every|success|failure)) (example: "one of the following: every, success, failure") ("every"|"success"|"failure") - **url** (string) (example: "https://webhook.com/uuid") - **table** (string) (required): Name of One-To-Many Table (example: "PURCHASES") - **recipient** (string) (required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) (example: "test@agllic.com") ### Responses #### 202 - Accepted **TaskId** - **taskId** (string) (required): UUID of the started asynchronous operation #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/v2/historicalTables/:truncate" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "callback": { "on": "one of the following: every, success, failure", "url": "https://webhook.com/uuid" } }, "table": "PURCHASES", "recipient": "test@agllic.com" }' ``` ``` -------------------------------- ### POST /recipients/{recipientId}/oneToManyTables/{tableId}/:batchUpdateRecords Source: https://apidocs.agillic.net/recipients/openapi Updates the One To Many table object with multiple records ```markdown ### Parameters - **recipientId** (string, path, required): Recipient identifier (could be any unique Person Data like EMAIL or MOBILE) - **tableId** (string, path, required): Name of One-To-Many Table ### Request Body **Content-Type:** application/json - Array of object ### Responses #### 200 - OK Empty response body #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/{recipientId}/oneToManyTables/{tableId}/:batchUpdateRecords" \ -H "Content-Type: application/json" \ -d '[ { "ID": "123", "TYPE": "BOOK" } ]' ``` ``` -------------------------------- ### POST /recipients/:addToStaticTargetGroup Source: https://apidocs.agillic.net/recipients/openapi Adds existing recipientIds to already existing Static Target Group. Returns error in case non-existing recipientId or Static Target Group. Limited to a maximum of 100 recipientIds of data ```markdown ### Parameters - **fieldName** (string, query, optional): Overwrite which Person Data is used to match with existing recipients ### Request Body **Content-Type:** application/json - **targetGroup** (string) (required): Name of Static-Target-Group - **batch** (array (string)) (required): Recipients identifiers (could be any unique Person Data like EMAIL or MOBILE) (example: ["rec1@agillic.com","rec2@agillic.com"]) ### Responses #### 200 - OK #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X POST "https://api-eu1.agillic.net/recipients/:addToStaticTargetGroup?fieldName=string" \ -H "Content-Type: application/json" \ -d '{ "targetGroup": "string", "batch": [ "rec1@agillic.com", "rec2@agillic.com" ] }' ``` ```