Page cover

Craft the Future Ticketing Experience

API Documentation - Developers V1.0

Base URL: https://cloud.goevent.live/developers/v1.0

Headers required for all requests

Content-Type: application/json
Authorization: Bearer <token>

Table of contents

1

1. List Events

Retrieve all events where the authenticated user has admin role.

Endpoint: GET /events

Query Parameters:

Parameter
Type
Required
Description
Default

page

number

No

Page number

1

limit

number

No

Number of items per page (max: 100)

20

Response:

{
  "events": [
    {
      "id": "507f1f77bcf86cd799439011",
      "name": "Concert de Jazz",
      "slug": "concert-de-jazz",
      "path": "/concert-de-jazz",
      "dateStart": "2024-06-15T20:00:00.000Z",
      "dateEnd": "2024-06-16T02:00:00.000Z",
      "location": "Paris, France",
      "publish": true,
      "cover": {
        "square": "https://res.cloudinary.com/genielabel/image/upload/c_fill,w_200,h_200,g_auto/abc123.jpg",
        "thumb": "https://res.cloudinary.com/genielabel/image/upload/c_thumb,w_400,h_300/abc123.jpg",
        "medium": "https://res.cloudinary.com/genielabel/image/upload/c_scale,w_800/abc123.jpg",
        "original": "https://res.cloudinary.com/genielabel/image/upload/abc123.jpg"
      },
      "checkoutUrl": "https://www.goevent.live/e/concert-de-jazz/checkout",
      "siteUrl": "https://www.goevent.live/e/concert-de-jazz"
    }
  ],
  "paginate": {
    "hasNextPage": true,
    "nextPage": 2
  }
}

Example Request:

curl
curl --location --request GET 'https://cloud.goevent.live/developers/v1.0/events?page=1&limit=20' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'
2

2. Get Single Event

Retrieve a single event with its tickets by event ID.

Endpoint: GET /event/{id}

Path Parameters:

Parameter
Type
Required
Description

id

string

Yes

Event ID (ObjectId)

Response:

{
  "event": {
    "id": "507f1f77bcf86cd799439011",
    "name": "Concert de Jazz",
    "slug": "concert-de-jazz",
    "path": "/concert-de-jazz",
    "dateStart": "2024-06-15T20:00:00.000Z",
    "dateEnd": "2024-06-16T02:00:00.000Z",
    "location": "Paris, France",
    "publish": true,
    "cover": {
      "square": "https://res.cloudinary.com/genielabel/image/upload/c_fill,w_200,h_200,g_auto/abc123.jpg",
      "thumb": "https://res.cloudinary.com/genielabel/image/upload/c_thumb,w_400,h_300/abc123.jpg",
      "medium": "https://res.cloudinary.com/genielabel/image/upload/c_scale,w_800/abc123.jpg",
      "original": "https://res.cloudinary.com/genielabel/image/upload/abc123.jpg"
    },
    "checkoutUrl": "https://www.goevent.live/e/concert-de-jazz/checkout",
    "siteUrl": "https://www.goevent.live/e/concert-de-jazz"
  },
  "tickets": [
    {
      "id": "65fff7aada40be007f09ee95",
      "name": "VIP",
      "available": true,
      "quantity": 100
    },
    {
      "id": "65fff7aada40be007f09ee96",
      "name": "Standard",
      "available": true,
      "quantity": 250
    }
  ]
}

Example Request:

curl
curl --location --request GET 'https://cloud.goevent.live/developers/v1.0/event/67212707e47ff56741acb3a6' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'
3

3. List Tickets

Retrieve all tickets (prices) available for a specific event.

Endpoint: GET /tickets

Query Parameters:

Parameter
Type
Required
Description

eventId

string

Yes

Event ID (ObjectId)

Response:

{
  "tickets": [
    {
      "id": "65fff7aada40be007f09ee95",
      "name": "VIP",
      "available": true,
      "quantity": 100
    },
    {
      "id": "65fff7aada40be007f09ee96",
      "name": "Standard",
      "available": true,
      "quantity": 250
    }
  ]
}

Example Request:

curl
curl --location --request GET 'https://cloud.goevent.live/developers/v1.0/tickets?eventId=67212707e47ff56741acb3a6' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'
4

4. Create Tickets

