TimescaleDB / Tiger Data Services API
Manage services, read replicas, and their associated actions.
Manage services, read replicas, and their associated actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/timescaledb-services-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.0.3
info:
title: Tiger Cloud Analytics Services API
description: 'A RESTful API for Tiger Cloud platform.
'
version: 1.0.0
license:
name: Proprietary
url: https://www.tigerdata.com/legal/terms
contact:
name: Tiger Data Support
url: https://www.tigerdata.com/contact
servers:
- url: https://console.cloud.tigerdata.com/public/api/v1
description: API server for Tiger Cloud
tags:
- name: Services
description: Manage services, read replicas, and their associated actions.
paths:
/projects/{project_id}/services:
get:
operationId: getServices
tags:
- Services
summary: List All Services
description: Retrieves a list of all services within a specific project.
parameters:
- $ref: '#/components/parameters/ProjectId'
responses:
'200':
description: A list of services.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
post:
operationId: createService
tags:
- Services
summary: Create a Service
description: Creates a new database service within a project. This is an asynchronous operation.
parameters:
- $ref: '#/components/parameters/ProjectId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceCreate'
responses:
'202':
description: Service creation request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}:
get:
operationId: getService
tags:
- Services
summary: Get a Service
description: Retrieves the details of a specific service by its ID.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
responses:
'200':
description: Service details.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
delete:
operationId: deleteService
tags:
- Services
summary: Delete a Service
description: Deletes a specific service. This is an asynchronous operation.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
responses:
'202':
description: Deletion request has been accepted.
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/start:
post:
operationId: startService
tags:
- Services
summary: Start a Service
description: Starts a stopped service within a project. This is an asynchronous operation.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
responses:
'202':
description: Service start request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/stop:
post:
operationId: stopService
tags:
- Services
summary: Stop a Service
description: Stops a running service within a project. This is an asynchronous operation.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
responses:
'202':
description: Service stop request has been accepted.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/attachToVPC:
post:
operationId: attachServiceToVPC
tags:
- Services
summary: Attach Service to VPC
description: Associates a service with a VPC.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceVPCInput'
responses:
'202':
$ref: '#/components/responses/SuccessMessage'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/detachFromVPC:
post:
operationId: detachServiceFromVPC
tags:
- Services
summary: Detach Service from VPC
description: Disassociates a service from its VPC.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceVPCInput'
responses:
'202':
$ref: '#/components/responses/SuccessMessage'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/resize:
post:
operationId: resizeService
tags:
- Services
summary: Resize a Service
description: Changes the CPU and memory allocation for a specific service within a project. This is an asynchronous operation.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ResizeInput'
responses:
'202':
description: Resize request has been accepted and is in progress.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/enablePooler:
post:
operationId: enablePooler
tags:
- Services
summary: Enable Connection Pooler for a Service
description: Activates the connection pooler for a specific service within a project.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
responses:
'200':
$ref: '#/components/responses/SuccessMessage'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/disablePooler:
post:
operationId: disablePooler
tags:
- Services
summary: Disable Connection Pooler for a Service
description: Deactivates the connection pooler for a specific service within a project.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
responses:
'200':
$ref: '#/components/responses/SuccessMessage'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/forkService:
post:
operationId: forkService
tags:
- Services
summary: Fork a Service
description: Creates a new, independent service within a project by taking a snapshot of an existing one.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ForkServiceCreate'
responses:
'202':
description: Fork request accepted. The response contains the details of the new service being created.
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/updatePassword:
post:
operationId: updatePassword
tags:
- Services
summary: Update Service Password
description: Sets a new master password for the service within a project.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePasswordInput'
responses:
'204':
description: Password updated successfully. No content returned.
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/setEnvironment:
post:
operationId: setEnvironment
tags:
- Services
summary: Set Environment for a Service
description: Sets the environment type for the service.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetEnvironmentInput'
responses:
'200':
$ref: '#/components/responses/SuccessMessage'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/logs:
get:
operationId: getServiceLogs
tags:
- Services
summary: Get service logs
description: 'Fetch logs for a specific service. Returns up to 500 log entries from
available logs. Supports pagination.
'
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
- name: node
in: query
required: false
schema:
type: integer
description: Specific service node to fetch logs from (for multi-node services)
- name: page
in: query
required: false
deprecated: true
schema:
type: integer
description: Page number for pagination (0-based)
- name: until
in: query
required: false
schema:
type: string
format: date-time
description: Fetch logs before this timestamp (RFC3339 format, e.g., 2024-01-15T10:00:00Z)
- name: since
in: query
required: false
schema:
type: string
format: date-time
description: Fetch logs after this timestamp (RFC3339 format, e.g., 2024-01-15T09:00:00Z).
- name: cursor
in: query
required: false
schema:
type: string
description: Opaque pagination cursor returned as lastCursor in a previous response. When provided, returns the next page of logs older than the cursor position.
responses:
'200':
description: Service logs retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceLogs'
4XX:
$ref: '#/components/responses/ClientError'
/projects/{project_id}/services/{service_id}/setHA:
post:
operationId: setHAReplica
tags:
- Services
summary: Change HA configuration for a Service
description: Changes the HA configuration for a specific service. This is an asynchronous operation.
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ServiceId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SetHAReplicaInput'
responses:
'202':
description: HA replica configuration updated
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
4XX:
$ref: '#/components/responses/ClientError'
components:
schemas:
ReadReplicaSet:
type: object
properties:
id:
type: string
example: alb8jicdpr
name:
type: string
example: reporting-replica-1
status:
type: string
enum:
- creating
- active
- resizing
- deleting
- error
example: active
nodes:
type: integer
description: Number of nodes in the replica set.
example: 2
cpu_millis:
type: integer
description: CPU allocation in milli-cores.
example: 250
memory_gbs:
type: integer
description: Memory allocation in gigabytes.
example: 1
metadata:
type: object
description: Additional metadata for the read replica set
properties:
environment:
type: string
description: Environment tag for the read replica set
endpoint:
$ref: '#/components/schemas/Endpoint'
connection_pooler:
$ref: '#/components/schemas/ConnectionPooler'
ServiceLogEntry:
type: object
required:
- timestamp
- message
- severity
properties:
timestamp:
type: string
format: date-time
description: Timestamp of the log entry (RFC3339 format)
message:
type: string
description: Log message text
severity:
type: string
description: PostgreSQL severity level (e.g. LOG, WARNING, ERROR, FATAL)
ServiceType:
type: string
enum:
- TIMESCALEDB
- POSTGRES
- VECTOR
HAReplica:
type: object
properties:
sync_replica_count:
type: integer
description: Number of synchronous high-availability replicas.
example: 1
replica_count:
type: integer
description: Number of high-availability replicas (all replicas are asynchronous by default).
example: 1
Error:
type: object
properties:
code:
type: string
message:
type: string
DeployStatus:
type: string
enum:
- QUEUED
- DELETING
- CONFIGURING
- READY
- DELETED
- UNSTABLE
- PAUSING
- PAUSED
- RESUMING
- UPGRADING
- OPTIMIZING
ConnectionPooler:
type: object
properties:
endpoint:
$ref: '#/components/schemas/Endpoint'
ServiceCreate:
type: object
required:
- name
properties:
name:
type: string
description: A human-readable name for the service.
example: my-production-db
addons:
type: array
items:
type: string
enum:
- time-series
- ai
description: List of addons to enable for the service. 'time-series' enables TimescaleDB, 'ai' enables AI/vector extensions.
example:
- time-series
- ai
region_code:
type: string
description: The region where the service will be created. If not provided, we'll choose the best region for you.
example: us-east-1
replica_count:
type: integer
description: Number of high-availability replicas to create (all replicas are asynchronous by default).
example: 2
cpu_millis:
type: string
description: The initial CPU allocation in milli-cores, or 'shared' for a shared-resource service.
example: '1000'
memory_gbs:
type: string
description: The initial memory allocation in gigabytes, or 'shared' for a shared-resource service.
example: '4'
environment_tag:
$ref: '#/components/schemas/EnvironmentTag'
description: The environment tag for the service, 'DEV' by default.
default: DEV
SetHAReplicaInput:
type: object
properties:
sync_replica_count:
type: integer
description: Number of synchronous high-availability replicas.
example: 1
replica_count:
type: integer
description: Number of high-availability replicas (all replicas are asynchronous by default).
example: 1
description: At least one of sync_replica_count or replica_count must be provided.
ForkSpec:
type: object
properties:
project_id:
type: string
example: asda1b2c3
service_id:
type: string
example: bbss422fg
is_standby:
type: boolean
example: false
ServiceVPCInput:
type: object
required:
- vpc_id
properties:
vpc_id:
type: string
description: The ID of the VPC to attach the service to.
example: '1234567890'
UpdatePasswordInput:
type: object
required:
- password
properties:
password:
type: string
description: The new password.
format: password
example: a-very-secure-new-password
Service:
type: object
properties:
service_id:
type: string
description: The unique identifier for the service.
project_id:
type: string
description: The project this service belongs to.
name:
type: string
description: The name of the service.
region_code:
type: string
description: The cloud region where the service is hosted.
example: us-east-1
service_type:
$ref: '#/components/schemas/ServiceType'
description: The type of the service.
created:
type: string
format: date-time
description: Creation timestamp
initial_password:
type: string
description: The initial password for the service.
format: password
example: a-very-secure-initial-password
status:
$ref: '#/components/schemas/DeployStatus'
description: Current status of the service
resources:
type: array
description: List of resources allocated to the service
items:
type: object
properties:
id:
type: string
description: Resource identifier
spec:
type: object
description: Resource specification
properties:
cpu_millis:
type: integer
description: CPU allocation in millicores
memory_gbs:
type: integer
description: Memory allocation in gigabytes
volume_type:
type: string
description: Type of storage volume
metadata:
type: object
description: Additional metadata for the service
properties:
environment:
type: string
description: Environment tag for the service
endpoint:
$ref: '#/components/schemas/Endpoint'
vpcEndpoint:
type: object
nullable: true
description: VPC endpoint configuration if available
forked_from:
$ref: '#/components/schemas/ForkSpec'
ha_replicas:
$ref: '#/components/schemas/HAReplica'
connection_pooler:
$ref: '#/components/schemas/ConnectionPooler'
read_replica_sets:
type: array
items:
$ref: '#/components/schemas/ReadReplicaSet'
ForkServiceCreate:
type: object
required:
- fork_strategy
properties:
name:
type: string
description: A human-readable name for the forked service. If not provided, will use parent service name with "-fork" suffix.
example: my-production-db-fork
cpu_millis:
type: string
description: The initial CPU allocation in milli-cores, or 'shared' for a shared-resource service. If not provided, will inherit from parent service.
example: '1000'
memory_gbs:
type: string
description: The initial memory allocation in gigabytes, or 'shared' for a shared-resource service. If not provided, will inherit from parent service.
example: '4'
fork_strategy:
$ref: '#/components/schemas/ForkStrategy'
description: Strategy for creating the fork. This field is required.
target_time:
type: string
format: date-time
description: Target time for point-in-time recovery. Required when fork_strategy is PITR.
example: '2024-01-01T00:00:00Z'
environment_tag:
$ref: '#/components/schemas/EnvironmentTag'
description: The environment tag for the forked service, 'DEV' by default.
default: DEV
description: 'Create a fork of an existing service. Service type, region code, and storage are always inherited from the parent service.
HA replica count is always set to 0 for forked services.
'
ResizeInput:
type: object
required:
- cpu_millis
- memory_gbs
properties:
cpu_millis:
type: string
description: The new CPU allocation in milli-cores.
example: '1000'
memory_gbs:
type: string
description: The new memory allocation in gigabytes.
example: '4'
ForkStrategy:
type: string
enum:
- LAST_SNAPSHOT
- NOW
- PITR
description: 'Strategy for creating the fork:
- LAST_SNAPSHOT: Use existing snapshot for fast fork
- NOW: Create new snapshot for up-to-date fork
- PITR: Point-in-time recovery using target_time
'
Endpoint:
type: object
properties:
host:
type: string
example: my-service.com
port:
type: integer
example: 8080
EnvironmentTag:
type: string
enum:
- DEV
- PROD
description: The environment tag for the service.
ServiceLogs:
type: object
required:
- logs
properties:
logs:
type: array
items:
type: string
description: Array of log message strings. Preserved for backwards compatibility.
entries:
type: array
items:
$ref: '#/components/schemas/ServiceLogEntry'
description: Structured log entries with timestamp and severity metadata. Only present on the cursor-based path.
lastCursor:
type: string
description: Opaque cursor for the next page of results. Present when more log entries exist older than the last entry in this response. Absent when there are no further results.
SetEnvironmentInput:
type: object
required:
- environment
properties:
environment:
type: string
description: The target environment for the service.
enum:
- PROD
- DEV
example:
environment: PROD
responses:
ClientError:
description: Client error response (4xx status codes).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
SuccessMessage:
description: The action was completed successfully.
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: Action completed successfully.
parameters:
ProjectId:
name: project_id
in: path
required: true
description: The unique identifier of the project.
schema:
type: string
example: rp1pz7uyae
ServiceId:
name: service_id
in: path
required: true
description: The unique identifier of the service.
schema:
type: string
example: d1k5vk7hf2