Skip to content

Create activity stream entry

POST
/api/activity-stream
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.

Wink-Version
string
default: 2.0.0
Allowed values: 2.0
Media type application/json
object
acl
required

Who can view this stream? Determines visibility level for activity entries.

string
""
Allowed values: EVERYONE AUTHENTICATED OWNER ADMIN
Example
EVERYONE
entityIdentifier
required

Unique identifier of the entity (booking, property, etc.) this activity is recorded against.

string format: uuid
"" >= 1 characters
Example
f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92
eventDate

Optional timestamp indicating when the activity event occurred. Defaults to current time if omitted.

string format: date-time
""
Example
2026-01-14T09:30:00
emotion

Optional emotional sentiment or reaction emoji to accompany the activity (e.g., fire, heart, thumbs-up). Interpretation is client-side.

string
""
Example
fire
comment

Optional text comment from the user who created this activity. Used when manually recording events. Either comment or i18nKey must be provided.

string
""
Example
Booking confirmed and payment processed successfully!
i18nKey
required

Localized i18n message key to generate text on the front-end. Used for system-generated activities. Either comment or i18nKey must be provided.

string
"" >= 1 characters
Example
ACTIVITY.BOOKING_CONFIRMED
attachmentId

Optional document attachment ID (e.g., Cloudinary asset ID) for files uploaded with the activity.

string
""
Example
invoice-2026-001.pdf
user

Optional user profile information of the person who created this activity, if available in the request context.

object
userIdentifier
required

User ID of authenticated person that created the stream.

string format: uuid
"" >= 1 characters
Example
c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84
name
required

Full name of user.

string
"" >= 1 characters
Example
Alexandra Beaumont
profilePictureUrl

Optional URL of user’s profile picture.

string
""
Example
https://res.cloudinary.com/wink/image/upload/v1/property/the-siam-residences.jpg

Activity stream entry created successfully.

Media type application/json
object
id

Document UUID

string format: uuid
""
createdDate

Datetime this record was first created

string format: date-time
""
lastUpdate

Datetime this record was last updated

string format: date-time
""
version

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.

integer format: int64
""
acl
required

Who can view this stream? Determines visibility level for activity entries.

string
""
Allowed values: EVERYONE AUTHENTICATED OWNER ADMIN
entityIdentifier
required

Unique identifier of the entity (booking, property, etc.) this activity is recorded against.

string format: uuid
"" >= 1 characters
emotion

Optional emotional sentiment or reaction emoji to accompany the activity (e.g., fire, heart, thumbs-up). Interpretation is client-side.

string
""
comment

Optional text comment from the user who created this activity. Used when manually recording events. Either comment or i18nKey must be provided.

string
""
i18nKey
required

Localized i18n message key to generate text on the front-end. Used for system-generated activities. Either comment or i18nKey must be provided.

string
"" >= 1 characters
attachmentId

Optional document attachment ID (e.g., Cloudinary asset ID) for files uploaded with the activity.

string
""
user

Optional user profile information of the person who created this activity, if available in the request context.

object
userIdentifier
required

User ID of authenticated person that created the stream.

string format: uuid
"" >= 1 characters
name
required

Full name of user.

string
"" >= 1 characters
profilePictureUrl

Optional URL of user’s profile picture.

string
""
key
additional properties
""
Example

Invalid request payload (e.g., missing required fields or invalid format).

object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
}
}

Caller is not authenticated.

Media type */*
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties

Forbidden

Media type */*
object
type
string format: uri
title
string
status
integer format: int32
detail
string
instance
string format: uri
properties
object
key
additional properties

Validation failed (e.g., both comment and i18nKey are blank).

Media type application/json
object
id

Document UUID

string format: uuid
""
createdDate

Datetime this record was first created

string format: date-time
""
lastUpdate

Datetime this record was last updated

string format: date-time
""
version

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.

integer format: int64
""
acl
required

Who can view this stream? Determines visibility level for activity entries.

string
""
Allowed values: EVERYONE AUTHENTICATED OWNER ADMIN
entityIdentifier
required

Unique identifier of the entity (booking, property, etc.) this activity is recorded against.

string format: uuid
"" >= 1 characters
emotion

Optional emotional sentiment or reaction emoji to accompany the activity (e.g., fire, heart, thumbs-up). Interpretation is client-side.

string
""
comment

Optional text comment from the user who created this activity. Used when manually recording events. Either comment or i18nKey must be provided.

string
""
i18nKey
required

Localized i18n message key to generate text on the front-end. Used for system-generated activities. Either comment or i18nKey must be provided.

string
"" >= 1 characters
attachmentId

Optional document attachment ID (e.g., Cloudinary asset ID) for files uploaded with the activity.

string
""
user

Optional user profile information of the person who created this activity, if available in the request context.

object
userIdentifier
required

User ID of authenticated person that created the stream.

string format: uuid
"" >= 1 characters
name
required

Full name of user.

string
"" >= 1 characters
profilePictureUrl

Optional URL of user’s profile picture.

string
""
Example
{
"id": "",
"createdDate": "",
"lastUpdate": "",
"version": "",
"acl": "EVERYONE",
"entityIdentifier": "",
"emotion": "",
"comment": "",
"i18nKey": "",
"attachmentId": "",
"user": ""
}

Internal Server Error

object
Example generated
{}