> ## 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 incentives

> Gets all incentives in your workspace



## OpenAPI

````yaml https://api.rallyuxr.com/api/openapi post /incentives/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:
  /incentives/search:
    post:
      tags:
        - Incentives
      summary: Get paginated list of incentives
      description: Gets all incentives in your workspace
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                studyId:
                  type: string
                  description: The ID of the study
                filter:
                  $ref: '#/components/schemas/RootFilter'
                pageInfo:
                  $ref: '#/components/schemas/PageInfoArgs'
              description: Search parameters to get incentives within your workspace
      responses:
        '200':
          description: Incentive search response
          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/Incentive'
                  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:
    RootFilter:
      type: object
      properties:
        operator:
          type: string
          enum:
            - AND
            - OR
          default: AND
        filters:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/Filter'
              - $ref: '#/components/schemas/FilterGroup'
          maxItems: 50
        sort:
          oneOf:
            - type: object
              properties:
                operator:
                  type: string
                  enum:
                    - ASC
                    - DESC
                propertyGroup:
                  type: string
                  enum:
                    - PERSON
                propertyName:
                  type: string
                  enum:
                    - PERSON_ID
                    - NAME
                    - FIRST_NAME
                    - LAST_NAME
                    - EMAIL
                    - PHONE
                    - IMPORT_SOURCE
                    - IMPORT_DATE
                    - OPTED_OUT
                    - LAST_CONTACT_DATE
                    - STUDY_MEMBERSHIP
                    - SEGMENT_MEMBERSHIP
                    - POPULATION_MEMBERSHIP
                    - POPULATION_LIST_MEMBERSHIP
                    - INVITED_TO_STUDY
                    - INVITED_TO_STUDY_L30
                    - INVITED_TO_STUDY_L90
                    - INVITED_TO_STUDY_L365
                    - TOTAL_SENT_LAST_YEAR
                    - TOTAL_SENT_LAST_CALENDAR_YEAR
                    - TOTAL_SENT_ALL_TIME
                    - TOTAL_NUMBER_OF_CONTACT
                    - TOTAL_NUMBER_OF_CONTACT_L30
                    - TOTAL_NUMBER_OF_CONTACT_L90
                    - TOTAL_NUMBER_OF_CONTACT_L365
                    - LAST_INTERVIEW_DATE
                    - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED
                    - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED_L30
                    - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED_L90
                    - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED_L365
                    - TOTAL_NUMBER_OF_NO_SHOW_INTERVIEWS
                    - SHOW_RATE
                    - LAST_UNMOD_TEST_DATE
                    - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED
                    - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED_L30
                    - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED_L90
                    - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED_L365
                    - LAST_SURVEY_DATE
                    - TOTAL_NUMBER_OF_SURVEYS_COMPLETED
                    - TOTAL_NUMBER_OF_SURVEYS_COMPLETED_L30
                    - TOTAL_NUMBER_OF_SURVEYS_COMPLETED_L90
                    - TOTAL_NUMBER_OF_SURVEYS_COMPLETED_L365
                    - PARTICIPANT_RATING
                    - TOTAL_RATINGS
                    - CONTACT_STATUS
                    - CONTACT_STATUS_UPDATE_DATE
                    - IMPORT_UPLOAD_LIST
                    - CONSENT_SUBMISSIONS
                    - LAST_CHANGED_AT
                    - SIGNUP_REFERRAL_CODES
                    - SCREENER_STATUS
                    - SCREENER_SUBMITTED_AT
                    - CONSENT_FORM_WAS_SUBMITTED
                    - FORM_SIGNEDUP_AT
                    - FORM_APPROVAL_STATUS
                    - FORM_FIRST_SIGNUP_REFERRAL_CODE
                    - FORM_LAST_SIGNUP_REFERRAL_CODE
                    - PANEL_MEMBERSHIP
              required:
                - operator
                - propertyGroup
                - propertyName
            - type: object
              properties:
                operator:
                  type: string
                  enum:
                    - ASC
                    - DESC
                propertyGroup:
                  type: string
                  enum:
                    - INCENTIVE
                propertyName:
                  type: string
                  enum:
                    - EMAIL
                    - TYPE
                    - AMOUNT
                    - STATUS
                    - STUDY
                    - SENDER
                    - SENT_AT
                    - INCENTIVE_BUDGET
                    - CUSTOM_INCENTIVE
                    - CUSTOM_INCENTIVE_VALUE
              required:
                - operator
                - propertyGroup
                - propertyName
            - type: object
              properties:
                operator:
                  type: string
                  enum:
                    - ASC
                    - DESC
                propertyGroup:
                  type: string
                  enum:
                    - PARTICIPANT
                propertyName:
                  type: string
                  enum:
                    - SCREENER_STATUS
                    - STATE
                    - SCREENER_SENT_AT
                    - SCREENER_SUBMITTED_AT
                    - INTERVIEW_START_TIME
                    - INTERVIEW_START_DATE
                    - INCENTIVE_PAID
                    - CONSENT_FORM_SUBMITTED
                    - PARTICIPANT_ID
                    - APPROVAL_STATUS
                    - RECRUITMENT_CRITERIA_MATCH
                    - STUDY_FIRST_SIGNUP_REFERRAL_CODE
                    - STUDY_LAST_SIGNUP_REFERRAL_CODE
                    - STATUS
                    - STUDY_QUOTA_GROUP
                    - STUDY_SHORTLIST_STATUS
                    - STUDY_NOTE
              required:
                - operator
                - propertyGroup
                - propertyName
          description: Sorting to apply to the search
      required:
        - filters
      description: Filter option to search for people
    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
    Incentive:
      type: object
      properties:
        incentiveId:
          type: string
          description: The ID of the incentive
        type:
          type:
            - string
            - 'null'
          enum:
            - MONEY_OR_GIFT_CARD
            - CUSTOM
            - RECRUITMENT_FEE
            - RESPONDENT_MONEY
            - null
          description: The type of the incentive
        amountCents:
          type:
            - integer
            - 'null'
          exclusiveMinimum: 0
          description: The value of the incentive in cents
        sentAt:
          type: string
          format: date-time
          description: When the incentive was sent
        recipientEmail:
          type:
            - string
            - 'null'
          format: email
          description: >-
            The email of the recipient. Null when the recipient has been
            deleted. Masked if the api key doesn't have permissions
        personId:
          type:
            - string
            - 'null'
          description: The ID of the person
        participantId:
          type:
            - string
            - 'null'
          description: The ID of the participant
        studyId:
          type:
            - string
            - 'null'
          description: The ID of the study
        status:
          type: string
          enum:
            - UNCLAIMED
            - CLAIMED
            - CANCELED
            - ERROR
            - SENT
            - EXPIRED
          description: >-
            The payment status of the incentive. Money and Charity incentives
            move through UNCLAIMED -> CLAIMED, ERROR, CANCELED, EXPIRED. Custom
            Incentives have no flow and are always SENT. EXPIRED applies to
            incentives sent after Jan 31 2026 that remain unclaimed for 1 year.
        budgetId:
          type:
            - string
            - 'null'
          description: The ID of the budget
        customIncentiveId:
          type:
            - string
            - 'null'
          description: The ID of the custom incentive
        customIncentiveValue:
          type:
            - string
            - 'null'
          description: The value of the custom incentive
      required:
        - incentiveId
        - type
        - amountCents
        - sentAt
        - recipientEmail
        - personId
        - participantId
        - studyId
        - status
        - budgetId
      description: An incentives's metadata
    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:
      anyOf:
        - type: object
          properties:
            customProperty:
              $ref: '#/components/schemas/CustomPropertyFilter'
          required:
            - customProperty
        - type: object
          properties:
            person:
              oneOf:
                - $ref: '#/components/schemas/Filter_PERSON_DateTimeProperty'
                - $ref: '#/components/schemas/Filter_PERSON_BooleanProperty'
                - $ref: '#/components/schemas/Filter_PERSON_NumberProperty'
                - $ref: '#/components/schemas/Filter_PERSON_StringProperty'
                - $ref: '#/components/schemas/Filter_PERSON_MultiSelectProperty'
              discriminator:
                propertyName: propertyType
                mapping:
                  DATETIME:
                    $ref: '#/components/schemas/Filter_PERSON_DateTimeProperty'
                  BOOLEAN:
                    $ref: '#/components/schemas/Filter_PERSON_BooleanProperty'
                  NUMBER:
                    $ref: '#/components/schemas/Filter_PERSON_NumberProperty'
                  STRING:
                    $ref: '#/components/schemas/Filter_PERSON_StringProperty'
                  MULTI_SELECT:
                    $ref: '#/components/schemas/Filter_PERSON_MultiSelectProperty'
          required:
            - person
        - type: object
          properties:
            incentive:
              oneOf:
                - $ref: '#/components/schemas/Filter_INCENTIVE_DateTimeProperty'
                - $ref: '#/components/schemas/Filter_INCENTIVE_StringProperty'
                - $ref: '#/components/schemas/Filter_INCENTIVE_SingleSelectProperty'
                - $ref: '#/components/schemas/Filter_INCENTIVE_MultiSelectProperty'
              discriminator:
                propertyName: propertyType
                mapping:
                  DATETIME:
                    $ref: '#/components/schemas/Filter_INCENTIVE_DateTimeProperty'
                  STRING:
                    $ref: '#/components/schemas/Filter_INCENTIVE_StringProperty'
                  SINGLE_SELECT:
                    $ref: '#/components/schemas/Filter_INCENTIVE_SingleSelectProperty'
                  MULTI_SELECT:
                    $ref: '#/components/schemas/Filter_INCENTIVE_MultiSelectProperty'
          required:
            - incentive
        - type: object
          properties:
            participant:
              oneOf:
                - $ref: '#/components/schemas/Filter_PARTICIPANT_DateTimeProperty'
                - $ref: '#/components/schemas/Filter_PARTICIPANT_BooleanProperty'
                - $ref: '#/components/schemas/Filter_PARTICIPANT_StringProperty'
                - $ref: '#/components/schemas/Filter_PARTICIPANT_SingleSelectProperty'
                - $ref: '#/components/schemas/Filter_PARTICIPANT_MultiSelectProperty'
              discriminator:
                propertyName: propertyType
                mapping:
                  DATETIME:
                    $ref: '#/components/schemas/Filter_PARTICIPANT_DateTimeProperty'
                  BOOLEAN:
                    $ref: '#/components/schemas/Filter_PARTICIPANT_BooleanProperty'
                  STRING:
                    $ref: '#/components/schemas/Filter_PARTICIPANT_StringProperty'
                  SINGLE_SELECT:
                    $ref: >-
                      #/components/schemas/Filter_PARTICIPANT_SingleSelectProperty
                  MULTI_SELECT:
                    $ref: >-
                      #/components/schemas/Filter_PARTICIPANT_MultiSelectProperty
          required:
            - participant
      description: A filter for searching for people
    FilterGroup:
      type: object
      properties:
        operator:
          type: string
          enum:
            - AND
            - OR
          default: AND
        filters:
          type: array
          items:
            $ref: '#/components/schemas/Filter'
      required:
        - filters
      description: A group of filters
    CustomPropertyFilter:
      oneOf:
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_BooleanProperty'
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_DateTimeProperty'
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_NumberProperty'
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_StringProperty'
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_SingleSelectProperty'
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_MultiSelectProperty'
        - $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_LocationProperty'
      discriminator:
        propertyName: propertyType
        mapping:
          BOOLEAN:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_BooleanProperty'
          DATETIME:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_DateTimeProperty'
          NUMBER:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_NumberProperty'
          STRING:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_StringProperty'
          SINGLE_SELECT:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_SingleSelectProperty'
          MULTI_SELECT:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_MultiSelectProperty'
          LOCATION:
            $ref: '#/components/schemas/Filter_CUSTOM_PROPERTY_LocationProperty'
      description: A custom property filter
      example:
        propertyType: STRING
        propertyGroup: CUSTOM_PROPERTY
        propertyName: CUSTOM_PROPERTY
        propertyId: custom_property_1
        operator: IS
        value: some value
    Filter_PERSON_DateTimeProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - DATETIME
        propertyName:
          type: string
          enum:
            - IMPORT_DATE
            - LAST_CONTACT_DATE
            - LAST_INTERVIEW_DATE
            - LAST_UNMOD_TEST_DATE
            - LAST_SURVEY_DATE
            - CONTACT_STATUS_UPDATE_DATE
            - LAST_CHANGED_AT
            - SCREENER_SUBMITTED_AT
            - FORM_SIGNEDUP_AT
        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:
            - PERSON
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PERSON_BooleanProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - BOOLEAN
        propertyName:
          type: string
          enum:
            - OPTED_OUT
            - CONSENT_FORM_WAS_SUBMITTED
        operator:
          $ref: '#/components/schemas/BooleanOperator'
        value:
          type: boolean
        propertyGroup:
          type: string
          enum:
            - PERSON
      required:
        - propertyType
        - propertyName
        - operator
        - value
    Filter_PERSON_NumberProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - NUMBER
        propertyName:
          type: string
          enum:
            - INVITED_TO_STUDY
            - INVITED_TO_STUDY_L30
            - INVITED_TO_STUDY_L90
            - INVITED_TO_STUDY_L365
            - TOTAL_NUMBER_OF_CONTACT
            - TOTAL_NUMBER_OF_CONTACT_L30
            - TOTAL_NUMBER_OF_CONTACT_L90
            - TOTAL_NUMBER_OF_CONTACT_L365
            - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED
            - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED_L30
            - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED_L90
            - TOTAL_NUMBER_OF_INTERVIEWS_COMPLETED_L365
            - TOTAL_NUMBER_OF_NO_SHOW_INTERVIEWS
            - SHOW_RATE
            - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED
            - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED_L30
            - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED_L90
            - TOTAL_NUMBER_OF_UNMOD_TESTS_COMPLETED_L365
            - TOTAL_NUMBER_OF_SURVEYS_COMPLETED
            - TOTAL_NUMBER_OF_SURVEYS_COMPLETED_L30
            - TOTAL_NUMBER_OF_SURVEYS_COMPLETED_L90
            - TOTAL_NUMBER_OF_SURVEYS_COMPLETED_L365
            - PARTICIPANT_RATING
            - TOTAL_RATINGS
        operator:
          $ref: '#/components/schemas/NumberOperator'
        value:
          type: number
        propertyGroup:
          type: string
          enum:
            - PERSON
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PERSON_StringProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - STRING
        propertyName:
          type: string
          enum:
            - PERSON_ID
            - NAME
            - FIRST_NAME
            - LAST_NAME
            - EMAIL
            - PHONE
            - FORM_FIRST_SIGNUP_REFERRAL_CODE
            - FORM_LAST_SIGNUP_REFERRAL_CODE
        operator:
          $ref: '#/components/schemas/StringOperator'
        value:
          type: string
        propertyGroup:
          type: string
          enum:
            - PERSON
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PERSON_MultiSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - MULTI_SELECT
        propertyName:
          type: string
          enum:
            - IMPORT_UPLOAD_LIST
            - IMPORT_SOURCE
            - PANEL_MEMBERSHIP
            - STUDY_MEMBERSHIP
            - CONTACT_STATUS
            - CONSENT_SUBMISSIONS
            - POPULATION_MEMBERSHIP
            - SEGMENT_MEMBERSHIP
            - POPULATION_LIST_MEMBERSHIP
            - SCREENER_STATUS
            - FORM_APPROVAL_STATUS
            - SIGNUP_REFERRAL_CODES
        operator:
          $ref: '#/components/schemas/MultiSelectOperator'
        values:
          type: array
          items:
            type: string
        propertyGroup:
          type: string
          enum:
            - PERSON
      required:
        - propertyType
        - propertyName
        - operator
    Filter_INCENTIVE_DateTimeProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - DATETIME
        propertyName:
          type: string
          enum:
            - SENT_AT
        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:
            - INCENTIVE
      required:
        - propertyType
        - propertyName
        - operator
    Filter_INCENTIVE_StringProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - STRING
        propertyName:
          type: string
          enum:
            - EMAIL
            - STUDY
            - CUSTOM_INCENTIVE_VALUE
        operator:
          $ref: '#/components/schemas/StringOperator'
        value:
          type: string
        propertyGroup:
          type: string
          enum:
            - INCENTIVE
      required:
        - propertyType
        - propertyName
        - operator
    Filter_INCENTIVE_SingleSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - SINGLE_SELECT
        propertyName:
          type: string
          enum:
            - TYPE
            - STATUS
            - INCENTIVE_BUDGET
        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:
            - INCENTIVE
      required:
        - propertyType
        - propertyName
        - operator
    Filter_INCENTIVE_MultiSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - MULTI_SELECT
        propertyName:
          type: string
          enum:
            - CUSTOM_INCENTIVE
        operator:
          $ref: '#/components/schemas/MultiSelectOperator'
        values:
          type: array
          items:
            type: string
        propertyGroup:
          type: string
          enum:
            - INCENTIVE
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PARTICIPANT_DateTimeProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - DATETIME
        propertyName:
          type: string
          enum:
            - INTERVIEW_START_TIME
            - INTERVIEW_START_DATE
            - SCREENER_SENT_AT
            - SCREENER_SUBMITTED_AT
        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:
            - PARTICIPANT
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PARTICIPANT_BooleanProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - BOOLEAN
        propertyName:
          type: string
          enum:
            - CONSENT_FORM_SUBMITTED
        operator:
          $ref: '#/components/schemas/BooleanOperator'
        value:
          type: boolean
        propertyGroup:
          type: string
          enum:
            - PARTICIPANT
      required:
        - propertyType
        - propertyName
        - operator
        - value
    Filter_PARTICIPANT_StringProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - STRING
        propertyName:
          type: string
          enum:
            - PARTICIPANT_ID
            - STUDY_FIRST_SIGNUP_REFERRAL_CODE
            - STUDY_LAST_SIGNUP_REFERRAL_CODE
            - STUDY_NOTE
        operator:
          $ref: '#/components/schemas/StringOperator'
        value:
          type: string
        propertyGroup:
          type: string
          enum:
            - PARTICIPANT
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PARTICIPANT_SingleSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - SINGLE_SELECT
        propertyName:
          type: string
          enum:
            - SCREENER_STATUS
            - STATUS
            - APPROVAL_STATUS
            - RECRUITMENT_CRITERIA_MATCH
            - STUDY_SHORTLIST_STATUS
        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:
            - PARTICIPANT
      required:
        - propertyType
        - propertyName
        - operator
    Filter_PARTICIPANT_MultiSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - MULTI_SELECT
        propertyName:
          type: string
          enum:
            - STUDY_QUOTA_GROUP
        operator:
          $ref: '#/components/schemas/MultiSelectOperator'
        values:
          type: array
          items:
            type: string
        propertyGroup:
          type: string
          enum:
            - PARTICIPANT
      required:
        - propertyType
        - propertyName
        - operator
    Filter_CUSTOM_PROPERTY_BooleanProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - BOOLEAN
        propertyId:
          type: string
        operator:
          $ref: '#/components/schemas/BooleanOperator'
        value:
          type: boolean
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
        - value
    Filter_CUSTOM_PROPERTY_DateTimeProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - DATETIME
        propertyId:
          type: string
        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
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
    Filter_CUSTOM_PROPERTY_NumberProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - NUMBER
        propertyId:
          type: string
        operator:
          $ref: '#/components/schemas/NumberOperator'
        value:
          type: number
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
    Filter_CUSTOM_PROPERTY_StringProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - STRING
        propertyId:
          type: string
        operator:
          $ref: '#/components/schemas/StringOperator'
        value:
          type: string
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
    Filter_CUSTOM_PROPERTY_SingleSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - SINGLE_SELECT
        propertyId:
          type: string
        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
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
    Filter_CUSTOM_PROPERTY_MultiSelectProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - MULTI_SELECT
        propertyId:
          type: string
        operator:
          $ref: '#/components/schemas/MultiSelectOperator'
        values:
          type: array
          items:
            type: string
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
    Filter_CUSTOM_PROPERTY_LocationProperty:
      type: object
      properties:
        propertyType:
          type: string
          enum:
            - LOCATION
        propertyId:
          type: string
        operator:
          $ref: '#/components/schemas/LocationOperator'
        value:
          type: object
          properties:
            centerPoint:
              type: object
              properties:
                lat:
                  type: number
                lon:
                  type: number
              required:
                - lat
                - lon
            unit:
              type: string
              enum:
                - KM
                - MI
            range:
              type: number
        propertyName:
          type: string
          enum:
            - CUSTOM_PROPERTY
        propertyGroup:
          type: string
          enum:
            - CUSTOM_PROPERTY
      required:
        - propertyType
        - propertyId
        - operator
    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
    BooleanOperator:
      type: string
      enum:
        - EQUAL
        - NOT_EQUAL
    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
    MultiSelectOperator:
      type: string
      enum:
        - CONTAINS
        - DOES_NOT_CONTAIN
        - IS_EMPTY
        - IS_NOT_EMPTY
    SingleSelectOperator:
      type: string
      enum:
        - IS
        - IS_NOT
        - IS_ANY_OF
        - IS_NONE_OF
        - IS_EMPTY
        - IS_NOT_EMPTY
    LocationOperator:
      type: string
      enum:
        - WITHIN_RADIUS
        - IS_EMPTY
        - IS_NOT_EMPTY
  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

````