REST API v1 Reference

Address

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/address/v1

Resource Description
Validates an email by specifying the email address and validators to be used in the request body of the HTTP POST. You can use more than one validator in the same call.

JSON Parameters

Name Type Description
email string Required Email address to be validated
validators array Required List of validators to check email against. Validators include: SyntaxValidator, MXValidator, and ListDetectiveValidator

Responses

Result Reason
200 A validation response
Name Type Description
email string Email address that was validated
valid string Whether it was valid or not
default Unexpected error
Name Type Description
email string Email address that was validated
failedValidation string Validator that failed: SyntaxValidator, MXValidator, or ListDetectiveValidator
valid string Whether it was valid or not

More Detail

Approvals

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/hub/v1

Resource Description
Creates an approval item and an associated a workflow item. The response includes details of the approval and workflow items, including the current state and the transitions available based on the current user's roles.

JSON Parameters

Name Type Description
objectType string Required Object type for approval item
objectId string Required Unique Id for the object associated with the approval item
name string Required Name of the approval item
description string Required Description of the approval item
workflowItemId string Required Workflow item Id
Deadline string Required Deadline for approval item

Responses

Result Reason
201 Response includes the created approval item id and details about the approval and workflow items.
Name Type Description
approvalItemId string Id of approval item
objectType string Object type for the approval item
objectId string Unique Id of the object associated with the approval item
name string Name of approval item
description string Description of the approval item
workflowItemId string Id of the workflow item
workflowState string Workflow state of the approval item
workflowType string Type of workflow
workflowName string Name of the workflow
deadline array Deadline for the approval item
commentCounts object Comment counts
commentCounts.open string Number of comments that are open
commentCounts.addressed string Number of comments that are addressed
commentCounts.completed string Number of comments that are completed
commentCounts.total string Total number of comments
workflowItem object Workflow item object
workflowItem.workflowItemId string Workflow item Id
workflowItem.workflowRound string Workflow Round
workflowItem.type string Workflow type
workflowItem.currentState object Current state of the workflow
workflowItem.currentState.stateId string Id of the current state
workflowItem.currentState.stateName string Current state name
workflowItem.currentState.isEndState string Is the current state the final state?
workflowItem.currentState.modifiedDate string The date the workflow item is modified
workflowItem.availableTransitions array Collection of available workflow states
workflowItem.availableTransitions.id string Id of the available workflow state
workflowItem.availableTransitions.name string Name of the available workflow state
workflowItem.availableTransitions.isPersistable string Defines if the workflow item is persistable
blocked string Defines if emails will be sent out. If blocked = true, then emails will not be sent.
409 There is already an active approval for CMSAsset with id {id}.
Name Type Description
message string There is already an active approval for CMSAsset with id {id}.
errorcode string Error code for the exception (30004)
400_NameRequired Approval Item Name is required.
Name Type Description
message string Approval Item Name is required.
errorcode string Error code for the exception (10002)
400_ObjectTypeRequired Approval Object Type is required.
Name Type Description
message string Approval Object Type is required.
errorcode string Error code for the exception (10002)
400_ObjectIdRequired ObjectId is required.
Name Type Description
message string ObjectId is required.
errorcode string Error code for the exception (10002)
400_InvalidWorkflowTeam Invalid Workflow Team.
Name Type Description
message string Invalid Workflow Team.
errorcode string Error code for the exception (10005)
400_NoWorkflowTeam No workflow team has been specified, and no default Two-Step Approvals workflow team has been created. Please create a Two-Step Approvals workflow team, or specify an existing workflow team. Then, try again.
Name Type Description
message string No workflow team has been specified, and no default Two-Step Approvals workflow team has been created. Please create a Two-Step Approvals workflow team, or specify an existing workflow team. Then, try again.
errorcode string Error code for the exception (10000)
400_NoApprover No Approver has been assigned to this default review team. Please go to Approvals Administration and add an Approver to the default review team.
Name Type Description
message string No Approver has been assigned to this default review team. Please go to Approvals Administration and add an Approver to the default review team.
errorcode string Error code for the exception (10000)
Retrieves all approval items belonging to current user. Use the request parameters and supported operators to filter the results by various fields. For example, GET ../approvals?f[objecttype][eq]=CMSAsset1,JobUrl1[objectid][eq]=1 retrieves all approval items where Objecttype equals to CMSAsset or JobUrl AND where objectId equals 1. The response includes details of the approval and workflow items, with the current state and the transitions available for the current user’s roles. Use the GET /approvals-v2/{id} resource with available objectType and objectId values to retrieve a single approval item.

URL Parameters

Name Type Description
f[workflowState] string The state will vary based on the workflow. Possible fields include: draft, submitted, reviewed, returned, approved, defining. This filter supports 'eq' and 'not' operators.
f[workflowType] string Type of workflow. This filter supports 'eq' and 'not' operators.
f[objectType] string Object type. This filter supports 'eq' and 'not' operators.
f[cmsAssetType] string Asset type. This filter supports 'eq' and 'not' operators.
f[objectId] string Id of the object. This filter supports 'gt', 'gte', 'lt', 'lte', 'eq', and 'not' operators.
f[deadline] string Deadline for approval. This filter supports 'gt', 'gte', 'lt', 'lte', 'eq', and 'not' operators. For example, GET ../approvals?f[deadline][gte]='2015-12-08T12:00Z' retrieves all approval items where the deadline is greater than or equal to 2015-12-08, with a time offset of 12:00Z.
$pagesize string Number of records per page
$page string Number of pages to retrieve
sort string Sort on one of the following fields: Name, CreatedDate, WorkflowState, Deadline (ASC) -Name, -CreatedDate, -WorkflowState, -Deadline (DESC).

Responses

Result Reason
200 Response includes a list of approval items.
Name Type Description
count string Number of records retrieved
page string Current page number
pageSize string Number of records on each page
commentCounts object Comment counts
commentCounts.open string Number of comments that are open
commentCounts.addressed string Number of comments that are addressed
commentCounts.completed string Number of comments that are completed
commentCounts.total string Total number of comments
items array List of approval items
items.approvalItemId string Id for approval item
items.objectType string Object type for approval item
items.objectId string Unique Id of the object associated with the approval item
items.name string Name of the approval item
items.description string Description of the approval item
items.workflowItemId string Id of the workflow item
items.workflowState string Workflow state of the approval item
items.workflowType string Type of the workflow
items.workflowName string Name of the workflow
items.deadline array Deadline for the approval item
items.commentCounts object Comment counts
items.commentCounts.open string Number of comments that are open
items.commentCounts.addressed string Number of comments that are addressed
items.commentCounts.completed string Number of comments that are completed
items.commentCounts.total string Total number of comments
items.workflowItem object Workflow item object
items.workflowItem.workflowItemId string Workflow item id
items.workflowItem.workflowRound string Workflow round
items.workflowItem.type string Workflow type
items.workflowItem.currentState object Current state of the workflow
items.workflowItem.currentState.stateId string Id of the current state
items.workflowItem.currentState.stateName string Current state name
items.workflowItem.currentState.isEndState string Is the current state the final state?
items.workflowItem.currentState.modifiedDate string Date the workflow item is modified
items.workflowItem.availableTransitions array Collection of available workflow states
items.workflowItem.availableTransitions.id string Id of the available workflow state
items.workflowItem.availableTransitions.name string Name of the available workflow state
items.workflowItem.availableTransitions.isPersistable string Defines if the workflow item is persistable
items.blocked string Defines if emails will be sent out. If blocked = true, then emails will not be sent.
400_OrderByInvalid The GET request parameter - $OrderBy is invalid and thus the request cannot be processed.
Name Type Description
message string The GET request parameter - $OrderBy is invalid and thus the request cannot be processed.
errorcode string Error code for the exception (10000)
400_OperatorNotSupported The operator 'neq' is not supported.
Name Type Description
message string The operator 'neq' is not supported.
errorcode string Error code for the exception (10000)
400_FilterInvalid The GET request filter parameter is invalid and thus the request cannot be processed.
Name Type Description
message string The GET request filter parameter is invalid and thus the request cannot be processed
errorcode string Error code for the exception (10000)
Retrieves an approval item belonging to current user. The response includes details of the approval and workflow item, with the current state and the transitions available for the current user's roles. Use the GET /approvals resource to retrieve all active approval items.

URL Parameters

Name Type Description
id string Required Approval item id

Responses

Result Reason
200 Response includes details about the approval item.
Name Type Description
approvalItemId string Id of approval item
objectType string Object type for the approval item
objectId string Unique Id of the object associated with the approval item
name string Name of approval item
description string Description of the approval item
workflowItemId string Id of the workflow item
workflowState string Workflow state of the approval item
workflowType string Type of workflow
workflowName string Name of the workflow
deadline array Deadline for the approval item
commentCounts object Comment counts
commentCounts.open string Number of comments that are open
commentCounts.addressed string Number of comments that are addressed
commentCounts.completed string Number of comments that are completed
commentCounts.total string Total number of comments
workflowItem object Workflow item object
workflowItem.workflowItemId string Workflow item Id
workflowItem.workflowRound string Workflow round
workflowItem.type string Workflow type
workflowItem.currentState object Current state of the workflow
workflowItem.currentState.stateId string Id of the current state
workflowItem.currentState.stateName string Current state name
workflowItem.currentState.isEndState string Is the current state the final state?
workflowItem.currentState.modifiedDate string The date the workflow item is modified
workflowItem.availableTransitions array Collection of available workflow states
workflowItem.availableTransitions.id string Id of the available workflow state
workflowItem.availableTransitions.name string Name of the available workflow state
workflowItem.availableTransitions.isPersistable string Defines if the workflow item is persistable
blocked string Defines if emails will be sent out. If blocked = true, then emails will not be sent.
400 id is a required field
Name Type Description
message string id is a required field.
errorcode string Error code for the exception (10002)
404 No active approval with the given id exists.
Name Type Description
message string No active approval with the given id exists.
errorcode string Error code for the exception (30003)
Modifies the name, description, and deadline of an existing approval item. The response contains details of the approval and workflow items, including the current state and available transitions based on the current user’s roles.

URL Parameters

Name Type Description
id string Required Id of the workflow item to be updated

JSON Parameters

Name Type Description
name string Required Name of the approval item
description string Required Description for approval item
hasDeadline string Required Indicates if the approval item has a deadline
Deadline string Required Deadline for approval item. If hasDeadline = true, the API expects deadline to include a time offset, for example, ‘2016-05-01T14:18:12.430’. If hasDeadline = false, the API expects the deadline to be set to NULL.

Responses

Result Reason
200 200 OK.
Name Type Description
approvalItemId string Id of approval item
objectType string Object type for the approval item
objectId string Unique Id of the object associated with the approval item
name string Name of approval item
description string Description of the approval item
workflowItemId string Id of the workflow item
workflowState string Workflow state of the approval item
workflowType string Type of workflow
workflowName string Name of the workflow
deadline array Deadline for the approval item
commentCounts object Comment counts
commentCounts.open string Number of comments that are open
commentCounts.addressed string Number of comments that are addressed
commentCounts.completed string Number of comments that are completed
commentCounts.total string Total number of comments
workflowItem object Workflow item object
workflowItem.workflowItemId string Workflow item Id
workflowItem.workflowRound string Workflow round
workflowItem.type string Workflow type
workflowItem.currentState object Current state of the workflow
workflowItem.currentState.stateId string Id of the current state
workflowItem.currentState.stateName string Current state name
workflowItem.currentState.isEndState string Is the current state the final state?
workflowItem.currentState.modifiedDate string The date the workflow item is modified
workflowItem.availableTransitions array Collection of available workflow states
workflowItem.availableTransitions.id string Id of the available workflow state
workflowItem.availableTransitions.name string Name of the available workflow state
workflowItem.availableTransitions.isPersistable string Defines if the workflow item is persistable
blocked string Defines if emails will be sent out. If blocked = true, then emails will not be sent.
404 No active approval with the given id exists.
Name Type Description
message string No active approval with the given id exists.
errorcode string Error code for the exception (30003)
400_IdRequired Id is required.
Name Type Description
message string id is a required field.
errorcode string Error code for the exception (10002)
400_HasDeadlineRequired HasDeadline is required.
Name Type Description
message string HasDeadline is required.
errorcode string Error code for the exception (10002)
400_DeadlineRequired Deadline is required.
Name Type Description
message string Deadline is required.
errorcode string Error code for the exception (10002)
Retrieves the approvals settings based on the current user context.

Responses

Result Reason
200 Response includes approvals settings for the current user.
Name Type Description
key string Key for the EnableEmailApprovals setting
value string True/false value for the EnableEmailApprovals setting
Updates the approvals settings with the values provided in the request body. Currently only the EnableEmailApprovals setting can be updated using the API.

JSON Parameters

Name Type Description
key string Required Key for the EnableEmailApprovals setting
value string Required True/false value for the EnableEmailApprovals setting

Responses

Result Reason
200 Response includes the approvals settings for current user.
Name Type Description
key string Key for the EnableEmailApprovals setting
value string True/false value for the EnableEmailApprovals setting
400_KeyRequired Key is a required field.
Name Type Description
message string Key is a required field.
errorcode string Error code for the exception (10002)
400_ValueRequired Value is a required field.
Name Type Description
message string Value is a required field.
errorcode string Error code for the exception (10002)
400_ValueBoolean Value should be boolean.
Name Type Description
message string Value should be boolean.
errorcode string Error code for the exception (10002)
Retrieves a list of roles for a given approval item as well as the users assigned to those roles.

URL Parameters

Name Type Description
id string Required Approval item ID

Responses

Result Reason
200 Response includes details about the roles, and users assigned to those roles, for an approval item.
Name Type Description
workflowRoleInstanceId string ID of workflowRoleInstance record
workflowRoleDefinitionId string ID of WorkflowRoleDefinition record
RoleId string Unique ID of the role
key string Unique key for the role
users array List of users for a specific role
users.workflowRoleInstanceUserId string ID of the workflowRoleInstanceUser record
users.workflowItemId string ID of the workflow item
users.workflowRoleInstanceId string ID of the workflowRoleInstance record
users.userId string ID of the user
users.userName string Name of the user
users.memberId string Member ID (MID)
users.enterpriseId string Enterprise ID (EID)
users.isActive string Indicates if user is active

Asset

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/asset/v1

Resource Description
Creates a new asset.

JSON Parameters

Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content

Responses

Result Reason
200 A single asset
Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Gets an asset collection by simple $filter parameters.

URL Parameters

Name Type Description
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.
$orderBy string Determines which asset property to use for sorting, and also determines the direction in which to sort the data. If you don't provide the $orderBy parameter, the results are sorted by asset ID in ascending order.
$filter string Filter by an asset's property using a simple operator and value.
$fields string Comma delimited string of asset properties used to reduce the size of your results to only the properties you need.

Responses

Result Reason
200 A collection of assets
Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error

More Detail

Creates a category (folder) in Content Builder.

JSON Parameters

Name Type Description
Name string Required Name of the category.
ParentId number Required ID of the parent category.
CategoryType string The type of category, either asset or asset-shared, which is automatically set to the CategoryType of the parent category. If set to asset-shared, include the SharingProperties in the call.
EnterpriseId number ID of the enterprise this business unit belongs to.
MemberId number ID of the member who creates the category.
SharingProperties object Allows you to share categories with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information. Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
SharingProperties.SharedWith object List of up to 100 MID IDs the category is shared with. To share the category with all business units in the enterprise, and if your account has access to Content Builder Across Enterprise Sharing, set this to 0. SharedWith cannot contain 0 and other MIDs simultaneously. Since shared categories live in and are owned by the enterprise business unit, don't include the enterprise business unit in the SharedWith property.
SharingProperties.SharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. The only possible value for categories is edit.
Description string Description of the category.

Responses

Result Reason
200 A single category
Name Type Description
Id string System-assigned ID for the category.
Name string Name of the category.
ParentId number ID of the parent category.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
EnterpriseId number ID of the enterprise this business unit belongs to.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
Meta object Meta is used much like the data attribute on CMS assets but for internal functionality in Content Builder. If meta is returned, be sure to pass it through the API.
403 Unauthorized
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002
500 Internal server error
Name Type Description
Message string No message
ErrorCode number 10000

More Detail

Returns one or more Content Builder categories that are owned by or reside in your MID. To request categories that have been shared with your MID, add a scope parameter to the call.

URL Parameters

Name Type Description
$filter string Filter by ParentId using a simple operator and value. ParentId is the only allowed field. If you don't provide a $filter parameter, the query returns all the Categories in your MID.
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.
$orderBy string Determines which category property to use for sorting, and also determines the direction in which to sort the data. If you don't provide the $orderBy parameter, the results are sorted by category ID in ascending order.
scope string Determines which MIDs the query results come from. To return categories that reside in your MID, either don't add the scope parameter or call the endpoint like this: .../categories?scope=Ours. To return categories that are shared to your MID, or that you have shared with other MIDs, call the endpoint like this: .../categories?scope=Shared. To return all categories visible to your MID, call the endpoint like this: .../categories?scope=Ours,Shared.

Responses

Result Reason
200 A collection of categories
Name Type Description
Id string System-assigned ID for the category.
Name string Name of the category.
ParentId number ID of the parent category.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
EnterpriseId number ID of the enterprise this business unit belongs to.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
Meta object Meta is used much like the data attribute on CMS assets but for internal functionality in Content Builder. If meta is returned, be sure to pass it through the API.
403 Unauthorized
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002
500 Internal server error
Name Type Description
Message string No message
ErrorCode number 10000

More Detail

Gets an asset by ID.

URL Parameters

Name Type Description
id number Required The ID of the asset

Responses

Result Reason
200 A single asset
Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Updates a full asset.

URL Parameters

Name Type Description
id number Required The ID of the asset to update

JSON Parameters

Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content

Responses

Result Reason
200 A single asset to update
Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Updates part of an asset.

URL Parameters

Name Type Description
id number Required The ID of the asset to update

JSON Parameters

Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content

Responses

Result Reason
200 A single asset
Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Deletes an asset.

URL Parameters

Name Type Description
id number Required The ID of the asset to delete
isCDNDelete Boolean Permanently deletes the file and its URL in Akamai when the associated file is deleted in Content Builder. A value of 1 permanently deletes the file. If isCDNDelete is unspecified or if the value is 0, it doesn’t permanently delete the file.

Responses

Result Reason
200 OK
Name Type Description
message string The resource was successfully deleted.
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error

More Detail

Gets an asset collection by advanced query.

JSON Parameters

Name Type Description
query object Required Contains the actual search request, comprised of one or more simple queries. Combine multiple query objects into an advanced query using the logical operator AND or OR.
query.property string Refers to an element of the asset you are querying
query.simpleOperator string Represents the comparison you are making between the property and the value
query.value string Represents the data you are comparing the property for returning search results. The value can be practically any constant expression: a single word, a phrase or sentence, a number with our without decimals. When filtering for a property among multiple values, such as when using the in operator, the value field becomes values.
page object Contains page and pageSize. For page, start with 1 and continue until you get zero results. pageSize is the number of results per page to return.
sort object Contains one or more properties to use for sorting, and also determines the direction in which to sort the data.
fields object List of asset properties used to reduce the size of your results to only the properties you need.

Responses

Result Reason
200 A collection of assets
Name Type Description
CustomerKey string Reference to customer's private ID/name for the asset
ContentType string The type that the content attribute will be in
Data object Property bag containing the asset data
AssetType object The type of the asset saved as a name/ID pair
Version number The version of the asset
Locked boolean Specifies if the asset can be modified or not
FileProperties object Stores the different properties that this asset refers to if it is a file type
Name string Name of the asset, set by the client. 200 character maximum.
Description string Description of the asset, set by the client
Category object ID of the category the asset belongs to
Tags array List of tags associated with the asset
Content string The actual content of the asset
Design string Fallback for display when neither content nor supercontent are provided
SuperContent string Content that supersedes content in terms of display
CustomFields object Custom fields within an asset
Views object Views within an asset
Blocks object Blocks within the asset
MinBlocks number Minimum number of blocks within an asset
MaxBlocks number Maximum number of blocks within an asset
Channels object List of channels that are allowed to use this asset
AllowedBlocks array List of blocks that are allowed in the asset
Slots object Slots within the asset
BusinessUnitAvailability object A dictionary of member IDs that have been granted access to the asset
sharingProperties object Allows you to share content with one or more business units that have Content Builder Sharing enabled. See Sharing for additional information.
sharingProperties.sharedWith object List of MID IDs the asset is shared with
sharingProperties.sharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. Possible values are view, edit, or local.
Template object Template the asset follows
File string Base64-encoded string of a file associated with an asset
GenerateFrom string Tells the sending compiler what view to use for generating this view's content
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permission error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error

More Detail

Returns a collection of all assets deleted in the last 30 days.

Responses

Result Reason
200 A collection of assets
Name Type Description
Id string System-assigned ID for the category.
Name string Name of the category.
ParentId number ID of the parent category.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
EnterpriseId number ID of the enterprise this business unit belongs to.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
Meta object Meta is used much like the data attribute on CMS assets but for internal functionality in Content Builder. If meta is returned, be sure to pass it through the API.
400 Bad Request
Name Type Description
Message string Bad request!
ErrorCode number 40004
403 Not found
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002

More Detail

Returns one Content Builder category by ID.

URL Parameters

Name Type Description
id number Required The ID of the category.

Responses

Result Reason
200 A single category
Name Type Description
Id string System-assigned ID for the category.
Name string Name of the category.
ParentId number ID of the parent category.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
EnterpriseId number ID of the enterprise this business unit belongs to.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
Meta object Meta is used much like the data attribute on CMS assets but for internal functionality in Content Builder. If meta is returned, be sure to pass it through the API.
403 Unauthorized
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002
404 Not found
Name Type Description
Message string Object not found
ErrorCode number 30003
500 Internal server error
Name Type Description
Message string No message
ErrorCode number 10000

More Detail

Gets the binary file for an asset.

URL Parameters

Name Type Description
id number Required The ID of the asset

Responses

Result Reason
200 A Base64-encoded string of the file
Name Type Description
400 Bad request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Validation error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Gets the default header and footer for an account.

Responses

Result Reason
200 A salutation object
Name Type Description
HTMLHeader string The HTML header
HTMLFooter string The HTML footer
textHeader string The text header
textFooter string The text footer
400 Bad Request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Gets the header and footer for an email.

