Actions

Trigger actions for contacts

APIDescription
GET api/v1/Actions

Will return all actions

POST api/v1/Actions/{id}?contactId={contactId}

Will trigger action by id on contact. Action must be trigger-able manually and be enabled

POST api/v1/Actions/{id}?segmentId={segmentId}

Will trigger action by id on segment. Action must be trigger-able manually and be enabled

Banners

APIDescription
POST api/v1/Banners/CacheReset

Requests a cache reset for the specified banners. Will return HTTP 200 or HTTP 404 if banner is not found.

POST api/v1/Banners/CacheReset?secret={secret}

Requests a cache reset for a list of banner version. Will return HTTP 200 or HTTP 404 if banner is not found.

BulkExport

APIDescription
GET api/v1/BulkExport?type={type}

Will return bulk exports by its type or all if none provided.

POST api/v1/BulkExport

No documentation available.

ContactCompanies

Manage Contact Companies

APIDescription
GET api/v1/ContactCompanies

Get all ContactCompanies

GET api/v1/ContactCompanies?primaryContactEmail={primaryContactEmail}

A list of ContactCompanies where the Contact with the provided email address is primary contact.

GET api/v1/ContactCompanies?contactCompanyNumber={contactCompanyNumber}

Get a ContactCompany using ContactCompanyNumber (An external unique identifier of the company)

GET api/v1/ContactCompanies/{id}

Get a ContactCompany

GET api/v1/ContactCompanies/{id}/Contacts

Gets a list of Contacts associated with the ContactCompany If the ContactCompany has no Contacts associated a HTTP 404 is returned

POST api/v1/ContactCompanies

Creates a ContactCompany

POST api/v1/ContactCompanies/{id}/AddContact

Associates a Contact with a ContactCompany

POST api/v1/ContactCompanies/{id}/RemoveContact

Removes a Contact's association with a ContactCompany

PATCH api/v1/ContactCompanies

Patch ContactCompany by id, only fields in the request are updated

ContactEvents

APIDescription
GET api/v1/ContactEvents?type={type}&lastId={lastId}

Retrieve array of events with id higher than provided lastId and specified type. A maximum of 1000 events are returned

GET api/v1/ContactEvents?type={type}&subtype={subtype}&from={from}&to={to}&contactId={contactId}

Will get events by type.

POST api/v1/ContactEvents?ignoreUnknownContacts={ignoreUnknownContacts}

Will create new events for contacts with specified information. Will return HTTP 404 if a contact with given Id is not found.

Contacts

Manage contacts

APIDescription
GET api/v1/Contacts

Returns all contactIds in system

GET api/v1/Contacts?email={email}

Will return contact by its email or HTTP 404 if contact is not found.

GET api/v1/Contacts?phone={phone}

Will return contact by its phone or HTTP 404 if contact is not found.

GET api/v1/Contacts?secret={secret}&ip={ip}

Will return contact by its secret or HTTP 404 if contact is not found.

GET api/v1/Contacts?field={field}&value={value}

Will return array of contacts by dynamic field or empty array if no contacts are found.

GET api/v1/Contacts/{id}

Will return contact by its id or HTTP 404 if contact is not found.

GET api/v1/Contacts/PatchFields

Will return a list of contact fields which can be PATCHed on a batch of contacts.

GET api/v1/Contacts/DynamicFields

Will get Account specific fields. The fields will be valid to use in all requests, but will not be shown in the documentation, because it is account wide documentation.

GET api/v1/Contacts/GetContactsBaseInfo

Returns basic info about all contacts in the system.

GET api/v1/Contacts/Registration?timespan={timespan}&source={source}&ip={ip}

Will return array of registered contacts by Registration timespan, RegistrationSource or RegistrationIp (can combine). Will return empty array if nothing is found.

GET api/v1/Contacts/{id}/PersonDataFile

Will return url of person data file

POST api/v1/Contacts

