Treasure Data Folders API

Folders are containers in which you can organize information. Nested folders offer flexible organization controls. Large volumes of data and application assets can be organized into multi-nested folders by categories such as geographical markets, brands, and business functions. Granular permissions can be set for each folder to ensure security.

Operations 10

POST /audiences/{audienceId}/folders Create new segment folder
GET /audiences/{audienceId}/folders/{folderId} Retrieve single segment folder
PATCH /audiences/{audienceId}/folders/{folderId} Update segment folder (legacy)
DELETE /audiences/{audienceId}/folders/{folderId} Delete segment folder (legacy)
POST /audiences/{audienceId}/folders/{folderId}/put_in Move segment into folder (legacy)
GET /entities/by-folder/{folderId} Retrieve list of objects under specified folder
POST /entities/folders Create folder
GET /entities/folders/{id} Retrieve folder by ID
PATCH /entities/folders/{id} Update folder
DELETE /entities/folders/{id} Delete folder

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-folders-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

treasure-data-folders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: cdp-api Folders API
  description: All of the CDP APIs are organized around REST - if you've interacted with a RESTful API already, many of the concepts will be familiar to you. All API calls to CDP API should be made to the following endpoints depending on the [region](https://docs.treasuredata.com/display/public/PD/Sites+and+Endpoints#SitesandEndpoints-Endpoints). For historical reasons there are REST API endpoints and JSON:API endpoints. JSON:API endpoints are located under "/entities".
  termsOfService: https://www.treasuredata.com/terms/
  version: 1.0.0
servers:
- url: https://api-cdp.treasuredata.com
- url: https://api-cdp.treasuredata.co.jp
- url: https://api-cdp.eu01.treasuredata.com
- url: https://api-cdp.ap02.treasuredata.com
- url: https://api-cdp.ap03.treasuredata.com
tags:
- name: Folders
  description: Folders are containers in which you can organize information. Nested folders offer flexible organization controls. Large volumes of data and application assets can be organized into multi-nested folders by categories such as geographical markets, brands, and business functions. Granular permissions can be set for each folder to ensure security.
