TimescaleDB / Tiger Data · Capability

Tiger Cloud API — Services

Tiger Cloud API — Services. 16 operations. Lead operation: List All Services. Self-contained Naftiko capability covering one Timescaledb business surface.

Run with Naftiko TimescaledbServices

What You Can Do

GET
Getservices — List All Services
/v1/projects/{project-id}/services
POST
Createservice — Create a Service
/v1/projects/{project-id}/services
GET
Getservice — Get a Service
/v1/projects/{project-id}/services/{service-id}
DELETE
Deleteservice — Delete a Service
/v1/projects/{project-id}/services/{service-id}
POST
Attachservicetovpc — Attach Service to VPC
/v1/projects/{project-id}/services/{service-id}/attachtovpc
POST
Detachservicefromvpc — Detach Service from VPC
/v1/projects/{project-id}/services/{service-id}/detachfromvpc
POST
Disablepooler — Disable Connection Pooler for a Service
/v1/projects/{project-id}/services/{service-id}/disablepooler
POST
Enablepooler — Enable Connection Pooler for a Service
/v1/projects/{project-id}/services/{service-id}/enablepooler
POST
Forkservice — Fork a Service
/v1/projects/{project-id}/services/{service-id}/forkservice
GET
Getservicelogs — Get service logs
/v1/projects/{project-id}/services/{service-id}/logs
POST
Resizeservice — Resize a Service
/v1/projects/{project-id}/services/{service-id}/resize
POST
Setenvironment — Set Environment for a Service
/v1/projects/{project-id}/services/{service-id}/setenvironment
POST
Sethareplica — Change HA configuration for a Service
/v1/projects/{project-id}/services/{service-id}/setha
POST
Startservice — Start a Service
/v1/projects/{project-id}/services/{service-id}/start
POST
Stopservice — Stop a Service
/v1/projects/{project-id}/services/{service-id}/stop
POST
Updatepassword — Update Service Password
/v1/projects/{project-id}/services/{service-id}/updatepassword

MCP Tools

list-all-services

List All Services

read-only idempotent
create-service

Create a Service

get-service

Get a Service

read-only idempotent
delete-service

Delete a Service

idempotent
attach-service-vpc

Attach Service to VPC

detach-service-vpc

Detach Service from VPC

disable-connection-pooler-service

Disable Connection Pooler for a Service

enable-connection-pooler-service

Enable Connection Pooler for a Service

fork-service

Fork a Service

get-service-logs

Get service logs

read-only idempotent
resize-service

Resize a Service

set-environment-service

Set Environment for a Service

change-ha-configuration-service

Change HA configuration for a Service

start-service

Start a Service

stop-service

Stop a Service

update-service-password

Update Service Password

Capability Spec

