> ## Documentation Index
> Fetch the complete documentation index at: https://docs.valpashotels.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Make your first API call in under 5 minutes

<Steps>
  <Step title="Get your API key">
    Email [team@valpas.io](mailto:team@valpas.io) to request an API key. You will receive your key by email.

    <Tip>Store your API key in an environment variable — never hardcode it in your application.</Tip>
  </Step>

  <Step title="Make your first request">
    Call the `GET /hotels` endpoint with your API key in the `x-api-key` header:

    <CodeGroup>
      ```bash cURL theme={null}
      curl https://connect.valpashotels.com/hotels \
        -H "x-api-key: YOUR_API_KEY"
      ```

      ```python Python theme={null}
      import requests

      r = requests.get(
          "https://connect.valpashotels.com/hotels",
          headers={"x-api-key": "YOUR_API_KEY"}
      )
      print(r.json())
      ```

      ```javascript JavaScript theme={null}
      const res = await fetch("https://connect.valpashotels.com/hotels", {
        headers: { "x-api-key": "YOUR_API_KEY" },
      });
      const hotels = await res.json();
      console.log(hotels);
      ```

      ```ruby Ruby theme={null}
      require "net/http"
      require "json"

      uri = URI("https://connect.valpashotels.com/hotels")
      req = Net::HTTP::Get.new(uri)
      req["x-api-key"] = "YOUR_API_KEY"

      res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |h| h.request(req) }
      puts JSON.parse(res.body)
      ```
    </CodeGroup>
  </Step>

  <Step title="Understand the response">
    A successful request returns an array of hotel objects:

    ```json theme={null}
    [
      {
        "id": "00391351-e308-4aae-8b66-d868ebb37ff3",
        "name": "Paris Marriott Rive Gauche Hotel & Conference Center",
        "description": "Surrounded by diverse attractions, Paris Marriott Rive Gauche Hotel is a stylish haven in an iconic travel destination.",
        "address": "17 Boulevard Saint Jacques, 75014 Paris France",
        "latitude": 48.831917,
        "longitude": 2.340172,
        "language": null,
        "room_count": null,
        "images": [
          {
            "url": "https://misxceaqoppcaiaitpkj.supabase.co/storage/v1/object/public/hotel-images/00391351-e308-4aae-8b66-d868ebb37ff3/1.jpg",
            "caption": "Great Room Lobby"
          },
          {
            "url": "https://misxceaqoppcaiaitpkj.supabase.co/storage/v1/object/public/hotel-images/00391351-e308-4aae-8b66-d868ebb37ff3/2.jpg",
            "caption": "Palyma Bar"
          }
        ],
        "certified": true,
        "certified_from": null,
        "certified_until": null,
        "certification_url": "https://valpashotels.com",
        "netstorming_id": "45373"
      }
    ]
    ```

    Key fields include:

    * **`description`** — marketing description of the hotel (null if not available)
    * **`images`** — up to 3 hotel photos with captions (empty array if none)
    * **`certified`** — whether the hotel holds a current Valpas certification
    * **`certified_from` / `certified_until`** — certification validity period (null if not set)
    * **`certification_url`** — link target for the certification badge (null when not certified)
    * **`netstorming_id`** — Netstorming integration identifier

    See the [API Reference](/api-reference) for the full field descriptions.
  </Step>

  <Step title="Next steps">
    <CardGroup cols={2}>
      <Card title="Authentication" icon="key" href="/authentication">
        Learn how to use your API key and handle auth errors.
      </Card>

      <Card title="API Reference" icon="code" href="/api-reference">
        Full endpoint documentation with interactive playground.
      </Card>
    </CardGroup>
  </Step>
</Steps>
