User Property CRUD API

Use these APIs to manage user properties for a tenant.

Create User property

Request

  • Method:POST
  • URL: https://<base_url>/api/campaign-data-dictionary
  • Headers: authKey (Required)
  • Description: Creates a new user property for a tenant.

Payload

{
  "campaignId": <campaignID>, //replace it with campaign ID
  "dmpDataPointCode": "DMP123",
  "dataType": "STRING",
  "preference": "none",
  "priority": 1,
  "mergeFunction": "UPDATE"
}

Success Response

{
  "message": "User property 'DMP123' has been successfully created for Tenant ####."
}

Error Responses

{
  "error": "Bad Request",
  "message": "User property 'DMP123' already exists for Tenant ####."
}

Update User property

Request

  • Method:PUT
  • URL: https://<base_url>/api/campaign-data-dictionary
  • Headers: authKey (Required)
  • Description: Updates an existing user property for a tenant.

Payload

{
  "campaignId": <campaignID>, //replace it with campaign ID
  "dmpDataPointCode": "DMP123",
  "dataType": "STRING",
  "preference": "none",
  "priority": 1,
  "mergeFunction": "UPDATE"
}

Success Response

{
  "message": "User property 'DMP123' for Tenant #### has been updated successfully."
}

Error Responses

{
  "error": "Not Found",
  "message": "User property 'DMP123' not found for Tenant ####."
}

Get All User properties for a tenant

Request

  • Method:GET
  • URL: https://<base_url>/api/campaign-data-dictionary/campaignId/{campaignId}
  • Headers: authKey (Required)
  • Description: Retrieves all user properties for the specified tenant.

Success Response

[
  {
    "id": 10000,
    "campaignId": <campaignID>, //replace it with campaign ID
    "dmpDataPointCode": "aadhar",
    "dataType": "STRING",
    "preference": "sec",
    "priority": 3,
    "mergeFunction": "UPDATE",
    "isProfileField": 1,
    "metadata": "{}"
  },
  {
    "id": 10001,
    "campaignId": <campaignID>, //replace it with campaign ID
    "dmpDataPointCode": "actts",
    "dataType": "STRING",
    "preference": "none",
    "priority": 1,
    "mergeFunction": "UPDATE",
    "isProfileField": 1,
    "metadata": "{}"
  }
]

Error Response

{
  "error": "Not Found",
  "message": "No user properties found for Tenant ####."
}

Delete User property

Request

  • Method:DELETE
  • URL: https://<base_url>/api/campaign-data-dictionary/campaignId/{campaignId}/dataPoint/{dmpDataPointCode}
  • Headers: authKey (Required)
  • Description: Deletes a user property for the specified tenant.

Success Response

{
  "message": "User property 'DMP123' for Tenant #### has been removed successfully."
}

Error Responses

{
  "error": "Not Found",
  "message": "User property 'DMP123' not found for Tenant ####."
}
{
  "error": "Bad Request",
  "message": "User property 'DMP123' for Tenant #### is mapped to existing data sources. Please remove the respective data source mappings before deleting the user property."
}