Will create new contact with specified information. If contact with same Name or same Phone number exists then HTTP 409 will be returned. If no Store with PreferredStoreId exists then HTTP 409 will be returned.

POST api/v1/Contacts/{id}/Login

Validates a password for a specific user. Will return contact or HTTP 404 if contact is not found.

POST api/v1/Contacts/{id}/SetPassword

Sets the password for a user. Will return HTTP 200 or HTTP 404 if contact is not found.

POST api/v1/Contacts/{id}/UnblockEmail

Unblocks a contact that is bounced by email. Returns false if the contact is not bounced by email.

PUT api/v1/Contacts/{id}

Will update contact identified by id with specified information. If contact has been modified (concurrent update) since it has been retrieved then HTTP 409 will be returned with latest contact information. If another contact with same Email or Phone is found then HTTP 409 will be returned with latest contact information for specified contact. If no Store with PreferredStoreId exists then HTTP 409 will be returned.

PATCH api/v1/Contacts

Will PATCH the given {Fields} on contacts by the given {Keys}.

PATCH api/v1/Contacts/{id}

Will patch contact object with given values. Only updates contact properties that are not null in patchContactDto. All other properties are left unchanged. NOTE: The following properies will be set to null if the patch value is "" (empty string): PhoneCountryCode, Phone and Email

DELETE api/v1/Contacts/{id}

Will delete contact with specified id.

DailyStatistics

APIDescription
GET api/v1/DailyStatistics?from={from}&to={to}

Returns a List of raw json stats from a daterange

GET api/v1/DailyStatistics/EmailStats?from={from}&to={to}

Returns a list of emailstats from a daterange

GET api/v1/DailyStatistics/NewContacts?from={from}&to={to}

Returns a list of contactstats for new contacts from a daterange

GET api/v1/DailyStatistics/DeletedContacts?from={from}&to={to}

Returns a list of contactstats for deleted contacts from a daterange

GET api/v1/DailyStatistics/ListLogStats?list={list}&from={from}&to={to}

Returns a List of listlog stats from a daterange

GET api/v1/DailyStatistics/SegmentStatsForMonth?segmentId={segmentId}&month={month}

Returns a list of SegmentStat for a single day in a month. Will use the latest day in the month where stats are availeble

GET api/v1/DailyStatistics/ContactPermissionSourceStats?fieldName={fieldName}&month={month}

Returns a list of ContactPermissionSourceStats from a month

GET api/v1/DailyStatistics/ContactPermissionSourceStats?fieldName={fieldName}&from={from}&to={to}

Returns a list of ContactPermissionSourceStats from a daterange

GET api/v1/DailyStatistics/GetContactPermissionStatAllByMonth?fieldName={fieldName}&month={month}

Returns a list of ContactPermissionSourceStats from a month

DynamicFields

Dynamic fields are account specific properties on owner objects (Order, OrderLine, ...) and consequently are not displayed in the API documentation. However, they can be used in all API requests to owner objects.

APIDescription
GET api/v1/DynamicFields/{id}?owner={owner}

Retrieve array of dynamic fields by owner.

DynamicTableEntities

Dynamic table entities are referring to rows/entries in a dynamic table. {tableName} refers to a dynamic table named {tableName}.

APIDescription
GET api/v1/table/{tableName}

Will return all {tableName} entity ids

GET api/v1/table/{tableName}?secret={secret}

Will return {tableName} entity by secret or HTTP 404.

GET api/v1/table/{tableName}?externalId={externalId}

Will return {tableName} entity by external id or HTTP 404

GET api/v1/table/{tableName}?lastId={lastId}&take={take}

Will return {tableName} entities with id higher than provided lastId up to limit

GET api/v1/table/{tableName}/{id}

Will return {tableName} entity by id or HTTP 404

POST api/v1/table/{tableName}

Will create new {tableName} entity. Returns HTTP 423 if the request must be made through a converter.

POST api/v1/table/{tableName}/Bulk

Will create new {tableName} entities. Returns HTTP 423 if the request must be made through a converter.

