Booking API v1

This is the legacy v1 API documentation. This version is maintained for backward compatibility but new integrations should use API v2.

Please migrate to v2: /api/private/v2.0/ for enhanced features and improved performance.

1. Overview

Version: 1.64.0-dev.53-feb9164c

1.1. Seatmap.pro Booking API v1 (Legacy)

Legacy API providing unified CRUD operations for event and pricing management. Version 2 is recommended for new integrations with enhanced features and improved architecture.

1.1.1. Core Operations

  • Events - Create, read, update, and delete event configurations

  • Venues - Retrieve venue and schema information

  • Prices - Manage pricing structures and assignments

  • Booking - Lock and unlock seats for reservation workflows

  • Price Assignments - Assign prices to specific seats

1.1.2. Authentication

All requests require API key authentication: [source]

X-API-Key: {sessionId}

The session ID is provided during authentication and must be included in every request header.

1.1.3. Migration Notice

Version 1 is in maintenance mode. New features and improvements are exclusively available in Version 2. Consider migrating to v2 for:

  • Simplified identifiers (single Long/UUID vs composite keys)

  • Enhanced error responses with field-level details (RFC 7807)

  • Bulk operations for improved performance

  • Better data integrity and validation

  • Extended pagination support

  • Schema cloning capabilities

2. Authentication

2.1. API Key

All requests must include the API key in the header:

  • Header: X-API-Key

  • Location: HTTP Header

curl -X GET "https://api.seatmap.pro/api/private/v1.0/..." \
  -H "X-API-Key: your-api-key"

3. API Endpoints

3.1. Booking

Allows to the system lock ans unlock seats

3.1.1. lock

POST /api/private/v1.0/booking/lock

Lock a seat or GA

Seat should be available

Body Parameter

Name

Description

Required

Default

Selection

[List]

X

Query Parameters

Name

Description

Required

Default

id

X

null

Return Type

array[Selection]

Responses
Table 1. HTTP Response Codes

Code

Message

Datatype

200

Returns unsuccessful attempts

List[Selection]

400

Input data is not valid

List[Selection]

403

Forbidden. Please use correct private key.

List[Selection]

Examples
HTTP Request
cURL Request
HTTP Response

3.1.2. sale

POST /api/private/v1.0/booking/sale

Transfer seat or GA to the state sold

This feature applicable only in a sales control mode

Body Parameter

Name

Description

Required

Default

Selection

[List]

X

Query Parameters

Name

Description

Required

Default

id

X

null

Return Type

array[Selection]

Responses
Table 2. HTTP Response Codes

Code

Message

Datatype

200

Returns unsuccessful attempts

List[Selection]

400

Input data is not valid

List[Selection]

403

Forbidden. Please use correct private key.

List[Selection]

Examples
HTTP Request
cURL Request
HTTP Response

3.1.3. unlock

POST /api/private/v1.0/booking/unlock

Unlock a seat or GA

For GA unlocking capacity counter shall be specified

Body Parameter

Name

Description

Required

Default

Selection

[List]

X

Query Parameters

Name

Description

Required

Default

id

X

null

Return Type

array[Selection]

Responses
Table 3. HTTP Response Codes

Code

Message

Datatype

200

Returns unsuccessful attempts

List[Selection]

400

Input data is not valid

List[Selection]

403

Forbidden. Please use correct private key.

List[Selection]

Examples
HTTP Request
cURL Request
HTTP Response

3.2. EventsV1Deprecated

Legacy event management endpoints for API v1.

DEPRECATED: This API version is maintained for backward compatibility only. New integrations should use API v2: /api/private/v2.0/events/

Migration benefits: * Improved performance with optimized queries * Enhanced filtering and pagination * Better error messages and validation * UUID-based identifiers for better scalability

3.2.1. eventAll

GET /api/private/v1.0/events/

Retrieve list of all events (v1 - Deprecated)

Getting all the events with paging. DEPRECATED: Use GET /api/private/v2.0/events/ instead. V2 API provides standard Spring Data pagination with better filtering options.

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

limit

Quantity of requested items

50

offset

Offset for the pager

0

Return Type

array[Event]

Responses
Table 4. HTTP Response Codes

Code

Message

