Treasure Data Pool API

The Pool API from Treasure Data — 4 operation(s) for pool.

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/pool_rules List pool rules · List pool rules #
Ask an LLM
“Which rules decide what pool a workflow attempt runs in?”
“Can I see all my pool routing rules and their priorities?”
Tell an agent
List my pool rules.
Show every rule that routes attempts to pools.
POST /api/pool_rules Create a rule that routes attempts to a pool · Create a pool rule #
Ask an LLM
“How do I send certain workflow attempts to a dedicated pool?”
“Can two pool rules share the same priority?”
Tell an agent
Create a pool rule with priority {priority} that sends attempts matching {conditions} to pool {poolId}.
Add a routing rule: when {conditions}, assign attempts to pool {poolId} at priority {priority}.
DELETE /api/pool_rules/{poolRuleId} Delete a pool rule · Delete a pool rule #
Ask an LLM
“How do I remove a pool routing rule?”
“Can I delete a rule so attempts fall back to the default pool?”
Tell an agent destructive · confirm first
Delete pool rule {poolRuleId}.
Remove routing rule {poolRuleId}.
GET /api/pool_rules/{poolRuleId} Get a pool rule · Get a pool rule #
Ask an LLM
“What conditions and priority does a specific pool rule have?”
“Which pool does a given rule assign attempts to?”
Tell an agent
Show pool rule {poolRuleId}.
Get the conditions of pool rule {poolRuleId}.
PATCH /api/pool_rules/{poolRuleId} Update a pool rule · Update a pool rule #
Ask an LLM
“Can I change the priority of an existing pool rule?”
“Is it possible to point a pool rule at a different pool?”
Tell an agent
Change the priority of pool rule {poolRuleId} to {priority}.
Make pool rule {poolRuleId} assign attempts to pool {poolId} instead.
GET /api/pools List workflow pools · List pools #
Ask an LLM
“What pools do I have and what are their concurrency limits?”
“Can I see the default pool alongside the ones I created?”
Tell an agent
List my pools.
Show all pools with their concurrency limits.
POST /api/pools Create a pool with a concurrency limit · Create a pool #
Ask an LLM
“How do I reserve concurrency for a group of workflows with a new pool?”
“Does creating a pool take concurrency away from the default pool?”
Tell an agent
Create a pool named {name} with a concurrency limit of {concurrencyLimit}.
Set up pool {name} allowing {concurrencyLimit} concurrent attempts.
DELETE /api/pools/{poolId} Delete a pool · Delete a pool #
Ask an LLM
“Why can't I delete a pool that still has queued attempts?”
“What happens to a pool's concurrency when it is deleted?”
Tell an agent destructive · confirm first
Delete pool {poolId}.
Remove pool {poolId} and return its concurrency to the default pool.
GET /api/pools/{poolId} Get a pool · Get a pool #
Ask an LLM
“What is the concurrency limit of a particular pool?”
“Can I look up one pool's details by its ID?”
Tell an agent
Show pool {poolId}.
Get the concurrency limit of pool {poolId}.
PATCH /api/pools/{poolId} Update a pool's name or concurrency limit · Update a pool #
Ask an LLM
“Can I raise or lower the concurrency limit of an existing pool?”
“Is it possible to rename a pool I created?”
Tell an agent
Set the concurrency limit of pool {poolId} to {concurrencyLimit}.
Rename pool {poolId} to {name}.

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/treasure-data:treasure-data-pool-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

treasure-data-pool-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Treasure Workflow
  title: Treasure Workflow Pool API
  version: '1.0'
servers:
- description: aws
  url: https://api-workflow.treasuredata.com
- description: aws-tokyo
  url: https://api-workflow.treasuredata.co.jp
- description: eu01
  url: https://api-workflow.eu01.treasuredata.com
- description: ap02
  url: https://api-workflow.ap02.treasuredata.com
- description: ap03
  url: https://api-workflow.ap03.treasuredata.com
