> ## Documentation Index
> Fetch the complete documentation index at: https://developer.meetergo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Introduction

> Build scheduling into your application with the meetergo Platform API

The meetergo Platform API lets you integrate scheduling directly into your application. Create users, manage availability, handle bookings, and connect calendars—all programmatically.

## Base URL

All API requests should be made to:

```
https://api.meetergo.com/v4
```

## Interactive Documentation

Explore the full API with our interactive Swagger UI:

<Card title="API Specification" icon="book-open" href="https://api.meetergo.com/spec/v2">
  Browse endpoints, see schemas, and test API calls
</Card>

## API Access

<Note>
  The Platform API is available on Enterprise plans. [Contact sales](mailto:sales@meetergo.com) to enable API access for your account.
</Note>

## Core API Resources

| Resource         | Description                                                                                                                                                                             |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **User**         | The root resource for a schedulable person. All other resources are associated with a User.                                                                                             |
| **Meeting Type** | A template defining the rules for a meeting, such as its title and duration. When a time slot is booked, it's booked against a specific Meeting Type.                                   |
| **Availability** | Defines a user's schedule. Composed of a recurring weekly template with date-based exceptions (holidays, custom hours). The meetergo engine uses this to calculate bookable time slots. |
| **Booking**      | Represents a meeting scheduled on a user's calendar. Links a Meeting Type to a specific time slot with attendee information.                                                            |
| **Contact**      | A person who has booked or interacted with a scheduling page. Automatically created from booking attendees; can also be created and managed directly via `POST /crm`.                   |

## Authentication

The API uses API keys for authentication. Include your key in the `Authorization` header:

```bash theme={null}
Authorization: Bearer ak_live:<uuid>:<secret>
```

Most endpoints also require the `x-meetergo-api-user-id` header:

```bash theme={null}
x-meetergo-api-user-id: <user-uuid>
```

<Warning>
  API keys are shown only once when created. Store them securely—you cannot retrieve them later.
</Warning>

See [Authentication](/api-reference/authentication) for complete details.

## Quick Example

Create a fully functional platform user in a single API call:

```bash theme={null}
curl -X POST "https://api.meetergo.com/v4/user" \
  -H "Authorization: Bearer ak_live:uuid:secret" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john.smith@example.com",
    "givenName": "John",
    "familyName": "Smith",
    "timezone": "Europe/London"
  }'
```

Response:

```json theme={null}
{
  "userId": "550e8400-e29b-41d4-a716-446655440000",
  "availabilityId": "660e8400-e29b-41d4-a716-446655440001",
  "meetingTypeId": "770e8400-e29b-41d4-a716-446655440002",
  "bookingUrl": "https://cal.meetergo.com/john-smith/30min-meeting",
  "companyId": "880e8400-e29b-41d4-a716-446655440003"
}
```

<Check>
  The user is immediately ready for bookings! The `bookingUrl` can be shared with customers right away.
</Check>

## Rate Limits

| Limit Type      | Value                           |
| --------------- | ------------------------------- |
| Standard rate   | 100 requests/minute per API key |
| Burst allowance | Up to 200 requests              |

When rate limited, you'll receive `429 Too Many Requests`. Implement exponential backoff for retries.

## Error Handling

| Code  | Meaning                              |
| ----- | ------------------------------------ |
| `200` | Success                              |
| `201` | Created                              |
| `400` | Bad Request - Invalid input          |
| `401` | Unauthorized - Invalid API key       |
| `403` | Forbidden - Insufficient permissions |
| `404` | Not Found                            |
| `429` | Rate Limited                         |
| `500` | Server Error                         |

### Error Response Format

```json theme={null}
{
  "statusCode": 400,
  "message": "Validation failed",
  "errors": [
    {
      "field": "email",
      "message": "Invalid email format"
    }
  ]
}
```

## Support

<CardGroup cols={2}>
  <Card title="Interactive Docs" icon="book" href="https://api.meetergo.com/spec/v2">
    Explore the full API specification
  </Card>

  <Card title="API Support" icon="headset" href="mailto:api-support@meetergo.com">
    Contact our API support team
  </Card>
</CardGroup>
