# Getting started

Korus Ticket API is organized around REST. It uses built-in HTTP features, like HTTP authentication and HTTP verbs,
which are understood by off-the-shelf HTTP clients. JSON is returned in all API responses, including errors.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail.

## New to the API?

Follow the **[Book your first ticket tutorial](/tutorial/book-your-first-ticket)** for a step-by-step walkthrough
that takes you from authentication through to downloading a ticket document.

## 1. Discover our available endpoints

Go through our [API Reference](/openapi) to identify the endpoints you will need for your use cases.

Example: You need to list available offers for a specific product of a catalog

- fetch the catalog ID using the following
endpoint: [GET /v1/ticketing/catalogs](/openapi/ticketingcatalog/api_v1ticketingcatalogs_id_get)
- fetch the product base ID using the following
endpoint: [GET /v1/ticketing/catalogs/{catalogId}/product-bases](/openapi/ticketingproductbase/api_v1ticketingcatalogs_catalogidproduct_bases_get_collection)
- list all the product base's product using the following
endpoint: [GET /v1/ticketing/catalogs/{catalogId}/product-bases/{productBaseId}/products](/openapi/ticketingproduct/api_v1ticketingcatalogs_catalogidproduct_bases_productbaseidproducts_get_collection)
- list product's
offers: [GET /v1/ticketing/catalogs/{catalogId}/offers?product={productId}](/openapi/ticketingoffer/api_v1ticketingcatalogs_catalogidoffers_get_collection)


## 2. Authentication

Our API supports only one method of authentication: OIDC

Refer to [this page](/authentication/oidc) to authenticate.