Create tickets for an event. Supports:

  • Anonymous tickets

  • Tickets with existing participant (by participantId)

  • Tickets with new participant data

Endpoint: POST /tickets/create

Request Body:

{
  "eventId": "643e7b194937913299554a7d",
  "tickets": [
    { "ticket_id": "65fff7aada40be007f09ee95", "quantity": 2 }
  ],
  "participant": {
    "participantId": "697f54811fc6cd47e04c39c3"
  }
}

Request Body Parameters:

Parameter
Type
Required
Description

eventId

string

Yes

Event ID (ObjectId)

tickets

array

Yes

Array of ticket objects

tickets[].ticket_id

string

Yes

Price/Ticket ID

tickets[].quantity

number

Yes

Number of tickets

participant

object

No

Participant data (optional)

participant.participantId

string

No

Existing participant ID (optional)

participant.last_name

string

No

Participant last name

participant.first_name

string

No

Participant first name

participant.email

string

No

Participant email

participant.phone

string

No

Participant phone

Response:

{
  "success": true,
  "participant": {
    "id": "697f54811fc6cd47e04c39c3",
    "last_name": "Doe",
    "first_name": "John",
    "email": "[email protected]",
    "phone": "+1234567890",
    "address": null
  },
  "tickets": [
    {
      "name": "VIP",
      "url": "https://goeventcloud2.s3.amazonaws.com/ticket-123.pdf?signature=...",
      "quantity": 2
    }
  ]
}

Example Requests:

With existing participant:

curl
curl --location --request POST 'https://cloud.goevent.live/developers/v1.0/tickets/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
    "eventId": "643e7b194937913299554a7d",
    "tickets": [
      { "ticket_id": "65fff7aada40be007f09ee95", "quantity": 2 }
    ],
    "participant": {
      "participantId": "697f54811fc6cd47e04c39c3"
    }
}'

With new participant:

curl
curl --location --request POST 'https://cloud.goevent.live/developers/v1.0/tickets/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
    "eventId": "643e7b194937913299554a7d",
    "tickets": [
      { "ticket_id": "65fff7aada40be007f09ee95", "quantity": 2 }
    ],
    "participant": {
      "last_name": "Doe",
      "first_name": "John",
      "email": "[email protected]",
      "phone": "+1234567890"
    }
}'

Anonymous ticket:

curl
curl --location --request POST 'https://cloud.goevent.live/developers/v1.0/tickets/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
    "eventId": "643e7b194937913299554a7d",
    "tickets": [
      { "ticket_id": "65fff7aada40be007f09ee95", "quantity": 1 }
    ]
}'
5

5. List Participants

Retrieve all participants for a specific event.

Endpoint: GET /participants

Query Parameters:

Parameter
Type
Required
Description
Default

eventId

string

Yes

Event ID (ObjectId)

-

page

number

No

Page number

1

limit

number

No

Number of items per page (max: 100)

50

Response:

{
  "participants": [
    {
      "id": "697f54811fc6cd47e04c39c3",
      "last_name": "Doe",
      "first_name": "John",
      "email": "[email protected]",
      "phone": "+1234567890",
      "address": null,
      "confirmed": true,
      "created": "2024-01-15T10:30:00.000Z"
    },
    {
      "id": "697f54811fc6cd47e04c39c4",
      "last_name": "Smith",
      "first_name": "Jane",
      "email": "[email protected]",
      "phone": "+1234567891",
      "address": "123 Main St",
      "confirmed": true,
      "created": "2024-01-16T14:20:00.000Z"
    }
  ],
  "paginate": {
    "hasNextPage": false,
    "nextPage": null
  }
}

Example Request:

curl
curl --location --request GET 'https://cloud.goevent.live/developers/v1.0/participants?eventId=67212707e47ff56741acb3a6&page=1&limit=50' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'

Error Responses (expandable)

chevron-rightInvalid IDhashtag
{
  "error": "ID is not correct"
}
chevron-rightEvent Not Foundhashtag
chevron-rightUnauthorized (not admin)hashtag
chevron-rightMissing Required Fieldhashtag
chevron-rightTicket Generation Failedhashtag

Notes

  • All endpoints require a valid JWT token in the Authorization header

  • User must have admin role on the event to access its data

  • Pagination defaults to 20 items per page for events, 50 for participants

Last updated