PATCH
/
v1
/
itineraries
/
{itineraryId}
/
activities
/
{activityId}
Update activity (internal)
curl --request PATCH \
  --url https://api.hofj.com/v1/itineraries/{itineraryId}/activities/{activityId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "nezasaProductId": "<string>",
  "serviceCategoryId": "<string>",
  "paxSelection": 123,
  "amenities": [
    {
      "paxSelection": 123,
      "id": "<string>"
    }
  ]
}
'
{
  "data": {},
  "meta": {
    "now": 123
  }
}

Authorizations

Authorization
string
header
default:dev-internal-api-key
required

Use Authorization: Bearer <access_token> from POST /v1/oauth/token, or Authorization: Bearer <api_key>. Dev-only example key (do not use in production): see repository README.

Path Parameters

itineraryId
string
required

Identifier of the itinerary (cart) returned by POST /v1/itineraries.

activityId
string
required

Identifier of an activity (experience option) for the itinerary.

Query Parameters

brand
string

Distribution channel brand: matches channel name or domainUrl (e.g. Weebora, weebora.com, booking.hofj.com, terrarossa.com). The resolved domain is BOTH the upstream host AND the tenant routing value. If omitted, CONTENT_DEFAULT_CHANNEL_DOMAIN must be set server-side.

locale
enum<string>

Locale for the brand site (it, en, es, fr). Injected as /{locale}/api/... on the upstream call. Defaults to CONTENT_DEFAULT_LOCALE.

Available options:
it,
en,
es,
fr

Body

application/json
nezasaProductId
string
required
serviceCategoryId
string
required
paxSelection
number
required
amenities
object[] | null

Response

Activity updated

data
object
required

No content.

meta
object