PATCH api/v1/table/{tableName}/{id}

Will update {tableName} entity. Returns HTTP 423 if the request must be made through a converter.

DELETE api/v1/table/{tableName}/{id}

Will delete {tableName} entity. Returns HTTP 423 if the request must be made through a converter.

DynamicTables

Dynamic tables are account specific tables and consequently are not displayed in the API documentation

APIDescription
GET api/v1/DynamicTables

Retrieve array of dynamic tables.

Email2Dispatches

APIDescription
POST api/v1/Email2Dispatches

Will create an email2 dispatch. An id will only be returned if the scope is using segments.

EmailBuilderCampaigns

APIDescription
POST api/v1/EmailBuilderCampaigns

Create an Email Builder Campaign

POST api/v1/EmailBuilderCampaigns/{id}/Cancel

Cancel a scheduled EmailBuilderCampaign

POST api/v1/EmailBuilderCampaigns/{id}/AddBlock

Add an Email Builder Block to an Email Builder Campaign

POST api/v1/EmailBuilderCampaigns/{id}/Schedule

Schedule an Email Builder Campaign

EmailDispatches

Manage EmailDispatches

APIDescription
GET api/v1/EmailDispatches?type={type}&status[0]={status[0]}&status[1]={status[1]}&from={from}&to={to}&take={take}

Will return an array of email dispatches

POST api/v1/EmailDispatches

Will create an email dispatch

EmailDispatchReceiver

APIDescription
GET api/v1/EmailDispatchReceiver?lastId={lastId}

Retrieve array of EmailDispatchReceivers with ids created after the provided lastId. A maximum of around 1000 are returned - so if you get 1000 or more back you should ask again with your new lastId

GET api/v1/EmailDispatchReceiver?emailDispatchId={emailDispatchId}&contactId={contactId}

Retrieve a EmailDispatchReceiver with matching email dispatch id and contact id

FeedSyncs

Manage feed syncs

APIDescription
POST api/v1/FeedSyncs/{id}/SyncNow

Will trigger a feed sync to sync now.

IframeToken

APIDescription
GET api/v1/IframeToken?tokenId={tokenId}

Get an IframeToken

Media

Manage Media Library

APIDescription
GET api/v1/Media?folderId={folderId}

Returns a list of Media in the requested folder.

GET api/v1/Media/{id}

Returns a single Media item.

GET api/v1/Media/Folders

Returns a list of media folders

POST api/v1/Media

Creates a new Media

POST api/v1/Media/{id}/Rename?newName={newName}

Rename a Media

DELETE api/v1/Media/{id}

Delete media with specified id.

Orders

Manage orders and orderlines

APIDescription
GET api/v1/Orders?contactId={contactId}

Retrieve array of orders by contact id.

GET api/v1/Orders?extOrderId={extOrderId}

Retrieve orders by extOrderId

GET api/v1/Orders/{id}

Retrieve order by id

GET api/v1/Orders/Types

Retrieve array of valid order types.

POST api/v1/Orders

Create new order with the specified information. Will return HTTP 400 on missing or invalid orderlines, and on invalid order type.

POST api/v1/Orders/{id}/Lines

Create new order line with the specified information. Will return HTTP 404 on missing order and HTTP 400 on invalid order line.

PATCH api/v1/Orders/{id}

Patch order by id, only fields in the request are updated

PATCH api/v1/Orders/{id}/Lines/{lid}

Patch order line by id, only fields in the request are updated. Will return HTTP 404 on invalid order or order line ids.

DELETE api/v1/Orders/{id}

Delete order by id. Will return HTTP 404 on missing order.

DELETE api/v1/Orders/{id}/Lines/{lid}

Delete order line. Will return HTTP 404 on missing order or missing order line and HTTP 400 on invalid operation on order (the last order line cannot be deleted, delete order instead).

PermissionSourceCategories

APIDescription
GET api/v1/PermissionSourceCategories

Retrieve array of permission source categories

