TimescaleDB / Tiger Data Services API

Manage services, read replicas, and their associated actions.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/timescaledb-services-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

timescaledb-services-api-openapi.yml Raw ↑
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