x-generator: NSwag v14.4.0.0 (NJsonSchema v11.3.2.0 (Newtonsoft.Json v13.0.0.0)) openapi: 3.0.0 info: title: apiconnector.com version: v2 servers: - url: https://r1-api.dotdigital.com paths: /v2/account-info: get: tags: - ApiAccount summary: Gets a summary of information about the current status of the account. operationId: ApiAccount_GetCurrentAccountInfo responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiAccount' /v2/server-time: get: tags: - ApiAccount summary: Gets the UTC time as set on the server. operationId: ApiAccount_GetServerTime responses: '200': description: '' content: application/json: schema: type: string format: date-time /v2/accounts: post: tags: - ApiAccount summary: Creates an account. The ID of the newly returned account will be returned as the result of this call. description: "There are some mandatory, and some optional fields - missing mandatory fields will cause error code to be returned.\n The following fields are mandatory: \"EMAIL\", \"FIRSTNAME\", \"LASTNAME\", \"USERIPADDRESS\".\n The following fields are optional: \"COMPANY\", \"PHONENUMBER\", \"LCID\", \"TIMEZONEID\", \"ISEXPRESSACCOUNT\"." operationId: ApiAccount_CreateAccount requestBody: x-name: account content: application/json: schema: $ref: '#/components/schemas/ApiAccount' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiAccount' /v2/accounts/{accountId}/managed-users: post: tags: - ApiAccount summary: Creates Managed user for a given account id. operationId: ApiAccount_CreateManagedUser parameters: - name: accountId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiManagedUser content: application/json: schema: $ref: '#/components/schemas/ApiManagedUser' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiManagedUser' /v2/accounts/{accountId}/oauth-tokens: post: tags: - ApiAccount summary: Adds an OAuth token to an account. operationId: ApiAccount_CreateOAuthToken parameters: - name: accountId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiOAuthToken content: application/json: schema: $ref: '#/components/schemas/ApiOAuthToken' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiOAuthToken' /v2/accounts/{accountId}/theme: put: tags: - ApiAccount summary: Changes a theme for an account. operationId: ApiAccount_UpdateTheme parameters: - name: accountId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiTheme content: application/json: schema: $ref: '#/components/schemas/ApiTheme' required: true x-position: 2 responses: '200': description: '' /v2/accounts/{accountId}/api-users: post: tags: - ApiAccount summary: Creates an API user for a given account ID. The username of the created user will be returned as the result of this call. description: This method may only be called on an account with no existing API users configured using the rate limiting scheme referenced in the request indicated with IsTieredRateLimitedApiUser e.g. flat or tiered rate limiting. operationId: ApiAccount_CreateApiUser parameters: - name: accountId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiUser content: application/json: schema: $ref: '#/components/schemas/ApiUser' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiUser' /v2/accounts/empty-recycle-bin: post: tags: - ApiAccount summary: Empties the account's recycle bin. operationId: ApiAccount_EmptyRecycleBin responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/address-books/{id}: get: tags: - ApiAddressBook summary: Gets a list by ID. operationId: ApiAddressBook_GetAddressBookById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiAddressBook' put: tags: - ApiAddressBook summary: Updates a list. operationId: ApiAddressBook_UpdateAddressBook parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiAddressBook content: application/json: schema: $ref: '#/components/schemas/ApiAddressBook' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiAddressBook' delete: tags: - ApiAddressBook summary: Deletes a list. operationId: ApiAddressBook_DeleteAddressBook parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/address-books: get: tags: - ApiAddressBook summary: Gets all lists. operationId: ApiAddressBook_GetAddressBooks parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAddressBook' post: tags: - ApiAddressBook summary: Creates a list. operationId: ApiAddressBook_CreateAddressBook requestBody: x-name: apiAddressBook content: application/json: schema: $ref: '#/components/schemas/ApiAddressBook' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiAddressBook' /v2/address-books/private: get: tags: - ApiAddressBook summary: Gets all private lists. operationId: ApiAddressBook_GetPrivateAddressBooks parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAddressBook' /v2/address-books/public: get: tags: - ApiAddressBook summary: Gets all public lists. operationId: ApiAddressBook_GetPublicAddressBooks parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAddressBook' /v2/contacts/{contactId}/address-books: get: tags: - ApiAddressBook summary: Gets any lists that a contact is in. operationId: ApiAddressBook_GetAddressBooksForContact parameters: - name: contactId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAddressBook' /v2/campaigns/{campaignId}/address-books: get: tags: - ApiAddressBook summary: Gets any lists that a campaign has ever been sent to. operationId: ApiAddressBook_GetAddressBooksForCampaign parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiAddressBook' /v2/campaigns/{id}: get: tags: - ApiCampaign summary: Gets a campaign by ID. operationId: ApiCampaign_GetCampaignById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaign' put: tags: - ApiCampaign summary: Updates a given campaign. operationId: ApiCampaign_UpdateCampaign parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiCampaign content: application/json: schema: $ref: '#/components/schemas/ApiCampaign' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaign' /v2/campaigns: get: tags: - ApiCampaign summary: Gets all campaigns. operationId: ApiCampaign_GetCampaigns parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaign' post: tags: - ApiCampaign summary: Creates a campaign. operationId: ApiCampaign_CreateCampaign requestBody: x-name: apiCampaign content: application/json: schema: $ref: '#/components/schemas/ApiCampaignWithType' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignWithType' /v2/campaigns/filtered: get: tags: - ApiCampaign summary: Gets all campaigns (with filters). operationId: ApiCampaign_GetCampaignsWithFilters parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 - name: ~type x-originalName: type in: query schema: type: string nullable: true x-position: 3 - name: ~tags x-originalName: tags in: query style: form explode: true schema: type: array nullable: true items: type: string x-position: 4 - name: ~sentDate x-originalName: sentDate in: query schema: type: string format: date-time nullable: true x-position: 5 - name: ~statuses x-originalName: statuses in: query style: form explode: true schema: type: array nullable: true items: type: string x-position: 6 - name: ~scheduledDateFrom x-originalName: scheduledDateFrom in: query schema: type: string format: date-time nullable: true x-position: 7 - name: ~scheduledDateTo x-originalName: scheduledDateTo in: query schema: type: string format: date-time nullable: true x-position: 8 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignExtended' /v2/campaigns/with-details: get: tags: - ApiCampaign summary: Gets all campaigns with additional information like type. operationId: ApiCampaign_GetCampaignsWithDetails parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignDetails' /v2/address-books/{addressBookId}/campaigns: get: tags: - ApiCampaign summary: Gets any campaigns that have been sent to a list. operationId: ApiCampaign_GetCampaignsForAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaign' /v2/campaigns/with-activity-since/{date}: get: tags: - ApiCampaign summary: Gets all sent campaigns, which have had activity (e.g. clicks, opens) after a specified date. operationId: ApiCampaign_GetSentCampaignsWithActivitySinceDate parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaign' /v2/campaigns/split-test: post: tags: - ApiCampaign summary: Creates a split test campaign. operationId: ApiCampaign_CreateSplitTestCampaign requestBody: x-name: apiCampaign content: application/json: schema: $ref: '#/components/schemas/ApiSplitTestCampaign' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSplitTestCampaign' /v2/campaigns/{campaignId}/copy: post: tags: - ApiCampaign summary: Copies a given campaign returning the new campaign. operationId: ApiCampaign_CopyCampaign parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaign' /v2/campaigns/{campaignId}: delete: tags: - ApiCampaign summary: Deletes a campaign, and any associated reporting data. If the campaign is currently in use, or being sent to, this call will not be permitted. operationId: ApiCampaign_DeleteCampaign parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '204': description: '' /v2/campaigns/{campaignId}/with-details: get: tags: - ApiCampaign summary: Gets a campaign by ID with additional information like type and assigned tags operationId: ApiCampaign_GetCampaignWithDetails parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignDetails' /v2/campaigns/{campaignId}/split-test: get: tags: - ApiCampaign summary: Gets the split test results of a given campaign. operationId: ApiCampaign_GetCampaignSplitTestResults parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSplitTestResults' /v2/custom-from-addresses: get: tags: - ApiCampaignFromAddress summary: Gets all custom from addresses which can be used in a campaign. operationId: ApiCampaignFromAddress_GetCustomFromAddresses parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignFromAddress' /v2/campaigns/{campaignId}/summary: get: tags: - ApiCampaignReporting summary: Gets a summary of reporting information for a specified campaign. operationId: ApiCampaignReporting_GetCampaignSummary parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSummary' /v2/campaigns/{campaignId}/activities: get: tags: - ApiCampaignReporting summary: Gets a list of contacts who were sent a campaign, with their activity. operationId: ApiCampaignReporting_GetCampaignActivities parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactSummary' /v2/campaigns/{campaignId}/activities/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets a list of contacts who were sent a campaign, and retrieves only those contacts who showed activity (e.g. they clicked, opened) after a specified date. operationId: ApiCampaignReporting_GetCampaignActivitiesSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 2000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactSummary' /v2/campaigns/{campaignId}/activities/{contactId}: get: tags: - ApiCampaignReporting summary: Gets activity for a given contact and campaign. operationId: ApiCampaignReporting_GetCampaignContactActivity parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignContactSummary' /v2/campaigns/{campaignId}/clicks: get: tags: - ApiCampaignReporting summary: Gets a list of campaign link clicks. operationId: ApiCampaignReporting_GetCampaignClicks parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactClick' /v2/campaigns/{campaignId}/clicks/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets a list of link clicks for a campaign after a specified date operationId: ApiCampaignReporting_GetCampaignClicksSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactClick' /v2/campaigns/{campaignId}/activities/{contactId}/clicks: get: tags: - ApiCampaignReporting summary: Gets a list of campaign link clicks for a contact. operationId: ApiCampaignReporting_GetCampaignContactClicks parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactClick' /v2/campaigns/{campaignId}/opens: get: tags: - ApiCampaignReporting summary: Gets a list of campaign opens. operationId: ApiCampaignReporting_GetCampaignOpens parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactOpen' /v2/campaigns/{campaignId}/opens/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets a list of opens for a campaign after a specified date operationId: ApiCampaignReporting_GetCampaignOpensSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactOpen' /v2/campaigns/{campaignId}/activities/{contactId}/opens: get: tags: - ApiCampaignReporting summary: Gets a list of campaign opens for a contact. operationId: ApiCampaignReporting_GetCampaignContactOpens parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactOpen' /v2/campaigns/{campaignId}/page-views/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets a list of page views for a campaign after a specified date. operationId: ApiCampaignReporting_GetCampaignPageViewsSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactPageView' /v2/campaigns/{campaignId}/activities/{contactId}/page-views: get: tags: - ApiCampaignReporting summary: Gets a list of page views for a contact. operationId: ApiCampaignReporting_GetCampaignContactPageViews parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactPageView' /v2/campaigns/{campaignId}/activities/{contactId}/replies: get: tags: - ApiCampaignReporting summary: Gets a list of campaign replies for a contact. description: You may not request more than 5 records at a time using the "select" parameter. operationId: ApiCampaignReporting_GetCampaignContactReplies parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 5 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactReply' /v2/campaigns/{campaignId}/social-bookmark-views: get: tags: - ApiCampaignReporting summary: Gets campaign social bookmark views for a campaign. operationId: ApiCampaignReporting_GetCampaignSocialBookmarkViews parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactSocialBookmarkView' /v2/campaigns/{campaignId}/activities/{contactId}/social-bookmark-views: get: tags: - ApiCampaignReporting summary: Gets campaign social bookmark views for a contact. operationId: ApiCampaignReporting_GetCampaignContactSocialBookmarkViews parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactSocialBookmarkView' /v2/campaigns/{campaignId}/roi-details/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets a list of ROI information for a campaign after the specified date. operationId: ApiCampaignReporting_GetCampaignRoiDetailsSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactRoiDetail' /v2/campaigns/{campaignId}/activities/{contactId}/roi-details: get: tags: - ApiCampaignReporting summary: Gets a list of ROI information for a contact. operationId: ApiCampaignReporting_GetCampaignContactRoiDetails parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactRoiDetail' /v2/campaigns/{campaignId}/hard-bouncing-contacts: get: tags: - ApiCampaignReporting summary: Gets a list of contacts who hard bounced when sent a particular campaign. operationId: ApiCampaignReporting_GetCampaignHardBouncingContacts parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: withFullData in: query schema: type: boolean default: false x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContact' /v2/campaigns/{campaignId}/clicks-with-groups: get: tags: - ApiCampaignReporting summary: Gets a list of campaign clicks with link groups operationId: ApiCampaignReporting_GetCampaignClicksAndLinkGroups parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactClickWithGroups' /v2/campaigns/{campaignId}/clicks-with-groups/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets a list of campaign clicks with link groups after a specified date operationId: ApiCampaignReporting_GetCampaignClicksAndLinkGroupsSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactClickWithGroups' /v2/campaigns/{campaignId}/activities/{contactId}/clicks-with-groups: get: tags: - ApiCampaignReporting summary: Gets a list of campaign clicks with link groups for a contact operationId: ApiCampaignReporting_GetCampaignContactClicksAnsLinkGroups parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignContactClickWithGroups' /v2/campaigns/{campaignId}/revenue/since-date/{date}: get: tags: - ApiCampaignReporting summary: Gets the revenue attributed to a specified campaign after a specified date. operationId: ApiCampaignReporting_GetCampaignRevenueSinceDate parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignRevenueAttributionDetail' /v2/campaigns/{campaignId}/activities/{contactId}/revenue: get: tags: - ApiCampaignReporting summary: Gets the revenue attributed to a specified campaign generated by a specified contact. operationId: ApiCampaignReporting_GetCampaignRevenueByContact parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignRevenueAttributionDetail' /v2/campaigns/metrics: get: tags: - ApiCampaignReporting summary: Gets all sent campaigns daily metrics for the specified date range. operationId: ApiCampaignReporting_GetCampaignMetrics parameters: - name: startDate in: query schema: type: string format: date-time x-position: 1 - name: endDate in: query schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiCampaignReportModelExtended' /v2/campaigns/send: post: tags: - ApiCampaignSend summary: Sends a specified campaign to one or more lists, segments or contacts at a specified time. Leave the list array empty to send to All Contacts. operationId: ApiCampaignSend_SendCampaign requestBody: x-name: apiCampaignSend content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSend' required: true x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSend' /v2/campaigns/send-time-optimised: post: tags: - ApiCampaignSend summary: Sends a specified campaign to one or more lists, segments or contacts at the most appropriate time based upon their previous open. Leave the list array empty to send to All Contacts. operationId: ApiCampaignSend_SendTimeOptimisedCampaign requestBody: x-name: apiCampaignSend content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSend' required: true x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSend' /v2/campaigns/send/{sendId}: get: tags: - ApiCampaignSend summary: Gets the send status using send ID. operationId: ApiCampaignSend_GetCampaignSendProgress parameters: - name: sendId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignSend' /v2/contacts/suppressed-since/{date}: get: tags: - ApiContact summary: Gets a list of suppressed contacts after a given date along with the reason for suppression. operationId: ApiContact_GetSuppressedContacts parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactSuppression' /v2/contacts/unsubscribed-since/{date}: get: tags: - ApiContact summary: Gets a list of unsubscribed contacts who unsubscribed after a given date. operationId: ApiContact_GetUnsubscribedContacts parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactSuppression' /v2/contacts/modified-since/{date}: get: tags: - ApiContact summary: Gets a list of modified contacts after a specified date. operationId: ApiContact_GetModifiedContacts parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: withFullData in: query schema: type: boolean default: false x-position: 2 - name: select in: query schema: type: integer format: int32 default: 2000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContact' /v2/contacts/created-since/{date}: get: tags: - ApiContact summary: Gets a list of created contacts after a specified date. operationId: ApiContact_GetNewContacts parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: withFullData in: query schema: type: boolean default: false x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContact' /v2/contacts: get: tags: - ApiContact summary: Gets a list of all contacts in the account. operationId: ApiContact_GetContacts parameters: - name: withFullData in: query schema: type: boolean default: false x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContact' post: tags: - ApiContact summary: Creates a contact. operationId: ApiContact_CreateContact requestBody: x-name: apiContact content: application/json: schema: $ref: '#/components/schemas/ApiContact' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContact' /v2/contacts/{id}: get: tags: - ApiContact summary: Gets a contact by ID. Unsubscribed or suppressed contacts will not be retrieved. operationId: ApiContact_GetContactById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContact' put: tags: - ApiContact summary: Updates a contact. operationId: ApiContact_UpdateContact parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContact content: application/json: schema: $ref: '#/components/schemas/ApiContact' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContact' delete: tags: - ApiContact summary: Deletes a contact. operationId: ApiContact_DeleteContact parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '204': description: '' /v2/contacts/{id}/with-consent: get: tags: - ApiContact summary: Gets a contact by ID with consent records. operationId: ApiContact_GetContactByIdWithConsent parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsent' put: tags: - ApiContact summary: Updates a contact with consent records. operationId: ApiContact_UpdateContact2 parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContactWithConsent content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsent' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsent' /v2/contacts/{email}: get: tags: - ApiContact summary: Gets a contact by email address. operationId: ApiContact_GetContactByEmail parameters: - name: email in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContact' /v2/contacts/{email}/with-consent: get: tags: - ApiContact summary: Gets a contact by email address with consent records. operationId: ApiContact_GetContactByEmailWithConsent parameters: - name: email in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsent' /v2/contacts/with-consent: post: tags: - ApiContact summary: Creates a contact with consent records. operationId: ApiContact_CreateContactWithConsent requestBody: x-name: apiContactWithConsent content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsent' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsent' /v2/contacts/with-consent-and-preferences: post: tags: - ApiContact summary: Creates a contact with consent and preference records. operationId: ApiContact_CreateContactWithConsentAndPreferences requestBody: x-name: apiContactWithConsentAndPreferences content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsentAndPreferences' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsentAndPreferences' /v2/contacts/{id}/with-consent-and-preferences: put: tags: - ApiContact summary: Updates a contact with consent and preference records. operationId: ApiContact_UpdateContact3 parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContactWithConsentAndPreferences content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsentAndPreferences' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactWithConsentAndPreferences' /v2/address-books/{addressBookId}/contacts/{contactId}: delete: tags: - ApiContact summary: Deletes a contact from a given list. operationId: ApiContact_DeleteContactFromAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: contactId in: path required: true schema: type: integer format: int32 x-position: 2 responses: '204': description: '' /v2/address-books/{addressBookId}/contacts: delete: tags: - ApiContact summary: Deletes all contacts from a given list. operationId: ApiContact_DeleteAllContactsFromAddressBookWithoutProgress parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '204': description: '' get: tags: - ApiContact summary: Gets a list of contacts in a given list. operationId: ApiContact_GetContactsInAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: withFullData in: query schema: type: boolean default: false x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContact' post: tags: - ApiContact summary: Adds a contact to a given list. operationId: ApiContact_AddContactToAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContact content: application/json: schema: $ref: '#/components/schemas/ApiContact' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContact' /v2/address-books/{addressBookId}/contacts/delete-all: post: tags: - ApiContact summary: Deletes all contacts from a given list. operationId: ApiContact_DeleteAllContactsFromAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiBulkContactDeletion' /v2/address-books/{addressBookId}/contacts/delete: post: tags: - ApiContact summary: Deletes multiple contacts from a list. This will run in the background, and for larger lists may take some minutes to fully delete. operationId: ApiContact_DeleteContactsFromAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: contactIds content: application/json: schema: type: array items: type: integer format: int32 required: true x-position: 2 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiBulkContactDeletion' /v2/contacts/deletion/{deletionRequestId}: get: tags: - ApiContact summary: Gets the status of a previously started request to delete contacts from a list. operationId: ApiContact_GetBulkContactDeletionProgress parameters: - name: deletionRequestId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiBulkContactDeletion' /v2/address-books/{addressBookId}/contacts/modified-since/{date}: get: tags: - ApiContact summary: Gets a list of contacts who were modified since a given date, in a given list. operationId: ApiContact_GetModifiedContactsInAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: withFullData in: query schema: type: boolean default: false x-position: 3 - name: select in: query schema: type: integer format: int32 default: 2000 x-position: 4 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 5 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContact' /v2/address-books/{addressBookId}/contacts/unsubscribed-since/{date}: get: tags: - ApiContact summary: Gets a list of contacts who have unsubscribed from a given list. operationId: ApiContact_GetUnsubscribedContactsInAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactSuppression' /v2/contacts/unsubscribe: post: tags: - ApiContact summary: Unsubscribes contact from account. operationId: ApiContact_UnsubscribeContact requestBody: x-name: apiContact content: application/json: schema: $ref: '#/components/schemas/ApiContact' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactSuppression' /v2/contacts/suppress-contacts: put: tags: - ApiContact summary: Suppresses a batch of contacts from account. operationId: ApiContact_SuppressContacts requestBody: x-name: apiContacts content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactIdAndEmail' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiBulkSuppressResponse' /v2/address-books/{addressBookId}/contacts/unsubscribe: post: tags: - ApiContact summary: Unsubscribes contact from a given list. operationId: ApiContact_UnsubscribeContactFromAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContact content: application/json: schema: $ref: '#/components/schemas/ApiContact' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactSuppression' /v2/contacts/resubscribe: post: tags: - ApiContact summary: Resubscribes a previously unsubscribed contact. operationId: ApiContact_ResubscribeContact requestBody: x-name: apiContactResubscription content: application/json: schema: $ref: '#/components/schemas/ApiContactResubscription' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiResubscribeResult' /v2/contacts/resubscribe-with-no-challenge: post: tags: - ApiContact summary: Resubscribes a previously unsubscribed contact with no challenge. operationId: ApiContact_ResubscribeContactWithNoChallenge requestBody: x-name: apiContactResubscription content: application/json: schema: $ref: '#/components/schemas/ApiContactResubscription' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiResubscribeResult' /v2/address-books/{addressBookId}/contacts/resubscribe: post: tags: - ApiContact summary: Resubscribes a previously unsubscribed contact to a given list. operationId: ApiContact_ResubscribeContactToAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContactResubscription content: application/json: schema: $ref: '#/components/schemas/ApiContactResubscription' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiResubscribeResult' /v2/address-books/{addressBookId}/contacts/resubscribe-with-no-challenge: post: tags: - ApiContact summary: Resubscribes a previously unsubscribed contact to a given list with no challenge. operationId: ApiContact_ResubscribeContactToAddressBookWithNoChallenge parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiContactResubscription content: application/json: schema: $ref: '#/components/schemas/ApiContactResubscription' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiResubscribeResult' /v2/contacts/transactional-data/{collectionName}: post: tags: - ApiContact summary: Adds a single piece of transactional data to a contact. operationId: ApiContact_AddTransactionalData parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 requestBody: x-name: apiTransactionalData content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalData' required: true x-position: 2 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalData' get: tags: - ApiContact operationId: ApiContact_GetTransactionalDataByCollectionFromId parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: fromId in: query schema: type: string x-position: 2 - name: take in: query schema: type: integer format: int32 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalData' /v2/contacts/transactional-data/import/{collectionName}: post: tags: - ApiContact summary: Adds multiple pieces of transactional data to contacts asynchronously, returning an identifier that can be used to check for import progress. operationId: ApiContact_ImportTransactionalData parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 requestBody: x-name: apiTransactionalData content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalData' required: true x-position: 2 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalDataImport' /v2/contacts/transactional-data/import/{importId}: get: tags: - ApiContact summary: Gets the import status of a previously started transactional import. operationId: ApiContact_GetTransactionalDataImportProgress parameters: - name: importId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalDataImport' /v2/contacts/transactional-data/import/{importId}/report: get: tags: - ApiContact summary: Gets a report with statistics about what was successfully imported, and what was unable to be imported. operationId: ApiContact_GetTransactionalDataImportReport parameters: - name: importId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalDataImportReport' /v2/contacts/transactional-data/{collectionName}/{key}: post: tags: - ApiContact summary: Replaces a piece of transactional data by key (logicall equivalent to a delete and an insert). operationId: ApiContact_ReplaceTransactionalDataByKey parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: key in: path required: true schema: type: string x-position: 2 requestBody: x-name: apiJsonData content: application/json: schema: $ref: '#/components/schemas/ApiJsonData' required: true x-position: 3 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalData' delete: tags: - ApiContact summary: Deletes a piece of transactional data by key. operationId: ApiContact_DeleteTransactionalDataByKey parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: key in: path required: true schema: type: string x-position: 2 responses: '204': description: '' get: tags: - ApiContact summary: Gets a piece of transactional data by key. operationId: ApiContact_GetTransactionalDataByKey parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: key in: path required: true schema: type: string x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalData' /v2/contacts/transactional-data/{collectionName}/empty: put: tags: - ApiContact summary: Removes all items from a transactional data collection. operationId: ApiContact_EmptyTransactionalDataCollection parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 responses: '204': description: '' /v2/contacts/{id}/transactional-data/{collectionName}: delete: tags: - ApiContact summary: Deletes all transactional data for a contact. operationId: ApiContact_DeleteTransactionalDataByContactId parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: id in: path required: true schema: type: integer format: int32 x-position: 2 responses: '204': description: '' get: tags: - ApiContact summary: Gets a list of all transactional data for a contact (100 most recent only). operationId: ApiContact_GetTransactionalDataByContactId parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: id in: path required: true schema: type: integer format: int32 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalData' /v2/contacts/{email}/transactional-data/{collectionName}: delete: tags: - ApiContact summary: Deletes all transactional data for a contact. operationId: ApiContact_DeleteTransactionalDataByContactEmail parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: email in: path required: true schema: type: string x-position: 2 responses: '204': description: '' get: tags: - ApiContact summary: Gets a list of all transactional data for a contact (100 most recent only). operationId: ApiContact_GetTransactionalDataByContactEmail parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: email in: path required: true schema: type: string x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalData' /v2/transactional-data/{collectionName}: get: tags: - ApiContact summary: Gets a list of account scoped transactional data for given collection operationId: ApiContact_GetAccountScopedTransactionalData parameters: - name: collectionName in: path required: true schema: type: string x-position: 1 - name: select in: query schema: type: integer format: int32 default: 100 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalData' /v2/contacts/transactional-data-collections: get: tags: - ApiContact summary: Gets a list of transactional data collections. operationId: ApiContact_GetTransactionalDataCollections parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalDataCollection' /v2/contacts/score: get: tags: - ApiContact summary: Gets a list of contact scoring data. operationId: ApiContact_GetContactsScore parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactScore' /v2/address-books/{addressBookId}/contacts/score: get: tags: - ApiContact summary: Gets a list of contact scoring data in specified list. operationId: ApiContact_GetContactsScoreInAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactScore' /v2/contacts/score/modified-since/{date}: get: tags: - ApiContact summary: Gets a list of contact scoring data ordered by modified date. operationId: ApiContact_GetContactsScoreModifiedSinceDate parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactScore' /v2/contacts/{email}/score: get: tags: - ApiContact summary: Gets particular contact scoring data. operationId: ApiContact_GetContactScoreByEmail parameters: - name: email in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactScore' /v2/contacts/{id}/score: get: tags: - ApiContact summary: Gets particular contact scoring data. operationId: ApiContact_GetContactScoreByContactId parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactScore' /v2/contacts/count: get: tags: - ApiContact summary: Gets the total number of contacts in an account. operationId: ApiContact_GetAllContactsCount responses: '200': description: '' content: application/json: schema: type: integer format: int32 /v2/contacts/retrieve-collection: get: tags: - ApiContact summary: Gets a batch of contacts by ID or email address. operationId: ApiContact_GetMultipleContacts requestBody: x-name: multipleContactsRequest content: application/json: schema: $ref: '#/components/schemas/ApiMultipleContactsRequest' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiMultipleContactsResponse' /v2/address-books/{addressBookId}/contacts/import: post: tags: - ApiContactImport summary: Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress. description: Import format can either be CSV or Excel. Must include one column called "Email". Any other columns will attempt to map to your custom data fields. operationId: ApiContactImport_ImportContactsToAddressBook parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: file content: application/json: schema: $ref: '#/components/schemas/ApiFileMedia' required: true x-position: 2 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImport' /v2/address-books/{addressBookId}/contacts/import/with-merge-option/{mergeOption}: post: tags: - ApiContactImport summary: Bulk creates, or bulk updates, contacts with merge options. The ID of returned object can be used to query import progress. description: Import format can either be CSV or Excel. Must include one column called "Email". Passing a valid "mergeOption" parameter is compulsory. Any other columns will attempt to map to your custom data fields. operationId: ApiContactImport_ImportContactsToAddressBookWithMergeOption parameters: - name: addressBookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: mergeOption in: path required: true schema: default: NotAvailableInThisVersion oneOf: - $ref: '#/components/schemas/ApiContactMergeOptionTypes' x-position: 3 requestBody: x-name: file content: application/json: schema: $ref: '#/components/schemas/ApiFileMedia' required: true x-position: 2 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImport' /v2/contacts/import: post: tags: - ApiContactImport summary: Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress. description: Import format can either be CSV or Excel. Must include one column called "Email". Any other columns will attempt to map to your custom data fields. operationId: ApiContactImport_ImportContacts requestBody: x-name: file content: application/json: schema: $ref: '#/components/schemas/ApiFileMedia' required: true x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImport' /v2/contacts/import-collection: post: tags: - ApiContactImport summary: Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress. operationId: ApiContactImport_ImportContactsCollection requestBody: x-name: contactImportCollection content: application/json: schema: $ref: '#/components/schemas/ApiContactImportCollection' required: true x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImport' /v2/contacts/import/with-merge-option/{mergeOption}: post: tags: - ApiContactImport summary: Bulk creates, or bulk updates, contacts with merge options. The ID of returned object can be used to query import progress. description: This API works on both contact data fields and marketing preferences. Import format can either be CSV or Excel. Must include one column called "Email". Passing a valid "mergeOption" parameter is compulsory. Any other columns will attempt to map to your custom data fields. operationId: ApiContactImport_ImportContactsWithMergeOption parameters: - name: mergeOption in: path required: true schema: default: NotAvailableInThisVersion oneOf: - $ref: '#/components/schemas/ApiContactMergeOptionTypes' x-position: 2 requestBody: x-name: file content: application/json: schema: $ref: '#/components/schemas/ApiFileMedia' required: true x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImport' /v2/contacts/import/{importId}: get: tags: - ApiContactImport summary: Gets the import status of a previously started contact import. operationId: ApiContactImport_GetContactImportProgress parameters: - name: importId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImport' /v2/contacts/import/{importId}/report: get: tags: - ApiContactImport summary: Gets a report with statistics about what was successfully imported, and what was unable to be imported. operationId: ApiContactImport_GetContactImportReport parameters: - name: importId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiContactImportReport' /v2/contacts/import/{importId}/report-faults: get: tags: - ApiContactImport summary: Gets all records that were not successfully imported. description: The data are returned in CSV file, which is UTF-8 encoded. This data will only be available for approximately one week after import. operationId: ApiContactImport_GetContactImportReportFaults parameters: - name: importId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/data-fields: post: tags: - ApiDataField summary: Creates a data field within the account. operationId: ApiDataField_CreateDataField requestBody: x-name: dataField content: application/json: schema: $ref: '#/components/schemas/ApiDataField' required: true x-position: 1 responses: '201': description: '' get: tags: - ApiDataField summary: Lists the data fields within the account. operationId: ApiDataField_GetDataFields responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiDataField' /v2/data-fields/{name}: delete: tags: - ApiDataField summary: Deletes a data field within the account. operationId: ApiDataField_DeleteDataField parameters: - name: name in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiDependencyResult' '409': description: '' content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' /v2/document-folders/{folderId}/documents: get: tags: - ApiDocument summary: Gets all uploaded documents. operationId: ApiDocument_GetDocuments parameters: - name: folderId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiDocument' post: tags: - ApiDocument summary: Uploads a document into the specified folder. operationId: ApiDocument_UploadDocument parameters: - name: folderId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: file content: application/json: schema: $ref: '#/components/schemas/ApiFileMedia' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiDocument' /v2/document-folders: get: tags: - ApiDocument summary: Fetches the document folder tree structure. operationId: ApiDocument_GetDocumentFolders responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiDocumentFolder' /v2/campaigns/{campaignId}/attachments: get: tags: - ApiDocument summary: Gets documents that are currently attached to a campaign. operationId: ApiDocument_GetCampaignAttachments parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiDocument' post: tags: - ApiDocument summary: Adds a document to a campaign as an attachment. operationId: ApiDocument_AttachDocumentToCampaign parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: document content: application/json: schema: $ref: '#/components/schemas/ApiDocument' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiDocument' /v2/document-folders/{folderId}: post: tags: - ApiDocument summary: Creates a new document folder. operationId: ApiDocument_CreateDocumentFolder parameters: - name: folderId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: folder content: application/json: schema: $ref: '#/components/schemas/ApiDocumentFolder' required: true x-position: 2 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiDocumentFolder' /v2/campaigns/{campaignId}/attachments/{documentId}: delete: tags: - ApiDocument summary: Removes an attachment from a campaign. operationId: ApiDocument_DeleteDocumentFromCampaign parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: documentId in: path required: true schema: type: integer format: int32 x-position: 2 responses: '204': description: '' /v2/ecommerce/summaries: get: tags: - ApiEcommerce summary: Returns the Retail KPI summaries for the specified date range. operationId: ApiEcommerce_GetKpiMetricSummaries parameters: - name: dateRange in: query schema: $ref: '#/components/schemas/ApiKpiMetricDateRange' x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ReportSummaryOfKpiMetricSummary' post: tags: - ApiEcommerce summary: Requests a refreshing of metric data. operationId: ApiEcommerce_RefreshSummaries responses: '200': description: '' /v2/ecommerce/fullsummary: get: tags: - ApiEcommerce summary: Returns Retail KPI summaries across every data range. operationId: ApiEcommerce_GetAllKpiMetricSummaries responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ReportSummaryOfKpiMetricSummary' /v2/ecommerce/summary/{summaryType}: get: tags: - ApiEcommerce summary: Gets a KPI metric of a specified type over a specified date range. operationId: ApiEcommerce_GetMetricSummary parameters: - name: dateRange in: query schema: $ref: '#/components/schemas/ApiKpiMetricDateRange' x-position: 1 - name: summaryType in: path required: true schema: $ref: '#/components/schemas/ApiKpiMetricType' x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ReportSummaryOfKpiMetricSummary' /v2/ecommerce/orders: get: tags: - ApiEcommerce summary: Gets a list of all orders since a date. operationId: ApiEcommerce_GetTransactionalDataByCollectionFromIdFromDate parameters: - name: fromDate in: query schema: type: string format: date-time x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiOrder' /v2/image-folders: get: tags: - ApiImage summary: Fetches the campaign image folder tree structure. operationId: ApiImage_GetImageFolders responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiImageFolder' /v2/image-folders/{id}: get: tags: - ApiImage summary: Gets an image folder by id. operationId: ApiImage_GetImageFolderById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiImageFolder' post: tags: - ApiImage summary: Creates a new campaign image folder. operationId: ApiImage_CreateImageFolder parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: folder content: application/json: schema: $ref: '#/components/schemas/ApiImageFolder' required: true x-position: 2 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiImageFolder' /v2/image-folders/{folderId}/images: post: tags: - ApiImage summary: Uploads a new campaign image into the specified folder. operationId: ApiImage_UploadImage parameters: - name: folderId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: file content: application/json: schema: $ref: '#/components/schemas/ApiFileMedia' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiImage' /v2/preferences: get: tags: - ApiPreference summary: Gets the preferences, as a tree structure. operationId: ApiPreference_GetPreferences responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary post: tags: - ApiPreference summary: Creates a new preference or a new preference category. operationId: ApiPreference_CreatePreference requestBody: x-name: preference content: application/json: schema: $ref: '#/components/schemas/ApiPreference' required: true x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/preferences/modified-since/{sinceDate}: get: tags: - ApiPreference summary: Gets an array of preferences that have been modified since the specified date. operationId: ApiPreference_GetPreferencesSinceDate parameters: - name: sinceDate in: path required: true schema: type: string format: date-time x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/preferences/{id}: put: tags: - ApiPreference summary: Update the preference with the specified Id. operationId: ApiPreference_UpdatePreference parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: preference content: application/json: schema: $ref: '#/components/schemas/ApiPreference' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiPreference' delete: tags: - ApiPreference summary: Deletes the preference with the specified Id. operationId: ApiPreference_DeletePreference parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contacts/with-preference/{preferenceId}: get: tags: - ApiPreference summary: Gets a list of contacts subscribed to the specified preference. operationId: ApiPreference_GetContactsWithPreference parameters: - name: preferenceId in: path required: true schema: type: integer format: int32 x-position: 1 - name: minContactId in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactIdAndEmail' /v2/address-books/{bookId}/contacts/with-preference/{preferenceId}: get: tags: - ApiPreference summary: Gets a list of contacts from a given list, subscribed to the specified preference. operationId: ApiPreference_GetContactsInAddressBookWithPreference parameters: - name: bookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: preferenceId in: path required: true schema: type: integer format: int32 x-position: 2 - name: minContactId in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactIdAndEmail' /v2/contacts/{contactId}/preferences: put: tags: - ApiPreference summary: Sets the subscribed preferences for a contact operationId: ApiPreference_SetPreferencesForContact parameters: - name: contactId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: preferences content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPreference' required: true x-position: 2 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contact/{contactId}/preferences: put: tags: - ApiPreference summary: Sets the subscribed preferences for a contact operationId: ApiPreference_SetPreferencesForContact2 parameters: - name: contactId in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: preferences content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPreference' required: true x-position: 2 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contacts/{contactEmail}/preferences: put: tags: - ApiPreference summary: Sets the subscribed preferences for a contact operationId: ApiPreference_SetPreferencesForContact3 parameters: - name: contactEmail in: path required: true schema: type: string x-position: 1 requestBody: x-name: preferences content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPreference' required: true x-position: 2 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary get: tags: - ApiPreference summary: Gets the preferences for the specified contact operationId: ApiPreference_GetPreferencesForContact parameters: - name: contactEmail in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contact/{contactEmail}/preferences: put: tags: - ApiPreference summary: Sets the subscribed preferences for a contact operationId: ApiPreference_SetPreferencesForContact4 parameters: - name: contactEmail in: path required: true schema: type: string x-position: 1 requestBody: x-name: preferences content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiPreference' required: true x-position: 2 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary get: tags: - ApiPreference summary: Gets the preferences for the specified contact operationId: ApiPreference_GetPreferencesForContact2 parameters: - name: contactEmail in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contacts/{contactID}/preferences: get: tags: - ApiPreference summary: Gets the preferences for the specified contact operationId: ApiPreference_GetPreferencesForContact3 parameters: - name: contactID in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contact/{contactID}/preferences: get: tags: - ApiPreference summary: Gets the preferences for the specified contact operationId: ApiPreference_GetPreferencesForContact4 parameters: - name: contactID in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contacts/{contactEmail}/subscriptions: get: tags: - ApiPreference summary: Gets the subscriptions for the specified contact operationId: ApiPreference_GetSubscriptionsForContact parameters: - name: contactEmail in: path required: true schema: type: string x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/contacts/with-preference/{preferenceId}/opt-ins-since/{sinceDate}: get: tags: - ApiPreference summary: Gets a list of contacts who have opted in to a preference since the specified date operationId: ApiPreference_GetModifiedPreferenceOptIns parameters: - name: preferenceId in: path required: true schema: type: integer format: int32 x-position: 1 - name: sinceDate in: path required: true schema: type: string format: date-time x-position: 2 - name: minContactId in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactWithPreferenceOptIn' /v2/address-books/{bookId}/contacts/with-preference/{preferenceId}/opt-ins-since/{sinceDate}: get: tags: - ApiPreference summary: Gets a list of contacts, from a given list, who have opted in to a preference, since the specified date operationId: ApiPreference_GetModifiedPreferenceOptInsByAddressBook parameters: - name: bookId in: path required: true schema: type: integer format: int32 x-position: 1 - name: preferenceId in: path required: true schema: type: integer format: int32 x-position: 2 - name: sinceDate in: path required: true schema: type: string format: date-time x-position: 3 - name: minContactId in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiContactWithPreferenceOptIn' /v2/products/recommendations: get: tags: - ApiProductRecommendations summary: Gets all product recommendations for the account. operationId: ApiProductRecommendations_GetProductRecommendations responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiProductRecommendation' /v2/programs/{id}: get: tags: - ApiProgram summary: Gets a program by id. operationId: ApiProgram_GetProgramById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiProgram' /v2/programs: get: tags: - ApiProgram summary: Gets all programs. operationId: ApiProgram_GetPrograms parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiProgram' /v2/programs/enrolments/{status}: get: tags: - ApiProgram summary: Gets enrolments by status. operationId: ApiProgram_GetEnrolmentsByStatus parameters: - name: status in: path required: true schema: $ref: '#/components/schemas/ApiProgramEnrolmentStatus' x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiProgramEnrolment' /v2/programs/enrolments/{enrolmentId}: get: tags: - ApiProgram summary: Gets an enrolment by id. operationId: ApiProgram_GetEnrolmentById parameters: - name: enrolmentId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiProgramEnrolment' /v2/programs/enrolments/{enrolmentId}/report-faults: get: tags: - ApiProgram summary: Gets all contacts that were not successfully enrolled, by enrolment ID. operationId: ApiProgram_GetEnrolmentReport parameters: - name: enrolmentId in: path required: true schema: type: string format: guid x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/programs/enrolments: post: tags: - ApiProgram summary: Creates an enrolment. description: Please note that your account can only call this a maximum of 20 times per hour, across all programs. operationId: ApiProgram_PostEnrolment requestBody: x-name: enrolment content: application/json: schema: $ref: '#/components/schemas/ApiProgramEnrolment' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiProgramEnrolment' /v2/segments/refresh/{id}: post: tags: - ApiSegment summary: Refreshes a segment by ID. operationId: ApiSegment_RefreshSegment parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '202': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSegmentRefresh' get: tags: - ApiSegment summary: Gets the refresh progress for a segment. operationId: ApiSegment_GetSegmentRefreshProgress parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSegmentRefresh' /v2/segments: get: tags: - ApiSegment summary: Gets all segments. operationId: ApiSegment_GetSegments parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSegment' /v2/sms-messages/send-to/{telephoneNumber}: post: tags: - ApiSms summary: Sends a single SMS message. operationId: ApiSms_SendSingleSmsMessage parameters: - name: telephoneNumber in: path required: true schema: type: string x-position: 1 requestBody: x-name: sms content: application/json: schema: $ref: '#/components/schemas/ApiSms' required: true x-position: 2 responses: '204': description: '' /v2/sms/campaigns: post: tags: - ApiSms summary: Creates an SMS campaign. operationId: ApiSms_CreateSmsCampaign requestBody: x-name: apiSmsCampaign content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' get: tags: - ApiSms summary: Gets SMS Campaigns. operationId: ApiSms_GetSmsCampaigns parameters: - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' /v2/sms/campaigns/{id}: put: tags: - ApiSms summary: Updates an SMS campaign. operationId: ApiSms_UpdateSmsCampaign parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: apiSmsCampaign content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' delete: tags: - ApiSms summary: Deletes an SMS campaign. operationId: ApiSms_DeleteSmsCampaign parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '204': description: '' get: tags: - ApiSms summary: Gets SMS campaign by Id. operationId: ApiSms_GetSmsCampaign parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' /v2/sms/campaigns/copy: post: tags: - ApiSms summary: Copies an SMS campaign. operationId: ApiSms_CopySmsCampaign requestBody: x-name: apiCopyrequest content: application/json: schema: $ref: '#/components/schemas/ApiCopySmsCampaignRequest' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSmsCampaign' /v2/surveys: get: tags: - ApiSurvey summary: Gets a list of all surveys in the account. operationId: ApiSurvey_GetSurveys parameters: - name: assignedToAddressBookOnly in: query schema: type: boolean default: false x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSurvey' /v2/surveys/with-activity-since/{date}: get: tags: - ApiSurvey summary: Gets a list of surveys in the account that have changed since the specified date. operationId: ApiSurvey_GetSurveys2 parameters: - name: date in: path required: true schema: type: string format: date-time x-position: 1 - name: assignedToAddressBookOnly in: query schema: type: boolean default: false x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSurvey' /v2/surveys/{id}: get: tags: - ApiSurvey summary: Gets a single survey by its ID. operationId: ApiSurvey_GetSurveyById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiSurvey' /v2/surveys/{id}/fields: get: tags: - ApiSurvey summary: Gets a list of survey pages, each containing a list of the fields on that page. operationId: ApiSurvey_GetSurveyFields parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSurveyPage' /v2/surveys/{id}/responses: get: tags: - ApiSurvey summary: Gets a list of all responses for a given survey. operationId: ApiSurvey_GetSurveyResponses parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 2 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSurveyResponse' /v2/surveys/{id}/responses/with-activity-since/{date}: get: tags: - ApiSurvey summary: Gets a list of responses that have changed since the specified date. operationId: ApiSurvey_GetSurveyResponses2 parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 - name: date in: path required: true schema: type: string format: date-time x-position: 2 - name: select in: query schema: type: integer format: int32 default: 1000 x-position: 3 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 4 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiSurveyResponse' /v2/templates: post: tags: - ApiTemplate summary: Creates a template. operationId: ApiTemplate_CreateTemplate requestBody: x-name: template content: application/json: schema: $ref: '#/components/schemas/ApiTemplate' required: true x-position: 1 responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTemplate' get: tags: - ApiTemplate summary: Gets list of all templates. operationId: ApiTemplate_GetTemplates parameters: - name: select in: query schema: type: integer format: int32 default: 500 x-position: 1 - name: skip in: query schema: type: integer format: int32 default: 0 x-position: 2 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTemplate' /v2/templates/{id}: get: tags: - ApiTemplate summary: Gets a template by ID. operationId: ApiTemplate_GetTemplateById parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTemplate' put: tags: - ApiTemplate summary: Updates a template. operationId: ApiTemplate_UpdateTemplate parameters: - name: id in: path required: true schema: type: integer format: int32 x-position: 1 requestBody: x-name: template content: application/json: schema: $ref: '#/components/schemas/ApiTemplate' required: true x-position: 2 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiTemplate' /v2/email: post: tags: - ApiTransactionalEmail summary: Sends a transactional email. If sending to multiple recipients, please separate addresses with a comma. operationId: ApiTransactionalEmail_SendTransactionalEmail requestBody: x-name: email content: application/json: schema: $ref: '#/components/schemas/ApiTransactionalEmail' x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/email/batch: post: tags: - ApiTransactionalEmail summary: Sends one or more transactional emails. If sending to multiple recipients, please separate addresses with a comma. operationId: ApiTransactionalEmail_SendTransactionalEmails requestBody: x-name: emails content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalEmail' x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/email/triggered-campaign: post: tags: - ApiTransactionalEmail summary: Sends a transactional email with content taken from a triggered campaign. If sending to multiple recipients, please separate addresses with a comma. operationId: ApiTransactionalEmail_SendTransactionalEmailTriggeredCampaign parameters: - name: email in: query schema: nullable: true oneOf: - $ref: '#/components/schemas/ApiTransactionalEmailTriggeredCampaign' x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/email/triggered-campaign/batch: post: tags: - ApiTransactionalEmail summary: Sends one or more transactional emails with content for each taken from a triggered campaign. If sending to multiple recipients, please separate addresses with a comma. operationId: ApiTransactionalEmail_SendTransactionalEmailTriggeredCampaigns requestBody: x-name: emails content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalEmailTriggeredCampaign' x-position: 1 responses: '200': description: '' content: application/octet-stream: schema: type: string format: binary /v2/email/stats/since-date/{startDate}: get: tags: - ApiTransactionalEmail summary: Gets aggregated transactional email statistics. operationId: ApiTransactionalEmail_GetTransactionalEmailStatistics parameters: - name: startDate in: path required: true schema: type: string format: date-time x-position: 1 - name: endDate in: query schema: type: string format: date-time nullable: true x-position: 2 - name: aggregatedBy in: query schema: default: AllTime oneOf: - $ref: '#/components/schemas/ApiAggregationPeriod' x-position: 3 responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTransactionalEmailStatistics' /v2/campaigns/{campaignId}/prepared-for-transactional-email/{email}: get: tags: - ApiTransactionalEmail operationId: ApiTransactionalEmail_GetCampaignByIdWithCompiledContentForTransactionalEmail parameters: - name: campaignId in: path required: true schema: type: integer format: int32 x-position: 1 - name: email in: path required: true schema: type: string x-position: 2 - name: personalizationValues in: query style: form explode: true schema: type: array items: $ref: '#/components/schemas/ApiPersonalizationValue' x-position: 3 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ApiCampaignWithProcessedContent' components: schemas: ApiAccount: type: object additionalProperties: false required: - properties properties: id: type: integer format: int32 properties: type: array items: $ref: '#/components/schemas/ApiAccountProperty' ApiAccountProperty: type: object additionalProperties: false properties: name: type: string nullable: true type: type: string nullable: true value: type: string nullable: true ApiManagedUser: type: object additionalProperties: false required: - email - password - permissions properties: email: type: string minLength: 1 password: type: string minLength: 1 permissions: type: array items: $ref: '#/components/schemas/ApiPermissionTypes' firstName: type: string nullable: true lastName: type: string nullable: true mobileNumber: type: string nullable: true ApiPermissionTypes: type: string description: '' x-enumNames: - Sender - Reporter - EditCampaigns - TemplateAdmin - Contacts - ReportDrillDown - ContactExporter - CanSendWithoutApproval - Programs - ManageAccount - NotAvailableInThisVersion enum: - Sender - Reporter - EditCampaigns - TemplateAdmin - Contacts - ReportDrillDown - ContactExporter - CanSendWithoutApproval - Programs - ManageAccount - NotAvailableInThisVersion ApiOAuthToken: type: object additionalProperties: false required: - redirectUri properties: redirectUri: type: string minLength: 1 clientId: type: string nullable: true secretKey: type: string nullable: true ApiTheme: type: object additionalProperties: false required: - primaryColor - secondaryColor - hyperlinkColor - buttonColor properties: primaryColor: type: string minLength: 1 pattern: ^(\#[0-9a-f]{6})$ secondaryColor: type: string minLength: 1 pattern: ^(\#[0-9a-f]{6})$ hyperlinkColor: type: string minLength: 1 pattern: ^(\#[0-9a-f]{6})$ buttonColor: type: string minLength: 1 pattern: ^(\#[0-9a-f]{6})$ ApiUser: type: object additionalProperties: false required: - password properties: email: type: string readOnly: true nullable: true password: type: string minLength: 1 isTransactionalEmailUser: type: boolean isTieredRateLimitedApiUser: type: boolean description: type: string nullable: true ApiAddressBook: type: object additionalProperties: false required: - name properties: id: type: integer format: int32 name: type: string minLength: 1 visibility: $ref: '#/components/schemas/ApiAddressBookVisibility' contacts: type: integer format: int32 ApiAddressBookVisibility: type: string description: '' x-enumNames: - Private - Public - NotAvailableInThisVersion enum: - Private - Public - NotAvailableInThisVersion ApiCampaign: type: object additionalProperties: false required: - name - subject - fromName - htmlContent - plainTextContent properties: id: type: integer format: int32 name: type: string maxLength: 255 minLength: 1 subject: type: string minLength: 1 fromName: type: string minLength: 1 fromAddress: nullable: true oneOf: - $ref: '#/components/schemas/ApiCampaignFromAddress' htmlContent: type: string minLength: 1 plainTextContent: type: string minLength: 1 replyAction: $ref: '#/components/schemas/ApiCampaignReplyActions' replyToAddress: type: string nullable: true isSplitTest: type: boolean readOnly: true status: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignStatuses' customReplyToAddress: type: string nullable: true ApiCampaignFromAddress: type: object additionalProperties: false properties: id: type: integer format: int32 email: type: string nullable: true ApiCampaignReplyActions: type: string description: '' x-enumNames: - Unset - WebMailForward - Webmail - Delete - NotAvailableInThisVersion enum: - Unset - WebMailForward - Webmail - Delete - NotAvailableInThisVersion ApiCampaignStatuses: type: string description: '' x-enumNames: - Unsent - Sending - Sent - Paused - Cancelled - RequiresSystemApproval - RequiresSMSApproval - RequiresWorkflowApproval - Triggered - NotAvailableInThisVersion enum: - Unsent - Sending - Sent - Paused - Cancelled - RequiresSystemApproval - RequiresSMSApproval - RequiresWorkflowApproval - Triggered - NotAvailableInThisVersion ApiCampaignExtended: allOf: - $ref: '#/components/schemas/ApiCampaign' - type: object additionalProperties: false properties: type: type: string tags: type: array items: type: string sentDate: type: string format: date-time nullable: true scheduledDate: type: string format: date-time nullable: true ApiCampaignDetails: type: object additionalProperties: false required: - name - subject - fromName - htmlContent - plainTextContent properties: id: type: integer format: int32 name: type: string minLength: 1 subject: type: string minLength: 1 fromName: type: string minLength: 1 fromAddress: nullable: true oneOf: - $ref: '#/components/schemas/ApiCampaignFromAddress' htmlContent: type: string minLength: 1 plainTextContent: type: string minLength: 1 replyAction: $ref: '#/components/schemas/ApiCampaignReplyActions' replyToAddress: type: string nullable: true isSplitTest: type: boolean readOnly: true status: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignStatuses' type: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignTypes' tags: type: array nullable: true items: $ref: '#/components/schemas/ApiCampaignTag' splitTestOptions: type: array nullable: true items: type: string sentDate: type: string format: date-time customReplyToAddress: type: string nullable: true ApiCampaignTypes: type: string description: '' x-enumNames: - Standard - Triggered - NotAvailableInThisVersion enum: - Standard - Triggered - NotAvailableInThisVersion ApiCampaignTag: type: object additionalProperties: false properties: name: type: string nullable: true ApiCampaignWithType: allOf: - $ref: '#/components/schemas/ApiCampaign' - type: object additionalProperties: false properties: type: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignTypes' ApiSplitTestCampaign: type: object additionalProperties: false required: - name - plainTextContents properties: id: type: integer format: int32 name: type: string maxLength: 255 minLength: 1 subjects: type: array nullable: true items: type: string fromNames: type: array nullable: true items: type: string fromAddresses: type: array nullable: true items: $ref: '#/components/schemas/ApiCampaignFromAddress' htmlContents: type: array nullable: true items: type: string plainTextContents: type: array items: type: string replyAction: $ref: '#/components/schemas/ApiCampaignReplyActions' replyToAddress: type: string nullable: true status: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignStatuses' customReplyToAddress: type: string nullable: true ApiCampaignSplitTestResults: type: object additionalProperties: false properties: versions: type: array nullable: true items: $ref: '#/components/schemas/ApiSplitTestResult' splitTestWinnerMetric: $ref: '#/components/schemas/ApiSplitTestMetrics' ApiSplitTestResult: type: object additionalProperties: false properties: subjectLine: type: string nullable: true fromName: type: string nullable: true fromAddress: type: string nullable: true htmlContent: type: string nullable: true plainTextContent: type: string nullable: true version: type: string nullable: true winningVersion: type: boolean resultsActual: type: number format: decimal resultsPercentage: type: number format: decimal ApiSplitTestMetrics: type: string description: '' x-enumNames: - Opens - Clicks - ROI - NotAvailableInThisVersion enum: - Opens - Clicks - ROI - NotAvailableInThisVersion ApiCampaignSummary: type: object additionalProperties: false properties: dateSent: type: string format: date-time numUniqueOpens: type: integer format: int32 numUniqueTextOpens: type: integer format: int32 numTotalUniqueOpens: type: integer format: int32 numOpens: type: integer format: int32 numTextOpens: type: integer format: int32 numTotalOpens: type: integer format: int32 numClicks: type: integer format: int32 numTextClicks: type: integer format: int32 numTotalClicks: type: integer format: int32 numPageViews: type: integer format: int32 numTotalPageViews: type: integer format: int32 numTextPageViews: type: integer format: int32 numForwards: type: integer format: int32 numTextForwards: type: integer format: int32 numEstimatedForwards: type: integer format: int32 numTextEstimatedForwards: type: integer format: int32 numTotalEstimatedForwards: type: integer format: int32 numReplies: type: integer format: int32 numTextReplies: type: integer format: int32 numTotalReplies: type: integer format: int32 numHardBounces: type: integer format: int32 numTextHardBounces: type: integer format: int32 numTotalHardBounces: type: integer format: int32 numSoftBounces: type: integer format: int32 numTextSoftBounces: type: integer format: int32 numTotalSoftBounces: type: integer format: int32 numUnsubscribes: type: integer format: int32 numTextUnsubscribes: type: integer format: int32 numTotalUnsubscribes: type: integer format: int32 numIspComplaints: type: integer format: int32 numTextIspComplaints: type: integer format: int32 numTotalIspComplaints: type: integer format: int32 numMailBlocks: type: integer format: int32 numTextMailBlocks: type: integer format: int32 numTotalMailBlocks: type: integer format: int32 numSent: type: integer format: int32 numTextSent: type: integer format: int32 numTotalSent: type: integer format: int32 numRecipientsClicked: type: integer format: int32 numDelivered: type: integer format: int32 numTextDelivered: type: integer format: int32 numTotalDelivered: type: integer format: int32 percentageDelivered: type: number format: double percentageUniqueOpens: type: number format: double percentageOpens: type: number format: double percentageUnsubscribes: type: number format: double percentageReplies: type: number format: double percentageHardBounces: type: number format: double percentageSoftBounces: type: number format: double percentageUsersClicked: type: number format: double percentageClicksToOpens: type: number format: double revenue: type: string nullable: true conversionRate: type: number format: decimal assistedRevenue: type: string nullable: true numOrders: type: integer format: int32 numAssistedOrders: type: integer format: int32 ApiCampaignContactSummary: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true numOpens: type: integer format: int32 numPageViews: type: integer format: int32 numClicks: type: integer format: int32 numForwards: type: integer format: int32 numEstimatedForwards: type: integer format: int32 numReplies: type: integer format: int32 dateSent: type: string format: date-time dateFirstOpened: type: string format: date-time dateLastOpened: type: string format: date-time firstOpenIp: type: string description: "if the openip is null it doesn't get mapped so this defualt \nempty string is needed is required to maintain api usage." nullable: true unsubscribed: type: boolean softBounced: type: boolean hardBounced: type: boolean ApiCampaignContactClick: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true url: type: string nullable: true ipAddress: type: string nullable: true userAgent: type: string nullable: true dateClicked: type: string format: date-time keyword: type: string nullable: true ApiCampaignContactOpen: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true mailClient: type: string nullable: true mailClientVersion: type: string nullable: true ipAddress: type: string nullable: true userAgent: type: string nullable: true isHtml: type: boolean isForward: type: boolean dateOpened: type: string format: date-time ApiCampaignContactPageView: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true url: type: string nullable: true dateViewed: type: string format: date-time ApiCampaignContactReply: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true fromAddress: type: string nullable: true toAddress: type: string nullable: true subject: type: string nullable: true message: type: string nullable: true isHtml: type: boolean dateReplied: type: string format: date-time replyType: $ref: '#/components/schemas/ApiCampaignReplyTypes' customReplyToAddress: type: string nullable: true ApiCampaignReplyTypes: type: string description: '' x-enumNames: - Reply - AutoReply - ChallengeResponse - Unsafe - NotAvailableInThisVersion enum: - Reply - AutoReply - ChallengeResponse - Unsafe - NotAvailableInThisVersion ApiCampaignContactSocialBookmarkView: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true bookmarkName: type: string nullable: true numViews: type: integer format: int32 ApiCampaignContactRoiDetail: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true markerName: type: string nullable: true dataType: $ref: '#/components/schemas/ApiRoiDetailDataTypes' value: nullable: true dateEntered: type: string format: date-time ApiRoiDetailDataTypes: type: string description: '' x-enumNames: - String - Numeric - Date - Boolean - NotAvailableInThisVersion enum: - String - Numeric - Date - Boolean - NotAvailableInThisVersion ApiContact: type: object additionalProperties: false required: - email properties: id: type: integer format: int32 email: type: string minLength: 1 optInType: nullable: true oneOf: - $ref: '#/components/schemas/ApiContactOptInTypes' emailType: nullable: true oneOf: - $ref: '#/components/schemas/ApiContactEmailTypes' dataFields: type: array nullable: true items: $ref: '#/components/schemas/ApiContactData' status: $ref: '#/components/schemas/ApiContactStatuses' ApiContactOptInTypes: type: string description: '' x-enumNames: - Unknown - Single - Double - VerifiedDouble - NotAvailableInThisVersion enum: - Unknown - Single - Double - VerifiedDouble - NotAvailableInThisVersion ApiContactEmailTypes: type: string description: '' x-enumNames: - PlainText - Html - NotAvailableInThisVersion enum: - PlainText - Html - NotAvailableInThisVersion ApiContactData: type: object additionalProperties: false properties: key: type: string nullable: true value: nullable: true ApiContactStatuses: type: string description: '' x-enumNames: - Subscribed - Unsubscribed - SoftBounced - HardBounced - IspComplained - MailBlocked - PendingOptIn - DirectComplaint - Deleted - SharedSuppression - Suppressed - NotAllowed - DomainSuppression - NoMxRecord - NotAvailableInThisVersion enum: - Subscribed - Unsubscribed - SoftBounced - HardBounced - IspComplained - MailBlocked - PendingOptIn - DirectComplaint - Deleted - SharedSuppression - Suppressed - NotAllowed - DomainSuppression - NoMxRecord - NotAvailableInThisVersion ApiCampaignContactClickWithGroups: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true url: type: string nullable: true ipAddress: type: string nullable: true userAgent: type: string nullable: true dateClicked: type: string format: date-time keyword: type: string nullable: true groups: type: array nullable: true items: $ref: '#/components/schemas/ApiCampaignLinkGroup' ApiCampaignLinkGroup: type: object additionalProperties: false properties: name: type: string nullable: true dateCreated: type: string format: date-time ApiCampaignRevenueAttributionDetail: type: object additionalProperties: false properties: campaignID: type: integer format: int32 dateLastSent: type: string format: date-time currency: type: string nullable: true revenue: type: number format: decimal numOrders: type: integer format: int32 conversionRate: type: number format: decimal ApiCampaignReportModelExtended: type: object additionalProperties: false properties: campaignId: type: integer format: int32 dateSent: type: string format: date-time campaignName: type: string campaignType: $ref: '#/components/schemas/CampaignType' sent: type: integer format: int32 delivered: type: integer format: int32 uniqueOpens: type: integer format: int32 clicks: type: integer format: int32 hardBounces: type: integer format: int32 softBounces: type: integer format: int32 replies: type: integer format: int32 unsubscribes: type: integer format: int32 forwards: type: integer format: int32 uniqueClicks: type: integer format: int32 sendStatusFails: type: integer format: int32 mailBlocks: type: integer format: int32 opens: type: integer format: int32 complaints: type: integer format: int32 pageViews: type: integer format: int32 percentageDelivered: type: number format: decimal percentageUniqueOpens: type: number format: decimal percentageHardBounces: type: number format: decimal percentageSoftBounces: type: number format: decimal percentageReplies: type: number format: decimal percentageUnsubscribes: type: number format: decimal percentageUniqueClicks: type: number format: decimal percentageUniqueClicksToOpens: type: number format: decimal revenue: type: number format: decimal conversionRate: type: number format: decimal assistedRevenue: type: number format: decimal orders: type: integer format: int32 assistedOrders: type: integer format: int32 tags: type: array items: type: string subjectLine: type: string nullable: true fromName: type: string nullable: true fromAddress: type: string nullable: true isSplitTest: type: boolean CampaignType: type: string description: '' x-enumNames: - Standard - Triggered - Template - AiTemplate enum: - Standard - Triggered - Template - AiTemplate ApiCampaignSend: type: object additionalProperties: false required: - campaignId properties: id: type: string format: guid campaignId: type: integer format: int32 addressBookIds: type: array nullable: true items: type: integer format: int32 contactIds: type: array nullable: true items: type: integer format: int32 sendDate: type: string format: date-time splitTestOptions: nullable: true oneOf: - $ref: '#/components/schemas/ApiSplitTestSendOptions' status: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignSendStatuses' ApiSplitTestSendOptions: type: object additionalProperties: false required: - testMetric - testPercentage - testPeriodHours properties: testMetric: $ref: '#/components/schemas/ApiSplitTestMetrics' testPercentage: type: integer format: int32 maximum: 100.0 minimum: 1.0 testPeriodHours: type: integer format: int32 maximum: 2147483647.0 minimum: 1.0 ApiCampaignSendStatuses: type: string description: '' x-enumNames: - NotSent - Scheduled - Sending - Sent - Cancelled - NotAvailableInThisVersion enum: - NotSent - Scheduled - Sending - Sent - Cancelled - NotAvailableInThisVersion ApiContactSuppression: type: object additionalProperties: false properties: suppressedContact: nullable: true oneOf: - $ref: '#/components/schemas/ApiContact' dateRemoved: type: string format: date-time reason: $ref: '#/components/schemas/ApiContactStatuses' ApiContactWithConsent: type: object additionalProperties: false properties: contact: nullable: true oneOf: - $ref: '#/components/schemas/ApiContact' consentFields: type: array nullable: true items: $ref: '#/components/schemas/ApiConsent' ApiConsent: type: object additionalProperties: false properties: id: type: string nullable: true fields: type: array nullable: true items: $ref: '#/components/schemas/ApiContactData' ApiContactWithConsentAndPreferences: allOf: - $ref: '#/components/schemas/ApiContactWithConsent' - type: object additionalProperties: false properties: preferences: type: array nullable: true items: $ref: '#/components/schemas/ApiPreference' ApiPreference: type: object additionalProperties: false properties: id: type: integer format: int32 publicName: type: string nullable: true privateName: type: string nullable: true isPreference: type: boolean order: type: string nullable: true isPublic: type: boolean categoryId: type: integer format: int32 preferenceCount: type: integer format: int32 created: type: string format: date-time lastModified: type: string format: date-time isOptedIn: type: boolean nullable: true preferences: type: array nullable: true items: $ref: '#/components/schemas/ApiPreference' ApiBulkContactDeletion: type: object additionalProperties: false properties: id: type: string format: guid status: $ref: '#/components/schemas/ApiBulkContactDeletionStatuses' ApiBulkContactDeletionStatuses: type: string description: '' x-enumNames: - Started - Completed - Failed - NotAvailableInThisVersion enum: - Started - Completed - Failed - NotAvailableInThisVersion ApiBulkSuppressResponse: type: object additionalProperties: false properties: suppressed: type: array nullable: true items: $ref: '#/components/schemas/ApiContactIdAndEmail' notFound: type: array nullable: true items: $ref: '#/components/schemas/ApiContactIdAndEmail' ApiContactIdAndEmail: type: object additionalProperties: false properties: id: type: integer format: int32 email: type: string nullable: true ApiResubscribeResult: type: object additionalProperties: false properties: contact: nullable: true oneOf: - $ref: '#/components/schemas/ApiContact' status: $ref: '#/components/schemas/ApiResubscribeStatuses' ApiResubscribeStatuses: type: string description: '' x-enumNames: - ContactAdded - ContactChallenged - ContactCannotBeUnsuppressed - NotAvailableInThisVersion enum: - ContactAdded - ContactChallenged - ContactCannotBeUnsuppressed - NotAvailableInThisVersion ApiContactResubscription: type: object additionalProperties: false required: - unsubscribedContact properties: unsubscribedContact: $ref: '#/components/schemas/ApiContact' preferredLocale: type: string nullable: true returnUrlToUseIfChallenged: type: string nullable: true ApiTransactionalData: type: object additionalProperties: false properties: key: type: string nullable: true contactIdentifier: type: string nullable: true json: type: string nullable: true ApiTransactionalDataImport: type: object additionalProperties: false properties: id: type: string format: guid status: $ref: '#/components/schemas/ApiTransactionalDataImportStatuses' ApiTransactionalDataImportStatuses: type: string description: '' x-enumNames: - NotStarted - NotFinished - Finished - Failed - NotAvailableInThisVersion enum: - NotStarted - NotFinished - Finished - Failed - NotAvailableInThisVersion ApiTransactionalDataImportReport: type: object additionalProperties: false properties: totalItems: type: integer format: int32 totalImported: type: integer format: int32 totalRejected: type: integer format: int32 faults: type: array nullable: true items: $ref: '#/components/schemas/ApiTransactionalDataImportReportFault' ApiTransactionalDataImportReportFault: type: object additionalProperties: false properties: key: type: string nullable: true reason: $ref: '#/components/schemas/ApiTransactionalDataImportFaultReason' detail: type: string nullable: true ApiTransactionalDataImportFaultReason: type: string description: '' x-enumNames: - Unknown - InvalidClientKey - InvalidContactIdentifier - InvalidJson - DuplicateKey - ContactIdDoesNotExist - ContactEmailDoesNotExist - JsonKeyTooLong - JsonKeyInvalidCharacters - JsonValueTooLong - JsonValueIncompatibleWithSchema - JsonNumberValueTooLarge - JsonDoesNotMatchSchema - JsonContainsDashUnderscoreClash - MissingCollection - InconsistentTypes - TooManyDistinctKeyValuePairs - ContactPhoneNumberDoesNotExist - InvalidContactIdentifierType - KeyExistingForDifferentContact - ContactCustomIdentifierValueDoesNotExist - JsonContainsNestedArray - NotAvailableInThisVersion enum: - Unknown - InvalidClientKey - InvalidContactIdentifier - InvalidJson - DuplicateKey - ContactIdDoesNotExist - ContactEmailDoesNotExist - JsonKeyTooLong - JsonKeyInvalidCharacters - JsonValueTooLong - JsonValueIncompatibleWithSchema - JsonNumberValueTooLarge - JsonDoesNotMatchSchema - JsonContainsDashUnderscoreClash - MissingCollection - InconsistentTypes - TooManyDistinctKeyValuePairs - ContactPhoneNumberDoesNotExist - InvalidContactIdentifierType - KeyExistingForDifferentContact - ContactCustomIdentifierValueDoesNotExist - JsonContainsNestedArray - NotAvailableInThisVersion ApiJsonData: type: object additionalProperties: false properties: json: type: string nullable: true ApiTransactionalDataCollection: type: object additionalProperties: false properties: id: type: integer format: int32 name: type: string ApiContactScore: type: object additionalProperties: false properties: contactId: type: integer format: int32 email: type: string nullable: true dateModified: type: string format: date-time scoreLabel: type: string nullable: true score: type: integer format: byte engagement: type: integer format: byte suitability: type: integer format: byte ApiMultipleContactsResponse: type: object additionalProperties: false properties: contacts: type: array nullable: true items: $ref: '#/components/schemas/ApiContactExtended' notFound: type: array nullable: true items: $ref: '#/components/schemas/ApiContactIdAndEmail' ApiContactExtended: allOf: - $ref: '#/components/schemas/ApiContact' - type: object additionalProperties: false properties: created: type: string format: date-time ApiMultipleContactsRequest: type: object additionalProperties: false properties: contacts: type: array nullable: true items: $ref: '#/components/schemas/ApiContactIdAndEmail' withFullData: type: boolean ApiContactImport: type: object additionalProperties: false properties: id: type: string format: guid status: $ref: '#/components/schemas/ApiContactImportStatuses' ApiContactImportStatuses: type: string description: '' x-enumNames: - Finished - NotFinished - RejectedByWatchdog - InvalidFileFormat - Unknown - Failed - ExceedsAllowedContactLimit - NotAvailableInThisVersion enum: - Finished - NotFinished - RejectedByWatchdog - InvalidFileFormat - Unknown - Failed - ExceedsAllowedContactLimit - NotAvailableInThisVersion ApiFileMedia: type: object additionalProperties: false properties: fileName: type: string nullable: true data: type: string format: byte nullable: true ApiContactMergeOptionTypes: type: string description: '' x-enumNames: - Overwrite - OnlyOverwriteIfNotEmpty - OnlyOverwriteIfContactDataNotPopulated - NotAvailableInThisVersion enum: - Overwrite - OnlyOverwriteIfNotEmpty - OnlyOverwriteIfContactDataNotPopulated - NotAvailableInThisVersion ApiContactImportCollection: type: object additionalProperties: false properties: contacts: type: array nullable: true items: $ref: '#/components/schemas/ApiContactForBulkImport' addressBookIds: type: array nullable: true items: type: integer format: int32 mergeOption: $ref: '#/components/schemas/ApiContactMergeOptionTypes' ApiContactForBulkImport: allOf: - $ref: '#/components/schemas/ApiContact' - type: object additionalProperties: false properties: consentFields: type: array nullable: true items: $ref: '#/components/schemas/ApiContactData' mobileNumberId: type: string nullable: true ApiContactImportReport: type: object additionalProperties: false properties: newContacts: type: integer format: int32 updatedContacts: type: integer format: int32 globallySuppressed: type: integer format: int32 invalidEntries: type: integer format: int32 duplicateEmails: type: integer format: int32 blocked: type: integer format: int32 unsubscribed: type: integer format: int32 hardBounced: type: integer format: int32 softBounced: type: integer format: int32 ispComplaints: type: integer format: int32 mailBlocked: type: integer format: int32 domainSuppressed: type: integer format: int32 pendingDoubleOptin: type: integer format: int32 failures: type: integer format: int32 suppressedContacts: type: integer format: int32 ApiDataField: type: object additionalProperties: false required: - name properties: name: type: string minLength: 1 type: $ref: '#/components/schemas/ApiDataTypes' visibility: $ref: '#/components/schemas/ApiDataFieldVisibility' defaultValue: nullable: true ApiDataTypes: type: string description: '' x-enumNames: - String - Numeric - Date - Boolean - NotAvailableInThisVersion enum: - String - Numeric - Date - Boolean - NotAvailableInThisVersion ApiDataFieldVisibility: type: string description: '' x-enumNames: - Private - Public - NotAvailableInThisVersion enum: - Private - Public - NotAvailableInThisVersion ApiDependencyResult: type: object additionalProperties: false properties: dependencies: type: array nullable: true items: $ref: '#/components/schemas/ApiDependency' result: type: boolean ApiDependency: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/ApiBusinessObjectType' objectId: type: integer format: int32 ApiBusinessObjectType: type: string description: '' x-enumNames: - Campaign - Survey - MicrositePage - DynamicContent - ContactLabel - SurveyQuestion - AddressBook - DynamicContentRule - CampaignLink - CampaignTemplate - NotAvailableInThisVersion enum: - Campaign - Survey - MicrositePage - DynamicContent - ContactLabel - SurveyQuestion - AddressBook - DynamicContentRule - CampaignLink - CampaignTemplate - NotAvailableInThisVersion ProblemDetails: type: object additionalProperties: nullable: true properties: type: type: string nullable: true title: type: string nullable: true status: type: integer format: int32 nullable: true detail: type: string nullable: true instance: type: string nullable: true extensions: type: object additionalProperties: {} ApiDocument: type: object additionalProperties: false properties: id: type: integer format: int32 name: type: string nullable: true fileName: type: string nullable: true fileSize: type: integer format: int32 dateCreated: type: string format: date-time dateModified: type: string format: date-time ApiDocumentFolder: type: object additionalProperties: false required: - name properties: id: type: integer format: int32 name: type: string minLength: 1 childFolders: type: array nullable: true items: $ref: '#/components/schemas/ApiDocumentFolder' ReportSummaryOfKpiMetricSummary: type: object additionalProperties: false properties: records: type: array nullable: true items: $ref: '#/components/schemas/KpiMetricSummary' dateRange: nullable: true oneOf: - $ref: '#/components/schemas/EcommercePredefinedDateRanges' asOfDate: type: string format: date-time KpiMetricSummary: type: object additionalProperties: false properties: metricType: $ref: '#/components/schemas/KpiMetricType' metricValues: nullable: true oneOf: - $ref: '#/components/schemas/KpiMetricValue' dateRange: $ref: '#/components/schemas/EcommercePredefinedDateRanges' KpiMetricType: type: string description: '' x-enumNames: - TotalRevenue - AverageOrderValue - CustomerLifetimeValue - TotalOrders - AverageItemsPerOrder - AverageDaysToSecondOrder - Customers - SinglePurchaseCustomers - RepeatCustomers - TotalDelay - TotalRepeatOrders - TotalItems enum: - TotalRevenue - AverageOrderValue - CustomerLifetimeValue - TotalOrders - AverageItemsPerOrder - AverageDaysToSecondOrder - Customers - SinglePurchaseCustomers - RepeatCustomers - TotalDelay - TotalRepeatOrders - TotalItems KpiMetricValue: type: object additionalProperties: false properties: initialTotalValue: type: number format: double comparisonTotalValue: type: number format: double EcommercePredefinedDateRanges: type: string description: '' x-enumNames: - LastThirtyVsPrevious - TodayVsYesterday - YesterdayVsPrevious - ThisWeekVsLast - LastWeekVsPrevious - ThisMonthVsLast - LastMonthVsPrevious - ThisYearVsLast - LastYearVsPrevious - AllTime - Custom enum: - LastThirtyVsPrevious - TodayVsYesterday - YesterdayVsPrevious - ThisWeekVsLast - LastWeekVsPrevious - ThisMonthVsLast - LastMonthVsPrevious - ThisYearVsLast - LastYearVsPrevious - AllTime - Custom ApiKpiMetricDateRange: type: string description: '' x-enumNames: - LastThirtyVsPrevious - TodayVsYesterday - YesterdayVsPrevious - ThisWeekVsLast - LastWeekVsPrevious - ThisMonthVsLast - LastMonthVsPrevious - ThisYearVsLast - LastYearVsPrevious - AllTime - NotAvailableInThisVersion enum: - LastThirtyVsPrevious - TodayVsYesterday - YesterdayVsPrevious - ThisWeekVsLast - LastWeekVsPrevious - ThisMonthVsLast - LastMonthVsPrevious - ThisYearVsLast - LastYearVsPrevious - AllTime - NotAvailableInThisVersion ApiKpiMetricType: type: string description: '' x-enumNames: - TotalRevenue - AverageOrderValue - CustomerLifetimeValue - TotalOrders - AverageItemsPerOrder - AverageDaysToSecondOrder - Customers - SinglePurchaseCustomers - RepeatCustomers - NotAvailableInThisVersion enum: - TotalRevenue - AverageOrderValue - CustomerLifetimeValue - TotalOrders - AverageItemsPerOrder - AverageDaysToSecondOrder - Customers - SinglePurchaseCustomers - RepeatCustomers - NotAvailableInThisVersion ApiOrder: type: object additionalProperties: false properties: id: type: string nullable: true email: type: string nullable: true contactId: type: string nullable: true items: type: array nullable: true items: $ref: '#/components/schemas/ApiOrderItem' orderTotal: type: number format: decimal orderDate: type: string format: date-time subtotal: type: number format: decimal payment: type: string nullable: true status: type: string nullable: true discount: type: number format: decimal deliveryTotal: type: number format: decimal deliveryMethod: type: string nullable: true deliveryAddress: nullable: true oneOf: - $ref: '#/components/schemas/ApiOrderAddress' currency: type: string nullable: true billingAddress: nullable: true oneOf: - $ref: '#/components/schemas/ApiOrderAddress' baseSubtotalInclTax: type: number format: decimal couponCode: type: string nullable: true quoteId: type: string nullable: true retailValue: type: number format: decimal ApiOrderItem: type: object additionalProperties: false properties: sku: type: string nullable: true name: type: string nullable: true price: type: number format: decimal quantity: type: number format: decimal imagePath: type: string nullable: true ApiOrderAddress: type: object additionalProperties: false properties: address1: type: string nullable: true address2: type: string nullable: true city: type: string nullable: true country: type: string nullable: true postCode: type: string nullable: true ApiImageFolder: type: object additionalProperties: false required: - name properties: id: type: integer format: int32 name: type: string minLength: 1 childFolders: type: array nullable: true items: $ref: '#/components/schemas/ApiImageFolder' ApiImage: type: object additionalProperties: false properties: id: type: integer format: int32 name: type: string nullable: true path: type: string nullable: true ApiContactWithPreferenceOptIn: type: object additionalProperties: false properties: contact: nullable: true oneOf: - $ref: '#/components/schemas/ApiContact' marketingPreferenceOptIns: type: array nullable: true items: $ref: '#/components/schemas/ApiMarketingPreferenceOptIn' ApiMarketingPreferenceOptIn: type: object additionalProperties: false properties: marketingPreferenceId: type: integer format: int32 addressBookId: type: integer format: int32 isOptedIn: type: boolean dateModifed: type: string format: date-time ApiProductRecommendation: type: object additionalProperties: false properties: id: type: integer format: int32 dateLastRefreshed: type: string format: date-time dateModified: type: string format: date-time dateLastUsed: type: string format: date-time name: type: string nullable: true type: $ref: '#/components/schemas/ApiProductRecommendationType' status: $ref: '#/components/schemas/ApiProductRecommendationStatus' fallbackRecommendationId: type: integer format: int32 revenue: type: number format: decimal errorStatus: type: string nullable: true ApiProductRecommendationType: type: string description: '' x-enumNames: - BestSellers - MostViewed - FilterOnly - LastBrowsed - BoughtTogether - Newest - Lookalikes - AlsoBought - Trending - BestNext - Hybrid - NotAvailableInThisVersion enum: - BestSellers - MostViewed - FilterOnly - LastBrowsed - BoughtTogether - Newest - Lookalikes - AlsoBought - Trending - BestNext - Hybrid - NotAvailableInThisVersion ApiProductRecommendationStatus: type: string description: '' x-enumNames: - Ready - InProgress - Failed - Queued - NotAvailableInThisVersion enum: - Ready - InProgress - Failed - Queued - NotAvailableInThisVersion ApiProgram: type: object additionalProperties: false properties: id: type: integer format: int32 name: type: string nullable: true status: $ref: '#/components/schemas/ApiProgramStatus' dateCreated: type: string format: date-time ApiProgramStatus: type: string description: '' x-enumNames: - Draft - Deactivated - Active - ReadOnly - NotAvailableInThisVersion enum: - Draft - Deactivated - Active - ReadOnly - NotAvailableInThisVersion ApiProgramEnrolment: type: object additionalProperties: false properties: id: type: string format: guid programId: type: integer format: int32 status: $ref: '#/components/schemas/ApiProgramEnrolmentStatus' dateCreated: type: string format: date-time contacts: type: array nullable: true items: type: integer format: int32 addressBooks: type: array nullable: true items: type: integer format: int32 ApiProgramEnrolmentStatus: type: string description: '' x-enumNames: - Processing - Finished - NotAvailableInThisVersion enum: - Processing - Finished - NotAvailableInThisVersion ApiSegmentRefresh: type: object additionalProperties: false properties: id: type: integer format: int32 status: $ref: '#/components/schemas/ApiSegmentRefreshStatuses' ApiSegmentRefreshStatuses: type: string description: '' x-enumNames: - NotStarted - NotFinished - Finished - Failed - NotAvailableInThisVersion enum: - NotStarted - NotFinished - Finished - Failed - NotAvailableInThisVersion ApiSegment: type: object additionalProperties: false required: - name properties: id: type: integer format: int32 name: type: string minLength: 1 contacts: type: integer format: int32 ApiSms: type: object additionalProperties: false required: - message properties: message: type: string minLength: 1 ApiSmsCampaign: allOf: - $ref: '#/components/schemas/ApiSms' - type: object additionalProperties: false required: - name properties: id: type: integer format: int32 name: type: string maxLength: 256 minLength: 1 sendingIdentityId: type: integer format: int32 sendingIdentity: type: string maxLength: 15 nullable: true toggleShortLinks: type: boolean nullable: true status: readOnly: true oneOf: - $ref: '#/components/schemas/ApiSmsCampaignStatuses' ApiSmsCampaignStatuses: type: string description: '' x-enumNames: - Unsent - Sending - Sent - Cancelled - NotAvailableInThisVersion enum: - Unsent - Sending - Sent - Cancelled - NotAvailableInThisVersion ApiCopySmsCampaignRequest: type: object additionalProperties: false required: - campaignId - copyName properties: campaignId: type: integer format: int32 copyName: type: string maxLength: 256 minLength: 1 ApiSurvey: type: object additionalProperties: false properties: id: type: integer format: int32 name: type: string nullable: true url: type: string nullable: true dateSurveyCreated: type: string format: date-time dateSurveyModified: type: string format: date-time state: $ref: '#/components/schemas/ApiSurveyState' firstActiveDate: type: string format: date-time nullable: true lastInactiveDate: type: string format: date-time nullable: true scheduledStartDate: type: string format: date-time nullable: true scheduledEndDate: type: string format: date-time nullable: true confirmationMode: $ref: '#/components/schemas/ApiSurveyConfirmationMode' submissionMode: $ref: '#/components/schemas/ApiSurveySubmissionMode' fieldCount: type: integer format: int32 notifyCreatorOnResponse: type: boolean respondentNotificationType: $ref: '#/components/schemas/ApiRespondentNotificationType' respondentNotificationCampaignId: type: integer format: int32 nullable: true isAssignedToAddressBook: type: boolean assignedAddressBookTarget: $ref: '#/components/schemas/ApiSurveyAssignedAddressBookTarget' assignedSpecificAddressBookId: type: integer format: int32 nullable: true firstResponseDate: type: string format: date-time nullable: true lastResponseDate: type: string format: date-time nullable: true totalCompleteResponses: type: integer format: int32 totalCompleteResponsesInLastDay: type: integer format: int32 totalCompleteResponsesInLastWeek: type: integer format: int32 totalIncompleteResponses: type: integer format: int32 totalViews: type: integer format: int32 totalBounces: type: integer format: int32 timeToCompleteMax: type: integer format: int32 nullable: true timeToCompleteMin: type: integer format: int32 nullable: true timeToCompleteTotal: type: integer format: int64 nullable: true sourceDirectTotal: type: integer format: int32 sourceEmailTotal: type: integer format: int32 sourceEmbeddedTotal: type: integer format: int32 sourcePopoverTotal: type: integer format: int32 sourceFacebookTotal: type: integer format: int32 sourceTwitterTotal: type: integer format: int32 sourceGooglePlusTotal: type: integer format: int32 sourceOtherTotal: type: integer format: int32 ApiSurveyState: type: string description: '' x-enumNames: - Active - Inactive - Pending - Expired - SurveyFeatureDisabled - NotAvailableInThisVersion enum: - Active - Inactive - Pending - Expired - SurveyFeatureDisabled - NotAvailableInThisVersion ApiSurveyConfirmationMode: type: string description: '' x-enumNames: - Text - Url - NotAvailableInThisVersion enum: - Text - Url - NotAvailableInThisVersion ApiSurveySubmissionMode: type: string description: '' x-enumNames: - Single - Multiple - NotAvailableInThisVersion enum: - Single - Multiple - NotAvailableInThisVersion ApiRespondentNotificationType: type: string description: '' x-enumNames: - None - Basic - Campaign - NotAvailableInThisVersion enum: - None - Basic - Campaign - NotAvailableInThisVersion ApiSurveyAssignedAddressBookTarget: type: string description: '' x-enumNames: - AllContacts - SpecificAddressBook - NotAvailableInThisVersion enum: - AllContacts - SpecificAddressBook - NotAvailableInThisVersion ApiSurveyPage: type: object additionalProperties: false properties: id: type: integer format: int32 name: type: string nullable: true fields: type: array nullable: true items: $ref: '#/components/schemas/ApiSurveyField' ApiSurveyField: type: object additionalProperties: false properties: id: type: integer format: int32 type: type: string nullable: true text: type: string nullable: true isRequired: type: boolean defaultValue: type: string nullable: true mode: type: string nullable: true choices: type: array nullable: true items: $ref: '#/components/schemas/ApiSurveyQuestionChoice' subFields: type: array nullable: true items: $ref: '#/components/schemas/ApiSurveyField' hasOtherOption: type: boolean otherOptionChoiceId: type: integer format: int32 otherOptionSubFieldId: type: integer format: int32 otherOptionTextFieldId: type: integer format: int32 isAssignedToContactDataField: type: boolean assignedContactDataFieldName: type: string nullable: true assignedContactDataExistsAction: $ref: '#/components/schemas/ApiAssignedContactDataExistsAction' ApiSurveyQuestionChoice: type: object additionalProperties: false properties: id: type: integer format: int32 text: type: string nullable: true ApiAssignedContactDataExistsAction: type: string description: '' x-enumNames: - OverwriteData - HideField - NotAvailableInThisVersion enum: - OverwriteData - HideField - NotAvailableInThisVersion ApiSurveyResponse: type: object additionalProperties: false properties: id: type: integer format: int32 email: type: string nullable: true started: type: boolean dateStarted: type: string format: date-time nullable: true complete: type: boolean dateCompleted: type: string format: date-time nullable: true givenAnswers: type: array nullable: true items: $ref: '#/components/schemas/ApiSurveyGivenAnswer' ApiSurveyGivenAnswer: type: object additionalProperties: false properties: fieldId: type: integer format: int32 subFieldId: type: integer format: int32 nullable: true value: nullable: true ApiTemplate: type: object additionalProperties: false required: - name - subject - fromName - htmlContent - plainTextContent properties: id: type: integer format: int32 name: type: string minLength: 1 subject: type: string minLength: 1 fromName: type: string minLength: 1 htmlContent: type: string minLength: 1 plainTextContent: type: string minLength: 1 replyAction: $ref: '#/components/schemas/ApiCampaignReplyActions' replyToAddress: type: string nullable: true ApiTransactionalEmail: type: object additionalProperties: false properties: toAddresses: type: array nullable: true items: type: string ccAddresses: type: array nullable: true items: type: string bccAddresses: type: array nullable: true items: type: string subject: type: string nullable: true fromAddress: type: string nullable: true htmlContent: type: string nullable: true plainTextContent: type: string nullable: true tags: type: array nullable: true items: type: string metadata: type: string nullable: true attachments: type: array nullable: true items: $ref: '#/components/schemas/ApiTransactionalEmailAttachment' ApiTransactionalEmailAttachment: type: object additionalProperties: false properties: fileName: type: string nullable: true content: type: string nullable: true mimeType: type: string nullable: true ApiTransactionalEmailTriggeredCampaign: type: object additionalProperties: false properties: toAddresses: type: array nullable: true items: type: string ccAddresses: type: array nullable: true items: type: string bccAddresses: type: array nullable: true items: type: string campaignId: type: integer format: int32 personalizationValues: type: array nullable: true items: $ref: '#/components/schemas/ApiPersonalizationValue' metadata: type: string nullable: true fromAddress: type: string nullable: true attachments: type: array nullable: true items: $ref: '#/components/schemas/ApiTransactionalEmailAttachment' ApiPersonalizationValue: type: object additionalProperties: false properties: name: type: string nullable: true value: type: string nullable: true ApiTransactionalEmailStatistics: type: object additionalProperties: false properties: startDate: type: string format: date-time endDate: type: string format: date-time numSent: type: integer format: int32 numDelivered: type: integer format: int32 numOpens: type: integer format: int32 numClicks: type: integer format: int32 numIspComplaints: type: integer format: int32 numBounces: type: integer format: int32 ApiAggregationPeriod: type: string description: '' x-enumNames: - AllTime - Month - Week - Day - NotAvailableInThisVersion enum: - AllTime - Month - Week - Day - NotAvailableInThisVersion ApiCampaignWithProcessedContent: type: object additionalProperties: false required: - name - subject - fromName - htmlContent - plainTextContent - processedHtmlContent - processedPlainTextContent properties: id: type: integer format: int32 name: type: string minLength: 1 subject: type: string minLength: 1 fromName: type: string minLength: 1 fromAddress: nullable: true oneOf: - $ref: '#/components/schemas/ApiCampaignFromAddress' htmlContent: type: string minLength: 1 plainTextContent: type: string minLength: 1 replyAction: $ref: '#/components/schemas/ApiCampaignReplyActions' replyToAddress: type: string nullable: true isSplitTest: type: boolean readOnly: true status: readOnly: true oneOf: - $ref: '#/components/schemas/ApiCampaignStatuses' processedHtmlContent: type: string readOnly: true minLength: 1 processedPlainTextContent: type: string readOnly: true minLength: 1 customReplyToAddress: type: string nullable: true