# Create or Update Registration

> **BETA**

#### Description
Creates or updates a registration for a bookable event.

#### URL format
```
{data_center_url}/v1/bookable_events/{bookable_event_id}/registrations
```

#### Example Request
```http
POST /v1/bookable_events/{bookable_event_id}/registrations HTTP/1.1
Host: {data_center_url}
Authorization: Bearer {API_KEY}
Content-Type: application/json; charset=utf-8

{
  "registration_id": "87326",
  "status": "accepted",
  "metadata": {
    "email": "a@company.com",
    "name": "Bill the One",
    "locale": "en-US",
    "zoneinfo": "America/Chicago"
  }
}
```

#### Example Response
```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "bookable_event_id": "83hi8qhfiaif",
  "start": "2026-04-22T12:30:00Z",
  "end": "2026-04-22T17:00:00Z",
  "status": "confirmed",
  "registration": {
    "capacity": 5,
    "registered_count": 1,
    "total_count": 1,
    "registrations": [
      {
        "registration_id": "87326",
        "status": "accepted",
        "metadata": {
          "email": "a@company.com",
          "name": "Bill the One",
          "locale": "en-US",
          "zoneinfo": "America/Chicago"
        }
      }
    ]
  }
}
```

#### Request parameters
##### `data_center_url` *(required)*

The URL for the data center you want to communicate with. Possible choices are:

- `api-au.cronofy.com` - Australia
- `api-ca.cronofy.com` - Canada
- `api-de.cronofy.com` - Germany
- `api-sg.cronofy.com` - Singapore
- `api-uk.cronofy.com` - United Kingdom
- `api.cronofy.com` - United States

Find out more about [Cronofy's data centers](/developers/data-centers/index.md).
##### `registration_id` *(required)*

The [`String`](/developers/api/data-types/index.md) that uniquely identifies the registration within the Bookable Event.

Can only contain alphanumeric, underscore or hyphen characters.

##### `status` *(required)*

A [`String`](/developers/api/data-types/index.md) that indicates the status of the registration. Must be one of:

- `pending` awaiting confirmation of registration.

- `accepted` is confirmed as a registration.

- `tentative` is possibly a registration.

- `declined` the registration has been declined.

- `removed` the registration has been removed.

These deliberately, mostly, map to event invitation status values to support future functionality.

##### `metadata` *(optional)*

Upto **10** key-value pairs of additional data to save against the registration. With the following restrictions.

<dl>
<dt>key</dt>
<dd>A [`String`](/developers/api/data-types/index.md) of upto 64 characters.</dd>
<dt>value</dt>
<dd>A [`String`](/developers/api/data-types/index.md) of up to 256 characters, an [`Integer`](/developers/api/data-types/index.md), or a [`Float`](/developers/api/data-types/index.md).</dd>
</dl>
We recommend that, if you wish to store a value that is contained within the [Open ID Standard Claims list](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims), you use the key defined in that list. As we extend the capabilities of Bookable Events throughout our service, keys from that list will have the associated meaning.

#### Response parameters
The Bookable Event resource. See [Read Bookable Event](/developers/api/scheduling/bookable-events/read/index.md)



---
[Read in HTML](/developers/api/scheduling/bookable-events/registrations/upsert/)