URL Parameters

Name Type Description
id number Required The ID of the asset

Responses

Result Reason
200 Successful response
Name Type Description
HTMLHeader string The HTML header
HTMLFooter string The HTML footer
textHeader string The text header
textFooter string The text footer
400 Bad Request
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
Updates one Content Builder category by ID.

URL Parameters

Name Type Description
id number Required The ID of the category.

JSON Parameters

Name Type Description
Id number Required System-assigned ID of the category,
Name string Required Name of the category.
ParentId number Required ID of the parent category.
EnterpriseId number ID of the enterprise this business unit belongs to.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
SharingProperties.SharedWith object List of MID IDs the category is shared with.
SharingProperties.SharingType string Indicates the permission that you are granting to the list of MIDs in sharedWith. The only possible value for categories is edit.
Description string Description of the category.

Responses

Result Reason
200 A single updated category
Name Type Description
Id string System-assigned ID for the category.
Name string Name of the category.
ParentId number ID of the parent category.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
EnterpriseId number ID of the enterprise this business unit belongs to.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
Meta object Meta is used much like the data attribute on CMS assets but for internal functionality in Content Builder. If meta is returned, be sure to pass it through the API.
403 Unauthorized
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002
404 Not found
Name Type Description
Message string Object not found
ErrorCode number 30003
500 Internal server error
Name Type Description
Message string No message
ErrorCode number 10000

More Detail

Updates part of a deleted asset.

URL Parameters

Name Type Description
id number Required The ID of the asset to update.

JSON Parameters

Name Type Description
name string Name of the asset, set by the client. 200 character maximum.
customerKey string Reference to customer's private ID/name for the asset.
categoryID number ID of the category the asset belongs to.

Responses

Result Reason
200 Asset updated
Name Type Description
Id string System-assigned ID for the category.
Name string Name of the category.
ParentId number ID of the parent category.
CategoryType string The type of category, either asset or asset-shared.
MemberId number ID of the member who creates the category.
EnterpriseId number ID of the enterprise this business unit belongs to.
SharingProperties object Stores the MIDs of business units this category is shared with and the sharing type. Only included in the response if CategoryType is asset-shared.
Meta object Meta is used much like the data attribute on CMS assets but for internal functionality in Content Builder. If meta is returned, be sure to pass it through the API.
400 Bad Request
Name Type Description
Message string Bad request!
ErrorCode number 40004
403 Not found
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002

More Detail

Deletes one Content Builder category by ID.

URL Parameters

Name Type Description
id number Required The ID of the category.

Responses

Result Reason
200 OK
Name Type Description
message string The resource was successfully deleted.
403 Unauthorized
Name Type Description
Message string Insufficient privileges
ErrorCode number 20002
404 Not found
Name Type Description
Message string Object not found
ErrorCode number 30003
500 Internal server error
Name Type Description
Message string No message
ErrorCode number 10000

More Detail

Returns the requested channel view’s compiled HTML for the asset.

URL Parameters

Name Type Description
id number Required The ID of the asset
viewName string Required The name of the asset view to retrieve
thumbnail boolean Set to true to return a base64-encoded thumbnail image
includeHeaderFooter boolean If asset has HTML or text views, set to true to include the message header and footer
includeDesignContent boolean Set to true to include design content in the thumbnail image

Responses

Result Reason
200 Successful response
Name Type Description
compiled string A representation of the view
400 Request errors
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error
403 Permissions error
Name Type Description
Message string The error message
ErrorCode number The specific error code
Documentation string Any specific documentation for the error

Audit

https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com/v1

Resource Description
Retrieves logged Audit Trail audit events for the current account and its children. Logins are audited at the enterprise level.

URL Parameters

Name Type Description
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter. The default is 1.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.
$orderBy string Determines which property to use for sorting and the direction in which to sort the data. If you don't provide the $orderBy parameter, the results are sorted by createdDate in ascending order.
startdate string Start date of the date range to search for security events. If you don't provide a start date, the default value is today minus 30 days. The startdate must be before the enddate.
enddate string End date of the date range to search for security events. If you don't provide an end date, the default is today. The enddate must be after the startdate.

Responses

Result Reason
200 OK
Name Type Description
id number ID of the audit event.
createdDate datetime Creation date of the audit event.
memberId number Member ID associated with the audit event.
enterpriseId number Enterprise ID or parent to which the member belongs.
employee object User associated with the audit event.
objectType object Type of object used to describe the audit event.
operation object Action taken against the objectType.
object object Additional information about the audited object. Can contain an ID, the name of the object, or both.
transactionId guid Unique value to identify the transaction in which the audit event was captured.
400 Bad request.
Name Type Description
Message string Error message.
ErrorCode number Error code for the exception.
Documentation string Documentation for the error.
401 Invalid access token or tenant-specific endpoint.
Name Type Description
Message string Error message.
ErrorCode number Error code for the exception.
Documentation string Documentation for the error.

More Detail

Retrieves logged Audit Trail security events for the authenticated user’s account and its children. Logins are audited at the enterprise level.

URL Parameters

Name Type Description
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter. The default is 1.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.
$orderBy string Determines which direction to sort the data by createdDate. Use asc for ascending and desc for descending order. For example: $orderBy=createdDate desc. If you don't provide the $orderBy parameter, the results are sorted in ascending order.
startdate string Start date of the date range to search for security events. If you don't provide a start date, the default is today minus 30 days. The startdate must be before the enddate.
enddate string End date of the date range to search for security events.. If you don't provide an end date, the default is today. The enddate must be after the startdate.

Responses

Result Reason
200 OK
Name Type Description
id number ID of the security event.
createdDate datetime Creation date of the security event.
memberId number Member ID associated with the security event.
enterpriseId number Enterprise ID to which the member belongs.
employee object User associated with the security event.
ipAddress string IP address associated with the security event.
sessionId string Session ID associated with the security event. Available only with Advanced Audit Trail. Contact your Marketing Cloud account representative.
userAgent string User agent associated with the security event. Available only with Advanced Audit Trail. Contact your Marketing Cloud account representative.
eventType object Type of security event.
loginStatus object Status of the security event.
eventSource object Source of the security event.
400 Bad request
Name Type Description
Message string Error message.
ErrorCode number Error code for the exception.
Documentation string Documentation for the error.
401 Invalid access token or tenant-specific endpoint.
Name Type Description
Message string Error message.
ErrorCode number Error code for the exception.
Documentation string Documentation for the error.

More Detail

Auth

https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com/v1

Resource Description
Construct a static endpoint for your request by appending v2/token to the Authorization Base URL provided when you created the API integration.

JSON Parameters

Name Type Description
grant_type string Required Type of grant. Must be 'client_credentials' for server-to-server integrations. Must be 'authorization_code' for web app and public app integrations.
code string Required Required for web app and public app integrations. Authorization code obtained as part of the v2/authorize request.
client_id string Required Client ID issued when you create the API integration in Installed Packages.
client_secret string Required Required for server-to-server and web app integrations. Client secret issued when you create the API integration in Installed Packages.
redirect_uri string Required Required for web app and public app integrations. Must match the redirect URL used to request the authorization code. Must be in plain text as it is in Installed Packages. It can’t be URL-encoded for this request.
scope string Space-separated list of data-access permissions for your application. Review REST API Permission IDs and Scopes for a full list of permissions. For web app and public app integrations: Must match the scopes or be a subset of the scopes requested as part of the authorization code request. For server-to-server integrations: If scope is not specified, the token is issued with the scopes specified on the API integration in Installed Packages.
account_id number Account identifier, or MID, of the target business unit. Use to switch between business units.

More Detail

Gets information for the account and user that are associated with the access token. Supply the access token in the authorization header. User information includes the account name, email, and ID. Account information includes the member ID (MID) and enterprise ID (EID). Application information includes REST and SOAP base URIs, redirect URIs, and scopes. Permission information includes the permission name and ID. Review REST API Permission IDs and Scopes.

Responses

Result Reason
200 Response contains information about the account and user associated with the supplied access token.
Name Type Description
exp integer UNIX timestamp when the access token expires.
iss string Issuer URI
user object User information
user.sub string Employee ID of the user. If view=oidc is specified in the request, this value is https://mc.auth.marketingcloudapis.com/uid/employee_id
user.name string User’s Marketing Cloud username.
user.preferred_username string User’s Marketing Cloud user ID.
user.email string Email address associated with the user’s Marketing Cloud account.
user.locale string Account user’s language and country codes.
user.zoneinfo string Principal city in the user’s time zone. Example: Europe/London.
user.timezone object User's time zone information.
user.timezone.longName string Friendly name of the user’s time zone.
user.timezone.shortName string Code for the user’s time zone, in UTC.
user.timezone.offset double Coordinated Universal Time (UTC) offset.
user.timezone.dst boolean Indicates whether daylight time is applied to the user’s time zone setting.
organization object Organization information.
organization.member_id integer Marketing Cloud account member ID.
organization.enterprise_id integer Marketing Cloud top-level account enterprise ID.
organization.enterprise_name string Name of the top-level Marketing Cloud enterprise account.
organization.account_type string Type of account. Possible values are core, reseller, tiered, and enterprise.
organization.stack_key string Marketing Cloud server instance that the account is on.
organization.region string The account’s data center region. Possible values are NA1 and EU1.
organization.locale string Language and country code for the top-level account.
organization.zoneinfo string Principal city in the top-level account’s time zone. Example: Europe/London.
organization.timezone object Top-level account’s time zone information.
organization.timezone.longName string Friendly name of the time zone for the top-level account.
organization.timezone.shortName string Code for the top-level account’s time zone code, in UTC.
organization.timezone.offset double Coordinated Universal Time (UTC) offset.
organization.timezone.dst boolean Indicates whether daylight time is applied to the top-level account’s time zone setting.
rest object Base URIs
rest.rest_instance_url string REST base URI
rest.soap_instance_url string SOAP base URI
application object Application information
application.id string Application’s package ID.
application.name string Application’s package name.
application.redirectUrl array URIs set for the application in the package.
application.appScopes array Package scopes supported for the application.
permissions object Permissions information
permissions.objectTypeName string Name of the type of object permission. Example: Email.
permissions.operationName string Name of the permission operation. Example: Update.
permissions.name string Permission name
permissions.id integer Permission ID. Review REST API Permission IDs and Scopes.
400 Missing access token.
Name Type Description
error string Invalid request. Missing access token.
error_description string Make sure that the authorization header isn’t empty or null.
error_uri string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
401 Invalid access token or tenant-specific endpoint.
Name Type Description
error string Access token or authentication TSE provided is invalid.
error_description string Invalid access token or not authorized to use this authentication base URI. Use your authentication base URI found in Marketing Cloud Installed Packages. Don’t use exacttargetapis.com.
error_uri string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Your application initiates the authorization code flow by directing the end user to the v2/authorize URL. You can specify the required scopes or permissions as part of the URL. Upon successful validation, the Marketing Cloud authorization service redirects the user’s web browser to the Marketing Cloud login page.

JSON Parameters

Name Type Description
response_type string Required Type of response. Must be 'code' for web apps and public apps.
client_id string Required Client ID issued when you create the API integration in Installed Packages.
redirect_uri string Required Where the end user is directed after login. Must match a redirect URL specified on the API integration in Installed Packages. The URL must be encoded for this request.
scope string Space-separated list of data-access permissions for your application. Review REST API Permission IDs and Scopes for a full list of permissions. If scope is not specified, the token is issued with the scopes assigned to the API integration in Installed Packages.
state string Used by your application to maintain state between the request and the redirect. The authorization server includes this value when redirecting the end-user’s browser back to your application. This parameter is recommended because it helps to minimize the risk of cross-site forgery attack.

More Detail

Gets tenant-specific REST and authentication base URIs for the Marketing Cloud tenant associated with the provided username and client ID.

URL Parameters

Name Type Description
client_id string Required Client ID for the application requesting the tenant-specific URIs.
resource string Required Marketing Cloud username that you request base URIs for. Format must be 'acct: open-caret username close-caret', without spaces or quotation marks. Fill in the username.

Responses

Result Reason
200 Response contains a collection of base URIs for the username
Name Type Description
subject string Marketing Cloud username that you requested base URIs for.
links object List of tenant-specific REST and authentication base URIs for the username.
400 The server can’t process the request. Query string data is missing or malformed.
Name Type Description
message string Invalid request

More Detail

To obtain an OAuth token, perform a HTTP POST specifying your clientId and clientSecret in the request body.

URL Parameters

Name Type Description
legacy boolean Set to 1 to return a legacy token

JSON Parameters

Name Type Description
clientId string Required First part of the Client Credentials App Key pair generated when creating an API Integration in Installed Packages
clientSecret string Required Second part of the Client Credentials App Key pair generated when creating an API Integration in Installed Packages
accessType string Set to offline to return a RefreshToken that is not session-based for later use
refreshToken string Use the refreshToken obtained through SSO for Marketing Cloud Apps along with the accessType option to return an accessToken that is contextualized for your app. The refreshToken is valid for up to 700 days until it is used and can only be used once. It has a 5-minute revocation period after use, allowing for more attempts in case the service doesn't respond immediately.

More Detail

Campaigns

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/hub/v1

Resource Description
Creates a campaign.

URL Parameters

Name Type Description
name string Required Name of the campaign with a maximum length of 128 characters
description string Required Description of the campaign with a maximum length of 512 characters
campaignCode string Required Unique identifier for the campaign with a maximum length of 36 characters
color string Required Hex color value
favorite boolean Required Determines if the campaign will be flagged as a favorite

More Detail

Retrieves a collection of campaigns.

JSON Parameters

Name Type Description
page integer Page number of data returned. The default value is 1.
pageSize integer Number of records per page. The maximum and default value is 50.
orderBy string Defines the order of the data (Default value of ModifiedDate DESC). Valid values include ModifiedDate, Name, CreatedDate, ID. All values must include either ASC (for ascending) or DESC (for descending) following the actual value. ASC and DESC indicate the order in which the specified information appears.

More Detail

Retrieves a campaign.

URL Parameters

Name Type Description
id string Required Campaign ID

More Detail

Deletes a campaign.

URL Parameters

Name Type Description
id string Required Campaign ID

More Detail

Associates an asset or collection of assets to a campaign.

URL Parameters

Name Type Description
id string Required Campaign ID

JSON Parameters

Name Type Description
ids array Required String array of asset ids from Content Builder. When associating a Template Based Email created using the Classic editor to a campaign, use the legacyID as the ID. Retrieve the legacyID using the advanced asset query.
type string Required Options for the array: EMAIL, automation_definition, calendar_event, triggered, list, group, data_extension, sendable_custom_object, landing_page, facebook_tab, ct_facebook_post, ct_twitter_post, sms_message, push_message, CMS_asset. CMS_ASSET refers to Content Builder assets.

More Detail

Retrieves a collection of campaign assets.

URL Parameters

Name Type Description
id string Required Campaign ID

More Detail

Retrieves a campaign asset.

URL Parameters

Name Type Description
id string Required Campaign ID
assetid string Required Asset ID

More Detail

Disassociates an asset from a campaign.

URL Parameters

Name Type Description
id request parameter Required Campaign ID
assetid request parameter Required Asset ID

More Detail

ChatMessaging

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/ott/v1

Resource Description
Send an OTT message to the recipient. Supported OTT networks are Facebook Messenger and LINE.

JSON Parameters

Name Type Description
messageKey string Required User-defined message identifier.
messageGroupKey string User-defined message identifier to group a number of send requests.
from object Required Object containing the senderType and senderId.
from.senderType string Required Indicates the name of the OTT network the resource is being registered with values: line, messenger.
from.senderId string Required Indicates the identifier of the OTT resource sending the message: LINE Channel Id, Messenger Page Id.
to object Required Message Recipient details. For Messenger: Either ottId or userReference is required. If both ottId and userReference are provided, userReference is used for the send request. For LINE: ottId is required. If both ottId and userReference are provided, userReference is used for send request.
to.ottId string Recipient ID of the user. For LINE, if userReference is invalid, a retry is attempted with ottId as senderId.
to.userReference string Alternate Recipient ID of the user. For Messenger: user_ref can be passed as userReference. For LINE, reply_token can be passed as userReference.
message object Required Message contents of the send request.
message.subject string Message name
message.contents array Required Message content blocks of the send message request. For messenger, only 1 content block is allowed. For LINE, upto 5 content blocks are allowed.
message.contents.type string Required Indicates the message content type of the send request with values: text, image, audio, video, native.
message.contents.text string Message text to be sent out to the recipient. Required for 'text' type message content.
message.contents.url string URL of the multimedia attachment to be sent out to the recipient. Required for 'image, audio, video' type message content.
message.contents.altUrl string Alternate URL of the multimedia attachment to be sent out to the recipient. Required for LINE for 'image, video' type message content.
message.contents.duration string Length of the audio multimedia attachment to be sent out to the recipient. Required for LINE for 'audio' type message content.
message.contents.nativePayload object Ott-network-specific blob of JSON payload passed in message request.
message.contents.isReusable boolean Indicates if a multimedia attachment can be reused for future messages. Only supported for Messenger.
message.contents.attachmentId string Attachment Id of a reusable multimedia asset. Only supported for Messenger.
message.customKeys array Custom keys to pass-through in the message payload.
message.customKeys.messagingType string Indicates the messaging_type of a messenger send request with values: RESPONSE, UPDATE, MESSAGE_TAG. Required for Messenger send requests.
message.customKeys.tag string Message Tag of a messenger send request. Required for Messenger send request if messagingType = Message_TAG.
message.customKeys.notificationType string Indicates the push notification type for message send request with values: REGULAR, SILENT_PUSH, NO_PUSH. Required for Messenger. Optional for Messenger send requests.
validityPeriod string Required Time period for which the request is valid. This field is not yet supported.

Responses

Result Reason
201 Created
Name Type Description
ottRequestId guid The ID of the send message request which can also be used to retrieve the message send details.
400 Bad Request
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
validationErrors array Validation errors in the request payload.
403 Forbidden
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
404 Not Found
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.

More Detail

Register a property for a specific OTT platform. If you try to register a Messenger Page ID or LINE Channel ID resource that already exists in Marketing Cloud, the details in the request payload override the details in Marketing Cloud.

JSON Parameters

Name Type Description
ottPlatformName string Required Indicate the name of the OTT network the resource is being registered with values: line, messenger.
ottPlatformAttributes object Required Object containing OTT platform attributes.
ottPlatformAttributes.applicationId string Facebook Application Id. Required for registering Messenger resource.
ottPlatformAttributes.applicationSecret string Facebook Application Secret. Required for registering Messenger resource.
ottPlatformAttributes.pageId string Facebook Page Id. Required for registering Messenger resource.
ottPlatformAttributes.pageName string Facebook Page Name. Required for registering Messenger resource.
ottPlatformAttributes.pageAccessToken string Access Token required to authenticate send messages requests to OTT networks.
ottPlatformAttributes.endpointUrl string Send API url of the OTT network.
ottPlatformAttributes.callbackVerifyToken string Facebook Verify Token need to verify callback events.
ottPlatformAttributes.isActive integer Indicate if the OTT resource is active with values: 0 (Inactive), 1 (Active).
ottPlatformAttributes.channelId string LINE channel Id. Required for registering LINE resource.
ottPlatformAttributes.channelName string LINE channel name. Required for registering LINE resource
ottPlatformAttributes.channelSecret string LINE channel secret. Required for registering LINE resource.
ottPlatformAttributes.customerConnectSecret string LINE Customer Connect Secret needed for validating LINE inbound events when using Switcher API.
ottPlatformAttributes.isTransactional integer Indicate if LINE channel is Transactional or Reseller with values: 0 (Reseller), 1 (Transactional).
ottPlatformAttributes.isTestChannel integer Indicate if LINE channel is a Test channel with values: 0 (Not a test channel), 1 (test channel).

Responses

Result Reason
201 success
Name Type Description
400 Bad Request
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
validationErrors array Validation errors in the request payload.
403 Forbidden
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
404 Not Found
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.

More Detail

Retrieves all the information about an existing OTT send message request.

URL Parameters

Name Type Description
messageId string Required Id of the send request to be retrieved. Id can be user-defined MessageKey or ottRequestId returned as a response to send message request.

Responses

Result Reason
200 success
Name Type Description
requestBody object Returns the request body.
status array Status of the message send request.
status.event string Indicates the type of event with values: Created, Queued, Sent, Error (if any).
status.eventDateTime datetime Timestamp indicating when the event occured.
403 Forbidden
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
404 Not Found
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.

More Detail

Retrieves paginated collection of registered OTT properties by OTT Platform.

URL Parameters

Name Type Description
platform string Required OTT Platform Name of property
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.

Responses

Result Reason
200 success
Name Type Description
count string Total count of the number of resources registered for a specific OTT network.
page string Page Number of the results returned.
pageSize string Page size of the results returned.
links object Pagination links.
links.self object Link to the current page of result set.
links.self.href string URL to the current page of the result set.
links.previous object Link to the previous page of result set.
links.previous.href string URL to the previous page of the result set.
links.next object Link to the next page of result set.
links.next.href string URL to the next page of the result set.
items array Indicates the name of the OTT network the resource is being registered with values: line, messenger.
items.ottPlatformName string Indicate the name of the OTT network the resource is being registered with values: line, messenger.
items.ottPlatformAttributes object Object containing OTT platform attributes.
items.ottPlatformAttributes.applicationId string Facebook Application Id. Required for registering Messenger resource.
items.ottPlatformAttributes.pageId string Facebook Page Id. Required for registering Messenger resource.
items.ottPlatformAttributes.pageName string Facebook Page Name. Required for registering Messenger resource.
items.ottPlatformAttributes.endpointUrl string Send API url of the OTT network.
items.ottPlatformAttributes.isActive integer Indicate if the OTT resource is active with values: 0 (Inactive), 1 (Active).
items.ottPlatformAttributes.channelId string LINE channel Id. Required for registering LINE resource.
items.ottPlatformAttributes.channelName string LINE channel name. Required for registering LINE resource.
items.ottPlatformAttributes.isTransactional integer Indicate if LINE channel is Transactional or Reseller with values: 0 (Reseller), 1 (Transactional).
items.ottPlatformAttributes.isTestChannel integer Indicate if LINE channel is a Test channel with values: 0 (Not a test channel), 1 (test channel).
400 Bad Request
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
validationErrors array Validation errors in the request payload.
403 Forbidden
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
404 Not Found
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.

