# Add a meeting by hand

> For a meeting that is not on a connected calendar. The link must be a Google Meet, Webex or Microsoft Teams URL; anything else is refused rather than stored and silently never recorded.

`POST https://api-notetaker.nabrah.ai/ext/v1/meetings`

Requires an API key in the `Authorization` header.

For a meeting that is not on a connected calendar. The link must be a Google Meet, Webex or Microsoft Teams URL; anything else is refused rather than stored and silently never recorded.

## Body

- `title` (string, required)
- `link` (string · uri, required)
- `description` (string)
- `startsAt` (string · date-time, required)
- `durationMinutes` (integer) Default: `30`.

## Example request body

```json
{
  "title": "string",
  "link": "string",
  "description": "string",
  "startsAt": "2026-01-01T09:00:00.000Z",
  "durationMinutes": 0
}
```

## Responses

- `201` — One meeting.
- `401` — No key, an unknown key, or one that has been revoked or has expired.
- `403` — The key is read only, or lacks the reach for this route.
- `404` — No such record — or one that belongs to another account.
- `422` — The body or query failed validation; `details` names the field.
- `429` — Too many requests. `Retry-After` says how long to wait.

### 201 example

```json
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "title": "string",
    "link": "string",
    "description": "string",
    "location": "string",
    "startsAt": "2026-01-01T09:00:00.000Z",
    "durationMinutes": 0,
    "source": "manual",
    "isAllDay": true,
    "isRecurring": true,
    "attendees": [
      {}
    ],
    "attendeeCount": 0,
    "organizer": {},
    "responseStatus": "string",
    "externalUrl": "string",
    "recordOverride": true,
    "createdAt": "2026-01-01T09:00:00.000Z"
  }
}
```

### 401 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 403 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 404 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 422 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

### 429 example

```json
{
  "error": {
    "code": "string",
    "message": "string",
    "details": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```