Datatype

200

Returns list of objects

List[Event]

400

Input data is not valid

List[Event]

403

Forbidden. Please use correct private key.

List[Event]

Examples
HTTP Request
cURL Request
HTTP Response

3.2.2. eventCreate

POST /api/private/v1.0/events/

Create an Event (v1 - Deprecated)

Before you start to create an Event you need to create a schema with venue. DEPRECATED: Use POST /api/private/v2.0/events/ instead. V2 API provides better validation, UUID identifiers, and improved error handling.

Body Parameter

Name

Description

Required

Default

Event

Event

X

Return Type
Responses
Table 5. HTTP Response Codes

Code

Message

Datatype

200

Returns created object

Event

400

Input data is not valid

Event

403

Forbidden. Please use correct private key.

Event

Examples
HTTP Request
cURL Request
HTTP Response

3.2.3. eventDelete

DELETE /api/private/v1.0/events/{id}

Delete an Event (v1 - Deprecated)

Deleted event shall contains valid id. DEPRECATED: Use DELETE /api/private/v2.0/events/{id} instead. V2 API returns proper HTTP 204 No Content on successful deletion.

Body Parameter

Name

Description

Required

Default

Path Parameters

Name

Description

Required

Default

id

Valid event identifier

X

null

Return Type
Responses
Table 6. HTTP Response Codes

Code

Message

Datatype

200

Returns result of the delete operation

[Boolean]

400

Input data is not valid

[Boolean]

403

Forbidden. Please use correct private key.

[Boolean]

Examples
HTTP Request
cURL Request
HTTP Response

3.2.4. eventUpdate

PUT /api/private/v1.0/events/

Update an Event (v1 - Deprecated)

Updated event shall contains valid id. DEPRECATED: Use PUT /api/private/v2.0/events/ instead. V2 API provides better validation and clearer response codes.

Body Parameter

Name

Description

Required

Default

Event

Event

X

Return Type
Responses
Table 7. HTTP Response Codes

Code

Message

Datatype

200

Returns updated object

Event

400

Input data is not valid

Event

403

Forbidden. Please use correct private key.

Event

Examples
HTTP Request
cURL Request
HTTP Response

3.3. PriceAssignments

Allows to assign/remove prices to seats

3.3.1. assignPrice

POST /api/private/v1.0/assignments/

Assign prices to event

Price assignments assume using of plain representation of price. For GA sections you need to specify capacity

Body Parameter

Name

Description

Required

Default

PriceAssignment

[List]

X

Query Parameters

Name

Description

Required

Default

id

Corresponding event id

X

null

clean

Clean before assign is used when you need completely renew the price assignment. It also could be cleaned with clean method

false

Return Type
Responses
Table 8. HTTP Response Codes

Code

Message

Datatype

200

Returns unsuccessful assignments

List[PriceAssignment]

400

Input data is not valid

List[PriceAssignment]

403

Forbidden. Please use correct private key.

List[PriceAssignment]

Examples
HTTP Request
cURL Request
HTTP Response

3.3.2. cleanAssignment

POST /api/private/v1.0/assignments/clean

Remove all price assignments from event

All states including locked seats, will be cleaned up during this operation

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

id

Corresponding event id

X

null

Return Type
Responses
Table 9. HTTP Response Codes

Code

Message

Datatype

200

Returns true if everything is ok

[Boolean]

400

Input data is not valid

[Boolean]

403

Forbidden. Please use correct private key.

[Boolean]

Examples
HTTP Request
cURL Request
HTTP Response

3.3.3. removeAssignment

DELETE /api/private/v1.0/assignments/

Remove specified assignments from event

To remove assignments from event we are using simplified object Selection. For GA sections use capacity field as well

Body Parameter

Name

Description

Required

Default

Selection

[List]

X

Query Parameters

Name

Description

Required

Default

id

Corresponding event id

X

null

Return Type

array[Selection]

Responses
Table 10. HTTP Response Codes

Code

Message

Datatype

200

Returns unsuccessful attempts to remove assignment

List[Selection]

400

Input data is not valid

List[Selection]

403

Forbidden. Please use correct private key.

List[Selection]

Examples
HTTP Request
cURL Request
HTTP Response