More Detail

Retrieves information about a registered OTT property by Platform and ID.

URL Parameters

Name Type Description
platform string Required OTT Platform Name of the property.
ottPropertyId string Required ID of the OTT property

Responses

Result Reason
200 Success
Name Type Description
ottPlatformName string Indicates the name of the OTT network the resource is being registered with values: line, messenger.
ottPlatformAttributes object Object containing OTT platform attributes.
ottPlatformAttributes.applicationId string Facebook Application Id.
ottPlatformAttributes.pageId string Facebook Page Id.
ottPlatformAttributes.pageName string Facebook Page Name.
ottPlatformAttributes.endpointUrl string Send API url of the OTT network.
ottPlatformAttributes.isActive integer Indicates if the OTT resource is active with values: 0 (Inactive), 1 (Active).
ottPlatformAttributes.channelId string LINE channel Id. Required for registering LINE resource.
ottPlatformAttributes.channelName string LINE channel name. Required for registering LINE resource.
ottPlatformAttributes.isTransactional integer Indicates if LINE channel is Transactional or Reseller with values: 0 (Reseller), 1 (Transactional).
ottPlatformAttributes.isTestChannel integer Indicates if LINE channel is a Test channel with values: 0 (Not a test channel), 1 (test channel).
400 Bad Request
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
validationErrors array Validation errors in the request payload.
403 Forbidden
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.
404 Not Found
Name Type Description
message string Error message.
errorcode number Error code.
documentation string Documentation for the error code.

More Detail

Contacts

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/contacts/v1

These resources work only with data extensions that are linked in an attribute group in Contact Builder.

Resource Description
Retrieves the collection of all contact data schemas contained in the current account.
Creates a new contact with the specified information in the specified attribute groups.

JSON Parameters

Name Type Description
contactKey string Primary address for the contact. You must provide either a value for contactKey or contactID.
contactID string Unique ID for the contact. You must provide either a value for contactKey or contactID.
attributeSets array Required Array of information used to create a new contact
attributeSets.name string Required Name of attribute group to which to add the contact information
attributeSets.values array Name and value pairs indicating the attribute and applicable value

More Detail

Updates contacts with the specified information in the specified attribute groups.

JSON Parameters

Name Type Description
contactKey string Required Primary address for the contact. You must provide either a value for contactKey or contactID.
contactID string Required Unique ID for the contact. You must provide either a value for contactKey or contactID.
attributeSets array Required Array of information used to create a new contact
attributeSets.name string Required Name of attribute group to which to add the contact information
attributeSets.values array Name and value pairs indicating the attribute and applicable value

More Detail

Creates or returns a contact using the Contact Key and Contact Type provided in the payload.

JSON Parameters

Name Type Description
contactKeys array Required String array of one or more contact keys.
contactType number The default contact type is "Default" or 0. Most users do not modify the default value.
returnResults boolean Indicates if the call returns results. The default value is true.
correlateResponseItem boolean Indicates if the result items' return order matches the request order. The default value is true.
includeNewContactAwareness boolean Indicates that the contact has never been included in the results before. The default value is true.

Responses

Result Reason
200 Successfully Established Contact
Name Type Description
items array An array of contact result objects for the requested contacts to be established.
items.value object The Contact result returned
items.value.requestedContactKey string The requested Contact Key
items.value.isNewContact boolean Returns if the Contact was newly created. Only is returned when includeNewContactAwareness=true
items.value.contactReference object The Contact reference returned
items.value.contactReference.contactID long The established Contact's ID
items.value.contactReference.contactType string The established Contact's Type
items.value.contactReference.contactKey string The established Contact's Type
items.value.contactReference.contactStatus string The established Contact's Status
items.value.requestItemIndex int The Contact reference's index in the Request
items.value.resultMessages array An array of result messages related to this Contact
requestServiceMessageID guid Service message ID for the request
responseDateTime datetime The time the Response was created
resultMessages array An array of result messages
serviceMessageID guid Service message ID for the Response

More Detail

Fetches contact counts for the given search criteria

JSON Parameters

Name Type Description
queryFilter object Required Filter used in search criteria to fetch contact counts that match search criteria
queryFilter.hasCriteria boolean Required Indicates the filter specifies search criteria. This property should always include a "true" value
queryFilter.rootExpressionSet object Required Container for all expressions used in specifying search criteria.
queryFilter.rootExpressionSet.expressions array Required List of all expressions used in specifying search criteria. This resource supports only one expression
queryFilter.rootExpressionSet.expressions.customerDataDefinitionID short Required Short Numbers representing the attributeName of the search.
  • ContactKey: 101
  • LastModfiedDate: 102
  • Source: 103
  • Channel: 104
  • Status: 105
  • AudienceID: 106
queryFilter.rootExpressionSet.expressions.operator string Required The filter condition operator name. Supports only the "Equal" operator
queryFilter.rootExpressionSet.expressions.values array Required Value for attribute used in search criteria to fetch contact counts as a string array. The "Channel" attributeName (CustomerDataDefinitionID: 104) supports these channels:
  • MOBILE
  • PUSH
  • LINE
  • EMAIL

Responses

Result Reason
200 Successfully retrieved contact counts for specified criteria
Name Type Description
totalCount integer Total count of contacts matching search criteria
requestServiceMessageID guid Service message ID value of request
resultMessages array Array of returned messages generated while processing request
serviceMessageID guid Service message ID value of response
default Unexpected error
Name Type Description
totalCount integer Total count of contacts matching search criteria
hasErrors boolean Indicates errors occured while processing request
requestServiceMessageID guid Service message ID value of request
resultMessages array Array of returned error messages generated while processing request
serviceMessageID guid Service message ID value of response
Inserts a collection of attribute value containers or the data rows of a specified attribute set by ID or name.

URL Parameters

Name Type Description
id string Required The ID of the attribute set expressed in the form of a GUID (UUID). Required if not using key or name.
name string Required The name of the attribute set. Prefix the parameter with name:. For example, /attributeSets/name:{name}. Required if not using ID.

JSON Parameters

Name Type Description
items array Required Array of values to insert into the attribute set
items.values array Required Name and value pairs of attributes to insert into the attribute set

More Detail

Updates a collection of attribute value containers or the data rows of a specified attribute set by ID or name.

URL Parameters

Name Type Description
id string Required The ID of the attribute set expressed in the form of a GUID (UUID). Required if not using key or name.
name string Required The name of the attribute set. Prefix the parameter with name:. For example, /attributeSets/name:{name}. Required if not using ID.

JSON Parameters

Name Type Description
items array Required Array of values to insert into the attribute set
items.values array Required Name and value pairs of attributes to insert into the attribute set

More Detail

Adds consent management information to contact records for data protection and privacy concerns. The request can include multiple contact IDs in a single JSON payload. For best performance, use batches of contact ID values whenever possible.

JSON Parameters

Name Type Description
items array Required Array of contact IDs and other properties to add.
items.contactID long Required Unique ID for the contact.
items.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.

Responses

Result Reason
200 Added contact preferences.
Name Type Description
items array Array of contact IDs and other properties to add.
items.contactID long Unique ID for the contact.
items.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.
rowsInserted integer Number of preferences inserted.
rowsUpdated integer Number of preferences updated.
rowsDeleted integer Number of preferences deleted.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer Date and time of the retry response in UTC.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves the contact key for one or more email channel addresses.

JSON Parameters

Name Type Description
channelAddressList array Required List of email channel addresses for which a contact key is requested
maximumCount integer Number of contact keys associated with an email channel address. The default value is 1.

Responses

Result Reason
200 Response contains a list of contact keys with their created date and time.
Name Type Description
channelAddressResponseEntities array List of contact keys with their created date and time
channelAddressResponseEntities.contactKey string Contact key of the email channel address
channelAddressResponseEntities.createdDate datetime Contact key creation date
channelAddress string Requested email channel address
operationStatus string Current operation status
requestServiceMessageID guid Service message ID for the request
serviceMessageID guid Service message ID for the response
EmptyResponse Empty response when the email channel address is not found.
Name Type Description
channelAddressResponseEntities array Empty array returned when email channel address is not found
channelAddress string Requested email channel address

More Detail

Retrieves the list of contact delete operations.

Responses

Result Reason
200 Successfully retrieved list of contact delete operations
Name Type Description
items array Array of retrieved contact delete operations.
items.operationID long Operation ID of the contact delete operation. Keep track of this ID because it allows you to check the status of a deletion and decide how to proceed if there is a failure.
items.eid long ID for the top-level enterprise account associated with the business unit.
items.mid long Account ID of the account user.
items.employeeID long Employee ID of the user who created the contact delete operation.
items.OperationRequestID guid Request ID of the contact delete operation.
items.status string Current status of the contact delete operation
  • Pending
  • Processing
  • Cancelling
  • Cancelled
  • Failed
  • Completed
  • CompletedWithErrors
.
items.scheduledTime datetime Date the contact delete operation is scheduled to start.
items.startTime datetime Date the contact delete operation started.
items.endTime datetime Date the contact delete operation ended.
items.listTypeID Short Type of list used in the contact delete operation.
items.listIdentifier string Identifier of list used in the contact delete operation.
items.listKey string ListKey of list used in the contact delete operation.
items.listName string Name of list used in the contact delete operation.
items.expectedListCount long Estimated number of contacts to delete in the contact delete operation.
items.actualListCount long Actual number of contacts to delete in the contact delete operation.
items.successCount long Number of contacts successfully deleted in the contact delete operation.
items.errorCount long Number of contacts that errored out in the contact delete operation.
items.deleteType string Type of delete performed:
  • None
  • ContactAndAttributes
  • AttributesOnly
items.operationName string Name of the contact delete operation.
items.restorableUntilDate datetime Deadline to restore contacts deleted by contact delete operation.
items.createdDate datetime Creation date of contact delete operation.
items.createdBy long Employee ID of the user who created the contact delete operation.
pageNumber integer Requested page number of results.
pageSize integer Requested page size of results.
count integer Total count of contact delete operation.
resultMessages array Array of returned error messages generated while processing request.
requestservicemessageid guid Service message ID for the request.
servicemessageid guid Service message ID for the response.
default Unexpected error
Name Type Description
pageNumber integer Requested page number of results
pageSize integer Requested page size of results
count integer Total count of contact delete operation
resultMessages array Array of returned error messages generated while processing request
requestservicemessageid guid Service message ID for the request
servicemessageid guid Service message ID for the response
Retrieves a collection of attribute value containers or the data rows of a specified attribute set by name.

URL Parameters

Name Type Description
name string Required The name of the attribute set. Prefix the parameter with name:. For example, /attributeSets/name:{name}.

More Detail

Creates a population within Contact Builder.

JSON Parameters

Name Type Description
name string Required Name of the new population

Responses

Result Reason
200 Population AttributeGroup successfully created
Name Type Description
item object The newly created population item
operationstatus string Current operation status
requestservicemessageid guid Service message ID for the request
servicemessageid guid Service message ID for the response
default Unexpected error
Name Type Description
message string Error message text
errorCode int ErrorCode ID for the error
Retrieves all attribute set definitiond in your contact data model.

URL Parameters

Name Type Description
id string The ID of the attribute set definition expressed in the form of a GUID (UUID). Leave off to retrieve all attribute set definitions in your contact data model.

More Detail

Retrieves delete options based on the specified parameters. You must provide a context request body for this resource, but all listed parameters are optional.

JSON Parameters

Name Type Description
ListType string Type of list referenced. Specify either Audience or List.
DeleteOperationType string Type of delete operation referenced. Specify either ContactAndAttributes or AttributesOnly.
ApplicationContext string The application ID or application key value used to retrieve options available for that application.

More Detail

Deletes contacts based on specified contact ID values. This operations runs asynchronously. Use the OperationID value returned to check the status of the delete.

JSON Parameters

Name Type Description
Values array Required Array of contact ID values to delete
DeleteOperationType string Required Type of delete operation to perform. Specify ContactAndAttributes to delete a contact from the entire account as long as no other channel references that contact. AttributesOnly is reserved for future use.

More Detail

Fetches all contacts and associated addresses based on search criteria

URL Parameters

Name Type Description
attributeName string Required The attribute used in the search criteria:
  • ContactKey
  • LastModfiedDate
  • Source
  • Channel
  • Status
  • AudienceID

JSON Parameters

Name Type Description
filterConditionOperator string Required Filter condition operator name. Currently supports only the "Is" operator
filterConditionValue string Required Value for attribute used in search criteria for contacts and associated addresses.
  • When using the "LastModfiedDate" attributeName, separate the values for start and end date in the filterconditionValue with an "AND"
  • The "Channel" attributeName supports these values:
    • MOBILE
    • PUSH
    • LINE
    • EMAIL

Responses

Result Reason
200 Successfully retrieved contacts and associated addresses
Name Type Description
pageNumber integer Page number of results retrieved
pageSize integer Page size of results retrieved
addresses array Array of all address objects retrieved
addresses.contactID object Type-value object specifying ContactID tied to given address
addresses.contactKey object Type-value object specifying ContactKey tied to given address
addresses.addressTypeID integer Type of the retrieved address:
  • EMAIL: 1
  • MOBILE: 4
  • PUSH: 9
  • LINE: 10
addresses.addressID object Type-value object specifying the AddressID for retrieved address
addresses.addressKey object Type-value object specifying the AddressKey for retrieved address
addresses.status integer Status value of retrieved address
addresses.ordinal integer Ordinal value of retrieved address
addresses.source integer Source value of retrieved address
addresses.modifiedDate string Last modified date value of retrieved address
addresses.valueSets array Object array containing value set information of pertinent attributes retrieved for address
addresses.valueSets.definitionID guid Default ID assigned to represent the Set Definition of value Set information for retrieved address
addresses.valueSets.definitionKey string Default key assigned to represent the Set Definition of value Set information for retrieved address
addresses.valueSets.definitionName string Default name assigned to represent the Set Definition of value Set information for retrieved address
addresses.valueSets.values array Object array containing property definition and actual value information of attributes retrieved for address
addresses.valueSets.values.definitionID guid The value definition ID of a retrieved attribute for retrieved address
addresses.valueSets.values.definitionKey string The value definition key of a retrieved attribute for retrieved address
addresses.valueSets.values.definitionName string The value definition name of a retrieved attribute for retrieved address
addresses.valueSets.values.valueID guid An auto-generated guid representing a retrieved attribute value for the retrieved address
addresses.valueSets.values.innerValue string Actual value of a retrieved attribute for the retrieved address
requestServiceMessageID guid Service message ID value of the request
resultMessages array Array of returned messages generated while processing the request
serviceMessageID guid Service message ID value of the response
default Unexpected error
Name Type Description
pageNumber integer Page number of results retrieved
pageSize integer Page size of results retrieved
hasErrors boolean Indicates errors occured while processing the request
requestServiceMessageID guid Service message ID value of request
resultMessages array Array of returned error messages generated while processing request
serviceMessageID guid Service message ID value of response
Deletes contacts based on specified contact key values. This operation runs asynchronously. Use the OperationID value returned to check the status of the delete.

JSON Parameters

Name Type Description
Values array Required Array of contact key values to delete
DeleteOperationType string Required Type of delete operation to perform. Specify ContactAndAttributes to delete a contact and all its attributes from the entire account and channels. AttributesOnly is reserved for future use.

More Detail

Retrieves details of contact delete requests for a date range.

URL Parameters

Name Type Description
startdateutc datetime Required Start date and time in UTC of the date range.
enddateutc datetime Required End date and time in UTC of the date range.
statusid int Delete request status ID. Use it to filter delete requests by status. Valid values are 1 - Processing, 5 - Completed, and 7 - Invalid.
$pagesize int Number of records per page.
$page int Page number to retrieve.
$orderBy string Determines which property to use for sorting and the direction in which to sort the data.

Responses

Result Reason
200 Retrieved contact delete requests details.
Name Type Description
startDateUtc datetime Start date and time in UTC of the date range.
endDateUtc datetime End date and time in UTC of the date range.
pageSize integer Page size of results retrieved.
pageNumber integer Page number of results retrieved.
operations array Contact delete request information.
operations:operationid int Contact delete request ID.
operations:receiveddateutc datetime Date and time in UTC when the contact delete request was created in Marketing Cloud.
operations:status string Status of the contact delete request.
operations:totalcontactcount int Total number of contacts in the contact delete request.
operations:completedcontactcount int Number of contacts that were deleted in the delete request.
operations:laststatusdateutc datetime Date and time in UTC when the delete request’s status was most recently modified.
operations:deletemethod string Method used to delete the contacts.
statusasofdateutc datetime Date and time in UTC when the status was retrieved.
requestServiceMessageID guid Service message ID for the request.
responseDateTime datetime Date and time in UTC when the response was created in the system.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.
400 The request is missing a required parameter or contains an invalid parameter.
Name Type Description
startDateUtc datetime Start date and time in UTC of the date range.
endDateUtc datetime End date and time in UTC of the date range.
pageSize integer Page size of results retrieved.
pageNumber integer Page number of results retrieved.
statusasofdateutc datetime Date and time in UTC when the status of the contact delete request was retrieved.
requestServiceMessageID guid Service message ID for the request.
responseDateTime datetime Date and time in UTC when the response was created in the system.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves all attribute groups associated with a specified contact data schema.

URL Parameters

Name Type Description
schemaId string Required The ID of the schema

More Detail

Retrieves information on whether the contact model for an account uses the custom object.

URL Parameters

Name Type Description
id guid Required ID of the custom object as GUID value

Responses

Result Reason
200 A validation response
Name Type Description
isUsedByContacts boolean Indicates whether a contact model uses the custom object
requestServiceMessageID guid Service message ID for the request
resultMessages array Array of returned messages regarding custom objects
serviceMessageID guid Service message ID for the response

More Detail

Restricts processing for contacts identified by ContactID values in the request. This operation runs asynchronously. Use the OperationID value returned to check the status of the delete.

JSON Parameters

Name Type Description
Values array Required Array of contact IDs to restrict.

Responses

Result Reason
200 Restrict request response
Name Type Description
operationInitiated boolean System-initiated restrict operation.
operationID integer Auto-generated restrict operation ID. Keep track of this ID because it allows you to check the status of a restriction and decide how to proceed if there is a failure.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The datetime restrict response is created in the system in GMT time.
hasErrors boolean The requested operation is initiated with an error or not.
resultMessages array Array of messages about the restrict operation.
serviceMessageID guid Service message ID for the response.
400 Bad restrict request response
Name Type Description
operationInitiated boolean System-initiated restrict operation.
operationID integer Auto-generated restrict operation ID. Keep track of this ID because it allows you to check the status of a restriction and decide how to proceed if there is a failure.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The datetime restrict response is created in the system in GMT time.
hasErrors boolean The requested operation is initiated with error or not. For a 400 response this is true.
resultMessages array Array of messages about the restrict operation, with details about the bad request, like resulttype and resultcode.
serviceMessageID guid Service message ID for the response.

More Detail

Restricts processing for contacts identified by ContactKey values in the request. This operation runs asynchronously. Use the OperationID value returned to check the status of the delete.

JSON Parameters

Name Type Description
Values array Required Array of contact key values to restrict.

More Detail

Adds consent management information to contact records by contact ID for data protection and privacy concerns.

URL Parameters

Name Type Description
contactId string Required Unique ID for the contact.

JSON Parameters

Name Type Description
value object Required Array of contact IDs and other properties to add.
value.contactID long Required Unique ID for the contact.
value.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.

Responses

Result Reason
200 Added contact preferences by contact ID.
Name Type Description
value object Contains the contact ID and other properties to add.
value.contactID long Unique ID for the contact.
value.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.
rowsInserted integer Number of preferences inserted.
rowsUpdated integer Number of preferences updated.
rowsDeleted integer Number of preferences deleted.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer Date and time of the retry response in UTC.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves consent management information from contact records by contact ID for data protection and privacy concerns. GET requests might display values that are reserved for future use and don't perform any actions at this time. Use only the parameters documented here.

URL Parameters

Name Type Description
contactId string Required Unique ID for the contact.

Responses

Result Reason
200 Retrieved contact preferences by contact ID.
Name Type Description
value object Contains the contact ID and other properties to add.
value.contactID long Unique ID for the contact.
value.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.
rowsAffected integer Number of rows returned.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer Date and time of the retry response in UTC.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves relationship details for a customobjectfield that is registered in the contacts model.

URL Parameters

Name Type Description
id guid Required ID of the custom object as GUID value

Responses

Result Reason
200 Contact model relationship detail for a custom object field
Name Type Description
customobjectFieldId guid Requested CustomObjectFieldID
requestServiceMessageID guid Service message ID value of the request
resultMessages array Array of returned messages generated while processing the request
serviceMessageID guid Service message ID value of the response
customObjectFieldRelationships array Array of relationship detail for the requested CustomObjectField
customObjectFieldRelationships.attributeInfo object Contact attribute and parent attribute set info of the requested CustomObjectField
customObjectFieldRelationships.attributeInfo.parentAttributeSet object AttributeSet info of the requested CustomObjectField
customObjectFieldRelationships.attributeInfo.parentAttributeSet.definitionID guid Definition ID value of the attribute set that the requested CustomObjectField belongs to
customObjectFieldRelationships.attributeInfo.parentAttributeSet.definitionName guid Definition Name value of the attribute set that the requested CustomObjectField belongs to
customObjectFieldRelationships.attributeInfo.parentAttributeSet.definitionKey guid Customer key value of the attribute set that the requested CustomObjectField belongs to
customObjectFieldRelationships.attributeInfo.AttributeDefinitionEntity object Attribute Info of the requested CustomObjectField
customObjectFieldRelationships.attributeInfo.AttributeDefinitionEntity.definitionID guid Definition ID value of the attribute of the requested CustomObjectField
customObjectFieldRelationships.attributeInfo.AttributeDefinitionEntity.definitionName guid Definition Name value of the attribute of the requested CustomObjectField
customObjectFieldRelationships.attributeInfo.AttributeDefinitionEntity.definitionKey guid Customer key value defined of the attribute of the requested CustomObjectField
customObjectFieldRelationships.attributegroups array Array of AttributeGroups the requested CustomObjectField is associated with
customObjectFieldRelationships.attributegroups.definitionID guid Definition ID value of the attribute group that the requested CustomObjectField belongs to
customObjectFieldRelationships.attributegroups.definitionName guid Definition Name value of the attribute group that the requested CustomObjectField belongs to
customObjectFieldRelationships.attributegroups.definitionKey guid Customer Key value defined for the attribute group that the requested CustomObjectField belongs to
400 CustomObjectFieldID is a required field
Name Type Description
message string The request must contain a valid CustomObjectFieldID
Retry failed contact delete operation.

