> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rallyuxr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get paginated list of studies in your workspace.

> Get a paginated list of studies in your workspace



## OpenAPI

````yaml https://api.rallyuxr.com/api/openapi post /studies/search
openapi: 3.1.0
info:
  title: Rally UXR Developer Docs
  version: '1.0'
servers:
  - url: https://api.rallyuxr.com/api/public/v1
security:
  - bearerAuth: []
tags:
  - name: Forms
    description: Operations on Forms in your workspace
  - name: People
    description: Operations on Person's stored in your workspace
  - name: Person Properties
    description: Operations on workspace level Person Properties
  - name: Populations
    description: Operations on Populations in your workspace
  - name: Segments
    description: Operations on Segments in your workspace
  - name: Studies
    description: Operations on Studies in your workspace
  - name: Participants
    description: Operations on Participants in studies
  - name: Screener
    description: Operations on a study's screener
  - name: Consent Submissions
    description: Operations on Consent Submissions for studies
  - name: Incentives
    description: Operations on Incentives in your workspace
  - name: Messages
    description: Operations on Message activities in your workspace
  - name: Imports
    description: Operations on Imports in your workspace
  - name: Users
    description: Operations on Workspace Users
  - name: Teams
    description: Operations on Teams in your workspace
  - name: Backfills
    description: >-
      Routes that can be used to backfill data into Rally. If you'd like access
      to these apis, please reach out to your Customer Success rep
  - name: Person
    description: Deprecated, use People
paths:
  /studies/search:
    post:
      tags:
        - Studies
      summary: Get paginated list of studies in your workspace.
      description: Get a paginated list of studies in your workspace
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filter:
                  $ref: '#/components/schemas/RootStudyFilter'
                pageInfo:
                  $ref: '#/components/schemas/PageInfoArgs'
      responses:
        '200':
          description: The studies metadata
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Study'
                  total:
                    type: number
                    exclusiveMinimum: 0
                    description: >-
                      The total number of items in your workspaces based on your
                      search parameters
                  pageInfo:
                    $ref: '#/components/schemas/PageInfoResponse'
                required:
                  - results
                  - total
                  - pageInfo
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '401':
          description: Unauthorized
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            text/plain:
              schema:
                type: string
                example: Unauthorized
        '403':
          description: Forbidden
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            text/plain:
              schema:
                type: string
                example: Forbidden
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              $ref: '#/components/headers/Retry-After'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            text/plain:
              schema:
                type: string
                example: Too Many Requests
        '500':
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            text/plain:
              schema:
                type: string
                example: Internal Server Error
      security:
        - bearerAuth: []