3.4. Prices

Provides CRUD operations for prices

3.4.1. priceAll

GET /api/private/v1.0/prices/

Retrieve all prices for event

All prices

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

id

X

null

Return Type

array[Price]

Responses
Table 11. HTTP Response Codes

Code

Message

Datatype

200

Returns list of objects

List[Price]

400

Input data is not valid

List[Price]

403

Forbidden. Please use correct private key.

List[Price]

Examples
HTTP Request
cURL Request
HTTP Response

3.4.2. priceCreate

POST /api/private/v1.0/prices/

Create a price for event

Binds a price to event

Body Parameter

Name

Description

Required

Default

Price

Price

X

Return Type
Responses
Table 12. HTTP Response Codes

Code

Message

Datatype

200

Returns created object

Price

400

Input data is not valid

Price

403

Forbidden. Please use correct private key.

Price

Examples
HTTP Request
cURL Request
HTTP Response

3.4.3. priceDelete

DELETE /api/private/v1.0/prices/

Delete a price for event

Binds a price to event

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

id

X

null

Return Type
Responses
Table 13. HTTP Response Codes

Code

Message

Datatype

200

Returns true if everything is ok.

[Boolean]

400

Input data is not valid

[Boolean]

403

Forbidden. Please use correct private key.

[Boolean]

Examples
HTTP Request
cURL Request
HTTP Response

3.4.4. priceUpdate

PUT /api/private/v1.0/prices/

Update a price for event

Binds a price to event

Body Parameter

Name

Description

Required

Default

Price

Price

X

Return Type
Responses
Table 14. HTTP Response Codes

Code

Message

Datatype

200

Returns updated object

Price

400

Input data is not valid

Price

403

Forbidden. Please use correct private key.

Price

Examples
HTTP Request
cURL Request
HTTP Response

3.5. Venues

Provides descriptions of the existing venues and schemas

3.5.1. schemaAll

GET /api/private/v1.0/venues/schemas/

Retrieve list of all schemas

Getting all the schemas with paging

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

limit

Quantity of requested items

50

offset

Offset for the pager

0

venueId

Venue id

null

lastUpdated

Schemas updated after this date will be retrieved.

null

Return Type

array[Schema]

Responses
Table 15. HTTP Response Codes

Code

Message

Datatype

200

Returns list of schemas

List[Schema]

400

Input data is not valid

List[Schema]

403

Forbidden. Please use correct private key.

List[Schema]

Examples
HTTP Request
cURL Request
HTTP Response

3.5.2. schemaDetails

GET /api/private/v1.0/venues/schemas/{schemaId}/details/

Retrieve schema’s details

Getting schema’s details

Body Parameter

Name

Description

Required

Default

Path Parameters

Name

Description

Required

Default

schemaId

X

null

Return Type
Responses
Table 16. HTTP Response Codes

Code

Message

Datatype

200

Returns schema's details

Schema

400

Input data is not valid

Schema

403

Forbidden. Please use correct private key.

Schema

Examples
HTTP Request
cURL Request
HTTP Response

3.5.3. schemaMetadata

GET /api/private/v1.0/venues/schemas/{schemaId}/

Retrieve schema’s metadata

Getting schema’s metadata with \\<\\<#composite-key, Composite Key\\>\\>s

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

numberedSections

false

useInternalIds

false

Path Parameters

Name

Description

Required

Default

schemaId

X

null

Return Type
Responses
Table 17. HTTP Response Codes

Code

Message

Datatype

200

Returns schema's metadata

EventMetadata

400

Input data is not valid

EventMetadata

403

Forbidden. Please use correct private key.

EventMetadata

Examples
HTTP Request
cURL Request
HTTP Response

3.5.4. sectionMetadata

GET /api/private/v1.0/venues/schemas/{schemaId}/section/{sectionId}/

Retrieve section’s metadata

Getting section’s metadata with ID

Body Parameter

Name

Description

Required

Default

Path Parameters

Name

Description

Required

Default

schemaId

X

null

sectionId

X

null

Return Type
Responses
Table 18. HTTP Response Codes

Code

Message

Datatype

200

Returns section's metadata

SectorWithCoords

400

Input data is not valid

SectorWithCoords

403