timescaledb-services.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Tiger Cloud API — Services
  description: 'Tiger Cloud API — Services. 16 operations. Lead operation: List All Services. Self-contained Naftiko capability
    covering one Timescaledb business surface.'
  tags:
  - Timescaledb
  - Services
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    TIMESCALEDB_API_KEY: TIMESCALEDB_API_KEY
capability:
  consumes:
  - type: http
    namespace: timescaledb-services
    baseUri: https://console.cloud.tigerdata.com/public/api/v1
    description: Tiger Cloud API — Services business capability. Self-contained, no shared references.
    resources:
    - name: projects-project_id-services
      path: /projects/{project_id}/services
      operations:
      - name: getservices
        method: GET
        description: List All Services
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createservice
        method: POST
        description: Create a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id
      path: /projects/{project_id}/services/{service_id}
      operations:
      - name: getservice
        method: GET
        description: Get a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteservice
        method: DELETE
        description: Delete a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project_id-services-service_id-attachToVPC
      path: /projects/{project_id}/services/{service_id}/attachToVPC
      operations:
      - name: attachservicetovpc
        method: POST
        description: Attach Service to VPC
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id-detachFromVPC
      path: /projects/{project_id}/services/{service_id}/detachFromVPC
      operations:
      - name: detachservicefromvpc
        method: POST
        description: Detach Service from VPC
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id-disablePooler
      path: /projects/{project_id}/services/{service_id}/disablePooler
      operations:
      - name: disablepooler
        method: POST
        description: Disable Connection Pooler for a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project_id-services-service_id-enablePooler
      path: /projects/{project_id}/services/{service_id}/enablePooler
      operations:
      - name: enablepooler
        method: POST
        description: Enable Connection Pooler for a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project_id-services-service_id-forkService
      path: /projects/{project_id}/services/{service_id}/forkService
      operations:
      - name: forkservice
        method: POST
        description: Fork a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id-logs
      path: /projects/{project_id}/services/{service_id}/logs
      operations:
      - name: getservicelogs
        method: GET
        description: Get service logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: node
          in: query
          type: integer
          description: Specific service node to fetch logs from (for multi-node services)
        - name: page
          in: query
          type: integer
          description: Page number for pagination (0-based)
        - name: until
          in: query
          type: string
          description: Fetch logs before this timestamp (RFC3339 format, e.g., 2024-01-15T10:00:00Z)
        - name: since
          in: query
          type: string
          description: Fetch logs after this timestamp (RFC3339 format, e.g., 2024-01-15T09:00:00Z).
        - name: cursor
          in: query
          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.
    - name: projects-project_id-services-service_id-resize
      path: /projects/{project_id}/services/{service_id}/resize
      operations:
      - name: resizeservice
        method: POST
        description: Resize a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id-setEnvironment
      path: /projects/{project_id}/services/{service_id}/setEnvironment
      operations:
      - name: setenvironment
        method: POST
        description: Set Environment for a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id-setHA
      path: /projects/{project_id}/services/{service_id}/setHA
      operations:
      - name: sethareplica
        method: POST
        description: Change HA configuration for a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: projects-project_id-services-service_id-start
      path: /projects/{project_id}/services/{service_id}/start
      operations:
      - name: startservice
        method: POST
        description: Start a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project_id-services-service_id-stop
      path: /projects/{project_id}/services/{service_id}/stop
      operations:
      - name: stopservice
        method: POST
        description: Stop a Service
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: projects-project_id-services-service_id-updatePassword
      path: /projects/{project_id}/services/{service_id}/updatePassword
      operations:
      - name: updatepassword
        method: POST
        description: Update Service Password
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: timescaledb-services-rest
    port: 8080
    description: REST adapter for Tiger Cloud API — Services. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/projects/{project-id}/services
      name: projects-project-id-services
      description: REST surface for projects-project_id-services.
      operations:
      - method: GET
        name: getservices
        description: List All Services
        call: timescaledb-services.getservices
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createservice
        description: Create a Service
        call: timescaledb-services.createservice
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}
      name: projects-project-id-services-service-id
      description: REST surface for projects-project_id-services-service_id.
      operations:
      - method: GET
        name: getservice
        description: Get a Service
        call: timescaledb-services.getservice
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteservice
        description: Delete a Service
        call: timescaledb-services.deleteservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/attachtovpc
      name: projects-project-id-services-service-id-attachtovpc
      description: REST surface for projects-project_id-services-service_id-attachToVPC.
      operations:
      - method: POST
        name: attachservicetovpc
        description: Attach Service to VPC
        call: timescaledb-services.attachservicetovpc
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/detachfromvpc
      name: projects-project-id-services-service-id-detachfromvpc
      description: REST surface for projects-project_id-services-service_id-detachFromVPC.
      operations:
      - method: POST
        name: detachservicefromvpc
        description: Detach Service from VPC
        call: timescaledb-services.detachservicefromvpc
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/disablepooler
      name: projects-project-id-services-service-id-disablepooler
      description: REST surface for projects-project_id-services-service_id-disablePooler.
      operations:
      - method: POST
        name: disablepooler
        description: Disable Connection Pooler for a Service
        call: timescaledb-services.disablepooler
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/enablepooler
      name: projects-project-id-services-service-id-enablepooler
      description: REST surface for projects-project_id-services-service_id-enablePooler.
      operations:
      - method: POST
        name: enablepooler
        description: Enable Connection Pooler for a Service
        call: timescaledb-services.enablepooler
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/forkservice
      name: projects-project-id-services-service-id-forkservice
      description: REST surface for projects-project_id-services-service_id-forkService.
      operations:
      - method: POST
        name: forkservice
        description: Fork a Service
        call: timescaledb-services.forkservice
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/logs
      name: projects-project-id-services-service-id-logs
      description: REST surface for projects-project_id-services-service_id-logs.
      operations:
      - method: GET
        name: getservicelogs
        description: Get service logs
        call: timescaledb-services.getservicelogs
        with:
          node: rest.node
          page: rest.page
          until: rest.until
          since: rest.since
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/resize
      name: projects-project-id-services-service-id-resize
      description: REST surface for projects-project_id-services-service_id-resize.
      operations:
      - method: POST
        name: resizeservice
        description: Resize a Service
        call: timescaledb-services.resizeservice
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/setenvironment
      name: projects-project-id-services-service-id-setenvironment
      description: REST surface for projects-project_id-services-service_id-setEnvironment.
      operations:
      - method: POST
        name: setenvironment
        description: Set Environment for a Service
        call: timescaledb-services.setenvironment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/setha
      name: projects-project-id-services-service-id-setha
      description: REST surface for projects-project_id-services-service_id-setHA.
      operations:
      - method: POST
        name: sethareplica
        description: Change HA configuration for a Service
        call: timescaledb-services.sethareplica
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/start
      name: projects-project-id-services-service-id-start
      description: REST surface for projects-project_id-services-service_id-start.
      operations:
      - method: POST
        name: startservice
        description: Start a Service
        call: timescaledb-services.startservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/stop
      name: projects-project-id-services-service-id-stop
      description: REST surface for projects-project_id-services-service_id-stop.
      operations:
      - method: POST
        name: stopservice
        description: Stop a Service
        call: timescaledb-services.stopservice
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/projects/{project-id}/services/{service-id}/updatepassword
      name: projects-project-id-services-service-id-updatepassword
      description: REST surface for projects-project_id-services-service_id-updatePassword.
      operations:
      - method: POST
        name: updatepassword
        description: Update Service Password
        call: timescaledb-services.updatepassword
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: timescaledb-services-mcp
    port: 9090
    transport: http
    description: MCP adapter for Tiger Cloud API — Services. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-all-services
      description: List All Services
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: timescaledb-services.getservices
      outputParameters:
      - type: object
        mapping: $.
    - name: create-service
      description: Create a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.createservice
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-service
      description: Get a Service
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: timescaledb-services.getservice
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-service
      description: Delete a Service
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: timescaledb-services.deleteservice
      outputParameters:
      - type: object
        mapping: $.
    - name: attach-service-vpc
      description: Attach Service to VPC
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.attachservicetovpc
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: detach-service-vpc
      description: Detach Service from VPC
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.detachservicefromvpc
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: disable-connection-pooler-service
      description: Disable Connection Pooler for a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.disablepooler
      outputParameters:
      - type: object
        mapping: $.
    - name: enable-connection-pooler-service
      description: Enable Connection Pooler for a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.enablepooler
      outputParameters:
      - type: object
        mapping: $.
    - name: fork-service
      description: Fork a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.forkservice
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-service-logs
      description: Get service logs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: timescaledb-services.getservicelogs
      with:
        node: tools.node
        page: tools.page
        until: tools.until
        since: tools.since
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: resize-service
      description: Resize a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.resizeservice
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: set-environment-service
      description: Set Environment for a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.setenvironment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: change-ha-configuration-service
      description: Change HA configuration for a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.sethareplica
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: start-service
      description: Start a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.startservice
      outputParameters:
      - type: object
        mapping: $.
    - name: stop-service
      description: Stop a Service
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.stopservice
      outputParameters:
      - type: object
        mapping: $.
    - name: update-service-password
      description: Update Service Password
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: timescaledb-services.updatepassword
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.