LiveRamp Clean Room API

API for setting up and managing clean rooms, partners, data connections, datasets, questions, question runs, flows, exports and destinations for privacy-safe collaborative analytics. This is the former Habu platform — LiveRamp acquired Habu, and the specification's own contact block reads "LiveRamp (previously Habu)" with servers[] on api.habu.com. 151 operations and 294 schemas — the largest machine-readable contract LiveRamp publishes.

OpenAPI Specification

liveramp-clean-room-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: v1.0.0
  title: External APIs for Customer Integration
  description: >-
    APIs to create and fetch Clean Room and related details from LiveRamp (previously Habu) for Customer Integration.
  contact:
    name: LiveRamp (previously Habu)
    url: https://liveramp.com/
    email: platform_admin@habu.com
security:
  - application: [ ]
tags:
  - name: Internal
    description: >-
      For internal LiveRamp consumption. These operations are not part of the
      supported external customer contract and may change without notice.
paths:
  /health:
    get:
      summary: Check API availability
      operationId: getHealth
      description: >-
        Returns the health status of the API. Unauthenticated — use this to verify connectivity before making authenticated calls.
      security: []
      responses:
        '200':
          description: API is available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthResponse'
      tags:
        - Health

  /billable-configs:
    get:
      summary: Get billable config
      operationId: getBillableConfig
      description: >-
        Fetches the billable config for a given source ID and source type.
        Absence of a config row means the source inherits billability from the hierarchy above it.
        See unhygienix billing-status documentation for resolution order.
      parameters:
        - name: sourceId
          in: query
          description: Identifier of the billable source (e.g. clean room ID, question run ID)
          required: true
          schema:
            type: string
        - name: sourceType
          in: query
          description: Type of billable source
          required: true
          schema:
            $ref: '#/components/schemas/BillableSourceType'
        - name: compositeSourceId
          in: query
          description: Optional; not used by any source type exposed on the external API
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Billable config fetched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBillableConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Billable Configs

    post:
      summary: Upsert billable config
      operationId: upsertBillableConfig
      description: >-
        Creates or updates a billable config for the given source.
        Use after creating a question run or flow run to opt out of billing (`value: "false"`).
        Leaving billing enabled requires no row — the hierarchy above applies.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertBillableConfigRequest'
      responses:
        '200':
          description: Billable config upserted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertBillableConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Billable Configs

  /billable-configs/{billableConfigId}:
    delete:
      summary: Delete billable config
      operationId: deleteBillableConfig
      description: >-
        Deletes the billable config by its config ID (from a prior GET or upsert response).
        Returns 404 if no config with that ID was deleted.
        To resolve sourceId/sourceType to a config ID, call GET /billable-configs first.
      parameters:
        - name: billableConfigId
          in: path
          description: Billable config primary key ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Billable config deleted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteBillableConfigResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Billable Configs

  /cleanrooms:
    post:
      summary: Create Cleanroom
      operationId: createCleanroom
      description: >-
        This operation creates a new Cleanroom.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CleanRoomRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/CleanRoomRequest'
      responses:
        '200':
          description: Cleanroom created successfully.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CleanRoom"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/ResourceConflict'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanrooms
    get:
      summary: Fetch a list of all Cleanrooms
      operationId: getAllCleanrooms
      description: >-
        This operation fetches a list of all the Cleanrooms that are created for the Customer Integration.
      parameters:
        - name: limit
          in: query
          description: The number of Cleanrooms returned per page - default is 500
          schema:
            type: integer
            default: 500
        - name: offset
          in: query
          description: The offset - default is 0
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: Successfully fetched Cleanroom details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRooms'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRooms'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanrooms

  /cleanrooms/{cleanroomId}/invitations:
    get:
      summary: List Cleanroom Partner Invitations For a Cleanroom Inviter
      operationId: listPartnerInvitationsForInviter
      description: >-
        This operation lists a invitation list for a CleanRoom Inviter.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID to see invitations
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Fetched Cleanroom Partner invitations successfully.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvitationDetail"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Partners
        - Invitations
    delete:
      summary: Cancel Cleanroom Partner Invitation
      operationId: cancelPartnerInvitationByEmail
      description: >-
        This operation cancels a invitation for a CleanRoom Inviter.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID of inviter's clean-room
          schema:
            type: string
          required: true
        - in: query
          name: partnerEmail
          description: the email for the partner whose invitation is getting canceled
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Canceled Cleanroom Partner invitation successfully.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvitationDetail"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Partners
        - Invitations

  /cleanrooms/{cleanroomId}/invitations/{invitationId}:
    delete:
      summary: Cancel Cleanroom Partner Invitation
      operationId: cancelPartnerInvitationById
      description: >-
        This operation cancels a invitation for a CleanRoom Inviter.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID of inviter's clean-room
          schema:
            type: string
          required: true
        - in: path
          name: invitationId
          description: the ID of the invitation getting canceled
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Canceled Cleanroom Partner invitation successfully.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/InvitationDetail"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Partners
        - Invitations


  /cleanrooms/{cleanroomId}:
    get:
      summary: Fetch a Cleanroom by ID
      operationId: getCleanroomById
      description: >-
        This operation fetches a Cleanroom by ID.
      parameters:
        - name: cleanroomId
          in: path
          description: The cleanroom ID to fetch a single Cleanroom's details
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successfully fetched Cleanroom details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoom'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRoom'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanrooms

    put:
      summary: Update Cleanroom
      operationId: updateCleanroom
      description: >-
        This operation updates an existing cleanroom.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID to be updated
          schema:
            type: string
          required: true
      requestBody:
          description: Cleanroom details to be updated
          required: true
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CleanRoomRequest"
      responses:
        '200':
          description: Cleanroom updated successfully.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CleanRoom"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanrooms

    delete:
      summary: Delete Cleanroom
      operationId: deleteCleanroom
      description: >-
        This operation deletes an existing cleanroom.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID to be deleted
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Cleanroom deleted successfully.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeleteResponse"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanrooms

  /cleanrooms/cleanroom-types:
    get:
      summary: Fetch all Cleanroom Types
      operationId: getCleanroomTypes
      description: >-
        This operation fetches all the available Cleanroom Types.
      responses:
        '200':
          description: Successfully fetched Cleanroom Types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoomTypes'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRoomTypes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanrooms

  /cleanrooms/{cleanroomId}/cleanroom-questions:
    post:
      summary: Add Cleanroom Question
      operationId: addCleanroomQuestion
      description: >-
        This operation adds a question to an existing cleanroom.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID associated with the Cleanroom Question
          schema:
            type: string
          required: true
        - in: query
          name: questionId
          description: Question ID
          required: true
          schema:
            type: string
        - in: query
          name: isEditable
          description: Whether the resultant Cleanroom Question can be edited further
          schema:
            type: boolean
            default: true
          required: false
      responses:
        '200':
          description: Cleanroom Question created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Questions

    get:
      summary: Fetch a list of all Cleanroom Questions for a Cleanroom
      operationId: getAllCleanroomQuestions
      description: >-
        This operation fetches a list of all the Cleanroom Questions that are tied to a Cleanroom.
      parameters:
        - name: cleanroomId
          in: path
          description: The cleanroom ID to fetch all the underlying Cleanroom Questions
          schema:
            type: string
          required: true
        - name: startDate
          in: query
          description: A filter applied on the CreatedOn field for a Cleanroom Question that marks as the beginning of the range of dates. Default is empty - meaning no filter applied. The format is yyyy-MM-dd
          schema:
            type: string
            format: date
            example: 2024-01-01
        - name: endDate
          in: query
          description: A filter applied on the CreatedOn field for a Cleanroom Question that marks as the end of the range of dates. Default is empty - meaning no filter applied. The format is yyyy-MM-dd
          schema:
            type: string
            format: date
            example: 2024-01-01
        - name: limit
          in: query
          description: The number of Cleanroom Questions returned per page - default is 500
          schema:
            type: integer
            default: 500
        - name: offset
          in: query
          description: The offset - default is 0
          schema:
            type: integer
            default: 0
        - name: questionType
          in: query
          description: List or Analytical
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched Cleanroom Question details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestions'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestions'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Questions

  /cleanroom-questions/{cleanroomQuestionId}:
    get:
      summary: Fetch a Cleanroom Question by ID
      operationId: getCleanroomQuestionById
      description: >-
        This operation fetches a Cleanroom Question by ID.
      parameters:
        - name: cleanroomQuestionId
          in: path
          description: The Cleanroom Question ID to fetch a single Cleanroom Question's details
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successfully fetched Cleanroom Question details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestion'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestion'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Questions

    delete:
      summary: Delete Cleanroom Question
      operationId: deleteCleanroomQuestion
      description: >-
        This operation deletes an existing cleanroom question.
      parameters:
        - name: cleanroomQuestionId
          in: path
          description: Cleanroom Question ID to be deleted
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully deleted the cleanroom question.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DeleteResponse"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Questions

  /cleanroom-questions/{cleanroomQuestionId}/compute-capacity:
    patch:
      summary: Update the compute capacity for a cleanroom question
      operationId: updateCleanroomQuestionComputeCapacity
      description: >-
        This operation updates the compute capacity for a cleanroom question. This is currently only supported for Snowflake and Hybrid Cleanrooms
      parameters:
        - in: path
          name: cleanroomQuestionId
          description: ID of the cleanroom question
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCleanroomQuestionComputeCapacityRequest'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateCleanroomQuestionComputeCapacityRequest'
      responses:
        '200':
          description: Cleanroom Question created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCleanroomQuestionComputeCapacityResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Questions


  /cleanrooms/{cleanroomId}/questions/{questionId}:
    get:
      summary: Get Cleanroom Question by Cleanroom ID and Question ID
      operationId: getCleanroomQuestion
      description: >-
        This operation fetches a Cleanroom Question for a given Cleanroom ID and Question ID.
      parameters:
        - in: path
          name: cleanroomId
          description: Cleanroom ID associated with the Cleanroom Question
          schema:
            type: string
          required: true
        - in: path
          name: questionId
          description: Question ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Cleanroom Question fetched successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Cleanroom question ID
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Questions

  /cleanroom-questions/{cleanroomQuestionId}/cleanroom-question-result-shares:
    get:
      summary: Get the possible sharing options for the result of a Cleanroom Question
      operationId: getCleanroomQuestionResultShares
      description: >-
        This operation fetches a the possible sharing options for the result of a Cleanroom Question.
      parameters:
        - in: path
          name: cleanroomQuestionId
          description: Cleanroom Question ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched Cleanroom Question Result Shares
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestionResultShares'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestionResultShares'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Question Result Shares

    put:
      summary: Upsert clean room question result shares
      operationId: upsertCleanRoomQuestionResultShares
      description: >-
        This operation shares the results of a cleanroom question.
      parameters:
        - name: cleanroomQuestionId
          in: path
          description: The Cleanroom Question ID for which result share is being shared
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertCleanRoomQuestionResultSharesApiInput'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpsertCleanRoomQuestionResultSharesApiInput'
      responses:
        '200':
          description: Successfully upserted Cleanroom Question Result Shares
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpsertCleanRoomQuestionResultShareResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/UpsertCleanRoomQuestionResultShareResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Question Result Shares

  /cleanroom-questions/{cleanroomQuestionId}/cleanroom-question-tags:
    get:
      summary: Get the tags for a Cleanroom Question
      operationId: getCleanroomQuestionTags
      description: >-
        This operation fetches a the tags for a Cleanroom Question.
      parameters:
        - in: path
          name: cleanroomQuestionId
          description: Cleanroom Question ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched Cleanroom Question Tags
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestionTags'
            application/xml:
              schema:
                $ref: '#/components/schemas/CleanRoomQuestionTags'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Question Tags

  /cleanroom-questions/{cleanroomQuestionId}/cleanroom-question-parameters:
    get:
      summary: Get the parameters for a Cleanroom Question
      operationId: getCleanroomQuestionParameters
      description: >-
        This operation fetches a the parameters for a Cleanroom Question.
      parameters:
        - in: path
          name: cleanroomQuestionId
          description: Cleanroom Question ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched Cleanroom Question Parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCleanRoomQuestionParametersResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/GetCleanRoomQuestionParametersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Question Tags

  /cleanroom-questions/{cleanroomQuestionId}/cleanroom-question-run-schedules/{cleanroomQuestionRunScheduleId}:
    get:
      summary: Get a Cleanroom Question Run Schedule by ID
      operationId: getCleanroomQuestionRunScheduleById
      description: >-
        This operation fetches a the a Cleanroom Question Run Schedule by ID.
      parameters:
        - in: path
          name: cleanroomQuestionRunScheduleId
          description: Cleanroom Question Run Schedule ID
          required: true
          schema:
            type: string
        - in: path
          name: cleanroomQuestionId
          description: Cleanroom question ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched Cleanroom Question Run Schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCleanroomQuestionRunScheduleResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/GetCleanroomQuestionRunScheduleResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Question Run Schedule
    delete:
      summary: delete a Cleanroom Question Run Schedule by ID
      operationId: deleteCleanroomQuestionRunScheduleById
      description: >-
        This operation deletes a Cleanroom Question Run Schedule by ID.
      parameters:
        - in: path
          name: cleanroomQuestionRunScheduleId
          description: Cleanroom Question Run Schedule ID
          required: true
          schema:
            type: string
        - in: path
          name: cleanroomQuestionId
          description: Cleanroom question ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successfully deleted Cleanroom Question Run Schedule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCleanroomQuestionRunScheduleResponse'
            application/xml:
              schema:
                $ref: '#/components/schemas/DeleteCleanroomQuestionRunScheduleResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
        - Cleanroom Question Run Schedule
    patch:
      summary: Update a run schedule for a cleanroom question
      operationId: patchCleanroomQuestionRunScheduleById
      description: >-
        This operation modifies a run schedule for a cleanroom question
      parameters:
        - in: path
          name: cleanroomQuestionRunScheduleId
          description: Cleanroom Question Run Schedule ID
          required: true
          schema:
            type: string
        - in: path
          name: cleanroomQuestionId
          description: Cleanroom Question ID
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCleanroomQuestionRunScheduleInput'
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateCleanroomQuestionRunScheduleInput'
      responses:
        '200':
          description: Successfully updated a Cleanroom Question Run Schedule
          content:
            application/json:
              schema:


# --- truncated at 32 KB (313 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/liveramp/refs/heads/main/openapi/liveramp-clean-room-api-openapi.yml