Forbidden. Please use correct private key.

SectorWithCoords

Examples
HTTP Request
cURL Request
HTTP Response

3.5.5. venueAll

GET /api/private/v1.0/venues/

Retrieve list of all venues

Getting all the venues with paging

Body Parameter

Name

Description

Required

Default

Query Parameters

Name

Description

Required

Default

limit

Quantity of requested items

50

offset

Offset for the pager

0

Return Type

array[Venue]

Responses
Table 19. HTTP Response Codes

Code

Message

Datatype

200

Returns list of objects

List[Venue]

400

Input data is not valid

List[Venue]

403

Forbidden. Please use correct private key.

List[Venue]

Examples
HTTP Request
cURL Request
HTTP Response

3.5.6. venueById

GET /api/private/v1.0/venues/{venueId}

Retrieves a specific venue by id

Getting venue by Id

Body Parameter

Name

Description

Required

Default

Path Parameters

Name

Description

Required

Default

venueId

X

null

Return Type
Responses
Table 20. HTTP Response Codes

Code

Message

Datatype

200

Returns list of objects

Venue

400

Input data is not valid

Venue

403

Forbidden. Please use correct private key.

Venue

Examples
HTTP Request
cURL Request
HTTP Response

4. Data Models

4.1. Event

Valid event object without id field

Name

Type

Required

Description

id

[UUID]

start

[Date]

X

killAfter

[Date]

name

[String]

X

schemaId

[Long]

X

4.2. EventMetadata

Contains list of sections

Name

Type

Required

Description

sectors

List[[array]]

4.3. Price

Name

Type

Required

Description

id

[Long]

name

[String]

X

eventId

[UUID]

X

externalId

[String]

4.4. PriceAssignment

Name

Type

Required

Description

capacity

[Integer]

compositeKey

[String]

X

price

[Integer]

X

properties

[String]

4.5. RowMetadata

Name

Type

Required

Description

key

[String]

name

[String]

seats

List[[array]]

4.6. Schema

Name

Type

Required

Description

id

[Long]

capacity

[Integer]

name

[String]

venueId

[Long]

eventId

[UUID]

4.7. SeatMetadata

Name

Type

Required

Description

key

[String]

name

[String]

x

[Integer]

y

[Integer]

ix

[Integer]

iy

[Integer]

4.8. SectorMetadata

Name

Type

Required

Description

key

[String]

name

[String]

x

[Integer]

y

[Integer]

width

[Integer]

height

[Integer]

angle

[Integer]

guid

[UUID]

rows

List[[array]]

id

[Long]

shapes

List[[array]]

labelOffsetX

[Double]

labelOffsetY

[Double]

labelStyle

[String]

4.9. SectorWithCoords

Name

Type

Required

Description

id

[Long]

isGa

[Boolean]

name

[String]

X

x

[BigDecimal]

y

[BigDecimal]

guid

[UUID]

left

[BigDecimal]

top

[BigDecimal]

angle

[Integer]

width

[BigDecimal]

height

[BigDecimal]

type

[String]

properties

[oas_any_type_not_mapped]

shapes

List[[array]]

4.10. Selection

Name

Type

Required

Description

capacity

[Integer]

compositeKey

[String]

X

4.11. Shape

4.11.1. textPosition

Value

TOP

BOTTOM

LEFT

RIGHT

Name

Type

Required

Description

id

[UUID]

width

[BigDecimal]

height

[BigDecimal]

y

[BigDecimal]

x

[BigDecimal]

angle

[Integer]

groupOfSeatsGuid

[UUID]

order

[Integer]

text

[String]

textPosition

[String]

textColor

[String]

fill

[String]

4.12. ShapeMetadata

4.12.1. textPosition

Value

TOP

BOTTOM

LEFT

RIGHT

Name

Type

Required

Description

id

[UUID]

width

[Integer]

height

[Integer]

top

[Integer]

left

[Integer]

angle

[Integer]

groupOfSeatsGuid

[UUID]

order

[Integer]

text

[String]

textPosition

[String]

textColor

[String]

fill

[String]

4.13. Venue

Name

Type

Required

Description

id

[Long]

name

[String]

address

[String]

lat

[Double]

lng

[Double]