URL Parameters

Name Type Description
operationID string undefined

Responses

Result Reason
200 Retry delete operation response.
Name Type Description
operationID integer Operation ID for the retried request.
operationRestarted boolean Indicates whether the request restarted.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The date and time of the retry response is in GMT time.
resultMessages array Messages about the request, like resulttype and resultcode. If the request results in errors, those details are listed here.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves consent management information from contact records by contact key. GET requests might display values that are reserved for future use and don't perform any actions at this time. Use only the parameters documented here. For best performance, use batches of contact ID values whenever possible.

URL Parameters

Name Type Description
contactKey string Required Primary address for the contact.

Responses

Result Reason
200 Retrieved contact preferences by contact key.
Name Type Description
value object Contains the contact ID and other properties to add.
value.contactID long Unique ID for the contact.
value.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.
rowsAffected integer Number of rows returned.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer Date and time of the retry response in UTC.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Sets the configuration settings for the Contact Delete framework and components.

JSON Parameters

Name Type Description
items array Required Key value pairs of configuration settings you are modifying.
items.SettingKey string Required Configuration setting key to modify. This key supports only the SuppressionRestoreUntilDays value.
items.Value string Required Value of the setting to modify. A value of -1 = 0 days. A value of 1 = 1 day.

More Detail

Retrieves a specified attribute group (by ID, key, or name) associated with a specified contact data schema.

URL Parameters

Name Type Description
schemaId string Required The ID of the schema
id string Required The ID of the attribute group expressed in the form of a GUID (UUID). Required if not using key or name.
key string Required Key of the attribute group. Prefix the parameter with key:. For example, /attributeGroups/key:{key}. Required if not using ID or name.
name string Required Name of the attribute group. Prefix the parameter with name:. For example, /attributeGroups/name:{name}. Required if not using ID or key.

More Detail

Retry failed contact restrict operation.

URL Parameters

Name Type Description
operationID string undefined

Responses

Result Reason
200 Retry restrict operation response.
Name Type Description
operationID integer Operation ID for the retried request.
operationRestarted boolean Indicates whether the request restarted.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The date and time of the retry response is in GMT time.
resultMessages array Messages about the request, like resulttype and resultcode. If the request results in errors, those details are listed here.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves a summary of contact delete requests for a date range.

URL Parameters

Name Type Description
startdateutc datetime Required Start date and time in UTC of the date range.
enddateutc datetime Required End date and time in UTC of the date range.

Responses

Result Reason
200 Retrieved summary of contact delete requests.
Name Type Description
startDateUtc datetime Start date and time in UTC of the date range.
endDateUtc datetime End date and time in UTC of the date range.
statusasofdateutc datetime Date and time in UTC when the status was retrieved.
interval integer Interval of the time series. 0 indicates hourly intervals, and 1 indicates daily intervals.
itemcount integer Number of items in the time series.
totaltimeseries array Time series with information about total contact delete requests.
totaltimeseries.requestcount integer Number of contact delete requests submitted for the date range.
totaltimeseries.minvalue integer The lowest number of contact delete requests made during the time series.
totaltimeseries.maxvalue integer The most contact delete requests made during the time series.
totaltimeseries.items array Array of items with the number of contact delete requests made during the interval.
totaltimeseries.items.time datetime Interval’s beginning date and time in UTC.
totaltimeseries.items.value integer Number of contact delete requests made during the interval.
statustimeseries array Time series with information about contact delete requests based on status.
statustimeseries.status string Status of the time series item.
statustimeseries.requestcount integer Number of contact delete requests made for the date range.
statustimeseries.minvalue integer The lowest number of contact delete requests made during the time series.
statustimeseries.maxvalue integer The most contact delete requests made during the time series.
statustimeseries.items array Array of items with the number of contact delete requests made during the interval.
statustimeseries.items.time datetime Interval's beginning date and time.
statustimeseries.items.value integer Number of contact delete requests made during the interval.
400 The request is missing a required parameter or contains an invalid parameter.
Name Type Description
startDateUtc datetime Start date and time in UTC of the date range.
endDateUtc datetime End date and time in UTC of the date range.
interval integer Interval of the time series. 0 indicates hourly intervals, and 1 indicates daily intervals.
statusasofdateutc datetime Date and time in UTC when the status was retrieved.
requestServiceMessageID guid Service message ID for the request.
responseDateTime datetime Date and time in UTC when the response was created in the system.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Deletes contacts based on specified list reference value. This operations runs asynchronously. Use the OperationID value returned to check the status of the delete.

JSON Parameters

Name Type Description
DeleteOperationType string Required Type of delete operation to perform. Specify ContactAndAttributes to delete a contact from the entire account as long as no other channel references that contact. AttributesOnly is reserved for future use.
targetList object Object used to identify list. Can include ListType and ListKey objects.
targetList.ListType object Object including list type information, including listTypeID or ListTypeKey. The only valid value for ListTypeID is 3, indicating a data extension.
targetList.listKey string ID used to identify list within Marketing Cloud
deleteListWhenCompleted boolean Indicates whether to delete list after performing this operation. This option does not apply to lists identified by ID, key, or reference. For objects marked as not deletable, this setting skips the list and issues a warning. The process continues despite the error.
deleteListContentsWhenCompleted boolean Indicates whether to delete contents of list after performing this operation. This option does not apply to lists identified by ID, key, or reference. For objects marked as not deletable, this setting skips the list and issues a warning. The process continues despite the error.

More Detail

Retrieves status of contact deletion operation.

URL Parameters

Name Type Description
operationID integer Required Query string parameter indicating ID of operation to check status

More Detail

Restricts processing for contacts identified by listReference values in the request. This operation runs asynchronously. Use the OperationID value returned to check the status of the delete.

JSON Parameters

Name Type Description
targetList object Object used to identify list. Can include ListType and ListKey objects.
targetList.ListType object Object that includes list type information. Can include listTypeID or ListTypeKey. The only valid value for ListTypeID is 3, indicating a data extension.
targetList.listKey string ID used to identify the list in Marketing Cloud.
deleteListWhenCompleted boolean Indicates whether to delete the list after requesting it. This option does not apply to lists identified by ID, key, or reference. If this option is true, the process skips lists marked as not deletable, issues a warning, and continues processing remaining lists.
deleteListContentsWhenCompleted boolean Indicates whether to delete the contents of a list after requesting it. This option does not apply to lists identified by ID, key, or reference. If this option is true, the process skips lists marked as not deletable, issues a warning, and continues processing remaining lists.

Responses

Result Reason
200 Restrict request response
Name Type Description
operationInitiated boolean System-initiated restrict operation.
operationID integer Auto-generated restrict operation ID. Keep track of this ID because it allows you to check the status of a restriction and decide how to proceed if there is a failure.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The datetime restrict response is created in the system in GMT time.
hasErrors boolean The requested operation is initiated with an error or not.
resultMessages array Array of messages about the restrict operation.
serviceMessageID guid Service message ID for the response.
400 Bad restrict request response
Name Type Description
operationInitiated boolean System-initiated restrict operation.
operationID integer Auto-generated restrict operation ID. Keep track of this ID because it allows you to check the status of a restriction and decide how to proceed if there is a failure.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The datetime restrict response is created in the system in GMT time.
hasErrors boolean The requested operation is initiated with error or not. For a 400 response this is true.
resultMessages array Array of messages about the restrict operation, with details about the bad request, like resulttype and resultcode.
serviceMessageID guid Service message ID for the response.

More Detail

Retrieves the status of the contact restrict operation.

URL Parameters

Name Type Description
operationID GUID Required ID of the operation you are checking the status of.

Responses

Result Reason
200 Restrict request response
Name Type Description
operationInitiated boolean System-initiated restrict operation.
operationID integer Auto-generated restrict operation ID. Keep track of this ID because it allows you to check the status of a restriction and decide how to proceed if there is a failure.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The datetime restrict response is created in the system in GMT time.
hasErrors boolean The requested operation is initiated with an error or not.
resultMessages array Array of messages about the restrict operation.
serviceMessageID guid Service message ID for the response.
400 Bad restrict request response
Name Type Description
operationInitiated boolean System-initiated restrict operation.
operationID integer Auto-generated restrict operation ID. Keep track of this ID because it allows you to check the status of a restriction and decide how to proceed if there is a failure.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer The datetime restrict response is created in the system in GMT time.
hasErrors boolean The requested operation is initiated with error or not. For a 400 response this is true.
resultMessages array Array of messages about the restrict operation, with details about the bad request, like resulttype and resultcode.
serviceMessageID guid Service message ID for the response.

More Detail

Searches for consent management information in contact records by reference type. For best performance, use batches of contact ID values whenever possible.

URL Parameters

Name Type Description
ReferenceType integer Required For contact key, use 1. For contact ID, use 2.

JSON Parameters

Name Type Description
items array Required Array of contact IDs or contact keys to search.

Responses

Result Reason
200 Searched contact preferences by reference type.
Name Type Description
items array Array of contact IDs and other properties to add.
items.contactID long Unique ID for the contact.
items.hasOptedOutTracking boolean Indicates whether a contact opted out of tracking information.
rowsAffected integer Number of rows returned.
requestServiceMessageID guid Service message ID for the request.
responseDateTime integer Date and time of the retry response in UTC.
resultMessages array Array of messages about the request. Includes details, such as resulttype and resultcode, about a bad request.
serviceMessageID guid Service message ID for the response.

More Detail

Data

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/data/v1

Resource Description
Retrieve the status of the originally posted asynchronous request. Use the status to determine if the request has completed and whether or not there were errors in processing.

URL Parameters