security:
- ApiKeyAuth: []
tags:
- name: Pool
paths:
  /api/pool_rules:
    get:
      description: List pool rules.
      operationId: getPoolRules
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPoolRuleCollection'
          description: List of pool rules
      summary: List pool rules
      tags:
      - Pool
    post:
      description: Create a rule that assigns an attempt to a pool based on conditions. A rule consists of a priority, conditions, and a pool ID. Rules are evaluated in priority order, from the lowest value to the highest value. Multiple rules cannot have the same priority. If all of a rule's conditions are met, an attempt is assigned to its pool. If none of the rules are met, an attempt is assigned to a default pool.
      operationId: createPoolRule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestPoolRuleCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPoolRule'
          description: Pool rule created
        '400':
          description: Invalid request
        '403':
          description: Forbidden
      summary: Create a pool rule
      tags:
      - Pool
  /api/pool_rules/{poolRuleId}:
    delete:
      description: Delete a pool rule.
      operationId: deletePoolRule
      parameters:
      - in: path
        name: poolRuleId
        required: true
        schema:
          type: integer
          format: int32
          description: ID of the rule
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPoolRule'
          description: Pool rule deleted
        '403':
          description: Forbidden
        '404':
          description: Pool rule not found
      summary: Delete a pool rule
      tags:
      - Pool
    get:
      description: Get a pool rule.
      operationId: getPoolRule
      parameters:
      - in: path
        name: poolRuleId
        required: true
        schema:
          type: integer
          format: int32
          description: ID of the rule
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPoolRule'
          description: Pool rule
        '404':
          description: Pool rule not found
      summary: Get a pool rule
      tags:
      - Pool
    patch:
      description: Update a rule that assigns an attempt to a pool based on conditions.
      operationId: updatePoolRule
      parameters:
      - in: path
        name: poolRuleId
        required: true
        schema:
          type: integer
          format: int32
          description: ID of the rule
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestPoolRuleUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPoolRule'
          description: Pool rule updated
        '400':
          description: Invalid request
        '403':
          description: Forbidden
        '404':
          description: Pool rule not found
      summary: Update a pool rule
      tags:
      - Pool
  /api/pools:
    get:
      description: List pools.
      operationId: getPools
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPoolCollection'
          description: List of pools
      summary: List pools
      tags:
      - Pool
    post:
      description: Create a pool with the specified name and concurrency limit. A default pool is created with the account's concurrency limit if it does not exist. The default pool’s concurrency limit is reduced by the new pool’s concurrency limit. You cannot create a pool if the default pool has more running attempts than its new reduced concurrency limit.
      operationId: createPool
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestPoolCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPool'
          description: Pool created
        '400':
          description: Invalid request
        '403':
          description: Forbidden
        '409':
          description: Pool name is already used
      summary: Create a pool
      tags:
      - Pool
  /api/pools/{poolId}:
    delete:
      description: Delete a pool. You cannot delete a pool if there are any attempts running or queued in the pool, if a pool rule references it, or if it is the default pool. The deleted pool’s concurrency limit is added to the default pool’s concurrency limit.
      operationId: deletePool
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: integer
          format: int32
          description: ID of the pool.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPool'
          description: Pool deleted
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '404':
          description: Pool not found
      summary: Delete a pool
      tags:
      - Pool
    get:
      description: Get a pool.
      operationId: getPool
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: integer
          format: int32
          description: ID of the pool
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPool'
          description: Pool
        '404':
          description: Pool not found
      summary: Get a pool
      tags:
      - Pool
    patch:
      description: Update a pool with the specified name and concurrency limit. You cannot update the default pool. The default pool’s concurrency limit is adjusted to accommodate the new concurrency limit. A pool’s concurrency limit cannot be reduced if it has more running attempts than its new reduced concurrency limit.
      operationId: updatePool
      parameters:
      - in: path
        name: poolId
        required: true
        schema:
          type: integer
          format: int32
          description: ID of the pool.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestPoolUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestPool'
          description: Pool updated
        '400':
          description: Invalid request
        '403':
          description: Forbidden
        '404':
          description: Pool not found
      summary: Update a pool
      tags:
      - Pool
