This documents all events and commands used in entrecode systems.
This is the entrecode RabbitMQ broker.
This is the entrecode RabbitMQ broker, staging version.
a Data Manager entry was created, updated or deleted.
It also contains info about which content has changed on entryUpdated
events.
Example:
amqp.workerQueue( // or amqp.subscribe(
'myService',
'publicAPI',
['035af82b.mymodel.*.entryCreated'], // all created entries in mymodel
async (event, properties, {ack, nack}) => {
const eventType = properties.type;
// event is parsed payload
ack(); // always call ack() or nack()
nack(10000, true) // call nack after timeout of 10 seconds. This is also the default. Second parameter requeue (default is `false` in contrast to amqplib native behavior), third parameter redirect queue (for dead-letter queues)
},
1 // prefetch (default 1)
);
Short ID of the data manager
Title of the model
ID of the entry
type of the entry event
Accepts the following message:
{
"entryID": "string",
"modelID": "17448b37-e359-404a-84aa-35f10765ba44",
"modelTitle": "string",
"dataManagerID": "dba79ff2-db90-4156-8969-c0f6dc76730c",
"shortID": "string",
"data": {
"_creator": "dd507a84-c3d7-47c6-a816-b22bbf6fb4a5"
},
"oldEntryData": {},
"entryAndAssetRelations": [
{}
],
"roleRelations": [
{}
],
"uniqueFields": [
{}
],
"user": {
"accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9",
"userType": "publicUser"
},
"modified": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "entryUpdated",
"appId": "string",
"timestamp": "string"
}
an asset was created, updated or deleted.
Short ID of the data manager
Title of the asset Group
ID of the entry
type of the asset event
Accepts the following message:
{
"asset": {
"assetID": "fGcaWvdPQhqkmrxvjirsIw",
"assetGroupID": "string",
"file": {
"filename": "string",
"size": 0,
"resolution": {
"width": 0,
"height": 0
}
},
"duplicates": 0,
"dataManagerID": "dba79ff2-db90-4156-8969-c0f6dc76730c",
"fileVariants": [],
"isUsed": true,
"type": "image",
"title": "string",
"mimetype": "string",
"creator": "1dccd4a6-75d2-43aa-a088-76d941f1b60a",
"creatorType": "publicUser",
"created": "string",
"thumbnails": [],
"caption": "string",
"hash": "string"
},
"assetID": "fGcaWvdPQhqkmrxvjirsIw",
"updatedValues": {},
"oldValues": {},
"accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9",
"userType": "publicUser"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "assetUpdated",
"appId": "string",
"timestamp": "string"
}
a DM User has logged in / got a new access token
Short ID of the data manager
Data Manager User Account ID
Accepts the following message:
{
"accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9",
"issued": 0,
"validUntil": 0
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "loggedIn",
"appId": "string",
"timestamp": "string"
}
a data manager was created or updated.
UUID of the Data Manager
type of the dm event. There is no event for Deletion!
Accepts the following message:
Settings of the created or updated data manager. Note that old values are not available on update events.
{
"dataManagerID": "dba79ff2-db90-4156-8969-c0f6dc76730c",
"shortID": "string",
"title": "string",
"description": "string",
"config": {},
"hexColor": "string",
"defaultLocale": "string",
"locales": [],
"publicAssetRights": [],
"customerID": null,
"dbhost": null
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "datamanagerCreated",
"appId": "28c365d5-df94-4a54-8217-3ce51d068868",
"timestamp": "string"
}
a model was created, updated or deleted.
UUID of the Data Manager
UUID of the Model
type of the model event
Accepts the following message:
{
"modelID": "17448b37-e359-404a-84aa-35f10765ba44",
"title": "string",
"description": "string",
"hexColor": "string",
"titleField": "string",
"fields": [
{}
],
"locales": [],
"hooks": [],
"sync": [],
"config": {},
"dataManagerID": "dba79ff2-db90-4156-8969-c0f6dc76730c",
"shortID": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "modelCreated",
"appId": "28c365d5-df94-4a54-8217-3ce51d068868",
"timestamp": "string"
}
an assetgroup was created or updated.
UUID of the Data Manager
ID/title of the assetgroup
type of the assetgroup event
Accepts the following message:
{
"accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9",
"assetGroup": {
"assetGroupID": "string",
"public": true,
"settings": {},
"policies": [
{}
]
},
"updatedValues": {},
"oldValues": {}
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "assetgroupCreated",
"appId": "28c365d5-df94-4a54-8217-3ce51d068868",
"timestamp": "string"
}
an DM Account was deleted
Note that there are currently no events for created or updated DM Accounts.
Also, there are no events for ec.AccountServer Accounts (ec-Accounts).
UUID of the Data Manager
ID/title of the assetgroup
Accepts the following message:
{
"accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9",
"dataManagerID": "dba79ff2-db90-4156-8969-c0f6dc76730c",
"email": "user@example.com",
"pending": true,
"created": "string",
"pendingUpdated": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "accountDeleted",
"appId": "28c365d5-df94-4a54-8217-3ce51d068868",
"timestamp": "string"
}
send an E-Mail via ec.mail (mailgun)
mail domain to use
Accepts the following message:
{
"mail": {
"to": "undisclosed-recipients:; <no-reply@${domain}>",
"cc": "Reci Pient <recipient@somewhere.com>",
"bcc": "Reci Pient <recipient@somewhere.com>",
"from": "entrecode <ec.mail@entrecode.de>",
"h:Reply-To": "Reci Pient <recipient@somewhere.com>",
"subject": "string",
"text": "string",
"html": "string",
"attachment": [
"http://example.com"
],
"templateSet": "",
"template": "string",
"language": "string",
"data": {},
"mailgunTemplate": "string",
"h:X-Mailgun-Variables": "string",
"o:tag": "string",
"o:deliverytime": "Thu, 13 Oct 2025 18:02:00 +0000"
},
"domain": "entrecode.de"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "cmd.sendMail",
"appId": "string",
"timestamp": 0
}
send a push notification for Hector Appsites via Firebase
appsiteID to use (for firebase config)
Accepts the following message:
{
"appsiteID": "ac4e77da-5daf-4631-a7dd-f566d53243ac",
"notification": {
"title": "string",
"body": "string",
"bodyLong": "string",
"messageType": "string",
"data": {},
"from": "string",
"fromCustomerId": "string"
},
"accountIDs": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "cmd.sendPush",
"appId": "string",
"timestamp": 0
}
start an ec.task. Available tasks are output from ec.tasks API: https://ec-tasks.entrecode.de/
task identifier
Accepts the following message:
payload is depending on the task
{
"commandID": "string",
"_accountID": "41d7413d-ef79-4df2-9eca-21cb121577e4"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "string",
"appId": "ec.tasks-api",
"timestamp": 0
}
start a build at ec.appserver
platformType lowercased
Accepts the following message:
platform object
{}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"timestamp": 0
}
an event produced by a running build
platformType lowercased
Accepts the following message:
{
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"timestamp": "string",
"message": "string",
"temporary": true,
"info": {},
"buildID": "string",
"deploymentID": "string",
"eventType": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"timestamp": 0
}
an event produced by a finished build
platformType lowercased
Accepts the following message:
{
"result": "success",
"buildID": "string",
"timestamp": "string",
"content": null
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"timestamp": 0
}
Permissions of an ec.account were changed
Accepts the following message:
{
"accountID": "3dfff852-927d-47e8-822c-2fffc57ff6b9"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "permissionsUpdated",
"appId": "ecAuth",
"timestamp": "string"
}
An auth token was revoked
Accepts the following message:
{
"token": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "tokenRevoked",
"appId": "ecAuth",
"timestamp": "string"
}
Subscribe to an DSB EVA webhook event
currently only abo_renewed
is implemented
Accepts the following message:
{
"franchise": "string",
"subject": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "abo_renewed",
"timestamp": "string"
}
A new Deal is published
ID of the newly published Deal
Accepts the following message:
An Account has seen its activities
ID of the Account producing this event
Accepts the following message:
An Account has done something on a deal
ID of the Account producing this event
ID of the deal the action was performed on
Accepts the following message:
An Account has posted a comment
ID of the Account producing this event
ID of the deal the comment was created on
set to 'replyTo' if parentComment is set^
a parent comment ID, if this is a reply comment
Accepts the following message:
An Account has done something on a comment
ID of the Account producing this event
ID of the comment the action was performed on
Accepts the following message:
An Account redeemed a reward
ID of the Account producing this event
ID of the reward that was redeemed
Accepts the following message:
create a Dealbunny Expo Push Ticket
Accepts the following message:
{
"ticket": "string",
"message": {}
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "string",
"appId": "deal.push",
"timestamp": 0
}
command to delete a dealbunny Expo Push Message Token
Accepts the following message:
{
"messageToken": "string"
}
{
"persistent": true,
"contentType": "application/json",
"messageId": "8540d774-4863-4d2b-b788-4ecb19412e85",
"type": "string",
"appId": "deal.push",
"timestamp": 0
}
Settings of the created or updated data manager. Note that old values are not available on update events.
payload is depending on the task
platform object