Name Type Description
requestId string Required The requestId returned from a previous and successfully submitted asynchronous request, in this case /data/v1/async/dataextensions/*.

Responses

Result Reason
200 OK
Name Type Description
status object Information about the status of the asynchronous request.
status.callDateTime datetime The date and time the asychronous request was received.
status.completionDateTime datetime The date and time the asychronous request completed processing.
status.pickupDateTime datetime The date and time the asychronous request was picked up for processing.
status.hasErrors boolean Indicates whether the results from processing the request contain any errors.
status.requestStatus string Indicates the status of the asychronous request itself (Pending, Completed, Error).
status.resultStatus string Indicates the overall status of the result from processing the request.
status.requestId guid The unique identifier of the request for which this status has been retrieved.
requestId guid The unique identifier of this request.

More Detail

Once the request has been picked up by the asynchronous framework and passed off to the appropriate service for processing, use this resource to retrieve the results of that service operation.

URL Parameters

Name Type Description
requestId string Required The requestId returned from a previous and successfully submitted asynchronous request, in this case /data/v1/async/dataextensions/*.

Responses

Result Reason
202 Accepted
Name Type Description
page integer The requested page number of results.
pageSize integer The requested page size to retrieve. The defaults is 50.
count integer The total count of the results.
requestId guid The unique identifier of this request.
items array The list of results from processing each item in the request.
items.errorCode string The specific error code.
items.message string A description of the error when status is not OK.
items.status string The status if processing the item.

More Detail

Asynchronously insert data into an identified data extension by id or key, where id is the unique identifier of the data extension and key is the external key (customer key) of the data extension.

URL Parameters

Name Type Description
id guid Required Unique identifier of the data extension. Required if not using a key.
key string Required External customer key of the data extension. Required if not using an ID. Prepend the parameter with key:. For example, /dataextensions/key:{key}/rows.

JSON Parameters

Name Type Description
items array Required An array of objects, where each object represents a row of data in the target data extension. Each object is expected to contain name-value pairs matching the column name and value of the target.

Responses

Result Reason
202 Accepted
Name Type Description
requestId guid The unique identifier of a successfully queued request. Use this ID in subsequent operations to retrieve the status or the results of the operation.

More Detail

Asynchronously upsert data into an identified data extension by id or key, where id is the unique identifier of the data extension and key is the external key (customer key) of the data extension.

URL Parameters

Name Type Description
id guid Required Unique identifier of the data extension. Required if not using a key.
key string Required External customer key of the data extension. Required if not using an ID. Prepend the parameter with key:. For example, /dataextensions/key:{key}/rows.

JSON Parameters

Name Type Description
items array Required An array of objects, where each object represents a row of data in the target data extension. Each object is expected to contain name-value pairs matching the column name and value of the target.

Responses

Result Reason
202 Accepted
Name Type Description
requestId guid The unique identifier of a successfully queued request. Use this ID in subsequent operations to retrieve the status or the results of the operation.

More Detail

Dataevents

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/hub/v1

Resource Description
The API upserts multiple data extension rows in a single synchronous call. The maximum payload size is 5 MB. As a best practice, post a maximum of 50 columns and 50 records at a time.

URL Parameters

Name Type Description
key string Required Data extension external key, included in URL as key:your external key value here. Required if an ID is not provided.
id string Required Data extension ID, included in URL as your ID value here. Required if a key is not provided. For example: /dataevents/{id}/rowset.
keys object Required Key/Value pair of the primary key(s) for each row
values object Column name and value data set for the row being inserted into the data extension

More Detail

Upserts a data extension row by key.

URL Parameters

Name Type Description
key string Required Data extension external key, included in URL as key:your external key value here. Required if an ID is not provided.
id string Required Data extension ID, included in URL as id:your ID value here or just the ID. Required if a key is not provided.
primaryKeys array Key/Value pair of the primary key(s) for the row

JSON Parameters

Name Type Description
values object Column name and value data set for the row being inserted into the data extension

More Detail

Increments a column value by data extension external key.

URL Parameters

Name Type Description
key string Required Data extension external key, included in URL as key:your external key value here. Required if an ID is not provided.
id string Required Data extension ID, included in URL as id:your ID value here or just the ID. Required if a key is not provided.
primaryKeys array Required Key/Value pair of the primary key(s) for the row
column string Required Column name to be incremented
step integer Increment amount. If not present, default is 1.

More Detail

DomainVerification

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/messaging/v1

Resource Description
Create a record in From Address Management and trigger a verification email. .

JSON Parameters

Name Type Description
domain string Required The root domain of the email address.

Responses

Result Reason
201 Created
Name Type Description
domain string The root domain of the email address.
400 Bad Request
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
403 Insufficient Privileges
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
500 Internal Server Error
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Retrieve a list of verified domains for a particular account.

URL Parameters

Name Type Description
$page string Number of pages to retrieve
$pagesize string Number of records per page
$orderBy string Specify how to order the results. The default value is 'domainType%20ASC%20'.
$filter string Filter the results using a simple operator and value.

Responses

Result Reason
200 OK
Name Type Description
enterpriseID long The parent account MID.
domain string The root domain of the email address.
status string The domain verification status of the email address.
domainType string The domain type of the email address.
isSendable boolean Determines whether or not the email address is sendable.
emailSendTime datetime The date and time stamp of verification email.
400 Bad Request
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
403 Insufficient Privileges
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
500 Internal Server Error
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Pushes one or more registered domains to all existing child business units of your account (EID).

JSON Parameters

Name Type Description
domainlist Array of strings Required List of registered domains to push to existing child business units. Each child business unit receives all registered domains in this list.

Responses

Result Reason
200 OK
Name Type Description
domain string The domain that is pushed to child business units.
message string Indicates whether the domain is added to all child business units.
400 Bad request
Name Type Description
message string Invalid domain. Can’t verify the domain.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
403 Insufficient privileges
Name Type Description
message string Invalid domain. Can’t verify the domain.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
500 Internal server error
Name Type Description
message string Invalid domain. Can’t verify the domain.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Update a record in From Address Management.

JSON Parameters

Name Type Description
domain string Required The root domain of the email address.
isSendable boolean Determines whether or not the email address is sendable.

Responses

Result Reason
200 OK
Name Type Description
domain string The user and root domain of the email address.
isSendable boolean Flags email address as sendable or not.
400 Bad Request
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
403 Insufficient Privileges
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
500 Internal Server Error
Name Type Description
message string Invalid field name provided for orderBy. Sorting is supported on domain, status, issendable, domaintype, modifieddate.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Delete a user domain in From Address Management.

JSON Parameters

Name Type Description
EmailAddress string Required Email address to delete.
DomainType boolean Required Domain type of the email address. Use UserDomain.

Responses

Result Reason
200 OK
Name Type Description
message string Success message showing the number of email addresses deleted: x records successfully updated!
400 Bad Request
Name Type Description
message string Invalid email address
errorcode string Error code for the exception
documentation string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
403 Insufficient Privileges
Name Type Description
message string Forbidden, Insufficient Privileges
errorcode string Error code for the exception
documentation string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
500 Internal Server Error
Name Type Description
message string Invalid request
errorcode string Error code for the exception
documentation string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Checks whether a domain already exists.

JSON Parameters

Name Type Description
domain string The root domain of the email address.
key boolean The domain’s stored token key.

Responses

Result Reason
200 OK
Name Type Description
domain string The root domain of the email address.
key boolean The domain’s stored token key.
400 Bad request
Name Type Description
message string Invalid domain. Can’t verify the domain.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
403 Insufficient privileges
Name Type Description
message string Invalid domain. Can’t verify the domain.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
500 Internal server error
Name Type Description
message string Invalid domain. Can’t verify the domain.
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm

More Detail

Registers a domain for validation by generating and returning the token added to the DNS.

JSON Parameters

Name Type Description
domain string Required The root domain of the email address.

More Detail

Responses

Result Reason
200 OK. Key is created.
Name Type Description
domain string The root domain of the email address.
token string The token added to the DNS.
{
403 Insufficient privileges
Name Type Description
message string Invalid domain
errorcode string Error code for exception
description string https://developer.salesforce.com/docs/atlas.en-us.mc-apis.meta/mc-apis/error-handling.htm
Queue a bulk insert to the From Address Management table using either an array of email addresses or a data extension and column reference.

JSON Parameters

Name Type Description
NotificationEmail string Required Email address where a notification is sent when the process completes.
Addresses string Array of email addresses to add as from addresses. The call must include either Addresses or DETable and DEColumn.
DETable string Name of the data extension to retrieve addresses from. The call must include either DETable and DEColumn or Addresses.
DEColumn string Column in DETable to retrieve addresses from. The call must include either DETable and DEColumn or Addresses.

Responses

Result Reason
201 Bulk request created
Name Type Description
requestID GUID The ID of the bulk insert request that is queued.

More Detail

EventNotification

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/platform/v1

Resource Description
Verifies a callback so that it can receive notifications.

JSON Parameters

Name Type Description
callbackId string Required Unique identifier of the callback.
verificationKey string Required Unique, single-use verification code for the callback. Supplied during callback creation via an HTTPS POST.

More Detail

Registers a new callback to receive event notifications. Verify your callback before you can use it in a subscription.

JSON Parameters

Name Type Description
callbackName string Required Name of the callback.
url string Required HTTPS URL of the customer callback that receives event notifications in the format `https://host`[/path]. A URL port and query string are not supported. The URL must be syntactically correct and not already registered. If the URL is already registered as a callback, an error occurs.
maxBatchSize integer Maximum number of events that this callback can receive in a single call. Must be at least 100 and no more than 1,000. Default is 1,000.

More Detail

Retrieves details about all registered callbacks.
Updates a registered callback. It can take up to two minutes for callback changes to become active.

JSON Parameters

Name Type Description
callbackName string Required Name of the callback.
callbackId string Required Unique identifier of the callback.
maxBatchSize integer Must be at least 100 and no more than 1,000. Default is 1,000.

More Detail

Regenerates a signature key for a given callback. Regenerating a signature key deactivates the existing key.

JSON Parameters

Name Type Description
callbackId string Required Unique identifier of the callback.

Responses

Result Reason
200 New signature key generated. Review example response.
Name Type Description
callbackName string Name of the callback.
callbackId string Unique identifier of the callback.
url string HTTPS URL of the customer callback that receives event notifications in the format `https://host`[/path].
signatureKey string A symmetric key to authenticate messages coming from Marketing Cloud.

More Detail

Creates a single subscription. A subscription indicates which event types to receive notifications for and which callback, or webhook, to receive them on. A new subscription can take up to two minutes to become active. You can create a subscription only for a verified callback and up to 200 subscriptions per callback.

JSON Parameters

Name Type Description
subscriptionName string Required Name of the subscription. This name must be unique.
callbackId string Required Unique identifier of the callback that receives the notification events. This callback must already exist and must be verified.
eventCategoryTypes array Required Comma-separated list of fully qualified event types for which you’re requesting notifications. Expressed as NotificationEventCategory.NotificationEventType. Review Supported Notification Events for a list of supported event categories and types.
filters array Each string in the array is a key:value pair to filter on. Review Subscription Filters for a list of data items available for filtering.

More Detail

Updates a single subscription. To pause an active subscription, set the status request parameter to paused. To unpause a paused subscription, set the status request parameter to active. Always supply a status reason in the request when you update the subscription status. Changes made to a subscription can take up to two minutes to become active.

JSON Parameters

Name Type Description
subscriptionId string Required Unique identifier for the subscription to update.
eventCategoryTypes array Required Comma-separated list of fully qualified event types for which you’re requesting notifications. Expressed as NotificationEventCategory.NotificationEventType. Review Supported Notification Events for a list of supported event categories and types.
filters array Each string in the array is a key=value pair to filter on. Review Subscription Filters for a list of data items available for filtering.
subscriptionName string Name of the subscription. This name must be unique.
status string Indicates the status of the callback subscription. Can be set to either active or paused. You can only pause active callback subscriptions. You can only make paused callback subscriptions active.
statusReason string Describes why you changed the status.

More Detail

Retrieves details about a registered callback.

URL Parameters

Name Type Description
callbackId string Required Unique identifier of the callback.

More Detail

Deletes a registered callback that isn't used by any subscriptions. Delete all subscriptions for the callback before deleting the callback.

URL Parameters

Name Type Description
callbackId string Required Unique identifier of the callback.

More Detail

Retrieves details for a subscription.

URL Parameters

Name Type Description
subscriptionId string Required Unique identifier for the subscription.

More Detail

Deletes a subscription.

URL Parameters

Name Type Description
subscriptionId string Required Unique identifier for the subscription to delete.

More Detail

Retrieves details for all subscriptions associated with a callback.

URL Parameters

Name Type Description
callbackId string Required Unique identifier of the callback.

More Detail

Interaction

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/interaction/v1

Resource Description
Retrieves the discovery document for the collection of journey resources. To call this resource, assign your API Integration the Automation | Interactions | Read scope.
Fires the entry event that initiates the journey. If you use UTF-8 characters in a payload for the Rest API, change the Content-Type header to: application/json; charset=UTF-8.

JSON Parameters

Name Type Description
ContactKey string Required The ID that uniquely identifies a subscriber/contact
EventDefinitionKey string Required Find the EventDefinitionKey in Event Administration after the event is created and saved. This is true for both standard and custom events. Do not include a period in the event definition key.
Data object Properties of the event. Only required if defined in a custom event or by the event.

Responses

Result Reason
200
Name Type Description
eventInstanceId string ID of the entry event

More Detail

Creates or saves a journey. To create a new journey provide the request body in the appropriate Journey Specification. Please read the Journey Spec page to understand which properties are required to create a journey via the API. The id, key, createdDate, modifiedDate, status and definitionId are assigned by Journey Builder and are never to be passed in as parameters for creating a journey. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

JSON Parameters

Name Type Description
key string Required The customer key as a GUID (UUID) to be used while referencing this journey
name string Required The name of this journey
description string A description of this journey
workflowApiVersion number Required The Journey Spec version to use for this journey. Possible values: 0.5, 1.0.
goals array The goal for this particular journey. Expressed as an object of type ContactDecision from the Journey Spec.
triggers array The trigger for this particular journey. Expressed as an object of type ContactEvent from the Journey Spec.
activities array The activities which compose this particular journey. Expressed as objects of types supported by the Journey Spec.

More Detail

Retrieves a collection of all journeys. The journey collection resources are embedded in the items property of the response body. Use both a sort order and paging to minimize the response size and response time. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

URL Parameters

Name Type Description
status string A status description upon which to filter journeys. Can be one of: Draft, Published, ScheduledToPublish, Stopped, Unpublished, Deleted. The default value is blank, which returns all statuses. ScheduledToSend, Sent, and Stopped are unique to single-send journeys. A single send journey can be 'Cancelled' via the UI, but the API status for this is 'Stopped.'
versionNumber number Version number of the journey to retrieve. The default value is published version or latest available version number which meets other search criteria.
specificApiVersionNumber number Version number of the workflowApiVersion upon which to filter journeys. The default value is 1.
mostRecentVersionOnly boolean A flag to indicate whether to fetch only the most recent version of matching journeys. The default value is true.
definitionType enum Type of definition to retrieve. Valid values include: transactional (retrieves all transactional send definitions).
nameOrDescription string A search string inside the journey's name or description properties upon which to match for filtering.
extras string A list of additional data to fetch. Available values are: all, activities, outcome and stats. The default value is blank, which returns all extras.
$orderBy string Specify how to order the journeys. Valid ordering columns are: ModifiedDate (default), Name, Performance. Valid values are: DESC, ASC. The default value is 'ModifiedDate DESC'.
tag string Specify a single tag to filter results to only include journeys associated with that tag.
$page number The number of pages to retrieve. The default value is 1.
$pageSize number The number of results to return on a page. The default and maximum is 50.

JSON Parameters

Name Type Description
key string The user-defined key for a specific journey to retrieve
id string The GUID (UUID) for a specific journey to retrieve. The ID returns all versions of that journey.

More Detail

Updates a journey version. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

JSON Parameters

Name Type Description
key string Required The user-defined Key for the journey to update
name string Required The name of this journey
workflowApiVersion number Required The Journey Spec version to use for this journey. Possible values: 0.5, 1.0.
version number Required The version of this journey
id string The GUID (UUID) to be used while referencing this journey.
modifiedDate string This field must match the current Database value from Marketing Cloud or the request will be rejected. You are not actually updating this field; it is used in mapping to the correct version of this journey
description string A description of this journey
goals array The goal for this particular journey. Expressed as an object of type ContactDecision from the Journey Spec.
triggers array The trigger for this particular journey. Expressed as an object of type ContactEvent from the Journey Spec.
activities array The activities which compose this particular journey. Expressed as objects of types supported by the Journey Spec

More Detail

Creates an event definition (name and data schema for an event) and defines an event definition key. The resource uses this key when firing an event to send it to the appropriate journey. Typically, marketers create the event definition in the Journey Builder UI. Use this resource instead if you are using a custom application for Journey Builder functionality. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

JSON Parameters

Name Type Description
type string Required Event represents the most generic type of Event Definition. Other possible values include ContactEvent, DateEvent, or RestEvent.
name string Required A name for your Event Definition that identifies the event in Marketing Cloud
description string Description of Event Definition
mode string You can run Event Definitions in Production (default) or Test mode.
eventDefinitionKey string Required Unique Id for an Event Definition in Marketing Cloud. Don't include special characters.
sourceApplicationExtensionId string A link to the application extension that defines the configuration screens for this type. Journey Builder uses this ID to filter shared entry sources. For example, for the Event Definition to be visible in the Existing Entry sources panel in the UI, this field needs to be populated. To obtain this value, perform a GET eventDefinition on similar events in Journey Builder.
iconUrl string URL to an icon displayed in Event Administration and the Journey Builder Canvas that identifies an Event Definition
isVisibleInPicker boolean Indicates whether the Event Picker shows the Event Definition to users when configuring a journey. To see your Event Definition in Journey Builder, use true.
category string Broad category of the event type. The default value is event.
arguments object Contains filter criteria for the Event Definition. Only required for types other than event.
arguments.criteria string When the API call defines a filter template, use this parameter as a template when a user chooses and configures the Event Definition. If you are not defining an additional filter for the Event Definition, leave this empty.
configuration object Optional configuration data for the event. Only required for types other than event.
metaData object Optional data describing the event and its configuration. Only required for types other than event.
dataExtensionId string Required The ID for the data extension associated with the event. Events fired from the API write to this data extension. Required only when not providing a schema.
dataExtensionName string The read-only name of the data extension associated with the event. POST and PUT methods ignore this field.
schema object Required Schema information for an event. The call uses this information to create a data extension associated with the Event Definition. Only required when not providing a dataExtensionId value. See Event Definition Schema for additional information.
sendableCustomObjectField string Defines the subscriber key or email address within a data extension. Required when defining a schema.
sendableSubscriberField string Indicates type of sendable subscriber field. The default value is SubscriberKey. Required when defining a schema.
schedule string Creates an automation run daily according to the defined schedule. The call automatically adds a Fire Event activity to the automation. This automation fires events from the data extension defined as part of the Event Definition. See Firing an Event Using Automation Studio for additional information.

More Detail

Retrieves a collection of event definitions that matches the filter criteria.

URL Parameters

Name Type Description
$page number The number of pages to retrieve. The default value is 1.
$pageSize number The number of results to return on a page. The default and maximum is 50.
name string Filter results by the name of the event definition
mode boolean Filter results by event definitions in production (1) or test (2) mode
mode boolean Filter results by event definitions that are active (1) or inactive (2)
mode boolean Filter results by event definitions that are visible in the Event Picker when creating a journey (1) or not (2)
Retrieves a single journey by ID or key. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

URL Parameters

Name Type Description
id string Required ID of version 1 of the journey in the form of a GUID (UUID). Required if not using a key.
key string Required The key of the journey. Required if not using ID. Prefix the parameter with key:. For example, /interactions/key:{key}.
versionNumber number Version number of the journey to retrieve. If not provided, version 1 is returned.
extras string A list of additional data to fetch. Available values are: all, activities, outcomes and stats. Default is ''.

More Detail

Deletes a journey by ID or key. When deleting last version of a journey, check if the journey is associated with a tag and unassociated the tag using the deleteTags resource.

URL Parameters

Name Type Description
id string Required The ID of the journey to delete expressed in the form of a GUID (UUID). Required if not using a key. The ID deletes all versions of the journey, unless a versionNumber is provided.
key string Required The key of the journey. Required if not using ID. Prefix the parameter with key:. For example, /interactions/key:{key}.
versionNumber integer Version number of the journey to delete. If no version is specified, ALL versions associated with the provided ID will be deleted.

More Detail

Retrieves an individual event definition by ID or key.

URL Parameters

Name Type Description
id string Required The ID of the event definition expressed in the form of a GUID (UUID). Required if not using a key.
key string Required The key of the event definition. Required if not using an ID. Prefix the parameter with key:. For example, /eventDefinitions/key:{key}.
Updates an event definition by ID or key. Once an event definition is created, only a few properties can be updated. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

URL Parameters

Name Type Description
id string Required The ID of the event definition expressed in the form of a GUID (UUID). Required if not using a key.
key string Required The key of the event definition. Required if not using ID. Prefix the parameter with key:. For example, /eventDefinitions/key:{key}.

JSON Parameters

Name Type Description
name string A name for your Event Definition that identifies the event in Marketing Cloud
description string Description of Event Definition
eventDefinitionKey string Unique Id for an Event Definition in Marketing Cloud. Don't include special characters.
sourceApplicationExtensionId string A link to the application extension that defines the configuration screens for this type. Journey Builder uses this ID to filter shared entry sources. For example, for the Event Definition to be visible in the Existing Entry sources panel in the UI, this field needs to be populated. To obtain this value, perform a GET eventDefinition on similar events in Journey Builder.
dataExtensionId string The ID for the data extension associated with the event. Events fired from the API write to this data extension.
Deletes an individual event definition by ID or key.

URL Parameters

Name Type Description
id string Required The ID of the event definition expressed in the form of a GUID (UUID). Required if not using a key.
key string Required The key of the event definition. Required if not using an ID. Prefix the parameter with key:. For example, /eventDefinitions/key:{key}.
Removes up to 50 contacts from a journey or from one or more versions of a journey.

JSON Parameters

Name Type Description
ContactKey string Required ID that uniquely identifies a subscriber or contact. Include a single contact or an array of up to 50 contacts.
DefinitionKey string Required Customer Key that uniquely identifies the journey. This key is the same for all versions of the journey.
Versions array One or more versions of a journey from which to remove a contact.

Responses

Result Reason
202
Name Type Description
errors array List of errors for request to remove a contact from a journey
contactKey string Contact that needs to be removed from a journey
definitionKey string Definition key of the journey
status array Array of statuses of the contact in a given journey
status.version string Version number of the journey
status.message string Status of the request to remove a contact from a specific version of the journey

More Detail

Provides a list of journeys and journey versions for a list of contact keys.

JSON Parameters

Name Type Description
ContactKeyList array Required List of up to 50 contact keys.

Responses

Result Reason
200
Name Type Description
results object An object containing contacts found in a journey and contacts not found in a journey.
contactMemberships array Contact membership information.
contactMemberships.contactKey string Contact key that was included in the request.
contactMemberships.definitionKey string Unique identifier for the journey where the contact was found.
contactMemberships.Version string Version number of the journey where the contact was found.
contactsNotFound array List of contacts not found in any journeys in the account.

More Detail

Returns the status of a request to remove a contact from a journey or from one or more versions of a journey.

JSON Parameters

Name Type Description
ContactKey string Required ID that uniquely identifies a subscriber or contact. Include a single contact or an array of up to 50 contacts.
DefinitionKey string Required Customer Key that uniquely identifies the journey. This key is the same for all versions of the journey.
Versions array One or more versions of a journey from which to remove a contact.

Responses

Result Reason
200
Name Type Description
contactKey string Contact that needs to be removed from a journey
definitionKey string Definition key of the journey
status array Array of statuses of the contact in a given journey
status.version string Version number of the journey
status.message string Status of the request to remove a contact from a specific version of the journey
status.definitionInstanceId string Unique Id representing each instance of a contact in a journey

More Detail

Retrieves an audit log of a journey and its versions by ID or key. Pass in different actions to see history about creating, modifying, activating, deactivating, stopping, and deleting a journey.

URL Parameters

Name Type Description
id string Required The ID or key of the audit log to retrieve. Required if not using a key. The ID returns the audit log for all versions of the journey, unless a versionNumber is provided.
key string Required The key of the audit log to retrieve. Required if not using ID. Prefix the parameter with key:. For example, /interactions/key:{key}.
action string Required The actions used to build your audit log. Specify all to return all actions. Use one of these possible values:
  • all
  • create
  • modify
  • publish
  • unpublish
  • delete
versionNumber integer The version number of the journey audit log to retrieve

More Detail

Checks the status of a publication.

URL Parameters

Name Type Description
statusId string Required The statusId provided by a successful POST request to schedule for a specific version of a journey.

More Detail

Stops a running journey. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

URL Parameters

Name Type Description
id string Required The ID of the journey to stop, expressed in the form of a GUID (UUID).
versionNumber integer Required The version number of the journey to stop

More Detail

Publishes a journey version asynchronously. To call this resource, assign your API Integration the Automation | Interactions | Read scope.

URL Parameters

Name Type Description
id string Required The ID of the journey to publish expressed in the form of a GUID (UUID).
versionNumber integer Required Version number of the journey to publish

More Detail

Pauses the running journey that matches the specified definitionID.

URL Parameters

Name Type Description
definitionID string Required The ID of the journey to be paused, expressed in the form of a GUID (UUID).
versionNumber integer Required The version number of the journey to be paused. This parameter is optional only when the allVersions parameter is true.
allVersions integer Indicates whether to pause all versions of the journey. This parameter is required only when you don't provide a versionNumber in the request URL.

JSON Parameters

Name Type Description
ExtendWaitEndDates boolean Indicates whether to extend waits for all Wait by Duration activities while the journey is paused. This parameter applies only to Wait By Duration wait types. If the value is true, the wait end date is extended by the pause period. If the value is false, the wait end date isn't extended. If you don't use this parameter, the default value is false.
PausedDays integer Number of days to pause the journey. Default is 14 days.
GuardrailAction string Indicates whether to resume or stop the journey after the pause duration (PausedDays). Allowed values are Stop and Resume. If you don't use this parameter, the default value is false.
RetainContactInjectionWhileJourneyPaused boolean Indicates how new contact injections are treated (for entry sources that support this option) while the journey is paused. Choose whether to ignore new contacts (false) or to queue and process them when the journey resumes (true). If you don't use this parameter, the default value is false.
id string ID of the journey to be paused.
Version string Version of the journey to be paused.

More Detail

Resumes the paused journey that matches the specified definitionID.

URL Parameters

Name Type Description
definitionID string Required The ID of the journey to be resumed, expressed in the form of a GUID (UUID).
versionNumber integer Required The version number of the journey to be resumed. This parameter is optional only when the allVersions parameter is true.
allVersions integer Indicates whether to resume all versions of the journey. This parameter is required only when you don't provide a versionNumber in the request URL.

More Detail

Pauses the running journey that matches the specified definitionKey.

URL Parameters

Name Type Description
definitionKey string Required The definition key of the journey to be paused. Also known as the customer key of the journey.
versionNumber integer Required The version number of the journey to be paused. This parameter is optional only when the allVersions parameter is true.
allVersions integer Indicates whether to pause all versions of the journey. This parameter is required only when you don't provide a versionNumber in the request URL.

JSON Parameters

Name Type Description
ExtendWaitEndDates boolean Indicates whether to extend waits for all Wait by Duration activities while the journey is paused. This parameter applies only to Wait By Duration wait types. If the value is true, the wait end date is extended by the pause period. If the value is false, the wait end date isn't extended. If you don't use this parameter, the default value is false.
PausedDays integer Number of days to pause the journey. Default is 14 days.
GuardrailAction string Indicates whether to resume or stop the journey after the pause duration (PausedDays). Allowed values are Stop and Resume. If you don't use this parameter, the default value is false.
RetainContactInjectionWhileJourneyPaused boolean Indicates how new contact injections are treated (for entry sources that support this option) while the journey is paused. Choose whether to ignore new contacts (false) or to queue and process them when the journey resumes (true). If you don't use this parameter, the default value is false.
id string ID of the journey to be paused.
Version string Version of the journey to be paused.

More Detail

Resumes the paused journey that matches the specified definitionKey.

URL Parameters

Name Type Description
definitionID string Required The ID of the journey to be resumed, expressed in the form of a GUID (UUID).
versionNumber integer Required The version number of the journey to be resumed. This parameter is optional only when the allVersions parameter is true.
allVersions integer Indicates whether to resume all versions of the journey. This parameter is required only when you don't provide a versionNumber in the request URL.

More Detail

Messaging

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/messaging/v1

Resource Description
Gets the delivery details of an email sent using the MessageDefinitionSends.

URL Parameters

Name Type Description
ObjectID GUID Required The ID of the entry event send definition, included in URL as id:your ID value here or just the ID. Either this or the external key is required.
key string Required External key of the entry event send definition. Either this or the ObjectID is required.
RecipientSendId GUID Required The RecipientSendId value returned from the /messageDefinitionSends send service, which is the unique identifier for a single email send.

More Detail

Sends transactional email using Marketing Cloud's triggered send functionality. In order to use this service, configure a triggered send definition in Email Studio. This documentation applies only to triggered sends that are managed in Email Studio. To use the transactional messaging REST API, review Transactional Messaging API.

URL Parameters

Name Type Description
ObjectID GUID Required ID of the entry event send definition that comes from the response when creating a TriggeredSendDefinition. Either this or the external key is required.
key string Required External key of the entry event send definition. Either this or the ObjectID is required.

JSON Parameters

Name Type Description
From object Object containing email address and name of sender.
From.Address string Email address that will show as the sender.
From.Name string Name of the sender.
To object Required Object requiring email address and optional subscriber parameters passed in at send time.
To.Address string Required Email address of the message recipient.
To.SubscriberKey string Required Unique identifier defined for the message recipient.
To.ContactAttributes object The profile attributes setup determines the attributes that can be passed in.
To.ContactAttributes.SubscriberAttributes object Name and value pairs for subscriber attributes defined for the message.
Options object Object used to specify asynchronous or synchronous. If not specified, defaults to asynchronous.
Options.RequestType string Valid values ASYNC and SYNC. Default value when not defined is ASYNC. Determines if the request is processed asychronously.

More Detail

Objects

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/hub/v1

Resource Description
Creates a tag that can be associated with any Marketing Cloud object that accepts tagging. The tag must contain a unique name. The tag can contain a description and a list of one or more nested tags.

JSON Parameters

Name Type Description
name string Required Name of the tag, up to 120 characters. The only special characters allowed are period (.) and apostrophe (').
description string Description of the tag, up to 256 characters. The only special characters allowed are period (.), apostrophe ('), comma (,), and forward slash (/).
parentId string TagId that you want to be the parent of this tag. If you don’t provide a parentId, or if you specify zero as the parentId, the tag is created as a root tag with no parent.
tags string A list of tags to create as nested tags. To include no nested tags, omit this field. You can add and modify nested tags using the Update Nested Tags or Patch Nested Tags requests.

Responses

Result Reason
201 Response includes the newly created tag and all of its properties, including nested tags at the level specified by the depth parameter.
Name Type Description
id integer TagId of the tag.
name string Name of the tag.
description string Description of the tag.
parentId string TagId of the parent tag. This field is null or zero if no parent tag exists.
tags object A list of the tag’s nested tags. Add and modify nested tags using the Update Nested Tags or Patch Nested Tags requests.

More Detail

Returns an array of tags owned by the requesting client.

URL Parameters

Name Type Description
depth number The number of nesting levels to retrieve. The default depth is 0.

Responses

Result Reason
200 Response includes an array of tags owned by the client, including each tag’s properties and nested tags at the level specified by the depth parameter.
Name Type Description
id integer TagId of the tag.
name string Name of the tag.
description string Description of the tag.
parentId string TagId of the parent tag. This field is null or zero if no parent tag exists.
tags object A list of the tag’s nested tags. Add and modify nested tags using the Update Nested Tags or Patch Nested Tags requests.

More Detail

Returns the tag associated with the specified tagId.

URL Parameters

Name Type Description
depth number The number of nesting levels to retrieve. The default depth is 0.

Responses

Result Reason
200 Response includes the specified tag and all of its properties, including nested tags at the level specified by the depth parameter.
Name Type Description
id integer TagId of the tag.
name string Name of the tag.
description string Description of the tag.
parentId string TagId of the parent tag. This field is null or zero if no parent tag exists.
tags object A list of the tag’s nested tags. Add and modify nested tags using the Update Nested Tags or Patch Nested Tags requests.

More Detail

Updates an existing tag. You must provide the entire tag payload because this request modifies the entire tag. To provide only the fields to modify, use the Patch Nested Tags request instead.

URL Parameters

Name Type Description
tagId number Required ID of the tag to update.

JSON Parameters

Name Type Description
id number Required TagId of the tag to update.
name string Required Name of the tag, up to 120 characters. The only special characters allowed are period (.) and apostrophe (').
description string Description of the tag, up to 256 characters. The only special characters allowed are period (.), apostrophe ('), comma (,), and forward slash (/). If you don’t provide a description, any existing description is erased.
parentId number TagId that you want to be the parent of this tag. If you don’t provide a parentId, the parentId (if non-zero) is replaced by zero, meaning no parent tag.
tags object A list of tags to create as nested tags. If you don’t provide a list of tags, any existing tags are removed.

Responses

Result Reason
200 Response includes the updated tag and all of its properties, including nested tags at the level specified by the depth parameter.
Name Type Description
id integer TagId of the tag.
name string Name of the tag.
description string Description of the tag.
parentId string TagId of the parent tag. This field is null or zero if no parent tag exists.
tags object A list of the tag’s nested tags.

More Detail

Updates an existing tag. Provide only the tag fields to be changed.

URL Parameters

Name Type Description
tagId number Required ID of the tag to patch.

JSON Parameters

Name Type Description
id number Required TagId of the tag to update.
name string Name of the tag, up to 120 characters. The only special characters allowed are period (.) and apostrophe (').
description string Description of the tag, up to 256 characters. The only special characters allowed are period (.), apostrophe ('), comma (,), and forward slash (/). If you don’t provide a description, the existing description is not changed.
parentId number TagId that you want to be the parent of this tag. If you don’t provide a parentId, the parentId is not changed.
tags object A list of tags to create as nested tags. If you don’t provide a list of tags, the existing nested tags are not changed.

Responses

Result Reason
200 Response includes the updated tag and all of its properties, including nested tags at the level specified by the depth parameter.
Name Type Description
id integer TagId of the tag.
name string Name of the tag.
description string Description of the tag.
parentId string TagId of the parent tag. This field is null or zero if no parent tag exists.
tags object A list of the tag’s nested tags.

More Detail

Deletes an existing tag and all of its nested tags.

URL Parameters

Name Type Description
tagId number Required ID of the tag to delete.

More Detail

You can add tags via the API to Marketing Cloud to help identify and categorize different objects. An object can have multiple tags, and a tag can be associated with multiple objects. This resource creates an association for each tag/object pair. For example, if the payload includes 10 tags and 20 object IDs, the API call creates 200 associations.

URL Parameters

Name Type Description
objectTypeName string Required Designates the type of object to assign tags to. Possible values include:
  • campaign - adds tags to a campaign
  • InteractionStudio.DefinitionInfo - adds tags to a journey
  • media - adds tags to a media asset

JSON Parameters

Name Type Description
ObjectIds string Required The ObjectIds are the unique IDs for the objects. Each ObjectId is associated with each tag specified in the payload. For Journey Builder, the ObjectIds are the are the OriginalDefinitionId of the journeys.
TagNames string Required Name of the tag to delete. If a tag name is specified that does not exist, the tag will be created. Tag names for journeys are limited to 128 characters.

More Detail

Use this resource to delete multiple tag associations at one time.

URL Parameters

Name Type Description
objectTypeName string Required Designates the type of object to delete tags from. Possible values include:
  • campaign - deletes tags from a campaign
  • InteractionStudio.DefinitionInfo - deletes tags from a journey
  • media - deletes tags from a media asset

JSON Parameters

Name Type Description
ObjectIds string Required The ObjectIds are the unique IDs for the objects. Each tag is deleted from the ObjectId specified in the payload. For Journey Builder, the ObjectIds are the are the OriginalDefinitionId of the journeys.
TagNames string Required Name of the tag to delete. For each tag/object pair, the association is deleted only if the association exists. If a tag name is specified that does not exist, it is ignored.

More Detail

Platform

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/platform/v1

Resource Description
Creates or imports an encryption key for bring your own key (BYOK) for TDE. Data at Rest Encryption is a prerequisite for this feature.

URL Parameters

Name Type Description
x-request-id string Header parameter: Request ID for the request. Default Format: 52e3ca33-c54a-4bbe-824c-419ff9a46860.
x-mccs-user-context string Header parameter: Indicates the MCCS user context. Example: EID=111;MID=111;EmployeeId=111.
x-mccs-keystore-provider string Header parameter: Specify a key store provider to use for an ImportKey or WrappingKey request. Examples: kms, keysecure, database. Default: keysecure.
x-mccs-mac string Header parameter: Specify the message authentication code for the request.

JSON Parameters

Name Type Description
keyName string Required undefined
keyId string Format: GUID.
keyVersion integer Format: int32.
keyType string Required undefined
mid integer Required Format: int64.
eid integer Format: int64.
keySize integer Required Format: int32.
keyState string undefined
exportable boolean undefined
createdDate string undefined
employeeId integer Format: int32.
modifiedDate string undefined
modifiedBy integer Format: int32.
keyData.wrappedRsaBytes string undefined
keyData.digitalSignature string undefined
keyData.initializationVector string IV may be required when you wrap with an AES key.
keyData.wrappedAesBytes string undefined

Responses

Result Reason
201 Encryption key is successfully imported
Name Type Description
keyName string undefined
keyId string Format: GUID.
keyVersion integer Format: int32.
keyType string undefined
mid integer Format: int64.
eid integer Format: int64.
keySize integer Format: int32.
keyState string undefined
exportable boolean undefined
createdDate string undefined
employeeId integer Format: int32.
modifiedDate string undefined
modifiedBy integer Format: int32.
keyData.wrappedRsaBytes string undefined
keyData.digitalSignature string undefined
keyData.initializationVector string IV may be required when you wrap with an AES key.
keyData.wrappedAesBytes string undefined
400 Invalid keystore provider name in the request header
Name Type Description
type string undefined
title string undefined
status integer Format: int32.
detail string undefined
instance string undefined
additionalProperties object undefined
500 Unable to process request
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined
503 System is unavailable to process request
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined

More Detail

Retrieves metadata for all keys that belong to a given MID. Data at Rest Encryption is a prerequisite for this feature.

URL Parameters

Name Type Description
x-request-id string Header parameter: Request ID for the request. Default Format: 11ee9b17-5734-4948-98d3-cb4b64e0171c
x-mccs-user-context string Header parameter: Indicates the MCCS user context. Example: EID=111;MID=111;EmployeeId=111.
x-mccs-keystore-provider string Header parameter: Specify a key store provider to use for an ImportKey or WrappingKey request. Examples: kms, keysecure, database. Default: keysecure.
x-mccs-mac string Header parameter: Specify message authentication code for the request.

Responses

Result Reason
200 Successfully retrieved meta data for all keys for the current account
Name Type Description
key string key Data
value integer Format: int32.
500 Unable to process the request
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined
503 Database unavailable
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined

More Detail

Retrieves supported key algorithms and appropriate key lengths. Data at Rest Encryption is a prerequisite for this feature.

URL Parameters

Name Type Description
x-request-id string Header parameter: Request ID for the request. Default Format: d0b531e1-9e61-43e4-bf1b-4b8dc49a16c2
x-mccs-user-context string Header parameter: Indicates the MCCS user context. Example: EID=111;MID=111;EmployeeId=111.
x-mccs-keystore-provider string Header parameter: Specify a key store provider to use for an ImportKey or WrappingKey request. Examples: kms, keysecure, database. Default: keysecure.
x-mccs-mac string Header parameter: Specify the message authentication code for the request.

Responses

Result Reason
200 Successfully retrieved LOVs
Name Type Description
key string key Data
value integer Format: int32.
500 Unable to process request
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined

More Detail

Gets endpoint data.
Retrieve and create, if necessary, the wrapping key - RSA 4096. Data at Rest Encryption is a prerequisite for this feature.

URL Parameters

Name Type Description
x-request-id string Header parameter: Request ID for the request. Default Format: c39516e2-55e0-426d-8717-b2efed6d9841.
x-mccs-user-context string Header parameter: Indicates the MCCS user context. Example: EID=111;MID=111;EmployeeId=111.
x-mccs-keystore-provider string Header parameter: Specify a key store provider to use for an ImportKey or WrappingKey request. Examples: kms, keysecure, database. Default: keysecure.
x-mccs-mac string Header parameter: Specify the message authentication code for the request.

Responses

Result Reason
200 Successfully retrieved public wrapping key bytes
Name Type Description
400 Invalid keystore provider name in the request header
Name Type Description
type string undefined
title string undefined
status integer Format: int32.
detail string undefined
instance string undefined
additionalProperties object undefined
500 Unable to process request
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined

More Detail

Fetches metadata for a specific key. Data at Rest Encryption is a prerequisite for this feature.

URL Parameters

Name Type Description
keyId string Required ID for the key to retrieve the metadata for.
x-request-id string Header parameter: Request ID for the request. Default Format: 06ef8c36-4a7a-4139-bdbd-c6715be06364.
x-mccs-user-context string Header parameter: Indicates the MCCS user context. Example: EID=111;MID=111;EmployeeId=111.
x-mccs-keystore-provider string Header parameter: Specify a key store provider to use for an ImportKey or WrappingKey request. Examples: kms, keysecure, database. Default: keysecure.
x-mccs-mac string Header parameter: Specify the message authentication code for the request.

Responses

Result Reason
200 Key metadata successfully retrieved
Name Type Description
keyName string undefined
keyId string format: uuid
keyVersion integer Format: int32.
keyType string undefined
eid integer format: int64
mid integer format: int64
keySize integer Format: int32.
keyState string undefined
securityHash string format: byte
keySignature string undefined
keyStorageRepository string undefined
createdDate string format: date-time
createdBy integer Format: int32.
modifiedDate string format: date-time
modifiedBy integer Format: int32.
keyData string undefined
publicKeyData string undefined
initializationVector string undefined
keyDataWrappingKey string undefined
isKeyDataWrapped boolean undefined
exportable boolean undefined
imported boolean undefined
keyProviderIdentifier string undefined
useCase string undefined
keyOwnerId integer Format: int32.
400 Bad request, please see error details
Name Type Description
404 Given Key Id is not found in metadata table (MemberKeyManagement)
Name Type Description
500 Server error, unable to retrieve key metadata. Validate error logs in splunk
Name Type Description

More Detail

Deletes a key based on the keyId for the current MID. Data at Rest Encryption is a prerequisite for this feature.

URL Parameters

Name Type Description
keyId string Required ID of the key. Format: UUID.
x-request-id string Header parameter: Request ID for the request. Default Format: 4586c4c7-8504-4cf4-942d-19f99a57c4d9.
x-mccs-user-context string Header parameter: Indicates the MCCS user context. Example: EID=111;MID=111;EmployeeId=111.
x-mccs-keystore-provider string Header parameter: Specify a key store provider to use for an ImportKey or WrappingKey request. Examples: kms, keysecure, database. Default: keysecure.
x-mccs-mac string Header parameter: Specify the message authentication code for the request.

Responses

Result Reason
204 Successfully soft deleted meta data and hard deleted key from keystore
Name Type Description
400 Tde keys used by encrypted backups cannot be deleted, must wait 90 days from rotate or restore
Name Type Description
type string undefined
title string undefined
status integer Format: int32.
detail string undefined
instance string undefined
additionalProperties object undefined
404 Key not found
Name Type Description
type string undefined
title string undefined
status integer Format: int32.
detail string undefined
instance string undefined
additionalProperties object undefined
500 Unable to process request
Name Type Description
statusCode integer Format: int32.
requestId string undefined
message string undefined
messageCode string undefined

More Detail

Returns information about the authenticated token.
Gets endpoint data.

URL Parameters

Name Type Description
endpointType enum Required Value of endpointType. Valid endpoints are ftp, soap, and rest.

More Detail

Push

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/push/v1

Resource Description
Creates a push message template for sending to a list of subscribers or an audience inclusion list or data extension. You can personalize each message for each subscriber using personalization strings or AMPscript lookups from a data extension within a single push message definition. You can also pass the text of the message to override the message contents specified in the definition for API-driven personalization.

JSON Parameters

Name Type Description
messageType integer Required Indicates the type of message to create using the following integer values: 1 - Outbound (default), 3 - Location Entry, 4 - Location Exit, 5 - Beacon, 8 - Inbox
contentType integer Required Indicates the content included within the message using the following integer values: 1 - Alert (default), 2 - Inbox, 3 - Inbox+Alert
name string Required Name of the message. Must be 100 or fewer characters. For Content Builder messages, use this format: content name-unique identifier. For example: 'my test content message-0debaa7a11e11b0a00b12345ef384b1z'.
application array Required App used to send message
application.id string Required The ID of the application
application.name string Required The name of the application
alert string Message displayed on the mobile device
sound string Used to override the value on the push message definition. Indicates the sound file to play when the push message arrives on the mobile device. Name must include 100 or less characters.
badge integer Available for both iOS and Android. For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
content-available integer Integer value indicating the availability of content for an application enabled to use background push. Set this value to 1 to deliver the message as a silent push. This parameter applies only to apps integrated with the background push functionality available in iOS and Android. Note that you can use background push functionality in all apps with iOS 7 and Newsstand apps in iOS 6.
openDirect string Used to override the value on the push message definition. This value determines the location within the app that an app user views when they open that app via a push message. Assigned values must include 15 or less characters.
keys array Used to override the value on the push message definition. An array of Key/Value pairs that correspond to customer values defined in MobilePush.
custom array Specify the actual request body of the push message to precisely align that request body to your specifications.
sendInitiator integer Indicates the method used to initiate the send for a push message using the following integer values: 0 - UI-based send, 1 - API (default), 2 - Automation, 3 - Journey Builder
startDate date Date and time when the message becomes available for sends. Uses a default value of the message creation time.
endDate date Date and time when the message is no longer available for sends. This optional parameter applies only to messages whose contentType is CloudPage or Alert+CloudPage. endDate must be after startDate.
messagesPerPeriod integer Integer value indicating the number of messages that can send during a specified time period to throttle the volume of users responding to the notification. Use only when sendInitiator value equals 0.
minutesPerPeriod integer Integer value indicating the number of minutes included in a specified time period. Use only when sendInitiator value equals 0.
numberOfPeriods integer Indicates the time span of the period using the following integer values: 1 - Year, 2 - Month, 3 - Week, 4 - Day, 5 - Hour
isRollingPeriod boolean Boolean value indicating whether the limit resets after a rolling time period window or ends at a specified time
messageLimit integer Integer values indicating the total number of times a messages displays on a mobile device
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle. This setting applies only to push notification alerts.
mutable-content boolean If true, rich push functionality is enabled for the message.
tzBased boolean Boolean value indicating whether a send occurs based on the specified time zone for a mobile device, as reflected in the contact record. To ensure timely delivery for each timezone, make sure that any dependent data extensions and audiences are available to be refreshed up to 14 hours prior to the scheduled send time. Uses a default value of false. Use only when sendInitiator value equals 0.
tzPastSendAction string Indicates the action to perform when a time-zone-based send occurs and that send time already passed for some time zones. Uses the following string values: 1 - Send immediately (default), 2 - Send at scheduled time, next day, 3 - Never send
scheduleTzOffset integer Integer value indicating the time zone offset. Uses a default value of -6.
scheduledTzSupportsDst boolean Boolean value indicating whether the scheduled time zone supports Daylight Savings Time. Uses a default value of false.
inclusionLists array Array of list ID values indicating the lists that will receive the send. Use only when sendInitiator value equals 0.
exclusionLists array Array of list ID values indicating the lists excluded from receiving the send. Use only when sendInitiator value equals 0.
status integer Indicates the status of the message using the following integer values:: 1 - Draft, 2 - Active (default), 3 - Inactive, 4 - Deleted
pageId integer Integer values indicating the page associated with the message for CloudPage and Alert+CloudPage sends
url string String value indicating the URL for the page associated with the message for CloudPage and Alert+CloudPage sends
subject string String value indicating the subject line used for the message
media array Rich media to include in the message
media.androidUrl string URL for the media to send to Android devices
media.iosUrl string URL for the media to send to iOS devices
media.alt string Text to display if the message cannot include the specified rich media
geofences array Array of string values indicating the geofences associated with the message send. Use only when sendInitiator value equals 1.

More Detail

Retrieves all messages currently defined within an account.

URL Parameters

Name Type Description
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.
$filter string Filter by a message's property using a simple operator and value. Valid filter properties are Message Type, Content Type, and Status.
$orderBy string Determines which property to use for sorting, and also determines the direction in which to sort the data.

More Detail

Creates a new location.

JSON Parameters

Name Type Description
name string Required Name of the location
location string Text defining the location; usually a physical or mailing address
description string Description or notes for the location
center object Center point of the location circle
center.latitude decimal Geographic latitude of the location center
center.longitude decimal Geographic longitude of the location center
radius integer Radius of the location circle in meters
attributes array List of attributes for the location
attributes.attribute string Name of the attribute
attributes.value string Value for the attribute
locationType integer Indicates whether this is a geofence or beacon location. If not specified, it defaults to geofence. To specify, use 1 for geofence or 3 for beacon.
proximityUuid string Unique identifier used to distinguish one beacon from another. Required if creating a beacon location. This number is found on the beacon hardware. Enter the UUID exactly as listed.
major integer Specifies a particular beacon within a group. Required if creating a beacon location. This number is found on the beacon hardware. Enter this number exactly as listed.
minor integer Groups a related set of beacons. Required if creating a beacon location. This number is found on the beacon hardware. Enter this number exactly as listed.

More Detail

Gets a list of all locations.

URL Parameters

Name Type Description
$page number Page number to return from the paged results. Start with 1 and continue until you get zero results. Typically provided along with the $pagesize parameter.
$pagesize number Number of results per page to return. Typically provided along with the $page parameter.
$filter string Filter by a location's property using a simple operator and value. Valid filter properties are Name and LocationType of 1 = Geofence or 3 = Beacon.
$orderBy string Determines which property to use for sorting, and also determines the direction in which to sort the data.

More Detail

Retrieves a single message currently defined within an account.

URL Parameters

Name Type Description
messageId string Required Id of the message to delete

More Detail

Updates a push message. That request optionally allows you to pass the text of the message to override the message specified in the definition.

JSON Parameters

Name Type Description
messageType integer Indicates the type of message to create using the following integer values: 1 - Outbound (default), 3 - Location Entry, 4 - Location Exit
contentType integer Indicates the content included within the message using the following integer values: 1 - Alert (default), 2 - CloudPage, 3 - Alert+CloudPage
name string String value indicating the name of the message. Must use 100 or less characters.
application array App used to send message
application.id string The ID of the application
application.name string The name of the application
alert string Message displayed on the mobile device
sound string Used to override the value on the push message definition. Indicates the sound file to play when the push message arrives on the mobile device. Name must include 100 or less characters.
badge integer For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
content-available integer Integer value indicating the availability of content for an application enabled to use background push. Set this value to 1 to indicate available content. This parameter applies only to apps integrated with the background push functionality available in iOS. Note that you can use background push functionality in all apps with iOS 7 and Newsstand apps in iOS 6.
openDirect string Used to override the value on the push message definition. This value determines the location within the app that an app user views when they open that app via a push message. Assigned values must include 15 or less characters.
keys array Used to override the value on the push message definition. An array of Key/Value pairs that correspond to customer values defined in MobilePush.
custom array Specify the actual request body of the push message to precisely align that request body to your specifications.
sendInitiator integer Indicates the method used to initiate the send for a push message using the following integer values: 0 - UI-based send, 1 - API (default), 2 - Automation, 3 - Journey Builder
startDate date Date value indicating the time when the message becomes available for sends. Uses a default value of the message creation time.
messagesPerPeriod integer Integer value indicating the number of messages that can send during a specified time period. Use only when sendInitiator value equals 0.
minutesPerPeriod integer Integer value indicating the number of minutes included in a specified time period. Use only when sendInitiator value equals 0.
numberOfPeriods integer Indicates the time span of the period using the following integer values: 1 - Year, 2 - Month, 3 - Week, 4 - Day, 5 - Hour
isRollingPeriod boolean Boolean value indicating whether the limit resets after a rolling time period window or ends at a specified time
messageLimit integer Integer values indicating the total number of times a messages displays on a mobile device
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle.
mutable-content boolean If true, rich push functionality is enabled for the message.
tzBased boolean Boolean value indicating whether a send occurs based on the specified time zone for a mobile device. Uses a default value of false. Use only when sendInitiator value equals 0.
tzPastSendAction string Indicates the action to perform when a time-zone-based send occurs and that send time already passed for some time zones. Uses the following string values: 1 - Send immediately (default), 2 - Send at scheduled time, next day, 3 - Never send
scheduleTzOffset integer Integer value indicating the time zone offset. Uses a default value of -6.
scheduledTzSupportsDst boolean Boolean value indicating whether the scheduled time zone supports Daylight Savings Time. Uses a default value of false.
inclusionLists array Array of list ID values indicating the lists that will receive the send. Use only when sendInitiator value equals 0.
exclusionLists array Array of list ID values indicating the lists excluded from receiving the send. Use only when sendInitiator value equals 0.
status integer Indicates the status of the message using the following integer values: 1 - Draft, 2 - Active (default), 3 - Inactive, 4 - Deleted
pageId integer Integer values indicating the page associated with the message for CloudPage and Alert+CloudPage sends
url string String value indicating the URL for the page associated with the message for CloudPage and Alert+CloudPage sends
subject string String value indicating the subject line used for the message
geofences array Array of string values indicating the geofences associated with the message send. Use only when sendInitiator value equals 0.

More Detail

Deletes an existing message

URL Parameters

Name Type Description
messageId string Required Id of the message to delete

More Detail

Retrieves a single app associated with an account.

URL Parameters

Name Type Description
appId string Required String value identifying the app

More Detail

Gets a specific location.

URL Parameters

Name Type Description
locationId string Required ID of the location

More Detail

Updates an existing location.

URL Parameters

Name Type Description
locationId string Required ID of the location to update

JSON Parameters

Name Type Description
name string Required Name of the location
location string Text defining the location; usually a phyiscal or mailing address
description string Description or notes for the location
center object Center point of the location circle
center.latitude decimal Geographic latitude of the location center
center.longitude decimal Geographic longitude of the location center
radius integer Radius of the location circle in meters
attributes array List of attributes for the location
attributes.attribute string Name of the attribute
attributes.value string Value for the attribute
locationType integer Indicates whether this is a geofence or beacon location. If not specified, it defaults to geofence. To specify, use 1 for geofence or 3 for beacon.
proximityUuid string Unique identifier used to distinguish one beacon from another. Required if creating a beacon location. This number is found on the beacon hardware. Enter the UUID exactly as listed.
major integer Specifies a particular beacon within a group. Required if creating a beacon location. This number is found on the beacon hardware. Enter this number exactly as listed.
minor integer Groups a related set of beacons. Required if creating a beacon location. This number is found on the beacon hardware. Enter this number exactly as listed.

More Detail

Deletes an existing location.

URL Parameters

Name Type Description
locationId string Required ID of the location to delete

More Detail

Retrieves all custom key values associated with an app.

URL Parameters

Name Type Description
appId string Required String value identifying the app

More Detail

Updates information on all custom key values associated with an app.

URL Parameters

Name Type Description
appId string Required String value identifying the app

More Detail

Deletes all custom key values associated with an app.

URL Parameters

Name Type Description
appId string Required String value identifying the app

More Detail

Refreshes a list.

URL Parameters

Name Type Description
listId string Required The Id of the list to refresh

More Detail

Broadcasts a message to all users of a push-enabled app.

URL Parameters

Name Type Description
messageID string Required The ID of the triggered send definition configured for MessageSend sending used for the send

JSON Parameters

Name Type Description
override boolean A flag indicating the contact is to receive the messageText as provided instead of the message's original text.
messageText string The text value to be used in place of the message's original text. This field is required when override is true.
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle.
mutable-content boolean If true, rich push functionality is enabled for the message.
sendTime date Date formatted yyyy-MM-dd HH:mm specifying a time in the future to send the message.
blackoutWindow string Blackout window definition used to delay message sending outside a given windowStart and windowEnd and utcOffset.
sound string Sound filename to be played on the device.
badge string For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
openDirect string Value used as the open direct destination
customPayload string Custom definition in escaped JSON.
customKeys array An array of key/value pairs used as custom keys to be sent with the message request body.

More Detail

Sends a push message to users with the specified tags.

URL Parameters

Name Type Description
messageID string Required The ID of the triggered send definition configured for MessageSend sending used for the send

JSON Parameters

Name Type Description
inclusionTags array Required Tags used to identify contacts that will receive the message
exclusionTags array Tags used to identify contacts that will not receive the message
override boolean Flag to indicate that the contact is to receive the messageText as provided instead of the message's original text
messageText boolean Text value to be used in place of the message's original text. This value is required when override is true.
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle.
mutable-content boolean If true, rich push functionality is enabled for the message.
sendTime date Date formatted yyyy-MM-dd HH:mm specifying a time in the future to send the message
blackoutWindow string Blackout window definition used to delay message sending outside a given windowStart and windowEnd and utcOffset
sound string Sound filename to be played on the device
badge string For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
openDirect string Value used as the open direct destination
customPayload string Custom definition in escaped JSON
customKeys array An array of key/value pairs used as custom keys to be sent with the message request body

More Detail

Sends a message to the specified mobile devices of a push-enabled app.

URL Parameters

Name Type Description
messageId string Required The API key of the message definition (configured in the MobilePush user interface)

JSON Parameters

Name Type Description
inclusionListIds array Required An array of one or more contact list ids to include in send
exclusionListIds array An array of one or more contact list ids to exclude in send
InclusionDataExtensionIds array An array of one or more data extension External Keys to include in send
ExclusionDataExtensionIds array An array of one or more data extension External Keys to exclude in send
override boolean Flag to indicate that the contact is to receive the messageText as provided instead of the message's original text
messageText string The text value to be used in place of the message's original text. This field is required when override is true.
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle.
mutable-content boolean If true, rich push functionality is enabled for the message.
sendTime date Date formatted yyyy-MM-dd HH:mm specifying a time in the future to send the message
blackoutWindow string Blackout window definition used to delay message sending outside a given windowStart and windowEnd and utcOffset
sound string Sound filename to be played on the device
badge string For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
openDirect string Value used as the open direct destination
customPayload string Custom definition in escaped JSON
customKeys array An array of key/value pairs used as custom keys to be sent with the message request body

More Detail

Sends unique messages to devices within the same API call. Each batch can include a maximum of 5000 subscriber key or device token values, depending on which value the call uses.

URL Parameters

Name Type Description
messageID string The ID of the message to update

JSON Parameters

Name Type Description
deviceTokens array Required Device tokens of the mobile devices that will receive the message. Required if subscriberKeys are not set.
subscriberKeys array Required Subscriber keys of the mobile devices that will receive the message. Required if deviceTokens are not set.
inclusionTags array Tags used to identify contacts that will receive the message
exclusionTags array Tags used to identify contacts that will not receive the message
sendTime date Date formatted yyyy-MM-dd HH:mm specifying a time in the future to send the message
message array Required Components of the message to include in the send
message.alert string Required Message text displayed on the mobile device
message.sound string A sound filename to be played on the device
message.badge string For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
message.openDirect string Value used as the OpenDirect destination
message.custom array Custom definition in escaped JSON
message.keys array An array of key/value pairs used as custom keys to be sent with the message request body
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle.
mutable-content boolean If true, rich push functionality is enabled for the message.

More Detail

Updates information on a single custom key value associated with an app.

URL Parameters

Name Type Description
appId string Required String value identifying the app
key string Required String value identifying the key (must be less than or equal to 15 characters)

More Detail

Deletes a single custom key value associated with an app.

URL Parameters

Name Type Description
appId string Required String value identifying the app
key string Required String value identifying the key. The string must be less than or equal to 15 characters.

More Detail

Sends a message to the specified mobile devices of a push-enabled app.

URL Parameters

Name Type Description
messageID string Required The ID of the triggered send definition configured for MessageSend sending used for the send

JSON Parameters

Name Type Description
inclusionTags array Tags used to identify contacts that will receive the message
exclusionTags array Tags used to identify contacts that will not receive the message
deviceTokens array The device tokens of the mobile devices that will receive the message (5000 max.). This value is required if subscriberKeys are not set.
subscriberKeys array The subscriber keys of the mobile devices that will receive the message (5000 max.). This value is required if deviceTokens are not set.
override boolean If true, the contact receives the messageText, title, and subtitle as provided instead of the message's original text.
messageText string The text value to be used in place of the message's original text. This value is required if deviceTokens are not set.
title string The title to be used in place of the message's original title.
subtitle string The subtitle to be used in place of the message's original subtitle.
mutable-content boolean If true, rich push functionality is enabled for the message.
sendTime date Date formatted yyyy-MM-dd HH:mm specifying a time in the future to send the message, referencing UTC-6.
blackoutWindow string Blackout window definition used to delay message sending outside a given windowStart and windowEnd and utcOffset.
MessageCategory object Used to specify the Interactive Notification category for a given send. Sending a messageCategory triggers the mobile device to the display buttons the application has defined and associated with that category name. Each Push application can have one or more categories.
MessageCategory.Name string A name is required when including the MessageCategory object.
sound string Sound filename to be played on the device
badge string For iOS SDK version 4.9.5 and newer: Overrides the value on the push message definition. Badge count displays this number in a badge on the app and increments this number by one for each new unread message. For older iOS SDK versions: Overrides the value on the push message definition. Badge count does not increment.
openDirect string Value used as the open direct destination
customPayload string Custom definition in escaped JSON.
customKeys array An array of key/value pairs used as custom keys to be sent with the message request body
content-available integer Indicates the availability of content for an application enabled to use silent push. Set this value to 1 to indicate available content. This parameter applies only to apps integrated with the background push functionality available in iOS.

More Detail

Gets the refresh list status.

URL Parameters

Name Type Description
ListID string Required The ID of the list in MobileConnect
TokenID string Required The unique ID returned when using the RefreshList operation

More Detail

Retrieves delivery status of a previous messageTag send job.

URL Parameters

Name Type Description
messageID string Required The API key of the message definition. This key is configured in the MobilePush user interface.
tokenID string Required The value returned following the send of a push message

More Detail

Retrieves delivery status of a previous messageApp send job.

URL Parameters

Name Type Description
messageID string Required The API key of the message definition. The key is configured in the MobilePush user interface.
tokenID string Required The value returned following the send of a push message

More Detail

When you send a push message from the API, you receive a token ID in response. Use the token in this API call to retrieve the number of contacts we attempted to send to, not including those who opted out, for a messageList send job.

URL Parameters

Name Type Description
messageID string Required The API key of the message definition. The key is configured in the MobilePush user interface.
tokenID string Required The value returned following the send of a push message.

More Detail

Retrieves delivery status of a previous messageContact send job.

URL Parameters

Name Type Description
messageId string Required Message Id provided for the messageContact
tokenId string Required Token Id returned for the messageContact in the form of a GUID

More Detail

Sms

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/sms/v1

Resource Description
Queues an MO message for send.

JSON Parameters

Name Type Description
mobileNumbers array Required An array of mobile numbers used in the send. Either the mobileNumbers or subscribers property is required, but not both.
subscribers array Required An array of subscriber keys and mobile numbers used in the send. Either the mobileNumbers or subscribers property is required, but not both.
shortCode string Required The short code
messageText string Required The text value

More Detail

Creates a keyword on an account.

JSON Parameters

Name Type Description
longCode string The long code that the keyword will be created on
shortCode string The short code that the keyword will be created on
keyword string The keyword that will be created
countryCode string The two letter country code specifying the country that short code belongs to

More Detail

Deletes a keyword on an account given a keyword Id.

URL Parameters

Name Type Description
keywordId string Required Encoded Id of keyword that will be deleted

More Detail

Imports and sends.

JSON Parameters

Name Type Description
messageId string Required Encoded message Id
keyword string Required A valid keyword on the shortcode for the message to opt the numbers on to
notificationEmail string If specified, email notifications will be sent on import and program completion
override boolean Flag to indicate whether the override text should be used
overrideText string Text to override the existing message.
isDuplicationAllowed boolean If true, duplicate messages may be sent
isVisible boolean If specified true, the import definition and list created will be visible
importDefinition string Required List of Import Definitions to be created (currently limited to 1)

More Detail

Initiates a message to one or more contact lists.

URL Parameters

Name Type Description
messageId string The encodedID can be found when creating a “API Entry Event” type Outbound message in the UI. If you have already passed that point you can find the ID by looking at the API resource behind the scenes when you open that message in the UI.

JSON Parameters

Name Type Description
TargetListIds array A list of one or more List ID strings. The contacts in these Lists will be included in the send and will overwrite the Message’s default inclusion lists.
OverrideTemplateTargetLists string A flag indicating TargetListIds will be provided for overriding the message default Target List Ids
ExclusionListIds array A list of one or more List ID strings. The contacts in these Lists will be excluded in the send and will overwrite the Message’s default exclusion lists.
IgnoreExclusionLists boolean A flag indicating that exclusion lists (even the default message exclusion lists) will not be used in the send
OverrideMessageText string A flag indicating that the text provided should override the text stored with the Message
MessageText string Required when OverrideMessageText is true
blackoutWindow object Details about the window of time where messages should not be sent. Messages initiated inside of this window will be queued and delivered once the window is open.
blackoutWindow.UtcOffset string The UTC offset of the blackout window start and end times. UtcOffset is required in every REST call in order for the blackout window to be honored.
blackoutWindow.WindowStart string The start time of the blackout window, in the UTC offset specified. To see if the SendTime is within the blackout window, convert the WindowStart and WindowEnd times to UTC and compare them to the SendTime
blackoutWindow.WindowEnd string The end time of the blackout window, in the UTC offset specified. To see if the SendTime is within the blackout window, convert the WindowStart and WindowEnd times to UTC and compare them to the SendTime
sendTime date Date and Time in UTC that the message will go out. Example format: 2012-10-17 17:01. The BlackoutWindow will still be respected if used with this option. If the SendTime is set to a date and time in the past, the message will send immediately.
allowDuplication boolean The same mobile number may receive multiple texts if this value is true
ContentURL string The URL of the media content sent via an MMS message

More Detail

Returns subscription status for a mobile number or subscriber key.

JSON Parameters

Name Type Description
mobileNumber string An array of mobile numbers
subscriberKey string An array of subscriber keys

More Detail

Initiates a message to one or more mobile numbers.

URL Parameters

Name Type Description
id string Required The encoded message ID

JSON Parameters

Name Type Description
mobileNumbers array Required An array of one or more mobile numbers
Subscribers array Array of up to 250 subscriber records where the message is sent to. Subscribers is different from mobileNumbers because it allows you to specify a SubscriberKey value and the mobile number as the unique identifier for that record.
Subscribers.MobileNumber string Specifies the mobile number used as the unique identifier for that record.
Subscribers.SubscriberKey string Specifies the SubscriberKey value used as the unique identifier for that record.
Subscribers.Attributes array Set real-time attributes for individual personalization strings, per subscriber. The subscriber attribute must match the attribute string in the message. You can pass attributes that are not used as attributes in the message into the SMS send log. The dictionary key is available as a standard replacement string in AMPScript.
subscribe boolean Flag to indicate a subscription should be created if none exist
resubscribe boolean Flag to indicate a subscription should be reset if currently unsubscribed
keyword string The keyword must align with code on message. Required when subscribe and/or resubscribe are true.
override boolean Flag to indicate that the contact is receive the messageText as provided instead of the message's original text
messageText string Text value to be used in place of the message's original text. This value is required when override is true.
blackoutWindow object Details about the window of time where messages should not be sent. Messages initiated inside of this window will be queued and delivered once the window is open.
blackoutWindow.UtcOffset string The UTC offset of the blackout window start and end times. UtcOffset is required in every REST call in order for the blackout window to be honored.
blackoutWindow.WindowStart string The start time of the blackout window, in the UTC offset specified. To see if the SendTime is within the blackout window, convert the WindowStart and WindowEnd times to UTC and compare them to the SendTime.
blackoutWindow.WindowEnd string The end time of the blackout window, in the UTC offset specified. To see if the SendTime is within the blackout window, convert the WindowStart and WindowEnd times to UTC and compare them to the SendTime.
SendTime UTC Time Date and Time in UTC that the message will go out. Example format: 2012-10-17 17:01. The blackoutWindow will still be respected if used with this option. If you attempt to send during the blackoutWindow, the message is scheduled to send one second after the blackout window ends. If the SendTime is set to a date and time in the past, the message will send immediately.
ContentURL string The URL of the media content sent via an MMS message.

More Detail

Retrieves the tracking history of a queued MO.

URL Parameters

Name Type Description
tokenId string Required Token Id returned for the queued MO

More Detail

Refreshes a list.

URL Parameters

Name Type Description
listId string Required The Id of the list to refresh

More Detail

Queues a contact import.

URL Parameters

Name Type Description
listId string Required the list id

JSON Parameters

Name Type Description
shortCode string The short code
keyword string The keyword
sendEmailNotification boolean Send email notification
emailAddress string Email address the notification goes to
importMappingType string Field mapping type
fileName string The name of the file, including extensions
fileType string The only type supported is csv
isFirstRowHeader boolean Flag indicating whether or not the first row is the header
fieldMaps array List of field maps includes destination, ordinal, and source

More Detail

Retrieves the delivery status of a queued MO.

URL Parameters

Name Type Description
tokenId string Required Token Id returned for the queued MO

More Detail

Deletes a keyword on an account given a keyword and long code.

JSON Parameters

Name Type Description
keyword string The keyword that will be deleted
longCode string The long code of the keyword that will be deleted

More Detail

Returns status for a message sent to a group of mobile numbers.

URL Parameters

Name Type Description
messageId string Message Id provided for the messageList
tokenId string Token Id returned for the messageList

More Detail

Retrieves the status of a ImportSend automation.

URL Parameters

Name Type Description
tokenID string Required The ID provided in the ImportSend REST response.

More Detail

Generates a .csv fiie containing information regarding SMS message delivery for a specific MessageList and places the report in the Enhanced FTP location for the Marketing Cloud account.

URL Parameters

Name Type Description
tokenid string Required The ID provided in the MessageList REST response

JSON Parameters

Name Type Description
fileName string Required The name of the report file in your FTP/reports folder

More Detail

Triggers a delivery report for messageList API.

URL Parameters

Name Type Description
tokenid string Required The ID provided in the MessageList REST response
messageID string Required The API key of the message definition (configured in the MobileConnect user interface)

JSON Parameters

Name Type Description
fileName string Required The name of the report file in your FTP/reports folder

More Detail

Retrieves the refresh list status.

URL Parameters

Name Type Description
ListID string Required The ID of the list found in the MobileConnect interface
TokenID string Required The unique ID returned when using the RefreshList operation

More Detail

Retrieves the status of an import job.

URL Parameters

Name Type Description
ListID string Required The ID of the List found in the MobileConnect interface
TokenID string Required The unique ID returned when using the ImportQueue operation

More Detail

Deletes a keyword on an account given a keyword, short code, and country code.

JSON Parameters

Name Type Description
keyword string The keyword that will be deleted
shortCode string The short code of the keyword that will be deleted
countryCode string The two letter country code specifying the country that short code belongs to

More Detail

Retrieves the overall delivery status of a message to a contact and the standard SMS status codes and descriptions. Standard SMS status codes are universal regardless of where messages are sent. This API returns status codes in the order received from carriers, so Marketing Cloud can receive codes after the delivered or undelivered status has been returned. Infer the final message status from the status code with the highest numerical value.

URL Parameters

Name Type Description
messageId string Required Message Id provided for the messageContact
tokenId string Required Token Id returned for the messageContact

More Detail

Retrieves the last message sent to a mobile number.

URL Parameters

Name Type Description
messageId string Required Message Id provided for the messageContact
tokenId string Required Token Id returned for the messageContact
mobileNumber string Required Mobile number for the messageContact

More Detail

TransactionalMessaging

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/messaging/v1

Resource Description
Sends a message to multiple recipients using a send definition. You can provide a messageKey in the request; otherwise, the messageKey is automatically generated in the response.

JSON Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.
recipients array Required Array of recipient objects that contain parameters and metadata for the recipients, such as send tracking and personalization attributes. Use this parameter to send to multiple recipients in one request. Use either the recipient or recipients parameter, but not both.
recipients.contactKey string Unique identifier for a subscriber in Marketing Cloud. Each request must include a contactKey. You can use an existing subscriber key or create one at send time by using the recipient’s email address.
recipients.to string Required Channel address of the recipient.
recipients.messageKey string Unique identifier used to track message status. The messageKey can be created automatically when you create a message, or you can provide it as part of the request. Can be up to 100 characters, and there are no restricted characters. Each recipient in a request must have a unique messageKey. If you use a duplicate messageKey in the same send request, the message is rejected.
recipients.attributes object Information used to personalize the message for the recipient. Written as key:value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.
subscriptions.resubscribe boolean Forces the message send request to subscribe the mobile number back into a short code if a user may have requested STOP. Often used to ensure that critical transactional messages are delivered irrespective of a mobile number subscriber status.
content.message string Override for message content in the definition that you want sent with each message. Use substitution strings to personalize the content.
attributes object Information used to personalize the message for the request. Written as key:value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.

Responses

Result Reason
202 Request is accepted. Review example response.
Name Type Description
requestId string The unique identifier of this request.
errorcode string Error code for the exception
messageKey string Unique identifier to track message send status.

More Detail

Sends a message to multiple recipients using a send definition. You can provide a messageKey in the request; otherwise, the messageKey is automatically generated in the response. The limit is 2000 recipients per request. If you send attributes with the recipients, we recommend no more than 500 recipients per request.

JSON Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.
recipients array Required Array of recipient objects that contain parameters and metadata for the recipients, such as send tracking and personalization attributes. Use this parameter to send to multiple recipients in one request. Use either the recipient or recipients parameter, but not both.
recipients.contactKey string Required Unique identifier for a subscriber in Marketing Cloud. Each request must include a contactKey. You can use an existing subscriber key or create one at send time by using the recipient’s email address.
recipients.to string Channel address of the recipient. For email, it’s the recipient's email address.
recipients.messageKey string Unique identifier used to track message status. Can be automatically created when you create a message or provided as part of the request. Can be up to 100 characters, and there are no restricted characters. Each recipient in a request must have a unique messageKey. If you use a duplicate messageKey in the same send request, the message is rejected.
recipients.attributes object Information used to personalize the message for the recipient. Written as key:value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.
attributes object Information used to personalize the message for the request. Written as key:value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.

Responses

Result Reason
202 Request is accepted. Review example response.
Name Type Description
requestId string The unique identifier of this request.
errorcode string Error code for the exception
messageKey string Unique identifier to track message send status.

More Detail

Creates a send definition.

JSON Parameters

Name Type Description
definitionKey string Required Unique, user-generated key to access the definition object.
name string Required Name of the definition. Must be unique.
content.message string Required The message content that you want sent with each message. Use substitution strings and AMPscript to personalize the message.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
description string User-provided description of the send definition.
subscriptions.shortCode string Required The short or long code for the mobile transmissions for each message on this definition.
subscriptions.countryCode string The country code associated with the shortCode for the mobile transmissions for each message on this definition. Don't use for long codes, unless your account configuration requires it.
subscriptions.keyword string Required The keyword used to track messages
subscriptions.autoAddSubscriber boolean Allows you to add a recipient as subscriber against the shortCode using contactKey. When false, the message is rejected if contactKey doesn’t exist as a subscriber. Default is true.

Responses

Result Reason
201 Send definition is created. Review example response.
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
definitionId string Unique Marketing Cloud object identifier.
description string User-provided description of the send definition.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.
content.message string The message content that you want sent with each message. Use substitution strings and AMPscript to personalize the message.
subscriptions.shortCode string The short or long code for the mobile transmissions for each message on this definition.
subscriptions.countryCode string The country code associated with the shortCode for the mobile transmissions for each message on this definition. Don't use for long codes, unless your account configuration requires it.
subscriptions.keyword string The keyword used to track messages
subscriptions.autoAddSubscriber boolean Allows you to add a recipient as subscriber against the shortCode using contactKey. When false, the message is rejected if contactKey doesn’t exist as a subscriber. Default is true.
subscriptions.updateSubscriber boolean Updates the recipient subscriber data including mobile number. Default is true.

More Detail

Gets a list of send definitions.

URL Parameters

Name Type Description
$filter string Filter by status type. Accepted values are active, inactive, or deleted. Valid operations are eq and neq.
$pageSize integer Number of definitions, which are array elements, to return per paged response.
$page integer Page number to return.
$orderBy string Sort by a dimension. You can sort by only one dimension. Accepted values are definitionKey, name, createdDate, modifiedDate, and status.

Responses

Result Reason
200 Success
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.

More Detail

Creates a long-living send definition object that references the email template, subscriber list, sending options, journey, and metadata. A send definition is referenced in the transactional messaging API when triggering a send to recipients. We recommend that you create one definition for each type of email or use-case. In other words, create a definition for a group of email requests, because there is a limit on the number of definitions you can create.

The transactional send definition will remain synchronized to the transactional send journey (when journey.interactionKey is provided) whether you manage the send definition through this API or the Journey Builder canvas.

NOTE: You cannot create and manage transactional send journeys using the Journey Builder API (interactions/v1/interaction/{journeyId}).

You can create only up to 500 total email transactional send definitions plus email triggered send definitions in a seven-day period for one business unit. So don't create a definition for each send request that you trigger. This limit applies to send definitions created in the Marketing Cloud application and via API. It doesn’t apply to the Journey Builder email activity triggered send definition.

JSON Parameters

Name Type Description
definitionKey string Required Unique, user-generated key to access the definition object.
name string Required Name of the definition. Must be unique.
content.customerKey string Required Unique identifier of the content asset.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
description string User-provided description of the send definition.
classification string Marketing Cloud external key of a sending classification defined in Email Studio Administration. Only transactional classifications are permitted. Default is default transactional.
subscriptions.list string Required Marketing Cloud external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
subscriptions.dataExtension string Marketing Cloud external key of the triggered send data extension. Each request inserts as a new row in the data extension. To deduplicate at send time, use messageKey. Don’t use a primary key on the triggered send data extension.
subscriptions.autoAddSubscriber boolean Adds the recipient’s email address and contact key as a subscriber key to subscriptions.list. Default is true.
subscriptions.updateSubscriber boolean Updates the recipient’s contact key as a subscriber key with the provided email address and profile attributes to subscriptions.list. Default is true.
options.trackLinks boolean Wraps links for tracking and reporting. Default is true.
options.cc array Include CC email addresses with every send. To CC dynamically at send time, create a profile attribute and use the %%attribute%% syntax.
options.bcc array Include BCC email addresses with every send. To BCC dynamically at send time, create a profile attribute and use the %%attribute%% syntax.
options.createJourney boolean A value of true updates the send definition to make it available in Journey Builder as a Transactional Send Journey. After the definition is tied to a Transactional Send Journey, the definition remains part of Journey Builder. You can’t unlink a journey from a definition without recreating the transactional send definition.

Responses

Result Reason
201 Send definition is created. Review example response.
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
definitionId string Unique Marketing Cloud object identifier.
description string User-provided description of the send definition.
classification string Marketing Cloud external key of a sending classification defined in Email Studio Administration. Only transactional classifications are permitted. Default is default transactional.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.
content.customerKey string Unique identifier of the content asset.
subscriptions.dataExtension string Marketing Cloud external key of the triggered send data extension. Each request inserts as a new row in the data extension.
subscriptions.list string Marketing Cloud external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
subscriptions.autoAddSubscriber boolean Adds the recipient’s email address and contact key as a subscriber key to subscriptions.list. Default is true.
subscriptions.updateSubscriber boolean For email only: Updates the recipient’s contact key as a subscriber key with the provided email address and profile attributes to subscriptions.list. Default is true.
options.trackLinks boolean Wraps links for tracking and reporting. Default is true.

More Detail

Gets a list of send definitions.

URL Parameters

Name Type Description
$filter string Filter by status type. Accepted values are active, inactive, or deleted. Valid operations are eq and neq.
$pageSize integer Number of definitions, which are array elements, to return per paged response.
$page integer Page number to return.
$orderBy string Sort by a dimension. You can sort by only one dimension. Accepted values are definitionKey, name, createdDate, modifiedDate, and status.

Responses

Result Reason
200 Success
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.

More Detail

Sends a message to a single recipient via a send definition using a messageKey path parameter.

URL Parameters

Name Type Description
messageKey string Required Unique identifier used to track message status. The messageKey can be created automatically when you create a message, or you can provide it as part of the request. Can be up to 100 characters, and there are no restricted characters. Each recipient in a request must have a unique messageKey. If you use a duplicate messageKey in the same send request, the message is rejected.

JSON Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.
recipient object Required Object that contains parameters and metadata for the recipient, such as send tracking and personalization attributes. Use this parameter to send to one recipient. Use either the recipient or recipients parameter, but not both.
recipient.contactKey string Unique identifier for a subscriber in Marketing Cloud. Each request must include a contactKey. You can use an existing subscriber key or create one at send time by using the recipient’s email address.
recipient.to string Required Channel address of the recipient.
recipient.attributes object Information used to personalize the message for the recipient. Written as key:value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.
content.message string Override for message content in the definition that you want sent with each message. Use substitution strings to personalize the content.

Responses

Result Reason
202 Request is accepted. Review example response.
Name Type Description
requestId string The unique identifier of this request.
errorcode string Error code for the exception
messageKey string Unique identifier to track message send status.

More Detail

Gets the send status for a message. Because this route is rate-limited, use it for infrequent verification of a messageKey. To collect send status at scale, subscribe to transactional send events using the Event Notification Service.

URL Parameters

Name Type Description
messageKey string Required Unique identifier to track message send status. You must provide it in singleton requests using the recipient attribute. Can be up to 100 characters, and there are no restricted characters. To provide message key in batch requests, use the recipients array attribute. If you don’t provide the message key for recipients, it’s generated in the response.

Responses

Result Reason
200 Request is accepted. Review example response.
Name Type Description
requestId string The unique identifier of this request.
eventCategoryType string TransactionalSendEvents event type. SMSSent indicates that the SMS was sent to the SMS provider. SMSNotSent indicates that the SMS was not sent and includes the reason. SMSQueued indicates that the SMS has not yet been processed for sending.
timestamp string Time the event occured in Central Standard Time (no daylight savings)
compositeId string Marketing Cloud-specific processing identifier that can be referenced for support.
messageKey string Unique identifier to track message send status.
contactKey string Unique identifier for a subscriber in Marketing Cloud.
to string Channel address of the recipient. For SMS, it’s the recipient's mobile number.

More Detail

Gets a paginated list of messages that were not sent, ordered from oldest to newest.

URL Parameters

Name Type Description
type string Required Only notSent is supported.
$pageSize integer Number of messageKeys (array elements) to return per response page.
lastEventId integer Event ID from which you want the response to start. To obtain the initial event ID, submit a request without a lastEventId. The events in the response are listed top to bottom from oldest to newest.

Responses

Result Reason
200 Success. Review example response.
Name Type Description
lastEventID integer Event ID from which you want the response to start. To obtain the initial event ID, submit a request without a lastEventId. The events in the response are listed top to bottom from oldest to newest.
statusCode integer Integer value of the reason the send did not complete. Review Send Error Codes for more information.
statusMessage string The reason the send did not complete. Review Send Error Codes for more information.
eventCategoryType string TransactionalSendEvent event type. SMSSent indicates that the message was sent for delivery. SMSNotSent indicates that the message was not sent and includes the reason. SMSQueued indicates that the SMS has not yet been processed for sending.
timestamp string Time the event occured in Central Standard Time (no daylight savings)
definitionKey string Unique identifier of the definition.
eventID integer Numeric identifier of the event.
messageKey string Unique identifier to track message send status.
contactKey string Unique identifier for a subscriber in Marketing Cloud.
to string Channel address of the recipient. For SMS, it’s the recipient's mobile address.

More Detail

Sends a message to a single recipient via a send definition using a messageKey path parameter.

URL Parameters

Name Type Description
messageKey string Required Unique identifier used to track message status. Can be automatically created when you create a message or provided as part of the request. Can be up to 100 characters, and there are no restricted characters. Each recipient in a request must have a unique messageKey. If you use a duplicate messageKey in the same send request, the message is rejected.

JSON Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.
recipient object Required Object that contains parameters and metadata for the recipient, such as send tracking and personalization attributes. Use this parameter to send to one recipient. Use either the recipient or recipients parameter, but not both.
recipient.contactKey string Required Unique identifier for a subscriber in Marketing Cloud. Each request must include a contactKey. You can use an existing subscriber key or create one at send time by using the recipient’s email address.
recipient.to string Channel address of the recipient. For email, it’s the recipient's email address.
recipient.attributes object Information used to personalize the message for the recipient. Written as key:value pairs. The attributes match profile attributes, content attributes, or triggered send data extension attributes.

Responses

Result Reason
202 Request is accepted. Review example response.
Name Type Description
requestId string The unique identifier of this request.
errorcode string Error code for the exception
messageKey string Unique identifier to track message send status.

More Detail

Gets the send status for a message. Because this route is rate-limited, use it for infrequent verification of a messageKey. To collect send status at scale, subscribe to transactional send events using the Event Notification Service.

URL Parameters

Name Type Description
messageKey string Required Unique identifier to track message send status. Can be up to 100 characters, and there are no restricted characters. You must provide it in singleton requests using the recipient attribute. To provide it in batch requests, use the recipients array attribute. If you don’t provide the message key for recipients, it’s generated in the response.

Responses

Result Reason
200 Request is accepted. Review example response.
Name Type Description
requestId string The unique identifier of this request.
eventCategoryType string TransactionalSendEvents event type. EmailSent indicates that the email was sent to the email provider. EmailNotSent indicates that the email was not sent and includes the reason. EmailQueued indicates that the email has not yet been processed for sending.
timestamp string Time the event occured in Central Standard Time (no daylight savings)
compositeId string Marketing Cloud-specific processing identifier that can be referenced for support.
messageKey string Unique identifier to track message send status.
contactKey string Unique identifier for a subscriber in Marketing Cloud.
to string Channel address of the recipient. For email, it’s the recipient's email address.

More Detail

Gets a paginated list of messages that were not sent, ordered from oldest to newest.

URL Parameters

Name Type Description
type string Required Only notSent is supported.
$pageSize integer Number of messageKeys (array elements) to return per response page.
lastEventId integer Event ID from which you want the response to start. To obtain the initial event ID, submit a request without a lastEventId. The events in the response are listed top to bottom from oldest to newest.

Responses

Result Reason
200 Success. Review example response.
Name Type Description
lastEventID integer Event ID from which you want the response to start. To obtain the initial event ID, submit a request without a lastEventId. The events in the response are listed top to bottom from oldest to newest.
statusCode integer Integer value of the reason the send did not complete. Review Email Send Error Codes for more information.
statusMessage string The reason the send did not complete. Review Email Send Error Codes for more information.
eventCategoryType string TransactionalSendEvent event type. EmailSent indicates that the email was sent to the email provider. EmailNotSent indicates that the email was not sent and includes the reason. EmailQueued indicates that the email has not yet been processed for sending.
timestamp string Time the event occured in Central Standard Time (no daylight savings)
definitionKey string Unique identifier of the definition.
eventID integer Numeric identifier of the event.
messageKey string Unique identifier to track message send status.
contactKey string Unique identifier for a subscriber in Marketing Cloud.
to string Channel address of the recipient. For email, it’s the recipient's email address. For SMS, it’s the recipient's mobile number.

More Detail

Gets send definition configuration details for a definition key.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 Definition retrieved. Review example response.
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
definitionId string Unique Marketing Cloud object identifier.
description string User-provided description of the send definition.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.
content.message string The message content that you want sent with each message. Use substitution strings and AMPscript to personalize the message.
subscriptions.shortCode string The short or long code for the mobile transmissions for each message on this definition.
subscriptions.countryCode string The country code associated with the shortCode for the mobile transmissions for each message on this definition. Don't use for long codes, unless your account configuration requires it.
subscriptions.keyword string The keyword used to track messages
subscriptions.autoAddSubscriber boolean Allows you to add a recipient as subscriber against the shortCode using contactKey. When false, the message is rejected if contactKey doesn’t exist as a subscriber. Default is true.
subscriptions.updateSubscriber boolean Updates the recipient subscriber data including mobile number. Default is true.

More Detail

Updates a specific message definition. It can take up to two minutes for outbound messages to reflect the changes.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

JSON Parameters

Name Type Description
name string Required Name of the definition. Must be unique.
content.message string Required The message content that you want sent with each message. Use substitution strings and AMPscript to personalize the message.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
description string User-provided description of the send definition.
subscriptions.shortCode string Required The short or long code for the mobile transmissions for each message on this definition.
subscriptions.countryCode string The country code associated with the shortCode for the mobile transmissions for each message on this definition. Don't use for long codes, unless your account configuration requires it.
subscriptions.keyword string The keyword used to track messages
subscriptions.autoAddSubscriber boolean Permits adding a recipient as subscriber against the shortCode using contactKey. When false, the message is rejected if contactKey does not exist as a subscriber. Default is true.

Responses

Result Reason
200 Send definition is updated. Review example response.
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
definitionId string Unique Marketing Cloud object identifier.
description string User-provided description of the send definition.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.
content.message string The message content that you want sent with each message. Use substitution strings and AMPscript to personalize the message.
subscriptions.shortCode string The short or long code for the mobile transmissions for each message on this definition.
subscriptions.countryCode string The country code associated with the shortCode for the mobile transmissions for each message on this definition. Don't use for long codes, unless your account configuration requires it.
subscriptions.keyword string The keyword used to track messages
subscriptions.autoAddSubscriber boolean Allows you to add a recipient as subscriber against the shortCode using contactKey. When false, the message is rejected if contactKey doesn’t exist as a subscriber. Default is true.
subscriptions.updateSubscriber boolean Updates the recipient subscriber data including mobile number. Default is true.

More Detail

Deletes a message definition. You can't restore a deleted definition. The deleted definition is archived, and a delete location of the definition key is provided in the response for reference. You can reuse a deleted definition key because the information associated with it is copied to a new unique identifier.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 Send definition is updated on server. Review example response.
Name Type Description
requestId string The unique identifier of this request.
message string Success
deletedDefinitionKey string New value of the definition key for referencing the deleted definition.

More Detail

Gets send definition configuration details for a definition key. You can only retrieve activated Transactional Send Journeys created in Journey Builder.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 Definition retrieved. Review example response.
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
definitionId string Unique Marketing Cloud object identifier.
description string User-provided description of the send definition.
classification string Marketing Cloud external key of a sending classification defined in Email Studio Administration. Only transactional classifications are permitted. Default is default transactional.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.
content.customerKey string Unique identifier of the content asset.
subscriptions.dataExtension string Marketing Cloud external key of the triggered send data extension. Each request inserts as a new row in the data extension.
subscriptions.list string Marketing Cloud external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
subscriptions.autoAddSubscriber boolean Adds the recipient’s email address and contact key as a subscriber key to subscriptions.list. Default is true.
subscriptions.updateSubscriber boolean For email only: Updates the recipient’s contact key as a subscriber key with the provided email address and profile attributes to subscriptions.list. Default is true.
options.trackLinks boolean Wraps links for tracking and reporting. Default is true.
options.cc array Include CC email addresses with every send. To CC dynamically at send time, create a profile attribute and use the %%attribute%% syntax.
options.bcc array Include BCC email addresses with every send. To dynamically BCC at send time, create a profile attribute and use the %%attribute%% syntax.
journey boolean Indicates whether the send definition is available in Journey Builder as a Transactional Send Journey.
journey.interactionKey string Unique ID of the Transactional Send Journey.

More Detail

Updates a specific message definition.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

JSON Parameters

Name Type Description
name string Required Name of the definition. Must be unique.
content.customerKey string Required Unique identifier of the content asset.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
description string User-provided description of the send definition.
classification string Marketing Cloud external key of a sending classification defined in Email Studio Administration. Only transactional classifications are permitted. Default is default transactional.
subscriptions.list string Required Marketing Cloud external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
subscriptions.dataExtension string Marketing Cloud external key of the triggered send data extension. Each request inserts as a new row in the data extension.
subscriptions.autoAddSubscriber boolean Adds the recipient’s email address and contact key as a subscriber key to subscriptions.list. Default is true.
subscriptions.updateSubscriber boolean Updates the recipient’s contact key as a subscriber key with the provided email address and profile attributes to subscriptions.list. Default is true.
options.trackLinks boolean Wraps links for tracking and reporting. Default is true.
options.cc array Include CC email addresses with every send. To CC dynamically at send time, create a profile attribute and use the %%attribute%% syntax.
options.bcc array Include BCC email addresses with every send. To BCC dynamically at send time, create a profile attribute and use the %%attribute%% syntax.
options.createJourney boolean A value of true makes the send definition available in Journey Builder as a Transactional Send Journey. After the definition is tied to a Transactional Send Journey, the definition remains part of Journey Builder. You can’t unlink a journey from a definition without recreating the transactional send definition.

Responses

Result Reason
200 Send definition is updated. Review example response.
Name Type Description
requestId string The unique identifier of this request.
name string Name of the definition.
definitionKey string Unique, user-generated key to access the definition object.
definitionId string Unique Marketing Cloud object identifier.
description string User-provided description of the send definition.
classification string Marketing Cloud external key of a sending classification defined in Email Studio Administration. Only transactional classifications are permitted. Default is default transactional.
status string Operational state of the definition: active, inactive, or deleted. A message sent to an active definition is processed and delivered. A message sent to an inactive definition isn’t processed or delivered. Instead, the message is queued for later processing for up to three days.
createdDate string Date the definition was created.
modifiedDate string Date and time the definition was most recently changed.
content.customerKey string Unique identifier of the content asset.
subscriptions.dataExtension string Marketing Cloud external key of the triggered send data extension. Each request inserts as a new row in the data extension.
subscriptions.list string Marketing Cloud external key of the list or all subscribers. Contains the subscriber keys and profile attributes.
subscriptions.autoAddSubscriber boolean Adds the recipient’s email address and contact key as a subscriber key to subscriptions.list. Default is true.
subscriptions.updateSubscriber boolean For email only: Updates the recipient’s contact key as a subscriber key with the provided email address and profile attributes to subscriptions.list. Default is true.
options.trackLinks boolean Wraps links for tracking and reporting. Default is true.

More Detail

Deletes a message definition. You can't restore a deleted definition. The deleted definition is archived, and a delete location of the definition key is provided in the response for reference. You can reuse a deleted definition key because the information associated with it is copied to a new unique identifier.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 Send definition is updated on server. Review example response.
Name Type Description
requestId string The unique identifier of this request.
message string Success
deletedDefinitionKey string New value of the definition key for referencing the deleted definition.

More Detail

Gets metrics for the messages of a send definition. Applies to messages that are accepted but not yet processed.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 OK. Review example response.
Name Type Description
requestId string The unique identifier of this request.
ageSeconds integer Age of the oldest unprocessed record in the queue.
count integer Total number of records waiting to be processed in the queue.

More Detail

Deletes the queue for a send definition. The send definition must be in inactive status.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 OK. Review example response.
Name Type Description
requestId string The unique identifier of this request.
message string Status of the request.

More Detail

Gets metrics for the messages of a send definition. Applies to messages that are accepted but not yet processed.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 OK. Review example response.
Name Type Description
requestId string The unique identifier of this request.
ageSeconds integer Age of the oldest unprocessed record in the queue.
count integer Total number of records waiting to be processed in the queue.

More Detail

Deletes the queue for a send definition. The send definition must be in inactive status.

URL Parameters

Name Type Description
definitionKey string Required Unique identifier of the definition.

Responses

Result Reason
200 OK. Review example response.
Name Type Description
requestId string The unique identifier of this request.
message string Status of the request.

More Detail

Workflowteams

https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/hub/v1

Resource Description
Retrieves a list of active workflow teams. Depending on the query string parameters, the result includes one or both filtered results: role user information for each workflow item or workflow items to which the current user is assigned.

URL Parameters

Name Type Description
objecttype string Required Specify the workflow object type to retrieve or use (@all to retrieve all workflow object types.
assignee string If assignee=@current, this resource retrieves workflow teams that the current user is assigned to.
extra string If extra=roleusers, then each item in the response includes role user information as a collection.

Responses

Result Reason
200 Response contains a list of workflow teams.
Name Type Description
count string Number of records retrieved
page string Current page number
pageSize string Number of records on each page
objectType string Workflow type
Items array List of workflow items
Items.id string Workflow Id
Items.objectType string Workflow object type
Items.name string Workflow name
Items.description string Description of the workflow
Items.roleUsers array List of role users
Items.roleUsers.id string Unique Id for the association between role and users
Items.roleUsers.TeamId string Team Id the role user is associated with
Items.roleUsers.roleDefinitionId string Role definition Id
Items.roleUsers.roleDefinitionName string Role definition name
Items.roleUsers.employeeId string Id of the user assigned to the role
Items.roleUsers.employeeName string Name of the user assigned to the role
Items.roleUsers.roleId string Id of the role
404 404 Not Found
Name Type Description
message string No workflow teams found for workflow object type: [workflowObjectType]
errorcode string Error code for the exception (30003)
Transitions the workflow item associated to an approval item from one state to another. For example, a workflow item in Draft state moves to Submitted via the Submit transition.

URL Parameters

Name Type Description
workflowItemId string Required Id of the workflow item

JSON Parameters

Name Type Description
transitionid string Required Id for the transition
overrideNotificationId string An override notification of 9 sends workflow notifications upon transition. Currently, the only possible value is 9.

Responses

Result Reason
400 400 Bad Request
Name Type Description
message string WorkflowItemId must be a number greater than zero.
errorcode string Error code for the exception (10003)
Creates a user role to assign to a workflow role.

URL Parameters

Name Type Description
workflowRoleInstanceId string Required Id of the workflow role instance.
workflowItemId string Required Id of the workflow item

JSON Parameters

Name Type Description
userId string Required Id of the user to be added
userName string Required Username of the user to be added

Responses

Result Reason
200 Response contains a list of workflow teams just created.
Name Type Description
workflowRoleInstanceUserId string Id of the newly created record in WorkflowRoleInstanceUser table
workflowItemId string Id of the workflow item
workflowRoleInstanceId string Id of the WorkflowRoleInstance record
userId string Id of the user
memberId string MID the user belongs to
enterpriseId string EID the user’s MID belongs to
modifiedBy string MemberId that created the record
400 400 Bad Request
Name Type Description
message string UserId is required.
errorcode string Error code for the exception (10002)
403 403 Unauthorized
Name Type Description
message string Insufficient Privileges.
errorcode string Error code for the exception (20002)
404 404 Not Found
Name Type Description
message string The UserId supplied does not exist and thus the role user cannot be added.
errorcode string Error code for the exception (30003)
Removes a user assigned to a workflow role.

URL Parameters

Name Type Description
workflowRoleInstanceId string Required Id of the workflow role instance record
workflowItemId string Required Id of the workflow item
userId string Required Id of the user to be removed

Responses

Result Reason
204 204 No Content
Name Type Description
message string Value is a required field.
errorcode string Error code for the exception (10002)
400 404 Not Found
Name Type Description
message string The WorkflowRoleInstanceUser is not active and thus cannot be deleted.
errorcode string Error code for the exception (30003)
403 403 Unauthorized
Name Type Description
message string Insufficient Privileges.
errorcode string Error code for the exception (20002)