paths:
  /audiences/{audienceId}/folders:
    x-external: true
    post:
      tags:
      - Folders
      summary: Create new segment folder
      description: Create a new parent segment folder.
      parameters:
      - name: audienceId
        in: path
        description: Master segment ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Segment Folder to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentFolderCreateRepresentation'
      responses:
        '200':
          description: Returns the segment folder which was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentFolderReadRepresentation'
      security:
      - TdApikeyAuth: []
  /audiences/{audienceId}/folders/{folderId}:
    x-external: true
    get:
      tags:
      - Folders
      summary: Retrieve single segment folder
      description: Retrieve a single segment folder based on a parent segment identifier.
      parameters:
      - name: audienceId
        in: path
        description: Master segment ID
        required: true
        schema:
          type: integer
          format: int64
      - name: folderId
        in: path
        description: Segment Folder ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: 'Retrieves a single segment folder.


            N.B. that `createdAt` can be `null`, meaning that it is not known

            which user created the folder.


            N.B. that `updatedAt` can be `null`, meaning that is is not known

            which user last updated the folder.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentFolderReadRepresentation'
      security:
      - TdApikeyAuth: []
    patch:
      tags:
      - Folders
      summary: Update segment folder (legacy)
      description: Update a segment folder. <br> <br> <br> _This endpoint is for Audience Studio legacy. For the latest Audience Studio, contact your Customer Success Representative._
      parameters:
      - name: audienceId
        in: path
        description: Master segment ID
        required: true
        schema:
          type: integer
          format: int64
      - name: folderId
        in: path
        description: Segment folder to update
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Segment Folder to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentFolderUpdateRepresentation'
      responses:
        '200':
          description: 'Retrieves the segment folder which was updated


            N.B. that `createdAt` can be `null`, meaning that it is not known

            which user created the folder.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SegmentFolderReadRepresentation'
      security:
      - TdApikeyAuth: []
    delete:
      tags:
      - Folders
      summary: Delete segment folder (legacy)
      description: Delete a segment folder.<br> <br> <br> _This endpoint is for Audience Studio legacy. For the latest Audience Studio, contact your Customer Success Representative._
      parameters:
      - name: audienceId
        in: path
        description: Master segment ID
        required: true
        schema:
          type: integer
          format: int64
      - name: folderId
        in: path
        description: Segment folder to update
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The segment folder was deleted successfully
      security:
      - TdApikeyAuth: []
  /audiences/{audienceId}/folders/{folderId}/put_in:
    x-external: true
    post:
      tags:
      - Folders
      summary: Move segment into folder (legacy)
      description: Move a segment or segments into an existing folder. <br> <br> <br> _This endpoint is for Audience Studio legacy. For the latest Audience Studio, contact your Customer Success Representative._
      parameters:
      - name: audienceId
        in: path
        description: Master segment ID
        required: true
        schema:
          type: integer
          format: int64
      - name: folderId
        in: path
        description: Segment folder to put segments in
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: Segment ids to move
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        4XX:
          $ref: '#/components/responses/ClientError'
        5XX:
          $ref: '#/components/responses/ServerError'
      security:
      - TdApikeyAuth: []
  /entities/by-folder/{folderId}:
    x-external: true
    get:
      tags:
      - Folders
      summary: Retrieve list of objects under specified folder
      description: Retrieve a list of objects under a specified folder, including child folders, segments, batch segments, predictive scoring models, funnels, Profile API tokens and Journeys.
      parameters:
      - name: folderId
        in: path
        description: Segment Folder ID
        required: true
        schema:
          type: integer
          format: int64
      - name: depth
        in: query
        description: Depth of retrieved folders
        required: true
        schema:
          type: integer
          format: int64
      - name: with_rule
        in: query
        description: Set false to ignore the segment rule
        required: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: Returns a list of entities under the specified folder. The specified folder is also included.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntitiesGetByFolderJsonApiResponse'
      security:
      - TdApikeyAuth: []
  /entities/folders:
    x-external: true
    post:
      tags:
      - Folders
      summary: Create folder
      description: Create a new folder.
      requestBody:
        content:
          application/vnd.treasuredata.v1+json:
            schema:
              $ref: '#/components/schemas/EntitiesFolderUpdateRepresentation'
      responses:
        '200':
          description: Create a folder
          content:
            application/vnd.treasuredata.v1+json:
              schema:
                $ref: '#/components/schemas/EntitiesGetFolderJsonApiResponse'
  /entities/folders/{id}:
    x-external: true
    get:
      tags:
      - Folders
      summary: Retrieve folder by ID
      description: Retrieve a folder by ID.
      parameters:
      - name: id
        in: path
        description: Folder ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Returns a folder by ID.
          content:
            application/vnd.treasuredata.v1+json:
              schema:
                $ref: '#/components/schemas/EntitiesGetFolderJsonApiResponse'
    patch:
      tags:
      - Folders
      summary: Update folder
      description: Update a folder by ID.
      parameters:
      - name: id
        in: path
        description: Folder to update
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/vnd.treasuredata.v1+json:
            schema:
              $ref: '#/components/schemas/EntitiesFolderUpdateRepresentation'
      responses:
        '200':
          description: Folder to update
          content:
            application/vnd.treasuredata.v1+json:
              schema:
                $ref: '#/components/schemas/EntitiesGetFolderJsonApiResponse'
    delete:
      tags:
      - Folders
      summary: Delete folder
      description: Delete a folder by ID.
      parameters:
      - name: id
        in: path
        description: Delete a folder
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Delete a folder
          content:
            application/vnd.treasuredata.v1+json:
              schema:
                $ref: '#/components/schemas/EntitiesGetFolderJsonApiResponse'
        '400':
          $ref: '#/components/responses/JsonApiBadRequest'
        '403':
          $ref: '#/components/responses/JsonApiForbiddenRequest'
        '404':
          $ref: '#/components/responses/JsonApiNotFoundRequest'
        '409':
          $ref: '#/components/responses/JsonApiConflictRequest'
