In Marketing Cloud, create a Journey with an API Entry Event source; note the 'EventDefinitionKey' displayed in the entry source configuration.
Activate the Journey so it is in 'Running' status — contacts cannot be injected into a Draft or Paused journey.
POST to {rest_instance_url}/interaction/v1/events with a JSON body containing 'EventDefinitionKey', 'Data': {'ContactKey': '...', and any additional data extension fields the journey expects}.
The response is a 201 with an empty body on success; a 4xx response includes an error message describing the validation failure.
Include all fields required by the journey's Entry Data extension schema in the 'Data' object — missing required fields cause the contact to be silently dropped from entry.
For bulk injection, batch multiple contacts in one POST using the 'ContactEvents' array format at /interaction/v1/events with multiple event objects.
Known gotchas
The Journey must be in 'Running' status; injecting into a Paused journey returns a 200/201 but the contact is queued and will not enter until the journey is resumed — behavior may appear as a silent drop.
If Re-entry is disabled on the journey and the contact has already been in the journey within the configured window, the injection call succeeds (no error) but the contact does not re-enter.
The 'ContactKey' must exactly match a Marketing Cloud contact — an unrecognized ContactKey may silently fail or create a new contact depending on org settings.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp