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

# Search for people

> Search for people in your workspace. You can filter by studies, segments, and panels. Or just retrieve additional metadata about a list of person ids



## OpenAPI

````yaml https://api.rallyuxr.com/api/openapi post /people/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:
  /people/search:
    post:
      tags:
        - People
      summary: Search for people
      description: >-
        Search for people in your workspace. You can filter by studies,
        segments, and panels. Or just retrieve additional metadata about a list
        of person ids
      operationId: searchPeople
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                attachProperties:
                  type: array
                  items:
                    type: string
                  maxItems: 25
                  description: >-
                    List of the propertyIds of custom properties to attach to
                    the response for each person
                  example:
                    - EMAIL
                    - FIRST_NAME
                    - LAST_NAME
                allowlistInternalProperties:
                  type: array
                  items:
                    type: string
                    enum:
                      - NAME
                      - FIRST_NAME
                      - LAST_NAME
                      - EMAIL
                      - PHONE
                      - IMPORT_SOURCE
                      - IMPORT_DATE
                      - OPTED_OUT
                      - LAST_CONTACT_DATE
                      - TOTAL_SENT_LAST_YEAR
                      - TOTAL_SENT_LAST_CALENDAR_YEAR
                      - TOTAL_SENT_ALL_TIME
                      - 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
                      - 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
                      - 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
                      - CONTACT_STATUS
                      - POPULATION_MEMBERSHIP
                      - POPULATION_LIST_MEMBERSHIP
                      - SIGNUP_REFERRAL_CODES
                      - LAST_CHANGED_AT
                  description: >-
                    List of rally properties to include in the response. If this
                    or blocklistInternalProperties is not included we will
                    return all internal properties
                  example:
                    - NAME
                    - CONTACT_STATUS
                    - OPTED_OUT
                blocklistInternalProperties:
                  type: array
                  items:
                    type: string
                    enum:
                      - NAME
                      - FIRST_NAME
                      - LAST_NAME
                      - EMAIL
                      - PHONE
                      - IMPORT_SOURCE
                      - IMPORT_DATE
                      - OPTED_OUT
                      - LAST_CONTACT_DATE
                      - TOTAL_SENT_LAST_YEAR
                      - TOTAL_SENT_LAST_CALENDAR_YEAR
                      - TOTAL_SENT_ALL_TIME
                      - 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
                      - 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
                      - 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
                      - CONTACT_STATUS
                      - POPULATION_MEMBERSHIP
                      - POPULATION_LIST_MEMBERSHIP
                      - SIGNUP_REFERRAL_CODES
                      - LAST_CHANGED_AT
                  description: List of rally properties to exclude from the response
                segmentIds:
                  type: array
                  items:
                    type: string
                  maxItems: 100
                  description: List of segment IDs to filter people by
                  deprecated: true
                studyIds:
                  type: array
                  items:
                    type: string
                  maxItems: 100
                  description: List of study IDs to filter people by
                  deprecated: true
                panelIds:
                  type: array
                  items:
                    type: string
                  maxItems: 100
                  description: List of panel IDs to filter people by
                  deprecated: true
                peopleIds:
                  type: array
                  items:
                    type: string
                  maxItems: 100
                  description: List of person IDs to filter people by
                studyId:
                  type: string
                  description: The ID of the study to filter people by
                filter:
                  allOf:
                    - $ref: '#/components/schemas/RootFilter'
                    - description: >-
                        Filters to apply to the search. This and the deprecated
                        top level filters cannot be used at the same time
                pageInfo:
                  $ref: '#/components/schemas/PageInfoArgs'
              description: Search for people
      responses:
        '200':
          description: Successfully retrieved people
          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:
                $ref: '#/components/schemas/PeopleSearchResponse'
        '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
    PeopleSearchResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Person'
        total:
          type: number
          exclusiveMinimum: 0
          description: >-
            The total number of items in your workspaces based on your search
            parameters
        pageInfo:
          $ref: '#/components/schemas/PageInfoResponse'
        errors:
          type: array
          items:
            type: object
            properties:
              errorCode:
                type: string
                enum:
                  - UNAUTHORIZED
              propertyId:
                type: string
            required:
              - errorCode
              - propertyId
      required:
        - results
        - total
        - pageInfo
        - errors
      description: Response for a search of people
    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
    Person:
      type: object
      properties:
        personId:
          type: string
          description: The ID of the person
        email:
          type:
            - string
            - 'null'
          description: The email of the person
        properties:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - NUMBER
                  propertyId:
                    type: string
                  value:
                    type:
                      - number
                      - 'null'
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - STRING
                  propertyId:
                    type: string
                  value:
                    type:
                      - string
                      - 'null'
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - DATETIME
                  propertyId:
                    type: string
                  value:
                    type:
                      - string
                      - 'null'
                    format: date-time
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - BOOLEAN
                  propertyId:
                    type: string
                  value:
                    type:
                      - boolean
                      - 'null'
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - SINGLE_SELECT
                  propertyId:
                    type: string
                  value:
                    type:
                      - array
                      - 'null'
                    prefixItems:
                      - type: string
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - MULTI_SELECT
                  propertyId:
                    type: string
                  value:
                    type:
                      - array
                      - 'null'
                    items:
                      type: string
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - LOCATION
                  propertyId:
                    type: string
                  value:
                    type:
                      - object
                      - 'null'
                    properties:
                      latitude:
                        type: number
                        minimum: -90
                        maximum: 90
                        description: The latitude of the location
                      longitude:
                        type: number
                        minimum: -180
                        maximum: 180
                        description: The longitude of the location
                      country:
                        $ref: '#/components/schemas/CountryCode'
                      postalCode:
                        type: string
                        description: The postal code of the location
                      admin1:
                        type: string
                        description: >-
                          The state/territory/administrative area level 1 of the
                          location
                      admin2:
                        type: string
                        description: >-
                          The county/parish/borough/administrative area level 2
                          of the location
                      admin3:
                        type: string
                        description: >-
                          The city/municipality/administrative area level 3 of
                          the location
                    required:
                      - latitude
                      - longitude
                      - country
                    description: The value of a location property
                    example:
                      latitude: 37.7749
                      longitude: -122.4194
                      country: US
                      postalCode: '94103'
                      admin1: CA
                      admin2: San Francisco
                      admin3: San Francisco
                required:
                  - propertyType
                  - propertyId
                  - value
              - type: object
                properties:
                  propertyType:
                    type: string
                    enum:
                      - ID_NAME_OBJECT
                  propertyId:
                    type: string
                  value:
                    type:
                      - object
                      - 'null'
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                      - name
                required:
                  - propertyType
                  - propertyId
                  - value
            description: A property of a person, both internal and custom
            example:
              propertyType: STRING
              propertyId: cm0b4eokq000vbbsimwelll3u
              value: Blue
        populationIds:
          type: array
          items:
            type: string
          description: List of populationIds for populations the person is in
      required:
        - personId
        - email
        - properties
        - populationIds
      description: A person
    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
    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
    CountryCode:
      type: string
      enum:
        - AF
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AO
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - AZ
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BQ
        - BA
        - BW
        - BV
        - BR
        - IO
        - BN
        - BG
        - BF
        - BI
        - CV
        - KH
        - CM
        - CA
        - KY
        - CF
        - TD
        - CL
        - CN
        - CX
        - CC
        - CO
        - KM
        - CG
        - CD
        - CK
        - CR
        - CI
        - HR
        - CU
        - CW
        - CY
        - CZ
        - DK
        - DJ
        - DM
        - DO
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - GH
        - GI
        - GR
        - GL
        - GD
        - GP
        - GU
        - GT
        - GG
        - GN
        - GW
        - GY
        - HT
        - HM
        - VA
        - HN
        - HK
        - HU
        - IS
        - IN
        - ID
        - IR
        - IQ
        - IE
        - IM
        - IL
        - IT
        - JM
        - JP
        - JE
        - JO
        - KZ
        - KE
        - KI
        - KP
        - KR
        - KW
        - KG
        - LA
        - LV
        - LB
        - LS
        - LR
        - LY
        - LI
        - LT
        - LU
        - MO
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - MM
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NG
        - NU
        - NF
        - MK
        - MP
        - 'NO'
        - OM
        - PK
        - PW
        - PS
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RE
        - RO
        - RU
        - RW
        - BL
        - SH
        - KN
        - LC
        - MF
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - SN
        - RS
        - SC
        - SL
        - SG
        - SX
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - SS
        - ES
        - LK
        - SD
        - SR
        - SJ
        - SE
        - CH
        - SY
        - TW
        - TJ
        - TZ
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - UG
        - UA
        - AE
        - GB
        - US
        - UM
        - UY
        - UZ
        - VU
        - VE
        - VN
        - VG
        - VI
        - WF
        - EH
        - YE
        - ZM
        - ZW
      description: Alpha-2 country code
      example: US
    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

````