---
title: "Submit a group request"
url: "https://portal.konghotels.cloud/apis/kong-hotels-partner-api-1/versions/23cc133a-2f87-4d55-9490-0b8b2bb7dd78/operations/createGroupRequest"
---

> Full API specification: https://portal.konghotels.cloud/apis/kong-hotels-partner-api-1/versions/23cc133a-2f87-4d55-9490-0b8b2bb7dd78.md

# Submit a group request

`POST` `/group-requests`

Operation ID: `createGroupRequest`

**Write.** For 10 or more rooms (individual bookings are capped at 9). The property's sales team reviews the request and moves it through `under_review` → `proposal_sent` → `accepted`/`declined`. Subscribe to `group_request.updated` to follow along.

## Header parameters

- `Idempotency-Key` (string, optional) - Optional. Makes the request safe to retry for 24 hours.

## Request body (required)

Content types: `application/json`

## Responses

- `201` - Group request received.
- `403` - The API is in read-only mode.
- `404` - Not found, or owned by another partner.
- `422` - Invalid input or a booking rule violation.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Kong Hotels Partner API
  version: 1.0.0
servers:
  - url: https://api.konghotels.cloud
    description: Kong Gateway
paths:
  /group-requests:
    post:
      tags:
        - Group Requests
      operationId: createGroupRequest
      summary: Submit a group request
      description: >
        **Write.** For 10 or more rooms (individual bookings are capped at 9).
        The property's sales team

        reviews the request and moves it through `under_review` →
        `proposal_sent` → `accepted`/`declined`.

        Subscribe to `group_request.updated` to follow along.
      x-write: true
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/GroupRequestCreate"
      responses:
        "201":
          description: Group request received.
          headers:
            Location:
              $ref: "#/components/headers/Location"
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: "#/components/schemas/GroupRequest"
        "403":
          $ref: "#/components/responses/WritesDisabled"
        "404":
          $ref: "#/components/responses/NotFound"
        "422":
          $ref: "#/components/responses/ValidationFailed"
security:
  - KongKeyAuth: []
  - KongConsumer: []
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      description: Optional. Makes the request safe to retry for 24 hours.
      schema:
        type: string
        maxLength: 255
        examples:
          - 8e03978e-40d5-43e8-bc93-6894a57f9324
  schemas:
    GroupRequestCreate:
      allOf:
        - type: object
          required:
            - property_code
            - event_type
            - group_name
            - contact
            - check_in
            - check_out
            - rooms_requested
          properties:
            property_code:
              type: string
              examples:
                - KTPAR
        - $ref: "#/components/schemas/GroupRequestFields"
    GroupRequest:
      allOf:
        - type: object
          properties:
            reference:
              type: string
              examples:
                - GRP-8K2M4Q
            status:
              $ref: "#/components/schemas/GroupRequestStatus"
            property_code:
              type: string
            currency:
              type: string
            cancelled_at:
              type:
                - string
                - "null"
              format: date-time
            created_at:
              type: string
              format: date-time
            updated_at:
              type: string
              format: date-time
        - $ref: "#/components/schemas/GroupRequestFields"
    GroupRequestFields:
      type: object
      properties:
        event_type:
          type: string
          enum:
            - corporate
            - conference
            - wedding
            - sports_team
            - tour_group
            - other
        group_name:
          type: string
        contact:
          type: object
          required:
            - name
            - email
          properties:
            name:
              type: string
            email:
              type: string
              format: email
            phone:
              type:
                - string
                - "null"
            organisation:
              type:
                - string
                - "null"
        check_in:
          type: string
          format: date
        check_out:
          type: string
          format: date
          description: At most 30 nights after check_in.
        rooms_requested:
          type: integer
          minimum: 10
          maximum: 500
        attendees:
          type:
            - integer
            - "null"
        room_preferences:
          type: array
          items:
            type: object
            required:
              - room_type_code
              - rooms
            properties:
              room_type_code:
                type: string
              rooms:
                type: integer
        needs_meeting_space:
          type: boolean
          default: false
        budget_per_night:
          type:
            - number
            - "null"
          description: Per room
          in the property currency.: null
        notes:
          type:
            - string
            - "null"
    GroupRequestStatus:
      type: string
      enum:
        - received
        - under_review
        - proposal_sent
        - accepted
        - declined
        - cancelled
    Problem:
      type: object
      description: RFC 9457 problem details. Extra members (e.g. `available_units`,
        `restrictions`, `reasons`) may be present.
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        instance:
          type: string
        request_id:
          type: string
      additionalProperties: true
    ValidationProblem:
      allOf:
        - $ref: "#/components/schemas/Problem"
        - type: object
          properties:
            errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
            restrictions:
              type: array
              items:
                type: string
  headers:
    Location:
      description: URL of the created resource.
      schema:
        type: string
        format: uri
  responses:
    WritesDisabled:
      description: The API is in read-only mode.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://developers.konghotels.example/problems/writes-disabled
            title: Write operations are disabled
            status: 403
            detail: The Kong Hotels partner API is currently read-only. POST requests will
              be enabled in a later phase.
            instance: /quotes
            request_id: 0b7e2c9a-5d41-4e8b-a1f3-6c9d8e7f6a5b
    NotFound:
      description: Not found, or owned by another partner.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://developers.konghotels.example/problems/not-found
            title: Resource not found
            status: 404
            detail: Property not found.
            instance: /properties/KXXXX
            request_id: 9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
    ValidationFailed:
      description: Invalid input or a booking rule violation.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/ValidationProblem"
          examples:
            validation:
              value:
                type: https://developers.konghotels.example/problems/validation-failed
                title: Validation failed
                status: 422
                detail: One or more fields are invalid.
                instance: /quotes
                request_id: 7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b
                errors:
                  check_out:
                    - The check out field must be a date after check in.
            bookingRule:
              value:
                type: https://developers.konghotels.example/problems/booking-rule-violation
                title: Booking rule violation
                status: 422
                detail: Rate plan ADV cannot be sold for these dates.
                instance: /quotes
                request_id: 8f7e6d5c-4b3a-4f2e-9d1c-0b9a8f7e6d5c
                restrictions:
                  - min_advance_purchase
  securitySchemes:
    KongKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: Your API key, validated by Kong Gateway. The header name depends on
        the gateway's key-auth configuration.
    KongConsumer:
      type: apiKey
      in: header
      name: X-Consumer-ID
      description: "**Local development only.** Simulates the consumer identity Kong
        Gateway injects after authentication."
```
