---
title: "Add Event To Hub Agenda"
method: POST
path: "/v1/hubs/{hub_slug}/events"
tags: ["Hubs"]
---

# Add Event To Hub Agenda

`POST /v1/hubs/{hub_slug}/events`

## Request

- Base URL: `https://developer.eventship.com` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.eventship.com/v1/hubs/{hub_slug}/events`
- Auth: API key in header `X-API-Key`

Put a live event on your hub's agenda.

The event may belong to any host. It must be live, public and not unlisted,
and it cannot itself be a hub. Adding is immediate, with no review step, and
the added event's hosts are emailed that a hub picked their event up.

The hub's own `status`, `isPublic` and `unlisted` decide whether the hub is
LISTED publicly, not whether its agenda can be read. A live private or
unlisted hub is link-only, and its schedule is readable by anyone holding
that link, so adding is visible immediately rather than staged. Only a
draft hub is unreachable from its own page, and hubs are curatable before
they go live on purpose, so adding to one is not an error. `GET /v1/hubs`
reports all three fields (`status`, `isPublic`, `unlisted`).

The notification runs after the change is committed and swallows delivery
failures, so it is not a guarantee that the added event's hosts learn of
the change before the public can see it.

## Path parameters

- `hub_slug` string, required

## Request body

- ExternalHubAddEventRequest: Request to put an event on a hub's agenda.
  - `eventSlug` string, required: URL slug of the event to add. It may belong to any host, not just yours, but it must be live, public and not unlisted.

## Response `200`

Successful Response

- ApiResponseExternalHubAgendaEntry
  - `data` ExternalHubAgendaEntry, required: Result of adding an event to (or removing one from) a hub's agenda.
    - `hubSlug` string, required
    - `hubTitle` string, required
    - `eventSlug` string, required
    - `eventTitle` string, required
    - `status` string, required: Agenda state of the event on this hub: "approved" means it is on the agenda, "rejected" means it has been removed.
  - `success` boolean
  - `message` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/eventship/apis/eventship-api.md) · [All operations](https://skmtc.dev/eventship/apis/eventship-api/llms.txt) · [OpenAPI document](https://skmtc.dev/eventship/apis/eventship-api/revisions/4b7e010cb94f?raw)
