Create activity stream entry
const url = 'https://api.wink.travel/api/activity-stream';const options = { method: 'POST', headers: { 'Wink-Version': '2.0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"acl":"EVERYONE","entityIdentifier":"","eventDate":"","emotion":"","comment":"","i18nKey":"","attachmentId":"","user":""}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wink.travel/api/activity-stream \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Wink-Version: 2.0' \ --data '{ "acl": "EVERYONE", "entityIdentifier": "", "eventDate": "", "emotion": "", "comment": "", "i18nKey": "", "attachmentId": "", "user": "" }'Record a new activity event and assign it to the authenticated user. The system automatically enriches the entry with the user’s profile information from the session.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”Request Body required
Section titled “Request Body required ”object
Who can view this stream? Determines visibility level for activity entries.
Example
EVERYONEUnique identifier of the entity (booking, property, etc.) this activity is recorded against.
Example
f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92Optional timestamp indicating when the activity event occurred. Defaults to current time if omitted.
Example
2026-01-14T09:30:00Optional emotional sentiment or reaction emoji to accompany the activity (e.g., fire, heart, thumbs-up). Interpretation is client-side.
Example
fireOptional text comment from the user who created this activity. Used when manually recording events. Either comment or i18nKey must be provided.
Example
Booking confirmed and payment processed successfully!Localized i18n message key to generate text on the front-end. Used for system-generated activities. Either comment or i18nKey must be provided.
Example
ACTIVITY.BOOKING_CONFIRMEDOptional document attachment ID (e.g., Cloudinary asset ID) for files uploaded with the activity.
Example
invoice-2026-001.pdfOptional user profile information of the person who created this activity, if available in the request context.
object
User ID of authenticated person that created the stream.
Example
c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84Full name of user.
Example
Alexandra BeaumontOptional URL of user’s profile picture.
Example
https://res.cloudinary.com/wink/image/upload/v1/property/the-siam-residences.jpgResponses
Section titled “ Responses ”Activity stream entry created successfully.
object
Document UUID
Datetime this record was first created
Datetime this record was last updated
Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.
Who can view this stream? Determines visibility level for activity entries.
Unique identifier of the entity (booking, property, etc.) this activity is recorded against.
Optional emotional sentiment or reaction emoji to accompany the activity (e.g., fire, heart, thumbs-up). Interpretation is client-side.
Optional text comment from the user who created this activity. Used when manually recording events. Either comment or i18nKey must be provided.
Localized i18n message key to generate text on the front-end. Used for system-generated activities. Either comment or i18nKey must be provided.
Optional document attachment ID (e.g., Cloudinary asset ID) for files uploaded with the activity.
Optional user profile information of the person who created this activity, if available in the request context.
object
User ID of authenticated person that created the stream.
Full name of user.
Optional URL of user’s profile picture.
Example
Invalid request payload (e.g., missing required fields or invalid format).
object
object
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example", "instance": "https://example.com", "properties": { "additionalProperty": "example" }}object
object
object
object
object
object
object
object
Caller is not authenticated.
object
object
Forbidden
object
object
Validation failed (e.g., both comment and i18nKey are blank).
object
Document UUID
Datetime this record was first created
Datetime this record was last updated
Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.
Who can view this stream? Determines visibility level for activity entries.
Unique identifier of the entity (booking, property, etc.) this activity is recorded against.
Optional emotional sentiment or reaction emoji to accompany the activity (e.g., fire, heart, thumbs-up). Interpretation is client-side.
Optional text comment from the user who created this activity. Used when manually recording events. Either comment or i18nKey must be provided.
Localized i18n message key to generate text on the front-end. Used for system-generated activities. Either comment or i18nKey must be provided.
Optional document attachment ID (e.g., Cloudinary asset ID) for files uploaded with the activity.
Optional user profile information of the person who created this activity, if available in the request context.
object
User ID of authenticated person that created the stream.
Full name of user.
Optional URL of user’s profile picture.
Example
{ "id": "", "createdDate": "", "lastUpdate": "", "version": "", "acl": "EVERYONE", "entityIdentifier": "", "emotion": "", "comment": "", "i18nKey": "", "attachmentId": "", "user": ""}Internal Server Error
object
Example generated
{}