---
title: Get started with the REST API | Tiger Data Docs
description: Manage the resources in your Tiger Cloud project programmatically with the Tiger Cloud REST API
---

Use Tiger REST API to build your own integrations or when you need language-native access from an application. The [Tiger CLI](/get-started/quickstart/tiger-cli/index.md) is a convenience wrapper over a subset of this API; the REST API is the complete surface. For how the REST API, Tiger CLI, and Tiger MCP compare, see [Tiger CLI and Tiger MCP](/learn/tiger-cli-mcp/index.md).

[Tiger REST API](/reference/tiger-cloud-rest/index.md) is a comprehensive RESTful API you use to manage Tiger Cloud resources including VPCs, services, and read replicas.

This page shows you how to set up secure authentication for the Tiger REST API and create your first service.

## Prerequisites for this tutorial

To follow these steps, you'll need:

- A [Tiger Cloud account](/get-started/quickstart/create-service#create-a-tiger-cloud-account/index.md).

* [curl](https://curl.se/) installed.

## Configure secure authentication

Tiger REST API uses HTTP Basic Authentication with access keys and secret keys. All API requests must include proper authentication headers.

1. **Set up API credentials**

   1. In Tiger Console [copy your project ID](/integrate/find-connection-details#find-your-project-and-service-id/index.md) and store it securely using an environment variable:

      Terminal window

      ```
      export TIGERDATA_PROJECT_ID="your-project-id"
      ```

   2. In Tiger Console [create your client credentials](/integrate/find-connection-details#create-client-credentials/index.md) and store them securely using environment variables:

      Terminal window

      ```
      export TIGERDATA_ACCESS_KEY="Public key"
      export TIGERDATA_SECRET_KEY="Secret key"
      ```

2. **Configure the API endpoint**

   Set the base URL in your environment:

   Terminal window

   ```
   export API_BASE_URL="https://console.cloud.tigerdata.com/public/api/v1"
   ```

3. **Test your authenticated connection to Tiger REST API by listing the services in the current Tiger Cloud project**

   Terminal window

   ```
    curl -X GET "${API_BASE_URL}/projects/${TIGERDATA_PROJECT_ID}/services" \
      -u "${TIGERDATA_ACCESS_KEY}:${TIGERDATA_SECRET_KEY}" \
      -H "Content-Type: application/json"
   ```

   This call returns something like:

   - No services:

     ```
     []
     ```

   - One or more services:

     ```
     [{"service_id":"tgrservice","project_id":"tgrproject","name":"tiger-eon",
     "region_code":"us-east-1","service_type":"TIMESCALEDB",
     "created":"2025-10-20T12:21:28.216172Z","status":"READY",
     "resources":[{"id":"104977","spec":{"cpu_millis":500,"memory_gbs":2}}],
     "metrics":{"memory_mb":166,"storage_mb":892,"milli_cpu":6},
     "metadata":{"environment":"DEV"},
     "endpoint":{"host":"tgrservice.tgrproject.tsdb.cloud.timescale.com","port":11111}}]
     ```

## Create your first Tiger Cloud service

Create a new service using the Tiger REST API:

1. **Create a service using the POST endpoint**

   Terminal window

   ```
   curl -X POST "${API_BASE_URL}/projects/${TIGERDATA_PROJECT_ID}/services" \
     -u "${TIGERDATA_ACCESS_KEY}:${TIGERDATA_SECRET_KEY}" \
     -H "Content-Type: application/json" \
     -d '{
        "name": "my-first-service",
        "addons": ["time-series"],
        "region_code": "us-east-1",
        "replica_count": 1,
        "cpu_millis": "1000",
        "memory_gbs": "4"
        }'
   ```

   Tiger Cloud creates a Development environment for you. That is, no delete protection, high-availability, spooling or read replication. You see something like:

   ```
    {"service_id":"tgrservice","project_id":"tgrproject","name":"my-first-service",
    "region_code":"us-east-1","service_type":"TIMESCALEDB",
    "created":"2025-10-20T22:29:33.052075713Z","status":"QUEUED",
    "resources":[{"id":"105120","spec":{"cpu_millis":1000,"memory_gbs":4}}],
    "metadata":{"environment":"DEV"},
    "endpoint":{"host":"tgrservice.tgrproject.tsdb.cloud.timescale.com","port":11111},
    "initial_password":"notTellingYou",
    "ha_replicas":{"sync_replica_count":0,"replica_count":1}}
   ```

2. **Save `service_id` from the response to a variable:**

   Terminal window

   ```
   # Extract service_id from the JSON response
   export SERVICE_ID="service_id-from-response"
   ```

3. **Check the configuration for the service**

   Terminal window

   ```
    curl -X GET "${API_BASE_URL}/projects/${TIGERDATA_PROJECT_ID}/services/${SERVICE_ID}" \
      -u "${TIGERDATA_ACCESS_KEY}:${TIGERDATA_SECRET_KEY}" \
      -H "Content-Type: application/json"
   ```

   You see something like:

   ```
    {"service_id":"tgrservice","project_id":"tgrproject","name":"my-first-service",
    "region_code":"us-east-1","service_type":"TIMESCALEDB",
    "created":"2025-10-20T22:29:33.052075Z","status":"READY",
    "resources":[{"id":"105120","spec":{"cpu_millis":1000,"memory_gbs":4}}],
    "metrics":{"memory_mb":166,"storage_mb":892,"milli_cpu":6},
    "metadata":{"environment":"DEV"},
    "endpoint":{"host":"tgrservice.tgrproject.tsdb.cloud.timescale.com","port":11111},
    "ha_replicas":{"sync_replica_count":0,"replica_count":1}}
   ```

And that is it, you are ready to use the [Tiger REST API](/reference/tiger-cloud-rest/index.md) to manage your services in Tiger Cloud.

## Security best practices

Follow these security guidelines when working with the Tiger REST API:

- **Credential management**

  - Store API credentials as environment variables, not in code
  - Use credential rotation policies for production environments
  - Never commit credentials to version control systems

- **Network security**

  - Use HTTPS endpoints exclusively for API communication
  - Implement proper certificate validation in your HTTP clients

- **Data protection**

  - Use secure storage for service connection strings and passwords
  - Implement proper backup and recovery procedures for created services
  - Follow data residency requirements for your region

For every endpoint, parameter, and response, see the [Tiger Cloud REST API reference](/reference/tiger-cloud-rest/index.md).