components:
  schemas:
    MlSolutionJsonApiResource:
      type: object
      required:
      - id
      - type
      - attributes
      - relationships
      properties:
        id:
          type: string
          pattern: '[1-9][0-9]*'
        type:
          type: string
          enum:
          - mlSolution
        attributes:
          allOf:
          - $ref: '#/components/schemas/MlSolutionAttributes'
          - type: object
            properties:
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
              lastPublishedAt:
                type:
                - string
                - 'null'
                format: date-time
                description: Last published date time. If null, it means the solution is not published yet.
            required:
            - createdAt
            - updatedAt
            - lastPublishedAt
        relationships:
          type: object
          properties:
            parentFolder:
              $ref: '#/components/schemas/RelationshipsFolderJsonApiResource'
            outputFolder:
              $ref: '#/components/schemas/RelationshipsFolderJsonApiResource'
            createdBy:
              $ref: '#/components/schemas/RelationshipsUserJsonApiResource'
            updatedBy:
              $ref: '#/components/schemas/RelationshipsUserJsonApiResource'
    partial_v5_rule.yaml-v5IonRule-attributeNameValue:
      properties:
        name:
          type: string
      required:
      - name
      type: object
    Execution:
      allOf:
      - $ref: '#/components/schemas/ExecutionCore'
      - type: object
        required:
        - workflowAttemptId
        properties:
          workflowAttemptId:
            type: string
            pattern: '[1-9][0-9]*'
    partial_v5_rule.yaml-v5IonRule-filter:
      oneOf:
      - additionalProperties: false
        maxProperties: 0
        minProperties: 0
        type:
        - object
        - 'null'
      - $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-andFilter'
      - $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-orFilter'
    ActivationTemplateSyndicationBehaviorProperties:
      type: object
      properties:
        columns:
          $ref: '#/components/schemas/Columns'
        behaviorTableName:
          type: string
          description: Behavior table name which contains behavior records
          example: purchase_history
        joinRow:
          type:
          - integer
          - 'null'
          description: How much rows would be joined (value is N for Top-N join)
          example: 3
        joinStrategy:
          type: string
          example: Last
          enum:
          - All
          - First
          - Last
          - Top-N
        formatting:
          type: string
          enum:
          - rows
          - cols
        orderBy:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              order:
                type: string
                enum:
                - ascending
                - descending
            example:
              key: purchased_at
              order: descending
          example:
          - key: purchased_at
            order: descending
          - key: price
            order: ascending
    MlSolutionCoreAttributes:
      type: object
      required:
      - name
      - audienceId
      - description
      - targetColumn
      - state
      properties:
        name:
          type: string
        audienceId:
          type: string
          pattern: '[1-9][0-9]*'
        description:
          type:
          - string
          - 'null'
        targetColumn:
          type: string
          description: Target column name for the prediction
        state:
          type: string
          enum:
          - draft
          - published
    RepeatUnit:
      type: string
      description: Setting an activation repetition cycle such as "day" or "week".
      enum:
      - none
      - minute
      - hour
      - day
      - week
      - month
      - once
    RelationshipsFolderJsonApiResource:
      type: object
      properties:
        data:
          type: object
          required:
          - id
          - type
          properties:
            id:
              type: string
              pattern: '[1-9][0-9]*'
            type:
              type: string
              enum:
              - folder-segment
    JourneyStep:
      type:
      - object
      - 'null'
      properties:
        uuid:
          oneOf:
          - $ref: '#/components/schemas/JourneyWaitStep'
          - $ref: '#/components/schemas/JourneyActivationStep'
          - $ref: '#/components/schemas/JourneyDecisionPointStep'
          - $ref: '#/components/schemas/JourneyMergeStep'
          - $ref: '#/components/schemas/JourneyJumpStep'
          - $ref: '#/components/schemas/JourneyEndStep'
          - $ref: '#/components/schemas/JourneyAbTestStep'
    partial_v5_rule.yaml-v5IonRule-columnFilter:
      anyOf:
      - properties:
          arrayMatching:
            $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-valueArrayMatching'
          column:
            type: string
          operator:
            $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-valueOperator'
          type:
            enum:
            - Column
            type: string
        required:
        - arrayMatching
        - column
        - operator
        - type
        type: object
      - properties:
          arrayMatching:
            $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-valueArrayMatching'
          column:
            enum:
            - timestamp
            type: string
          operator:
            $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-timeframeOperator'
          type:
            enum:
            - Column
            type: string
        required:
        - arrayMatching
        - column
        - operator
        - type
        type: object
    DeprecatedScheduleType:
      type: string
      deprecated: true
      description: Deprecated. Old parameter for setting schedule type. See/Use RepeatUnit instead.
      example: daily
      enum:
      - cron
      - daily
      - hourly
      - minutes_interval
      - monthly
      - none
      - weekly
    EntitiesGetByFolderJsonApiResponse:
      type: object
      required:
      - data
      - included
      properties:
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/FolderJsonApiResource'
            - $ref: '#/components/schemas/BatchSegmentJsonApiResource'
            - $ref: '#/components/schemas/RealtimeSegmentJsonApiResource'
            - $ref: '#/components/schemas/ComposableSegmentJsonApiResource'
            - $ref: '#/components/schemas/FunnelJsonApiResource'
            - $ref: '#/components/schemas/PredictiveSegmentJsonApiResource'
            - $ref: '#/components/schemas/TokenJsonApiResource'
            - $ref: '#/components/schemas/JourneyJsonApiResource'
            - $ref: '#/components/schemas/ActivationTemplateJsonApiResource'
            - $ref: '#/components/schemas/partial_realtime_journey.yaml-RealtimeJourneyByFolderResource'
            - $ref: '#/components/schemas/partial_realtime_journey.yaml-RealtimePersonalizationByFolderResource'
            - $ref: '#/components/schemas/MlSolutionJsonApiResource'
        included:
          type: array
          items:
            $ref: '#/components/schemas/UserJsonApiResource'
    StartAt:
      type:
      - string
      - 'null'
      format: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$
      description: cdp-api will fill some value for old syndications with ScheduleType is not NoneType. '%Y-%M-%DT%h:%m:%s' is expected.
    JourneyWaitStep:
      type: object
      oneOf:
      - $ref: '#/components/schemas/JourneyWaitStepDuration'
      - $ref: '#/components/schemas/JourneyWaitStepDate'
      - $ref: '#/components/schemas/JourneyWaitStepDaysOfTheWeek'
      - $ref: '#/components/schemas/JourneyWaitStepCondition'
    JourneyAbTestStep:
      type: object
      required:
      - type
      - name
      - customizedSplit
      - variants
      properties:
        type:
          enum:
          - AbTest
        name:
          type: string
        customizedSplit:
          type: boolean
        uniqueId:
          type: string
        enabledCapping:
          type: boolean
          description: Enables profile capping on the step
        winnerVariantId:
          type:
          - string
          - 'null'
          readOnly: true
          description: Set when a winner variant is declared via PATCH .../ab_test_winner. Response-only; cannot be set through a journey create/update request.
        variants:
          type: array
          items:
            $ref: '#/components/schemas/JourneyAbTestVariant'
    ActivationTemplateFieldPropertiesLocked:
      description: activation template field properties locked
      type: object
      properties:
        allColumns:
          type: boolean
        columns:
          type: object
          example:
            b24bf298-4f8c-4e8a-8187-38f2efc781d9:
              column: true
              source: true
              lockDeleteColumn: false
            c97c5711-31dd-4563-aca9-795c0b429593:
              column: true
              source: true
              lockDeleteColumn: false
        connectionId:
          type: boolean
        connectorConfig:
          type:
          - object
          - 'null'
          example:
            userDatabaseName: true
            userTableName: true
            legacy: false
            mode: false
        activationActionsEnabled:
          type: boolean
        syndicationBehavior:
          type:
          - object
          - 'null'
          properties:
            tableName:
              type: string
              description: Behavior table name which contains behavior records
              example: purchase_history
            columns:
              type: object
              example:
                0ae6e876-9d9d-4217-8be2-f8646000d0c2:
                  column: true
                  source: true
                  lockDeleteColumn: false
                b71d422e-4f29-47d5-b072-7e598275a402:
                  column: true
                  source: true
                  lockDeleteColumn: false
            lockAddColumn:
              type: boolean
            lockDeleteBehaviorTable:
              type: boolean
            lockEditBehaviorTable:
              type: boolean
            lockEditJoinRow:
              type: boolean
            lockEditJoinStrategy:
              type: boolean
            lockEditFormatting:
              type: boolean
            lockEditOrderBy:
              type: boolean
        lockAddColumn:
          type: boolean
        lockAddString:
          type: boolean
        lockAddBehavior:
          type: boolean
        lockEditSchedule:
          type: boolean
        lockEditNotification:
          type: boolean
        lockEditWorkflowExecution:
          type: boolean
        lockEditSequentialActivation:
          type: boolean
    JourneyWaitStepDaysOfTheWeek:
      type: object
      required:
      - type
      - name
      - waitStepType
      - waitUntilDaysOfTheWeek
      - timezone
      properties:
        type:
          enum:
          - WaitStep
        name:
          type: string
        waitStepType:
          enum:
          - DaysOfTheWeek
        waitUntilDaysOfTheWeek:
          type: array
          description: 'Array of integer representing the day of the week.

            1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday, 7: Sunday

            '
          example:
          - 1
          - 5
          - 6
          items:
            type: integer
            minimum: 1
            maximum: 7
          minItems: 1
          uniqueItems: true
        timezone:
          type: string
        next:
          type: string
    EntitiesGetFolderJsonApiResponse:
      type: object
      required:
      - data
      - included
      properties:
        data:
          $ref: '#/components/schemas/FolderJsonApiResource'
        included:
          type: array
          items:
            $ref: '#/components/schemas/UserJsonApiResource'
    PredictiveSegmentAccuracy:
      type:
      - number
      - 'null'
      format: double
      minimum: 0
      maximum: 100
      description: Accuracy for trained model evaluated on initial training.
    RelationshipsSegmentJsonApiResource:
      type: object
      properties:
        data:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/RelationshipsBatchSegmentJsonApiResource'
            - $ref: '#/components/schemas/RelationshipsRealtimeSegmentJsonApiResource'
    JourneyJsonApiResource:
      type: object
      required:
      - id
      - type
      - attributes
      - relationships
      properties:
        id:
          type: string
          pattern: '[1-9][0-9]*'
        type:
          type: string
          enum:
          - journey
        attributes:
          type: object
          required:
          - name
          - description
          - state
          - audienceId
          - goal
          - createdAt
          - updatedAt
          - launchedAt
          - journeyStages
          - paused
          - pausedAt
          - allowReentry
          properties:
            audienceId:
              type: string
              pattern: '[1-9][0-9]*'
            name:
              type: string
            description:
              type:
              - string
              - 'null'
            state:
              type: string
              enum:
              - draft
              - simulation
              - launched
            goal:
              $ref: '#/components/schemas/JourneyCriteria'
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            launchedAt:
              type:
              - string
              - 'null'
              format: date-time
            journeyStages:
              type: array
              minLength: 1
              maxLength: 8
              items:
                $ref: '#/components/schemas/JourneyStageJsonApiResource'
            paused:
              type: boolean
            pausedAt:
              type:
              - string
              - 'null'
              format: date-time
            allowReentry:
              type: boolean
            reentryMode:
              type: string
              enum:
              - no_reentry
              - reentry_unless_goal_achieved
              - reentry_always
            journeyBundleId:
              type:
              - string
              - 'null'
              pattern: '[1-9][0-9]*'
            journeyBundleName:
              type:
              - string
              - 'null'
            versionNumber:
              type: integer
              format: int64
            journeyBundleDescription:
              type:
              - string
              - 'null'
            latestExecution:
              description: 'The most recent execution of the journey workflow. If no executions have been created, this will be null. '
              allOf:
              - $ref: '#/components/schemas/Execution'
        relationships:
          type: object
          properties:
            parentFolder:
              $ref: '#/components/schemas/RelationshipsFolderJsonApiResource'
            createdBy:
              $ref: '#/components/schemas/RelationshipsUserJsonApiResource'
            updatedBy:
              $ref: '#/components/schemas/RelationshipsUserJsonApiResource'
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
      - code
      - message
    BatchSegmentJsonApiResource:
      type: object
      required:
      - id
      - type
      - attributes
      - relationships
      properties:
        id:
          type: string
          pattern: '[1-9][0-9]*'
        type:
          type: string
          enum:
          - segment-batch
        attributes:
          type: object
          required:
          - audienceId
          - name
          - description
          - population
          - rule
          - createdAt
          - updatedAt
          properties:
            audienceId:
              type: string
              pattern: '[1-9][0-9]*'
            name:
              type: string
            description:
              type:
              - string
              - 'null'
            population:
              type:
              - number
              - 'null'
            numSyndications:
              type: integer
              format: int64
            rule:
              $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule'
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            countPopulation:
              type: boolean
            segmentInsightDashboardId:
              type:
              - integer
              - 'null'
              format: int64
            isEmptyRule:
              type: boolean
        relationships:
          type: object
          properties:
            parentFolder:
              $ref: '#/components/schemas/RelationshipsFolderJsonApiResource'
            createdBy:
              $ref: '#/components/schemas/RelationshipsUserJsonApiResource'
            updatedBy:
              $ref: '#/components/schemas/RelationshipsUserJsonApiResource'
    JsonApiBadParameterError:
      type: object
      properties:
        code:
          type: string
          description: Error code in string
          enum:
          - bad-parameter-error
        status:
          type: string
          description: Status code for error
          enum:
          - '400'
        detail:
          type: string
          description: Detailed error message
          example: SegmentFolder View Permission Required
        source:
          type: object
          properties:
            pointer:
              type: string
              description: Pointer to invalid parameter
              example: /attributes/segments/
          required:
          - pointer
        meta:
          type: object
          properties:
            parameterCode:
              type: string
              description: Detailed validation error code
              enum:
              - SHOULD_BE_ARRAY
              - INVALID_FORMAT
          required:
          - parameterCode
      required:
      - code
      - status
      - detail
    JourneyWaitStepConditionPath:
      type: object
      required:
      - id
      properties:
        id:
          type: string
        name:
          type: string
        segmentId:
          type:
          - string
          - 'null'
          pattern: '[1-9][0-9]*'
          description: required if timedOutPath = false
        timedOutPath:
          type: boolean
        moveAfter:
          type: integer
          minimum: 1
        unit:
          type: string
          enum:
          - day
          - week
        next:
          type: string
    partial_v5_rule.yaml-v5IonRule-ionRule:
      properties:
        conditions:
          items:
            oneOf:
            - $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-valueConditionSet'
          type: array
        expr:
          type: string
        limit:
          $ref: '#/components/schemas/partial_v5_rule.yaml-v5IonRule-valueLimit'
        type:
          enum:
          - Or
          - And
          - Composite
          type: string
      required:
      - conditions
      - type
      type: object
    MlSolutionAttributes:
      allOf:
      - $ref: '#/components/schemas/MlSolutionCoreAttributes'
      - oneOf:
        - $ref: '#/components/schemas/MlSolutionRfmAttributes'
        - $ref: '#/components/schemas/MlSolutionCltvAttributes'
    UserJsonApiResource:
      type: object
      required:
      - id
      - type
      - attributes
      properties:
        id:
          type: string
          pattern: '[1-9][0-9]*'
        type:
          type: string
          enum:
          - user
        attributes:
          type: object
          required:
          - tdUserId
          - name
          properties:
            tdUserId:
              type: string
              pattern: '[1-9][0-9]*'
            name:
              type: string
    partial_v5_rule.yaml-v5IonRule-valueLimit:
      properties:
        number:
          type: number
        orderColumns:
          items:
            oneOf:
            - properties:
                column:
                  type: string
                order:
                  enum:
                  - ascending
                  - descending
                  type: string
                type:
                  enum:
                  - Column
                  type: string
              required:
              - column
              - order
              - type
              type: object
            - properties:
                order:
                  enum:
                  - ascending
                  - descending
                  type: string
                type:
                  enum:
                  - Aggregation
                  type: string
              required:
              - order
              - type
              type: object
          type: array
        type:
          enum:
          - Count
          - Percen

# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/treasure-data/refs/heads/main/openapi/treasure-data-folders-api-openapi.yml