MENU navbar-image

Introduction

This documentation provides all the necessary information to work with the organizer API.

The API uses API keys for authentication and supports multiple languages via the X-Language header or the lang query parameter.

You can pass your API key either via the X-API-KEY header or as an api_key query parameter.

With this API, you can fetch ticket data, track sales, and manage your events — quickly and securely.

Authenticating requests

To authenticate requests, include a X-Api-Key header with the value "{YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Organizer API

Endpoints for organizers.

Rate limit: 60 requests/minute.

Events

requires authentication

Returns a paginated list of events created by the organizer. Each event object includes basic information, publication status, city, event type, venue, currency, categories, languages, and statistics (number of dates and bookings).

Example request:
curl --request GET \
    --get "https://tic.rs/api/organizer/v1/events?page=1&per_page=10&city_id=1" \
    --header "X-Api-Key: {YOUR_AUTH_KEY}" \
    --header "X-Language: sr"
import requests
import json

url = 'https://tic.rs/api/organizer/v1/events'
params = {
  'page': '1',
  'per_page': '10',
  'city_id': '1',
}
headers = {
  'X-Api-Key': '{YOUR_AUTH_KEY}',
  'X-Language': 'sr'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://tic.rs/api/organizer/v1/events';
$response = $client->get(
    $url,
    [
        'headers' => [
            'X-Api-Key' => '{YOUR_AUTH_KEY}',
            'X-Language' => 'sr',
        ],
        'query' => [
            'page' => '1',
            'per_page' => '10',
            'city_id' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
 

{
    "data": [
        {
            "uuid": "WPWLVQ",
            "name": "Odit et.",
            "created_at": "2025-06-11T20:30:36+02:00",
            "updated_at": "2025-06-16T07:08:22+02:00",
            "city": {
                "id": 1,
                "name": "Beograd"
            },
            "event_type": {
                "id": 121,
                "name": "Humanitarna večera"
            },
            "currency": {
                "id": 1,
                "code": "RSD"
            },
            "place": {
                "id": 419,
                "name": "Pozorište lutaka Pinokio",
                "address": "Bulevar Mihajla Pupina 66, Beograd, Serbia"
            },
            "is_published": true,
            "organizer_publish_status": true,
            "has_future_dates": true,
            "calendars_count": 5,
            "reservations_count": 0,
            "categories": [
                {
                    "id": 41,
                    "name": "Biznis"
                }
            ],
            "languages": [
                {
                    "id": 1,
                    "name": "Русский"
                },
                {
                    "id": 2,
                    "name": "English"
                },
                {
                    "id": 3,
                    "name": "Srpski"
                },
                {
                    "id": 4,
                    "name": "Deutsch"
                }
            ]
        },
        {
            "uuid": "TCPSCQLD",
            "name": "Enim non facere tempora.",
            "created_at": "2025-06-11T10:29:22+02:00",
            "updated_at": "2025-06-27T01:49:52+02:00",
            "city": {
                "id": 1,
                "name": "Beograd"
            },
            "event_type": {
                "id": 2,
                "name": "Koncert"
            },
            "currency": {
                "id": 1,
                "code": "RSD"
            },
            "place": {
                "id": 2,
                "name": "Ben Akiba",
                "address": "Браће Крсмановић 6, Београд 11000, Сербия"
            },
            "is_published": true,
            "organizer_publish_status": false,
            "has_future_dates": false,
            "calendars_count": 0,
            "reservations_count": 0,
            "categories": [
                {
                    "id": 7,
                    "name": "Skijaški centar"
                }
            ],
            "languages": [
                {
                    "id": 5,
                    "name": "Türkçe"
                }
            ]
        },
        {
            "uuid": "UJWVLXJ",
            "name": "Distinctio eum doloremque id aut.",
            "created_at": "2025-06-01T20:15:58+02:00",
            "updated_at": "2025-06-11T20:30:26+02:00",
            "city": {
                "id": 1,
                "name": "Beograd"
            },
            "event_type": {
                "id": 121,
                "name": "Humanitarna večera"
            },
            "currency": {
                "id": 1,
                "code": "RSD"
            },
            "place": {
                "id": 419,
                "name": "Pozorište lutaka Pinokio",
                "address": "Bulevar Mihajla Pupina 66, Beograd, Serbia"
            },
            "is_published": false,
            "organizer_publish_status": false,
            "has_future_dates": true,
            "calendars_count": 3,
            "reservations_count": 0,
            "categories": [
                {
                    "id": 41,
                    "name": "Biznis"
                }
            ],
            "languages": [
                {
                    "id": 4,
                    "name": "Deutsch"
                }
            ]
        },
        {
            "uuid": "BEWTNNO",
            "name": "Quia officia est.",
            "created_at": "2025-04-24T15:48:30+02:00",
            "updated_at": "2025-06-27T04:50:03+02:00",
            "city": {
                "id": 1,
                "name": "Beograd"
            },
            "event_type": {
                "id": 121,
                "name": "Humanitarna večera"
            },
            "currency": {
                "id": 1,
                "code": "RSD"
            },
            "place": {
                "id": 67,
                "name": "SILOSI",
                "address": "Dunavski kej 46, Београд 11158, Сербия"
            },
            "is_published": true,
            "organizer_publish_status": true,
            "has_future_dates": true,
            "calendars_count": 4,
            "reservations_count": 13,
            "categories": [
                {
                    "id": 41,
                    "name": "Biznis"
                }
            ],
            "languages": [
                {
                    "id": 1,
                    "name": "Русский"
                },
                {
                    "id": 2,
                    "name": "English"
                },
                {
                    "id": 3,
                    "name": "Srpski"
                },
                {
                    "id": 4,
                    "name": "Deutsch"
                }
            ]
        },
        {
            "uuid": "NTLTCVIP",
            "name": "Repudiandae laboriosam est.",
            "created_at": "2025-03-28T14:28:48+01:00",
            "updated_at": "2025-06-26T22:04:28+02:00",
            "city": {
                "id": 1,
                "name": "Beograd"
            },
            "event_type": {
                "id": 43,
                "name": "Karting trke"
            },
            "currency": {
                "id": 1,
                "code": "RSD"
            },
            "place": {
                "id": 356,
                "name": "Karting - KartLand Ada Huja Beograd",
                "address": "Put Za Ada Huju bb, Beograd 11000, Serbia"
            },
            "is_published": true,
            "organizer_publish_status": true,
            "has_future_dates": false,
            "calendars_count": 1,
            "reservations_count": 0,
            "categories": [
                {
                    "id": 29,
                    "name": "Za odrasle"
                }
            ],
            "languages": [
                {
                    "id": 1,
                    "name": "Русский"
                }
            ]
        }
    ],
    "links": {
        "first": "https://tic.rs/api/organizer/v1/events?page=1",
        "last": "https://tic.rs/api/organizer/v1/events?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Prethodno",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/events?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Sledeće »",
                "active": false
            }
        ],
        "path": "https://tic.rs/api/organizer/v1/events",
        "per_page": 10,
        "to": 5,
        "total": 5
    }
}
 

Example response (401, Authentication failed):


{
    "message": "Invalid or inactive API key"
}
 

Request      

GET api/organizer/v1/events

Headers

X-Api-Key      

Example: {YOUR_AUTH_KEY}

X-Language      

Example: sr

Query Parameters

page   integer  optional  

The page number. Example: 1

per_page   integer  optional  

Number of results per page. Maximum: 50. Example: 10

city_id   integer  optional  

Filter events by city ID. Example: 1

Response

Response Fields

data   object   
uuid   string   

Unique identifier (UUID) of the event.

name   string   

Name of the event.

created_at   string   

Event creation timestamp (ISO 8601 format).

updated_at   string   

Event last update timestamp (ISO 8601 format).

city   object   

City where the event takes place.

id   integer   

City ID.

name   string   

City name.

event_type   object   

Type of the event.

id   integer   

Event type ID.

name   string   

Event type name.

currency   object   

Currency used for ticket sales.

id   integer   

Currency ID.

code   string   

Currency code (e.g. RSD, EUR).

place   object   

Venue where the event is held.

id   integer   

Place ID.

name   string   

Place name.

address   string   

Full address of the place.

is_published   boolean   

Whether the event is publicly published.

organizer_publish_status   boolean   

Whether the organizer enabled publishing.

has_future_dates   boolean   

Whether the event has any future scheduled dates.

calendars_count   integer   

Number of scheduled dates for the event.

reservations_count   integer   

Number of reservations made for this event.

categories[]   object   

List of categories associated with the event.

categories   object   
id   integer   

Category ID.

name   string   

Category name.

languages[]   object   

List of supported languages for the event.

languages   object   
id   integer   

Language ID.

name   string   

Language name.

Tickets

requires authentication

Returns a paginated list of all tickets purchased for the organizer's events. Each ticket includes detailed buyer information (full name, email, phone), ticket type, event name and date, applied promo code, price paid, and currency.

Example request:
curl --request GET \
    --get "https://tic.rs/api/organizer/v1/tickets?page=1&per_page=10&event_uuid=" \
    --header "X-Api-Key: {YOUR_AUTH_KEY}" \
    --header "X-Language: sr"
import requests
import json

url = 'https://tic.rs/api/organizer/v1/tickets'
params = {
  'page': '1',
  'per_page': '10',
  'event_uuid': '',
}
headers = {
  'X-Api-Key': '{YOUR_AUTH_KEY}',
  'X-Language': 'sr'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://tic.rs/api/organizer/v1/tickets';
$response = $client->get(
    $url,
    [
        'headers' => [
            'X-Api-Key' => '{YOUR_AUTH_KEY}',
            'X-Language' => 'sr',
        ],
        'query' => [
            'page' => '1',
            'per_page' => '10',
            'event_uuid' => '',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
 

{
    "data": [
        {
            "purchase_date": "2025-06-27T11:54:18+02:00",
            "event": {
                "uuid": "WPWLVQ",
                "name": "Quis adipisci molestias fugit.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Alanis McLaughlin",
                "email": "[email protected]",
                "phone": "+14303747043"
            },
            "promocode": null,
            "price_paid": {
                "amount": 867.62,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-27T04:34:43+02:00",
            "event": {
                "uuid": "LQPPWQBE",
                "name": "Voluptate accusamus ut.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Bridget Schaden",
                "email": "[email protected]",
                "phone": "+13806988637"
            },
            "promocode": "SAUS",
            "price_paid": {
                "amount": 837.87,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-25T01:07:49+02:00",
            "event": {
                "uuid": "BCHGSRZ",
                "name": "Ratione iure impedit.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Zachery Fadel",
                "email": "[email protected]",
                "phone": "+16824842226"
            },
            "promocode": null,
            "price_paid": {
                "amount": 588.09,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": ""
            }
        },
        {
            "purchase_date": "2025-06-25T00:56:10+02:00",
            "event": {
                "uuid": "ZEZCRCVA",
                "name": "Alias ratione dolores.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Dr. Lucie Bauch",
                "email": "[email protected]",
                "phone": "+19407091074"
            },
            "promocode": "QZIQ",
            "price_paid": {
                "amount": 981.34,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": ""
            }
        },
        {
            "purchase_date": "2025-06-24T19:15:27+02:00",
            "event": {
                "uuid": "OLKGSSAA",
                "name": "Ut dolores omnis.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Briana Konopelski",
                "email": "[email protected]",
                "phone": "+15418676967"
            },
            "promocode": null,
            "price_paid": {
                "amount": 15.07,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-19T05:24:50+02:00",
            "event": {
                "uuid": "NADSMR",
                "name": "Odio dolorum voluptates.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Christian Klocko PhD",
                "email": "[email protected]",
                "phone": "+17793152713"
            },
            "promocode": "PVFAYB",
            "price_paid": {
                "amount": 234.46,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-19T03:33:33+02:00",
            "event": {
                "uuid": "QOEZONY",
                "name": "Harum minus nostrum ipsa.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Zachary Zulauf",
                "email": "[email protected]",
                "phone": "+18186331713"
            },
            "promocode": "QNFSRK",
            "price_paid": {
                "amount": 352.67,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-16T18:41:12+02:00",
            "event": {
                "uuid": "RKTYIIXX",
                "name": "Sequi saepe doloribus.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Mrs. Corine Ledner",
                "email": "[email protected]",
                "phone": "+14139890509"
            },
            "promocode": "VCUPH",
            "price_paid": {
                "amount": 369.95,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-16T16:42:00+02:00",
            "event": {
                "uuid": "UAVPADB",
                "name": "Sed sed in.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Lewis Lubowitz",
                "email": "[email protected]",
                "phone": "+19546240479"
            },
            "promocode": "XHAAKFDL",
            "price_paid": {
                "amount": 37.15,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        },
        {
            "purchase_date": "2025-06-16T16:41:05+02:00",
            "event": {
                "uuid": "DHWNPB",
                "name": "Et sit doloribus.",
                "date": "2026-01-31T15:00:00+01:00"
            },
            "customer": {
                "name": "Khalid Hagenes",
                "email": "[email protected]",
                "phone": "+17254539644"
            },
            "promocode": null,
            "price_paid": {
                "amount": 288.94,
                "currency": {
                    "id": 1,
                    "code": "RSD"
                }
            },
            "utm": {
                "source": null,
                "medium": null,
                "campaign": null,
                "content": null,
                "term": null
            },
            "info": {
                "device_type": "desktop",
                "interface_language": "ru",
                "country_code": "RS"
            }
        }
    ],
    "links": {
        "first": "https://tic.rs/api/organizer/v1/tickets?page=1",
        "last": "https://tic.rs/api/organizer/v1/tickets?page=9",
        "prev": null,
        "next": "https://tic.rs/api/organizer/v1/tickets?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 9,
        "links": [
            {
                "url": null,
                "label": "« Prethodno",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=3",
                "label": "3",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=4",
                "label": "4",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=5",
                "label": "5",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=6",
                "label": "6",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=7",
                "label": "7",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=8",
                "label": "8",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=9",
                "label": "9",
                "active": false
            },
            {
                "url": "https://tic.rs/api/organizer/v1/tickets?page=2",
                "label": "Sledeće »",
                "active": false
            }
        ],
        "path": "https://tic.rs/api/organizer/v1/tickets",
        "per_page": 10,
        "to": 10,
        "total": 85
    }
}
 

Example response (401, Authentication failed):


{
    "message": "Invalid or inactive API key"
}
 

Request      

GET api/organizer/v1/tickets

Headers

X-Api-Key      

Example: {YOUR_AUTH_KEY}

X-Language      

Example: sr

Query Parameters

page   integer  optional  

The page number. Example: 1

per_page   integer  optional  

Number of results per page. Maximum: 50. Example: 10

event_uuid   string  optional  

The UUID of the event, obtained from the event list response.

Response

Response Fields

data   object   
purchase_date   string   

Date and time when the ticket was purchased (ISO 8601 format).

event   object   
uuid   string   

Unique identifier (UUID) of the event.

name   string   

Name of the event.

date   string   

Date and time when the event is scheduled (ISO 8601 format).

customer   object   
name   string   

Full name of the ticket buyer.

phone   string   

Phone number of the buyer.

email   string   

Email address of the buyer.

promocode   string|null   

Applied promo code, if any.

price_paid   object   
amount   number   

Total amount paid for the ticket.

currency   object   
id   integer   

Currency ID used in the transaction.

code   string   

Currency code (e.g. RSD, EUR).

utm   object   
source   string|null   

UTM source if tracked.

medium   string|null   

UTM medium if tracked.

campaign   string|null   

UTM campaign if tracked.

content   string|null   

UTM content if tracked.

term   string|null   

UTM term if tracked.

info   object   
device_type   string   

Device type used to make the order (mobile, desktop).

interface_language   string   

Interface language of the buyer (e.g. ru, en).

country_code   string   

ISO 3166-1 alpha-2 country code (e.g. RS, RU).

links   object   
first   string   

URL to the first page of results.

last   string   

URL to the last page of results.

prev   string|null   

URL to the previous page, or null.

next   string|null   

URL to the next page, or null.

meta   object   
current_page   integer   

Current page number.

from   integer   

Index of the first item on the current page.

last_page   integer   

Total number of pages.

links   object   
url   string|null   

URL for the pagination link.

label   string   

Label for the pagination link.

active   boolean   

Whether the page is currently active.

path   string   

Base URL of the paginated resource.

per_page   integer   

Number of items per page.

to   integer   

Index of the last item on the current page.

total   integer   

Total number of items across all pages.