PermissionSourceCategoryRelations

APIDescription
GET api/v1/PermissionSourceCategoryRelations

Retrieve array of permission source categories

Points

Manage points

APIDescription
GET api/v1/Points?lastId={lastId}&type={type}

Retrieve array of points with id higher than provided lastId and with optional specified type. A maximum of 1000 points are returned

GET api/v1/Points?sourceId={sourceId}&type={type}

Retrieve array of points with specified source id.

GET api/v1/Points?type={type}&from={from}&to={to}&storeId={storeId}

Retrieve array of points within the datetime from(including) and to with specified type and (optional) storeId.

GET api/v1/Points?contactId={contactId}&type={type}&datetimeFrom={datetimeFrom}&datetimeTo={datetimeTo}

Retrieve array of points for specified contact.

GET api/v1/Points/{id}

Retrieve a point by id

GET api/v1/Points/Types

Retrieve array of valid point types.

GET api/v1/Points/Totals?type={type}

Retrieve array of pointtotals.

GET api/v1/Points/Sums?contactId={contactId}&type={type}

Retrieve array of pointsums for specified contact.

GET api/v1/Points/SumsByContact?type={type}&storeId={storeId}

Retrieve array of pointsums of a specific type of points for all contacts.

GET api/v1/Points/SumsByStore?type={type}&from={from}&to={to}

Retrieve array of pointstoresums of a specific type of points for all stores within an optional timeframe

GET api/v1/Points/TotalForContact?contactId={contactId}&type={type}&subType={subType}

Retrieve sum of points of a certain type and subtype for specified contact

GET api/v1/Points/SumsByContactCompanies?type={type}&from={from}&to={to}&storeId={storeId}

Retrieve array of ContactCompany sums within the datetime from(including) and to - with specified type and (optional) storeId.

GET api/v1/Points/TotalForContactCompany?contactCompanyId={contactCompanyId}&type={type}&from={from}&to={to}

Retrieve sum for a ContactCompany - within the datetime from (including) and to - with specified type. If no point exist - NULL is returned.

GET api/v1/Points/ByContactCompany?contactCompanyId={contactCompanyId}&type={type}&from={from}&to={to}&storeId={storeId}

Retrieve array of points for the specified ContactCompany - within the datetime from(including) and to - with specified type and storeId.

POST api/v1/Points

Will create new point for contact with specified information. Will return HTTP 404 if contact with given Id is not found.

POST api/v1/Points/{id}/Cancel

Cancel a point

SEARCH api/v1/Points/ForStores?type={type}&from={from}&to={to}

Retrieve array of points within the datetime from(including) and to with specified type and associated with one of stores in the list.

SEARCH api/v1/Points/SumsForStoresByContactCompanies?type={type}&from={from}&to={to}

Retrieve array of point sums for stores grouped by ContactCompanies within the datetime from (including) and to - with specified type.

Segments

APIDescription
GET api/v1/Segments?folderId={folderId}

Returns an list of segments based on folderId

GET api/v1/Segments/{id}

Gets a segment by id

GET api/v1/Segments/GetContactCount?s[0]={s[0]}&s[1]={s[1]}

Returns a Contact count based on a list of segmentIds

GET api/v1/Segments/{id}/GetContactIds

Returns a list of contactIds from a segment

GET api/v1/Segments/{id}/GetContactsBaseInfo

Returns a list of contactEmails from a segment

POST api/v1/Segments/ContactIds

Creates a segment based on a list of contactIds

POST api/v1/Segments/GetContactCount

Returns a Contact count based on a list of segmentIds

Stores

Manage stores and contact-store relationships

APIDescription
GET api/v1/Stores?number={number}

Will return speciffic store by number

GET api/v1/Stores?withoutJsonString={withoutJsonString}

Get all Stores for an account.

GET api/v1/Stores/{id}

Will return speciffic store by id

POST api/v1/Stores

Will create a new store

PATCH api/v1/Stores

Patch Store by id, only fields in the request are updated