components:
  schemas:
    RootStudyFilter:
      type: object
      properties:
        operator:
          type: string
          enum:
            - AND
            - OR
          default: AND
        filters:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/Filter_STUDY_DateTimeProperty'
              - $ref: '#/components/schemas/Filter_STUDY_NumberProperty'
              - $ref: '#/components/schemas/Filter_STUDY_StringProperty'
              - $ref: '#/components/schemas/Filter_STUDY_SingleSelectProperty'
              - $ref: '#/components/schemas/Filter_STUDY_MultiSelectProperty'
              - $ref: '#/components/schemas/StudyFilterGroup'
          maxItems: 50
      required:
        - filters
      description: Filter option to search for studies
    PageInfoArgs:
      type: object
      properties:
        startCursor:
          type: string
          description: The cursor to start from
        size:
          type: number
          exclusiveMinimum: 0
          maximum: 1000
          default: 25
          description: The number of items to return
          example: 10
      description: >-
        Pagination arguments. Use startCursor from the result of the endCursor
        of the response to get the next page. Pagination in reverse is not
        currently supported
      example:
        size: 10
    Study:
      type: object
      properties:
        studyId:
          type: string
        studyType:
          allOf:
            - $ref: '#/components/schemas/StudyType'
            - description: The type of study
        recruitmentStrategy:
          allOf:
            - $ref: '#/components/schemas/RecruitmentStrategy'
            - description: The recruitment strategy for the study
        status:
          $ref: '#/components/schemas/StudyStatus'
        studyPlan:
          $ref: '#/components/schemas/StudyPlan'
        createdAt:
          type: string
          format: date-time
        createdFromTemplateId:
          type:
            - string
            - 'null'
          description: >-
            The ID of the template this study was created from, or null if not
            created from a template
        owners:
          type: array
          items:
            $ref: '#/components/schemas/StudyOwner'
      required:
        - studyId
        - studyType
        - recruitmentStrategy
        - status
        - studyPlan
        - createdAt
        - createdFromTemplateId
        - owners
      description: Study object
    PageInfoResponse:
      type: object
      properties:
        hasNextPage:
          type: boolean
          description: Whether there are additional pages of results
        hasPreviousPage:
          type: boolean
          description: Whether there is a prior page of results
        startCursor:
          type: string
          description: The start of the current page of results
        endCursor:
          type: string
          description: The end of the current page of results. Use to fetch the next page
      required:
        - hasNextPage
        - hasPreviousPage
      description: Information about the current page
    BadRequestError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              path:
                type: array
                items:
                  anyOf:
                    - type: string
                    - type: number
            required:
              - message
              - path
      required:
        - errors
      description: Error response for a bad request with details on what was invalid
    Filter_STUDY_DateTimeProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - DATETIME
        propertyName:
          type: string
          enum:
            - CREATED
            - UPDATED
            - START_DATE
            - END_DATE
        operator:
          $ref: '#/components/schemas/DateOperator'
        value:
          $ref: '#/components/schemas/DateValues'
        timestamp:
          type: number
          description: >-
            Deprecated since use of this value can be confusing. The timestamp
            of a date in UTC milliseconds. This uses the date value of the
            timestamp by truncating to the day. Filtering for exact times is not
            supported. Requires EXACT_DATE value
          deprecated: true
        exactDate:
          type: string
          format: date
          description: A date string in yyyy-MM-dd. Requires EXACT_DATE value
        amount:
          type: number
          description: >-
            The number of time units (days, weeks, months, or years) depending
            on the value field. Prefer this over days for clarity.
        days:
          type: number
          description: >-
            Deprecated: Use amount instead. The number of time units (days,
            weeks, months, or years) depending on the value field.
          deprecated: true
        propertyGroup:
          type: string
          enum:
            - STUDY
      required:
        - propertyType
        - propertyName
        - operator
    Filter_STUDY_NumberProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - NUMBER
        propertyName:
          type: string
          enum:
            - INTERVIEW_DURATION
            - INCENTIVE_AMOUNT
        operator:
          $ref: '#/components/schemas/NumberOperator'
        value:
          type: number
        propertyGroup:
          type: string
          enum:
            - STUDY
      required:
        - propertyType
        - propertyName
        - operator
    Filter_STUDY_StringProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - STRING
        propertyName:
          type: string
          enum:
            - ID
            - NAME
            - EXTERNAL_NAME
            - CREATED_FROM_TEMPLATE_ID
        operator:
          $ref: '#/components/schemas/StringOperator'
        value:
          type: string
        propertyGroup:
          type: string
          enum:
            - STUDY
      required:
        - propertyType
        - propertyName
        - operator
    Filter_STUDY_SingleSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - SINGLE_SELECT
        propertyName:
          type: string
          enum:
            - STATUS
            - TYPE
            - LANGUAGE
        operator:
          $ref: '#/components/schemas/SingleSelectOperator'
        value:
          type: string
          description: Single value for IS/IS_NOT operators
        values:
          type: array
          items:
            type: string
          description: Multiple values for IS_ANY_OF/IS_NONE_OF operators
        propertyGroup:
          type: string
          enum:
            - STUDY
      required:
        - propertyType
        - propertyName
        - operator
      example:
        propertyType: SINGLE_SELECT
        propertyGroup: STUDY
        propertyName: STATUS
        operator: IS
        value: DRAFT
    Filter_STUDY_MultiSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - MULTI_SELECT
        propertyName:
          type: string
          enum:
            - TEAMS
            - OWNERS
        operator:
          $ref: '#/components/schemas/MultiSelectOperator'
        values:
          type: array
          items:
            type: string
        propertyGroup:
          type: string
          enum:
            - STUDY
      required:
        - propertyType
        - propertyName
        - operator
    StudyFilterGroup:
      type: object
      properties:
        operator:
          type: string
          enum:
            - AND
            - OR
          default: AND
        filters:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/Filter_STUDY_DateTimeProperty'
              - $ref: '#/components/schemas/Filter_STUDY_NumberProperty'
              - $ref: '#/components/schemas/Filter_STUDY_StringProperty'
              - $ref: '#/components/schemas/Filter_STUDY_SingleSelectProperty'
              - $ref: '#/components/schemas/Filter_STUDY_MultiSelectProperty'
            discriminator:
              propertyName: propertyType
              mapping:
                DATETIME:
                  $ref: '#/components/schemas/Filter_STUDY_DateTimeProperty'
                NUMBER:
                  $ref: '#/components/schemas/Filter_STUDY_NumberProperty'
                STRING:
                  $ref: '#/components/schemas/Filter_STUDY_StringProperty'
                SINGLE_SELECT:
                  $ref: '#/components/schemas/Filter_STUDY_SingleSelectProperty'
                MULTI_SELECT:
                  $ref: '#/components/schemas/Filter_STUDY_MultiSelectProperty'
      required:
        - filters
      description: A group of filters
    StudyType:
      type: string
      enum:
        - SURVEY
        - INTERVIEWS
        - UNMODERATED_TEST
        - GROUP_INTERVIEW
      description: The type of study. Required if not using a duplicate/study template
    RecruitmentStrategy:
      type: string
      enum:
        - IN_RALLY
        - EXTERNAL
      description: >-
        The recruitment strategy for the study. Required if not using a
        duplicate/study template
    StudyStatus:
      type: string
      enum:
        - DRAFT
        - ACTIVE
        - PAUSED
        - CLOSED
      description: The status of the study
    StudyPlan:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
          description: The internal name of the study
        externalName:
          type:
            - string
            - 'null'
          description: The external name of the study
        description:
          type:
            - string
            - 'null'
          description: The internal description of the study
        externalDescription:
          type:
            - string
            - 'null'
          description: The external description of the study
        startDate:
          anyOf:
            - type: string
              format: date
              description: The start date of the study in YYYY-MM-DD format
              example: '2025-01-01'
            - type: string
              format: date-time
              description: >-
                The start date of the study in ISO 8601 in UTC(with no offset).
                The time is truncated
              example: '2025-01-01T00:00:00Z'
              deprecated: true
            - type: 'null'
        endDate:
          anyOf:
            - type: string
              format: date
              description: The end date of the study in YYYY-MM-DD format
              example: '2025-01-02'
            - type: string
              format: date-time
              description: >-
                The end date of the study in ISO 8601 in UTC(with no offset).
                The time is truncated
              example: '2025-01-02T00:00:00Z'
              deprecated: true
            - type: 'null'
        researchPlanUrl:
          type:
            - string
            - 'null'
          description: The URL of the research plan
        participationLimit:
          type:
            - number
            - 'null'
          default: 10
          description: The participation limit of the study
        consentFormId:
          type:
            - string
            - 'null'
          description: The ID of the consent form
        incentive:
          $ref: '#/components/schemas/StudyPlanIncentive'
        includeScreener:
          type: boolean
          description: >-
            Whether to include a screener. If type is `SURVEY` the default is
            true, if not then false
        brandingConfigId:
          type:
            - string
            - 'null'
          description: >-
            The ID of the branding configuration. Setting it mirrors changing
            the branding in-app: it also updates the study landing page's button
            color and, when the branding config has a workspace email, the
            study's booking-confirmation, booking-cancellation,
            interview-reminder, and interview-reschedule email defaults. On
            update, pass null to clear the study's branding.
        language:
          $ref: '#/components/schemas/LanguageCode'
        scheduler:
          $ref: '#/components/schemas/StudyPlanScheduler'
      required:
        - name
        - externalName
        - description
        - externalDescription
        - startDate
        - endDate
        - researchPlanUrl
        - participationLimit
        - consentFormId
        - incentive
        - includeScreener
        - brandingConfigId
        - language
      description: Study plan object
    StudyOwner:
      type: object
      properties:
        userId:
          type: string
        emailAccountId:
          type: string
        fullname:
          type:
            - string
            - 'null'
        email:
          type:
            - string
            - 'null'
      required:
        - userId
        - emailAccountId
        - fullname
        - email
      description: Study owner object
    DateOperator:
      type: string
      enum:
        - IS
        - IS_NOT
        - IS_BEFORE
        - IS_AFTER
        - IS_ON_OR_BEFORE
        - IS_ON_OR_AFTER
        - IS_WITHIN
        - IS_EMPTY
        - IS_NOT_EMPTY
    DateValues:
      type: string
      enum:
        - TODAY
        - TOMORROW
        - YESTERDAY
        - ONE_WEEK_AGO
        - ONE_WEEK_FROM_NOW
        - ONE_MONTH_AGO
        - ONE_MONTH_FROM_NOW
        - ONE_YEAR_AGO
        - ONE_YEAR_FROM_NOW
        - NUMBER_OF_DAYS_AGO
        - NUMBER_OF_DAYS_FROM_NOW
        - NUMBER_OF_WEEKS_AGO
        - NUMBER_OF_WEEKS_FROM_NOW
        - NUMBER_OF_MONTHS_AGO
        - NUMBER_OF_MONTHS_FROM_NOW
        - NUMBER_OF_YEARS_AGO
        - NUMBER_OF_YEARS_FROM_NOW
        - EXACT_DATE
      description: >-
        The value of the date being searched for. All dates are relative to
        workspace timezone
    NumberOperator:
      type: string
      enum:
        - EQUAL
        - NOT_EQUAL
        - GREATER_THAN
        - LESS_THAN
        - GTE
        - LTE
        - IS_EMPTY
        - IS_NOT_EMPTY
    StringOperator:
      type: string
      enum:
        - IS
        - IS_NOT
        - CONTAINS
        - DOES_NOT_CONTAIN
        - STARS_WITH
        - ENDS_WITH
        - IS_EMPTY
        - IS_NOT_EMPTY
    SingleSelectOperator:
      type: string
      enum:
        - IS
        - IS_NOT
        - IS_ANY_OF
        - IS_NONE_OF
        - IS_EMPTY
        - IS_NOT_EMPTY
    MultiSelectOperator:
      type: string
      enum:
        - CONTAINS
        - DOES_NOT_CONTAIN
        - IS_EMPTY
        - IS_NOT_EMPTY
    StudyPlanIncentive:
      type:
        - object
        - 'null'
      properties:
        incentiveType:
          $ref: '#/components/schemas/IncentiveType'
        incentiveBudgetId:
          type:
            - string
            - 'null'
          description: The ID of the incentive budget
        amount:
          type:
            - number
            - 'null'
          description: The amount of the incentive
        currency:
          allOf:
            - $ref: '#/components/schemas/IncentiveCurrencyType'
            - description: The currency of the incentive
        customIncentiveId:
          type:
            - string
            - 'null'
          description: If type is CUSTOM then the ID of the custom incentive
        defaultCustomIncentiveValue:
          type:
            - string
            - 'null'
          description: If type is CUSTOM then the default value of the custom incentive
      required:
        - incentiveType
        - incentiveBudgetId
        - amount
        - customIncentiveId
        - defaultCustomIncentiveValue
      description: The incentive details for the study
    LanguageCode:
      type: string
      enum:
        - en
        - es
        - fr
        - it
        - ro
        - pt
        - pl
        - de
        - nl
        - ja
        - pt_BR
        - ko
        - cs
        - hi
        - sk
        - ar
        - tr
      default: en
      description: The language code for the study
    StudyPlanScheduler:
      type:
        - object
        - 'null'
      properties:
        interviewDurationMinutes:
          type: integer
          description: The planned interview duration in minutes.
          example: 60
      required:
        - interviewDurationMinutes
      description: >-
        Scheduler configuration for the study. Read-only. Populated only when
        `studyType` is `INTERVIEWS` and the study has a configured scheduler;
        otherwise the parent `scheduler` field is null (i.e. for `SURVEY`,
        `UNMODERATED_TEST`, `GROUP_INTERVIEW`, or `INTERVIEWS` studies without a
        scheduler row).
    IncentiveType:
      type: string
      enum:
        - MONEY_OR_GIFT_CARD
        - MONEY_OR_GIFT_CARD_WITH_TREMENDOUS
        - EXTERNAL_MONEY_OR_GIFT_CARD
        - CHARITY
        - CUSTOM
        - RESPONDENT_MONEY
        - RECRUITMENT_FEE
      description: The type of incentive
    IncentiveCurrencyType:
      type: string
      enum:
        - USD
        - EUR
        - GBP
        - CAD
        - AUD
        - NZD
      description: The currency of the incentive. Defaults to USD when not provided
  headers:
    X-RateLimit-Limit:
      description: The maximum number of requests the client is allowed to make.
      schema:
        type: integer
        format: int32
    X-RateLimit-Remaining:
      description: >-
        The number of requests remaining for the client in the current time
        window.
      schema:
        type: integer
        format: int32
    X-RateLimit-Reset:
      description: >-
        The time at which the current time window ends (in Unix timestamp
        format).
      schema:
        type: integer
        format: int32
    Retry-After:
      description: The number of seconds until the client should retry the request.
      schema:
        type: integer
        format: int32
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````