Create group reservation

Creates a new group reservation to temporarily assign a person to one or more groups.
The person will be automatically added to the specified groups during the reservation period.

POST /api/3/group_reservations

Authentication

This endpoint requires authentication:

OAuth 2.0 Recommended

Use an OAuth 2.0 access token in the Authorization header. This is the recommended authentication method for all integrations. OAuth provides automatic token expiration, granular permission scopes, detailed usage tracking, and per-integration revocation. Learn how to obtain an access token.

Header Format:

Authorization: Bearer YOUR_ACCESS_TOKEN

Required Scopes:

account.group_reservation

Request Body

group_reservation object
Required
Show child attributes
person_id integer required
eg. 12345

ID of the person to assign to groups (must belong to the same account)

start_time string required
eg. 2024-01-15T09:00:00.000Z

Start time of the group reservation

end_time string required
eg. 2024-01-15T17:00:00.000Z

End time of the group reservation (must be after start time and in the future)

group_ids array required
eg. [1, 3, 5]

Array of group IDs to assign the person to (at least one required, all must belong to the account)

Example

{
  "group_reservation": {
    "person_id": 12345,
    "start_time": "2024-01-15T09:00:00.000Z",
    "end_time": "2024-01-15T17:00:00.000Z",
    "group_ids": [
      0
    ]
  }
}

Responses

201

Group reservation created successfully

Response Fields

id integer required

Unique identifier for the group reservation

eg. 456
person_id integer required

ID of the person assigned to the groups

eg. 12345
start_time string required

Start time of the group reservation

eg. 2024-01-15T09:00:00.000Z
end_time string required

End time of the group reservation (must be after start time and in the future)

eg. 2024-01-15T17:00:00.000Z
state string required

Current state of the reservation (pending = not started, active = in progress, deactivated = cancelled or completed)

eg. active
group_ids array<integer> required

Array of group IDs the person is assigned to during this reservation

eg. [1, 3, 5]
created_at string required

Timestamp of creation

updated_at string required

Timestamp of last update

401

Unauthorized - Invalid or missing authentication

Response Fields

error string
eg. unauthorized
error_description string
eg. The access token is invalid
403

Forbidden - User does not have permission

Response Fields

error string
eg. forbidden
error_description string
eg. You are not authorized to access this resource
422

Unprocessable Entity - Validation failed

Response Fields

error string

Error message

errors object

Field-specific validation errors

Show child attributes
value array
eg. ["value is already in use on your account", "must be between 4 and 7 digits in length"]

Validation errors for the credential value

credential_type_id array
eg. ["Not found for this account"]

Validation errors for the credential type

limit_reached string
eg. You have reached your HID Mobile licence limit. Please contact DoorFlow Support.

License limit error message

500

Internal Server Error

Response Fields

error string
eg. internal_server_error
error_description string
eg. An unexpected error occurred

Request

curl -X POST \
  "https://api.doorflow.com/api/3/group_reservations" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"group_reservation":{"person_id":12345,"start_time":"2024-01-15T09:00:00.000Z","end_time":"2024-01-15T17:00:00.000Z","group_ids":[0]}}'

Responses

Group reservation created successfully

{
  "id": 456,
  "person_id": 12345,
  "start_time": "2024-01-15T09:00:00.000Z",
  "end_time": "2024-01-15T17:00:00.000Z",
  "state": "active",
  "group_ids": [
    0
  ],
  "created_at": "string",
  "updated_at": "string"
}