---
title: "Create a project"
method: POST
path: "/projects"
tags: ["Projects"]
---

# Create a project

`POST /projects`

## Request

- Base URL: `https://api.hookdeck.com/2025-07-01`
- URL: `https://api.hookdeck.com/2025-07-01/projects`
- Auth: one of:
  - HTTP bearer
  - HTTP basic

Create a new project within an organization. An organization API key restricted to selected projects is automatically granted access to the project it creates.

## Request body

- object
  - `name` string
  - `organization_id` string
  - `private` boolean
  - `mode` 'outpost'

## Response `200`

The created project

- Project
  - `id` string, required: The project ID
  - `organization_id` string, required: The organization ID
  - `name` string, required: The project name
  - `type` 'event_gateway' | 'console' | 'outpost', required: The project type
  - `private` boolean, required: Whether the project is private
  - `is_guest` boolean, required: Whether the project is a guest project
  - `static_ip_proxy` boolean, required: Whether static IP proxy is enabled
  - `notification_methods` string[], required: Notification methods enabled for the project
  - `webhook_topics` string[], required: Webhook notification topics
  - `webhook_source_id` string, nullable, required: The source ID for webhook notifications
  - `custom_hostnames` string[], required: Custom hostnames attached to the project
  - `directory_sync_enabled` boolean, required: Whether project members are provisioned from a directory group
  - `headers_prefix` string, nullable, required: Prefix for Hookdeck headers
  - `max_events_per_second` number, float, required: Maximum events per second for the project
  - `notification_preferences` object, required: Notification preferences for the project
    - `project_throughput_exceed` boolean, required
  - `updated_at` string, required: Last update timestamp
  - `created_at` string, required: Creation timestamp

## Other responses

- `400`: Bad Request

## Changes

- **2026-09-27** `b1b6f4bac5a1`: 1 info
  - added the required property `notification_preferences` to the response with the `200` status
- **2026-09-24** `9bebff6c68f9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hookdeck/apis/hookdeck-admin-rest-api/changes/projects/post.md)

---

[API](https://skmtc.dev/hookdeck/apis/hookdeck-admin-rest-api.md) - [All operations](https://skmtc.dev/hookdeck/apis/hookdeck-admin-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hookdeck/apis/hookdeck-admin-rest-api/revisions/b1b6f4bac5a1?raw)