components:
  schemas:
    RestPoolRuleCollection:
      type: object
      properties:
        poolRules:
          type: array
          description: List of pool rules.
          items:
            $ref: '#/components/schemas/RestPoolRule'
      required:
      - poolRules
    RestPoolUpdateRequest:
      type: object
      properties:
        concurrencyLimit:
          type: integer
          format: int32
          description: Maximum number of concurrent attempts that can run in this pool. Total concurrency limit of all pools cannot exceed the account's concurrency limit.
          example: 10
          minimum: 1
        name:
          type: string
          description: Name of the pool. This name must be unique within the account.
          example: activation
          maxLength: 256
          minLength: 1
    RestPoolRuleCreateRequest:
      type: object
      properties:
        conditions:
          type: array
          description: Conditions that must be met for the rule to assign an attempt to a pool. If multiple conditions are specified, all conditions must be met.
          items:
            $ref: '#/components/schemas/RestPoolRuleCondition'
          maxItems: 2
          minItems: 1
        poolId:
          type: string
          description: ID of the pool that this rule assigns attempts to.
          example: '42'
          minimum: 1
        priority:
          type: integer
          format: int32
          description: Priority of the rule. Rules are evaluated in priority order, from the lowest value to the highest value. Multiple rules cannot have the same priority.
          example: 10
          maximum: 10000
          minimum: 1
      required:
      - conditions
      - poolId
      - priority
    RestPoolCollection:
      type: object
      properties:
        pools:
          type: array
          description: List of pools.
          items:
            $ref: '#/components/schemas/RestPool'
      required:
      - pools
    RestPoolRuleWorkflowTypeCondition:
      type: object
      properties:
        type:
          type: string
          description: Type of the condition.
          enum:
          - invocation_type
          - project_name
          - workflow_name
          - workflow_type
        values:
          type: array
          description: Workflow types to match against. If multiple values are provided, the condition is met if the workflow type is one of the provided workflow types.
          items:
            type: string
            description: Workflow types to match against. If multiple values are provided, the condition is met if the workflow type is one of the provided workflow types.
            enum:
            - ab_test
            - audience
            - customer_journey
            - engage
            - predictive_scoring
            - realtime
            - segment_insights
            - syndication
      required:
      - type
      - values
    RestPoolRuleWorkflowNameCondition:
      type: object
      properties:
        operator:
          type: string
          description: Operator to use for matching the workflow name.
          enum:
          - starts_with
        type:
          type: string
          description: Type of the condition.
          enum:
          - invocation_type
          - project_name
          - workflow_name
          - workflow_type
        values:
          type: array
          description: Values to match against the workflow name. If multiple values are provided, the condition is met if the workflow name matches one of the provided values.
          items:
            type: string
            description: Values to match against the workflow name. If multiple values are provided, the condition is met if the workflow name matches one of the provided values.
      required:
      - operator
      - type
      - values
    RestPoolRuleInvocationTypeCondition:
      type: object
      properties:
        type:
          type: string
          description: Type of the condition.
          enum:
          - invocation_type
          - project_name
          - workflow_name
          - workflow_type
        values:
          type: array
          description: Invocation types to match against. If multiple values are provided, the condition is met if the invocation type is one of the provided invocation types.
          items:
            type: string
            description: Invocation types to match against. If multiple values are provided, the condition is met if the invocation type is one of the provided invocation types.
            enum:
            - on_demand
            - scheduled
      required:
      - type
      - values
    RestPoolRule:
      type: object
      properties:
        conditions:
          type: array
          description: Conditions that must be met for the rule to assign an attempt to a pool. If multiple conditions are specified, all conditions must be met.
          items:
            $ref: '#/components/schemas/RestPoolRuleCondition'
          maxItems: 2
          minItems: 1
        id:
          type: string
          description: ID of the pool rule.
          example: '42'
          minimum: 1
        poolId:
          type: string
          description: ID of the pool that this rule assigns attempts to.
          example: '42'
          minimum: 1
        priority:
          type: integer
          format: int32
          description: Priority of the rule. Rules are evaluated in priority order, from the lowest value to the highest value. Multiple rules cannot have the same priority.
          example: 10
          maximum: 10000
          minimum: 1
      required:
      - conditions
      - id
      - poolId
      - priority
    RestPoolRuleProjectNameCondition:
      type: object
      properties:
        operator:
          type: string
          description: Operator to use for matching the project name.
          enum:
          - starts_with
        type:
          type: string
          description: Type of the condition.
          enum:
          - invocation_type
          - project_name
          - workflow_name
          - workflow_type
        values:
          type: array
          description: Values to match against the project name. If multiple values are provided, the condition is met if the project name matches one of the provided values.
          items:
            type: string
            description: Values to match against the project name. If multiple values are provided, the condition is met if the project name matches one of the provided values.
      required:
      - operator
      - type
      - values
    RestPool:
      type: object
      properties:
        concurrencyLimit:
          type: integer
          format: int32
          description: Maximum number of concurrent attempts that can run in this pool. Total concurrency limit of all pools cannot exceed the account's concurrency limit.
          example: 10
          minimum: 1
        default:
          type: boolean
          description: Whether the pool is the default pool.
          example: true
        id:
          type: string
          description: ID of the pool.
          example: '42'
          minimum: 1
        name:
          type: string
          description: Name of the pool. This name must be unique within the account.
          example: activation
          maxLength: 256
          minLength: 1
      required:
      - concurrencyLimit
      - default
      - id
      - name
    RestPoolCreateRequest:
      type: object
      properties:
        concurrencyLimit:
          type: integer
          format: int32
          description: Maximum number of concurrent attempts that can run in this pool. Total concurrency limit of all pools cannot exceed the account's concurrency limit.
          example: 10
          minimum: 1
        name:
          type: string
          description: Name of the pool. This name must be unique within the account.
          example: activation
          maxLength: 256
          minLength: 1
      required:
      - concurrencyLimit
      - name
    RestPoolRuleCondition:
      type: object
      anyOf:
      - $ref: '#/components/schemas/RestPoolRuleInvocationTypeCondition'
      - $ref: '#/components/schemas/RestPoolRuleProjectNameCondition'
      - $ref: '#/components/schemas/RestPoolRuleWorkflowNameCondition'
      - $ref: '#/components/schemas/RestPoolRuleWorkflowTypeCondition'
      discriminator:
        mapping:
          invocation_type: '#/components/schemas/RestPoolRuleInvocationTypeCondition'
          project_name: '#/components/schemas/RestPoolRuleProjectNameCondition'
          workflow_name: '#/components/schemas/RestPoolRuleWorkflowNameCondition'
          workflow_type: '#/components/schemas/RestPoolRuleWorkflowTypeCondition'
        propertyName: type
      properties:
        type:
          type: string
      required:
      - type
    RestPoolRuleUpdateRequest:
      type: object
      properties:
        conditions:
          type: array
          description: Conditions that must be met for the rule to assign an attempt to a pool. If multiple conditions are specified, all conditions must be met.
          items:
            $ref: '#/components/schemas/RestPoolRuleCondition'
          maxItems: 2
          minItems: 1
        poolId:
          type: string
          description: ID of the pool that this rule assigns attempts to.
          example: '42'
          minimum: 1
        priority:
          type: integer
          format: int32
          description: Priority of the rule. Rules are evaluated in priority order, from the lowest value to the highest value. Multiple rules cannot have the same priority.
          example: 10
          maximum: 10000
          minimum: 1
  securitySchemes:
    ApiKeyAuth:
      scheme: TD1
      type: http