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

> List all projects in your organization. Closed projects are excluded by default — use the `status` filter to include them.

# Retrieve all projects



## OpenAPI

````yaml get /v1/projects
openapi: 3.0.0
info:
  title: Partner API
  description: Public API for partner integrations
  version: '1.0'
  contact: {}
servers:
  - url: https://api-staging.respondent.io
security: []
tags: []
paths:
  /v1/projects:
    get:
      tags:
        - projects
      summary: Retrieve all projects
      description: >-
        Returns All Projects. Closed projects are not returned by default. To
        get a list of closed projects only, set status = CLOSED.
      operationId: ProjectsController_findAll
      parameters:
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
        - name: x-api-secret
          in: header
          required: true
          schema:
            type: string
        - name: page
          required: false
          in: query
          description: Specifies which page of results to return
          schema:
            type: number
            default: 1
        - name: pageSize
          required: false
          in: query
          description: Number of records to return per page
          schema:
            type: number
            default: 50
        - name: includeCount
          required: false
          in: query
          description: If true, includes the total count of records
          schema:
            type: boolean
            default: false
        - name: externalResearcherId
          required: false
          in: query
          description: >-
            External identifier for the researcher who created project on your
            system
          schema:
            type: string
        - name: status
          required: false
          in: query
          description: >-
            Current state of the project. See more details on [Project
            Statuses](https://developers.respondent.io/docs/project-statuses).
          schema:
            $ref: '#/components/schemas/ProjectStatus'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicProjectsPaginatedDto'
components:
  schemas:
    ProjectStatus:
      type: string
      enum:
        - DRAFT
        - PAID
        - ARCHIVED
        - CLOSED
    PublicProjectsPaginatedDto:
      type: object
      properties:
        totalResults:
          type: number
          description: >-
            The total number of results possible, which is only provided in the
            response when `includeCount` is passed as `true` within a request.
        page:
          type: number
          default: 1
        pageSize:
          type: number
          default: 50
        results:
          type: array
          items:
            $ref: '#/components/schemas/Project'
      required:
        - page
        - pageSize
        - results
    Project:
      type: object
      properties:
        createdAt:
          type: string
        updatedAt:
          type: string
        publicTitle:
          type: string
          description: >-
            Project Title.

            This is visible to Respondents, do not mention any incentive amount
            as you may change it during your project.
        publicInternalName:
          type: string
          description: |-
            Internal Project Name.
            This is visible only to your organization.
            Character Limit: Min 3 and Max 50.
        publicDescription:
          type: string
          description: >-
            Required when publishing a project.

            This is visible to Respondents.

            A short description of the project visible to participants. This
            should clearly outline the purpose, requirements, and expectations
            for participation.

            Character Limit: Max 800.
        organizationId:
          type: string
          format: ObjectId
        teamId:
          type: string
          format: ObjectId
        projectStatus:
          $ref: '#/components/schemas/ProjectStatus'
        projectRecruitingStatus:
          $ref: '#/components/schemas/ProjectRecruitingStatus'
        targetMarketType:
          $ref: '#/components/schemas/AudienceTypes'
        typeOfResearch:
          $ref: '#/components/schemas/ResearchTypes'
        targetResearchMethodology:
          $ref: '#/components/schemas/KindOfResearch'
        unmoderatedStudyOrSurvey:
          description: For Unmoderated Studies and Surveys only.
          allOf:
            - $ref: '#/components/schemas/UnmoderatedStudyOrSurvey'
        externalScreenerLink:
          type: string
          nullable: true
          description: >-
            External-screener organizations only. The URL of your own screener:

            participants who qualify on the Respondent screener are sent here to

            complete yours, with `respondent_*` correlation parameters appended

            (`respondent_user_id`, `respondent_profile_id`,

            `respondent_screener_response_id`, `respondent_project_id`). Post
            their

            answers back with the External Screener Answers endpoint **before**

            redirecting them to the apply page they came from — never to the

            project's `completionUrl`. Pairs with `externalQuestions`: a project
            may

            hold just the link while it is a draft (declare the catalog later
            through

            the external-screener-questions bulk endpoint), but publishing
            requires

            the two together. Can also be set or changed on a published project
            via

            Update a project (but not cleared while `externalQuestions` are

            declared) — participants already handed off keep the URL they were
            sent

            to; new applicants get the new one. Must be an absolute `https://`
            URL:

            participants are redirected to it with their correlation ids in the

            query string, and a bare hostname cannot be turned into a link.
        externalQuestions:
          description: >-
            External-screener organizations only. The declared catalog of your

            screener's questions: answer rows are validated against these

            `questionId`s, and the application reads as submitted once every
            declared

            question has an answer (or an answers payload says `complete:
            true`).

            Also settable via the external-screener-questions bulk endpoint.
            Pairs

            with `externalScreenerLink`: publishing requires the two together.
          type: array
          items:
            $ref: '#/components/schemas/ExternalQuestion'
        participantTimeRequiredMinutes:
          type: number
        incentiveAmount:
          type: number
          description: >-
            Dollars ranging: Min 5 and Max 1000.

            Pro tip: Set your incentive at or above $2 per minute (B2C) or $3
            per minute (B2B) to attract quality participants faster.

            More tips to pick the right incentive:
            https://help.respondent.io/en/articles/5471087-what-is-the-best-incentive-for-my-research-project
        targetNumberOfParticipants:
          type: number
          description: >-
            Number of Participants

            We will recruit up to 3 times your target number of qualified
            participants.

            Number Limit: Min 1 and Max 500.
        targetCountry:
          $ref: '#/components/schemas/ProjectCountryCode'
        targetCountries:
          type: array
          items:
            $ref: '#/components/schemas/ProjectCountryCode'
        targetCities:
          type: array
          items:
            $ref: '#/components/schemas/ProjectCities'
        targetJobFunctions:
          type: array
          items:
            $ref: '#/components/schemas/JobFunction'
        targetCompanySize:
          type: array
          items:
            $ref: '#/components/schemas/CompanySize'
        targetLocationRespondentInPerson:
          description: >-
            Required for In-Person projects only.

            Please provide the full address (including city & state if
            applicable) where the project will be conducted.
          allOf:
            - $ref: '#/components/schemas/ProjectLocationInPerson'
        targetHouseholdIncome:
          type: array
          items:
            $ref: '#/components/schemas/HouseholdIncome'
        targetGenders:
          $ref: '#/components/schemas/Gender'
        targetEducation:
          type: array
          items:
            $ref: '#/components/schemas/EducationLevel'
        targetEthnicities:
          type: array
          items:
            $ref: '#/components/schemas/Ethnicities'
        targetAgeGroups:
          type: array
          items:
            $ref: '#/components/schemas/AgeGroup'
        screenerQuestions:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/RadioScreenerQuestion'
              - $ref: '#/components/schemas/CheckboxScreenerQuestion'
              - $ref: '#/components/schemas/TextboxScreenerQuestion'
              - $ref: '#/components/schemas/SliderScaleScreenerQuestion'
              - $ref: '#/components/schemas/FileUploadScreenerQuestion'
              - $ref: '#/components/schemas/RankScreenerQuestion'
              - $ref: '#/components/schemas/MatrixScreenerQuestion'
              - $ref: '#/components/schemas/EndOfSurveyScreenerQuestion'
        inviteSurveyLink:
          type: string
        closedDetails:
          $ref: '#/components/schemas/ProjectClosedDetails'
        closed:
          type: boolean
          description: 'Use projectStatus: ''CLOSED'''
          deprecated: true
        closedMessage:
          type: string
          description: Use closedDetails.closedMessage.
          deprecated: true
        closedOnDate:
          format: date-time
          type: string
          description: Use closedDetails.closedOnDate.
          deprecated: true
        closedByUserId:
          type: string
          description: Use closedDetails.closedByUserId.
          deprecated: true
        ndaDetails:
          $ref: '#/components/schemas/NdaDetails'
        ndaType:
          $ref: '#/components/schemas/NdaTypeDeprecated'
        ndaFileUrl:
          type: string
          nullable: true
          description: Use ndaDetails.ndaFileUrl
          deprecated: true
        ndaLink:
          type: string
          nullable: true
          description: Use ndaDetails.ndaLink.
          deprecated: true
        filterPastParticipation:
          description: >-
            - If researcher wants to filter out participants who have
            participated in past projects.

            - Past Participation logic is used at Researcher level based on
            external reseacher id.

            - The participant must have been paid for a project to count as a
            past participant.

            - Past participation filtering is available within 4 hours of a
            payout being made, NOT immediately after payment.
          allOf:
            - $ref: '#/components/schemas/PastParticipation'
        externalResearcher:
          description: >-
            Required for all projects to identify your researcher with
            Respondent to differentiate from other researchers recruiting
            through your platform.
          allOf:
            - $ref: '#/components/schemas/ExternalResearcher'
        seniority:
          type: array
          items:
            $ref: '#/components/schemas/SeniorityLevel'
        publishedAt:
          format: date-time
          type: string
        automations:
          description: >-
            - Autopay is used to automatically pay participants after they
            complete a project.
              - If not provided, defaults to `true`.
            - Autoinvite is used to automatically invite participants to a
            project if they qualify after completing the screener.
              - Only available when `targetResearchMethodology` is one of: [`unmoderatedStudy`, `survey`].
              - If not provided, defaults to `false`.
          allOf:
            - $ref: '#/components/schemas/Automation'
        keyQualifiers:
          type: array
          items:
            $ref: '#/components/schemas/KeyQualifier'
        advancedTargeting:
          description: >-
            Flat advanced-targeting attribute map set on this project
            (relationship

            status, languages, devices, products & services, professional and
            shopping

            preferences, …). Present only when the requesting organisation has
            the

            `advanced-targeting-attributes` feature flag enabled. All advanced

            attributes appear identically on B2C and B2B projects.
          allOf:
            - $ref: '#/components/schemas/AdvancedTargeting'
        completionUrl:
          type: string
          nullable: true
          description: >-
            Researchers can provide participants with this link at the
            conclusion of their survey or study, enabling them to self-report
            task completion.

            Available for projects where the targetResearchMethodology is either
            unmoderatedStudy or survey.
        targetProfessionalIndustries:
          description: |-
            Required for Industry professionals (B2B) projects
            Array: Min 1.
          type: array
          items:
            $ref: '#/components/schemas/SimpleIndustry'
        targetJobTitles:
          description: |-
            Available for Industry professionals (B2B) projects.
            Array: Max 30.
          type: array
          items:
            $ref: '#/components/schemas/SimpleJobTitle'
        targetProjectTopics:
          description: >-
            Required for General Population (B2C) projects only

            Tagging your projects with topics will better help match your
            general population project with participants that have indicated
            interest in these topics.

            Array: Min 1 and Max 2.
          type: array
          items:
            $ref: '#/components/schemas/SimpleTopic'
        targetAudienceSkills:
          description: >-
            Array: Min 0 and Max 25.

            Select skills, knowledge areas, tools and/or certifications you
            would like to target.
          type: array
          items:
            $ref: '#/components/schemas/Skill'
        id:
          type: string
      required:
        - createdAt
        - publicTitle
        - publicInternalName
        - projectStatus
        - projectRecruitingStatus
        - targetMarketType
        - typeOfResearch
        - targetResearchMethodology
        - participantTimeRequiredMinutes
        - incentiveAmount
        - targetNumberOfParticipants
        - externalResearcher
        - id
    ProjectRecruitingStatus:
      type: string
      enum:
        - RECRUITING
        - RECRUITED
        - PAUSED
    AudienceTypes:
      type: string
      description: >-
        Audience type to be targeted for this project. Example values: Industry
        professionals (B2B) or General Population (B2C)
      enum:
        - b2b
        - b2c
    ResearchTypes:
      type: string
      description: Research type for this project, if it is in-person or remote
      enum:
        - inPerson
        - remote
    KindOfResearch:
      type: string
      description: >-
        Kind of research to be conducted for this project. [Details
        here](https://help.respondent.io/en/articles/5489302-research-method-and-types-of-research-projects).

        If `typeOfResearch == inPerson` &rarr; allowed values are: [`oneOnOne`,
        `focusGroup`, `inRespondentHome`, `inRespondentOffice`]

        If `typeOfResearch == remote` &rarr; allowed values are: [`oneOnOne`,
        `focusGroup`, `unmoderatedStudy`, `survey`, `diaryStudy`]
      enum:
        - oneOnOne
        - focusGroup
        - inRespondentHome
        - inRespondentOffice
        - unmoderatedStudy
        - survey
        - diaryStudy
    UnmoderatedStudyOrSurvey:
      type: object
      properties:
        remoteCommunicationDetails:
          type: string
          description: |-
            Custom url for the study, to be sent in the invitation .
            Can be updated when inviting the participant.
        specialInstructions:
          type: string
          description: |-
            Special instructions for the study, to be sent in the invitation.
            Can be updated when inviting the participant.
            Character limit: Max 2000.
        deadline:
          description: >-
            Optional deadline by which participants must complete the study or
            survey.

            Can be set on create and update. When the project is published,
            changing

            it also updates the deadline for participants with an open
            invitation

            (not those who have already completed or whose invite was
            cancelled).
          allOf:
            - $ref: '#/components/schemas/ProjectTaskDeadline'
    ExternalQuestion:
      type: object
      properties:
        questionId:
          type: string
          description: Your stable identifier for the question; answer rows reference it.
        questionType:
          $ref: '#/components/schemas/ExternalQuestionType'
        text:
          type: string
          description: The question as shown to the participant.
        options:
          description: >-
            Choices for RADIO/CHECKBOX questions. Required on those types (at
            least

            one, ids unique within the question) and not accepted on the others;

            core-api enforces this on every catalog write. Answer rows send the

            chosen `id`s in `answerValues`; quota conditions reference them in

            `optionIds`.
          type: array
          items:
            $ref: '#/components/schemas/ExternalQuestionOption'
      required:
        - questionId
        - questionType
        - text
    ProjectCountryCode:
      type: string
      enum:
        - AX
        - AL
        - DZ
        - AS
        - AD
        - AI
        - AQ
        - AG
        - AR
        - AM
        - AW
        - AU
        - AT
        - BS
        - BH
        - BD
        - BB
        - BY
        - BE
        - BZ
        - BJ
        - BM
        - BT
        - BO
        - BA
        - BW
        - BV
        - BR
        - VG
        - IO
        - BN
        - BG
        - BF
        - BI
        - CV
        - CM
        - CA
        - KY
        - CF
        - TD
        - CL
        - CX
        - CC
        - CO
        - KM
        - CG
        - CK
        - CR
        - HR
        - CU
        - CW
        - CY
        - CZ
        - CI
        - CD
        - DK
        - DJ
        - DM
        - EC
        - EG
        - SV
        - GQ
        - ER
        - EE
        - SZ
        - ET
        - FK
        - FO
        - FJ
        - FI
        - FR
        - GF
        - PF
        - TF
        - GA
        - GM
        - GE
        - DE
        - 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
        - LA
        - LV
        - LB
        - LR
        - LY
        - LI
        - LT
        - LU
        - MG
        - MW
        - MY
        - MV
        - ML
        - MT
        - MH
        - MQ
        - MR
        - MU
        - YT
        - MX
        - FM
        - MD
        - MC
        - MN
        - ME
        - MS
        - MA
        - MZ
        - NA
        - NR
        - NP
        - NL
        - NC
        - NZ
        - NI
        - NE
        - NU
        - NF
        - KP
        - MK
        - MP
        - 'NO'
        - OM
        - PW
        - PA
        - PG
        - PY
        - PE
        - PH
        - PN
        - PL
        - PT
        - PR
        - QA
        - RO
        - RW
        - RE
        - SH
        - KN
        - LC
        - PM
        - VC
        - WS
        - SM
        - ST
        - SA
        - RS
        - SC
        - SL
        - SG
        - SK
        - SI
        - SB
        - SO
        - ZA
        - GS
        - KR
        - ES
        - LK
        - SR
        - SJ
        - SE
        - CH
        - TZ
        - TW
        - TH
        - TL
        - TG
        - TK
        - TO
        - TT
        - TN
        - TR
        - TM
        - TC
        - TV
        - VI
        - UG
        - AE
        - GB
        - UM
        - US
        - UY
        - VU
        - VE
        - VN
        - WF
        - EH
        - ZM
        - ZW
        - all
    ProjectCities:
      type: object
      properties:
        location:
          $ref: '#/components/schemas/Location'
      required:
        - location
    JobFunction:
      type: string
      description: Available for Industry professionals (B2B) projects
      enum:
        - accountingAuditing
        - administrative
        - advertising
        - analyst
        - artCreative
        - businessDevelopment
        - consulting
        - customerService
        - distribution
        - design
        - education
        - finance
        - generalBusiness
        - healthcareProvider
        - humanResources
        - informationTechnology
        - legal
        - management
        - manufacturing
        - marketing
        - other
        - publicRelations
        - purchasing
        - productManagement
        - projectManagement
        - production
        - qualityAssurance
        - research
        - sales
        - science
        - strategyPlanning
        - supplyChain
        - training
        - writingEditing
    CompanySize:
      type: string
      enum:
        - selfemployed
        - 1-10
        - 11-50
        - 51-200
        - 201-500
        - 501-1000
        - 1001-5000
        - 5001-10000
        - 10000+
        - all
    ProjectLocationInPerson:
      type: object
      properties:
        id:
          type: string
        address1:
          type: string
        zipcode:
          type: string
        city:
          type: string
        region:
          type: string
        state:
          type: string
        country:
          $ref: '#/components/schemas/ProjectCountryCode'
        formattedAddress:
          type: string
        latitude:
          type: number
        longitude:
          type: number
      required:
        - address1
        - city
        - country
        - formattedAddress
        - latitude
        - longitude
    HouseholdIncome:
      type: string
      enum:
        - <30000
        - 30000-39999
        - 40000-59999
        - 60000-79999
        - 80000-99999
        - 100000-149999
        - 150000-199999
        - 200000+
        - all
    Gender:
      type: string
      enum:
        - male
        - female
        - other
        - nonbinary
        - transmale
        - transfemale
        - prefernottoanswer
        - N/A
    EducationLevel:
      type: string
      enum:
        - somehighschool
        - highschoolgraduate
        - somecollegenodegree
        - tradetechnicalvocationaltraining
        - associatedegree
        - bachelordegree
        - masterdegree
        - doctoratedegree
        - N/A
    Ethnicities:
      type: string
      enum:
        - americanindianalaskannative
        - hispaniclatino
        - blackorafricanamerican
        - asianpacificislander
        - whitecaucasian
        - middleeastern
        - multipleethnicity
        - prefernotdisclose
        - N/A
    AgeGroup:
      type: string
      enum:
        - 18-20
        - 21-29
        - 30-39
        - 40-54
        - 55+
        - N/A
    RadioScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - radio
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - id
    CheckboxScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - checkbox
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - id
    TextboxScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - singleLineTextbox
            - multiLineTextbox
            - numericBox
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - id
    SliderScaleScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - sliderScale
        minValue:
          type: number
        maxValue:
          type: number
        step:
          type: number
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - minValue
        - maxValue
        - step
        - id
    FileUploadScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - fileUpload
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - id
    RankScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - rank
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - id
    MatrixScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        isRequired:
          type: boolean
        skipLogic:
          type: boolean
        includeOtherOption:
          type: boolean
        logic:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogic'
        order:
          type: number
        randomizeOrder:
          type: boolean
        warnings:
          type: array
          items:
            type: string
        uid:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - false
          description: >-
            Always `false` on real questions. See `EndOfSurveyScreenerQuestion`
            for the auto-generated end-of-screener sentinel.
        answers:
          description: >-
            The options a participant chooses between. Always present; an empty
            array for question types that have no options (`singleLineTextbox`,
            `multiLineTextbox`, `numericBox`, `sliderScale`).
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        questionType:
          type: string
          enum:
            - matrix
        matrixRows:
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionMatrixRow'
        matrixMatchType:
          $ref: '#/components/schemas/MatrixMatchType'
        matrixSelectionMode:
          $ref: '#/components/schemas/MatrixSelectionMode'
        id:
          type: string
      required:
        - uid
        - text
        - isEnd
        - answers
        - questionType
        - matrixRows
        - id
    EndOfSurveyScreenerQuestion:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on questions created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        text:
          type: string
        isEnd:
          oneOf:
            - type: boolean
              enum:
                - true
          description: >-
            Always `true`. Discriminates the sentinel from real questions: skip
            entries with `isEnd: true` when rendering or counting questions.
        answers:
          description: >-
            Empty when present, but absent on roughly half of sentinels — do not
            assume it is an array.
          type: array
          items:
            $ref: '#/components/schemas/ScreenerQuestionAnswer'
        uid:
          type: string
          nullable: true
          description: >-
            Always `null` or absent — the sentinel is not a real question. Use
            `isEnd` to detect it.
        order:
          type: number
          nullable: true
          description: >-
            Always `null` or absent — the sentinel is always the last element
            regardless.
        id:
          type: string
      required:
        - text
        - isEnd
        - id
    ProjectClosedDetails:
      type: object
      properties:
        closed:
          type: boolean
        closedMessage:
          type: string
        closedOnDate:
          format: date-time
          type: string
        closedByUserId:
          type: string
    NdaDetails:
      type: object
      properties:
        ndaType:
          $ref: '#/components/schemas/NdaType'
        ndaLink:
          type: string
          nullable: true
        ndaFileUrl:
          type: string
          nullable: true
    NdaTypeDeprecated:
      type: string
      description: Use ndaDetails.ndaType.
      deprecated: true
      default: none
      enum:
        - none
        - file
        - link
    PastParticipation:
      type: object
      properties:
        hasNeverParticipated:
          type: boolean
          description: >-
            If true &rarr; only include participants who have never participated
            in a project with the researcher.

            If false &rarr; only include participants who have not participated
            in a project with the researcher in the past `months` months.
        since:
          format: date-time
          type: string
          description: >-
            It's autocalculated based on the `hasNeverParticipated` / `months`
            entered and displays in the API response
        months:
          $ref: '#/components/schemas/PastParticipationMonths'
      required:
        - hasNeverParticipated
    ExternalResearcher:
      type: object
      properties:
        researcherId:
          type: string
          description: >-
            A unique researcher ID provided by you, used to associate and filter
            projects.
        researcherName:
          type: string
          description: >-
            Display name used when messaging participants. Full name is not
            required — participants only ever see the first token.
        teamId:
          type: string
          description: >-
            Optional additional filtering. This researcher's internal teamId
            from your organization.
        companyName:
          type: string
        companyId:
          type: string
          description: >-
            Optional additional filtering. This researcher's internal companyId
            from your organization.
        bookingUrl:
          type: string
          description: >-
            Link to book a meeting with the researcher. Required if
            targetResearchMethodology of project is oneOnOne or focusGroup.
      required:
        - researcherId
    SeniorityLevel:
      type: string
      enum:
        - unpaid
        - student
        - training
        - entrylevel
        - senior
        - manager
        - director
        - chiefofficer
        - partner
        - vicepresident
    Automation:
      type: object
      properties:
        autopay:
          type: boolean
        autoinvite:
          type: boolean
      required:
        - autopay
    KeyQualifier:
      type: string
      description: >-
        Converts signals into required match filters. [Details
        here](https://developers.respondent.io/docs/targeting-audiences-effectively).
      enum:
        - targetHouseholdIncome
        - targetProfessionalIndustries
        - targetCompanySize
        - targetProjectTopics
        - targetAudienceSkills
        - relationshipStatus
        - languages
        - numberOfChildren
        - numberOfChildrenLiveAtHome
        - childrenBirthYears
        - livingSituation
        - pets
        - homeOwner
        - nationality
        - militaryServiceStatus
        - employmentStatuses
        - cloudPlatforms
        - codingAITools
        - designPrototypingTools
        - productivitySoftware
        - streamingServices
        - foodDeliveryServices
        - onlineBankingTools
        - onlineLearningPlatforms
        - onlineMarketplacePlatforms
        - onlineTravelBooking
        - smartHomeDevices
        - socialNetworkPlatforms
        - vehicleBrands
        - healthWellnessApps
        - onlineShoppingFrequency
    AdvancedTargeting:
      type: object
      properties:
        relationshipStatus:
          $ref: '#/components/schemas/RelationshipStatus'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/ParticipantLanguage'
        numberOfChildren:
          type: integer
          minimum: 0
        numberOfChildrenLiveAtHome:
          type: integer
          minimum: 0
        childrenBirthYears:
          type: array
          items:
            type: string
        livingSituation:
          $ref: '#/components/schemas/LivingSituation'
        pets:
          type: array
          items:
            $ref: '#/components/schemas/Pet'
        homeOwner:
          type: boolean
        nationality:
          type: array
          items:
            $ref: '#/components/schemas/Nationality'
        areaType:
          $ref: '#/components/schemas/AreaType'
        webcam:
          type: boolean
        mobilePhoneWithInternet:
          type: boolean
        headsetWithMicrophone:
          type: boolean
        programmingLanguages:
          type: array
          items:
            $ref: '#/components/schemas/ProgrammingLanguage'
        browsers:
          type: array
          items:
            $ref: '#/components/schemas/Browser'
        smartphoneOS:
          type: array
          items:
            $ref: '#/components/schemas/SmartphoneOS'
        tabletOS:
          type: array
          items:
            $ref: '#/components/schemas/TabletOS'
        computerOS:
          type: array
          items:
            $ref: '#/components/schemas/ComputerOS'
        cloudPlatforms:
          type: array
          items:
            $ref: '#/components/schemas/CloudPlatform'
        codingAITools:
          type: array
          items:
            $ref: '#/components/schemas/CodingAITool'
        designPrototypingTools:
          type: array
          items:
            $ref: '#/components/schemas/DesignPrototypingTool'
        foodDeliveryServices:
          type: array
          items:
            $ref: '#/components/schemas/FoodDeliveryService'
        healthWellnessApps:
          type: array
          items:
            $ref: '#/components/schemas/HealthWellnessApp'
        onlineBankingTools:
          type: array
          items:
            $ref: '#/components/schemas/OnlineBankingTool'
        onlineLearningPlatforms:
          type: array
          items:
            $ref: '#/components/schemas/OnlineLearningPlatform'
        onlineMarketplacePlatforms:
          type: array
          items:
            $ref: '#/components/schemas/OnlineMarketplacePlatform'
        onlineTravelBooking:
          type: array
          items:
            $ref: '#/components/schemas/OnlineTravelBooking'
        productivitySoftware:
          type: array
          items:
            $ref: '#/components/schemas/ProductivitySoftware'
        smartHomeDevices:
          type: array
          items:
            $ref: '#/components/schemas/SmartHomeDevice'
        socialNetworkPlatforms:
          type: array
          items:
            $ref: '#/components/schemas/SocialNetworkPlatform'
        streamingServices:
          type: array
          items:
            $ref: '#/components/schemas/StreamingService'
        vehicleBrands:
          type: array
          items:
            $ref: '#/components/schemas/VehicleBrand'
        onlineShoppingFrequency:
          $ref: '#/components/schemas/OnlineShoppingFrequency'
        militaryServiceStatus:
          $ref: '#/components/schemas/MilitaryServiceStatus'
        workSetting:
          $ref: '#/components/schemas/WorkSetting'
        employmentStatuses:
          type: array
          items:
            $ref: '#/components/schemas/TargetableEmploymentStatus'
      title: Advanced Targeting
    SimpleIndustry:
      type: object
      properties:
        id:
          type: string
          format: ObjectId
        name:
          type: string
      required:
        - id
        - name
    SimpleJobTitle:
      type: object
      properties:
        id:
          type: string
          format: ObjectId
        name:
          type: string
      required:
        - id
        - name
    SimpleTopic:
      type: object
      properties:
        id:
          type: string
          format: ObjectId
        name:
          type: string
      required:
        - id
        - name
    Skill:
      type: object
      properties:
        createdAt:
          type: string
        updatedAt:
          type: string
        name:
          type: string
        slug:
          type: string
        validated:
          type: boolean
          default: false
        type:
          type: string
          default: skill
        count:
          type: number
          default: 0
        id:
          type: string
      required:
        - createdAt
        - name
        - slug
        - validated
        - type
        - id
    ProjectTaskDeadline:
      type: object
      properties:
        endsAt:
          format: date-time
          type: string
          description: >-
            Date and time (ISO 8601) by which participants must complete the
            study or survey.

            Must be in the future.
        timezone:
          type: string
          description: >-
            IANA timezone the deadline is displayed in (e.g.
            `America/New_York`).
      required:
        - endsAt
    ExternalQuestionType:
      type: string
      enum:
        - RADIO
        - CHECKBOX
        - TEXT
        - NUMBER
        - OTHER
    ExternalQuestionOption:
      type: object
      properties:
        id:
          type: string
          description: Your stable identifier for the option, unique within the question.
        text:
          type: string
          description: The option as shown to the participant.
      required:
        - id
        - text
    Location:
      type: object
      properties:
        id:
          type: string
        googleId:
          type: string
        region:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          $ref: '#/components/schemas/ProjectCountryCode'
        zipcode:
          type: string
        address1:
          type: string
        formattedAddress:
          type: string
        location:
          $ref: '#/components/schemas/LocationCoordinate'
      required:
        - city
        - country
        - location
    ScreenerQuestionSkipLogic:
      type: object
      properties:
        answerUid:
          type: string
        goToQuestionUid:
          type: string
        rowUid:
          type: string
          description: >-
            Set only for MATRIX questions — the matrix row this criterion
            applies to.

            `answerUid` holds the column uid.
        skipLogicType:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogicType'
        multipleAnswers:
          type: array
          items:
            $ref: '#/components/schemas/SkipLogicMultipleAnswer'
        multipleAnswersBoolType:
          $ref: '#/components/schemas/SkipLogicMultipleAnswersBoolType'
      required:
        - answerUid
    ScreenerQuestionAnswer:
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            May be absent on answer options created before 2021, which predate
            timestamps.
        updatedAt:
          type: string
        uid:
          type: string
        text:
          type: string
          description: Required  unless `isOther`, then text will be set to 'Other'
        answerValue:
          type: number
          description: |-
            CHECKBOX: {
                    id: 3,
                    answerValues: [
                      { id: 1, text: 'May Select' },
                      { id: 2, text: 'Must Select' },
                      { id: 3, text: 'Disqualify' },
                    ],
                  },
                   RADIO: {
                    id: 1,
                    answerValues: [
                      { id: 1, text: 'Qualify' },
                      { id: 2, text: 'Disqualify' },
                    ],
                  },
        goToQuestionUid:
          type: string
          description: Skip logic for radio questions. Uid of question to skip to.
        isOther:
          type: boolean
          description: Is 'Other' answer with comment field
        id:
          type: string
      required:
        - uid
        - answerValue
        - id
    ScreenerQuestionMatrixRow:
      type: object
      properties:
        uid:
          type: string
        text:
          type: string
        qualifyingAnswerUids:
          type: array
          items:
            type: string
        mustSelectAnswerUids:
          description: >-
            Multi-mode only. Columns the participant must select for the row to
            qualify.
          type: array
          items:
            type: string
        disqualifyAnswerUids:
          description: Multi-mode only. Columns that disqualify the row when selected.
          type: array
          items:
            type: string
      required:
        - uid
        - text
    MatrixMatchType:
      type: string
      enum:
        - all
        - any
    MatrixSelectionMode:
      type: string
      enum:
        - single
        - multi
    NdaType:
      type: string
      default: none
      enum:
        - none
        - file
        - link
    PastParticipationMonths:
      type: string
      description: >-
        Number of months to exclude participants who have previously
        participated in a study.

        Used only when `hasNeverParticipated` is false. For example, `months: 3`
        excludes participants who participated in the past 3 months.
      enum:
        - '-1'
        - '1'
        - '2'
        - '3'
        - '6'
        - '9'
        - '12'
    RelationshipStatus:
      type: string
      enum:
        - single
        - inRelationship
        - married
        - divorced
        - widowed
        - separated
        - domesticPartnershipCivilUnion
        - itsComplicated
        - preferNotToSay
        - other
    ParticipantLanguage:
      type: string
      enum:
        - en
        - es
        - zh
        - hi
        - ar
        - bn
        - ru
        - pt
        - ja
        - de
        - fr
        - it
        - ko
        - tr
        - pl
        - nl
        - vi
        - sv
        - fa
        - el
        - da
        - fi
        - 'no'
        - cs
        - th
        - ro
        - he
        - id
        - hu
        - uk
        - other
    LivingSituation:
      type: string
      enum:
        - alone
        - roommates
        - significantOther
        - spouse
        - parents
        - other
    Pet:
      type: string
      enum:
        - noPets
        - dog
        - cat
        - bird
        - fish
        - reptile
        - amphibian
        - other
    Nationality:
      type: string
      enum:
        - american
        - canadian
        - mexican
        - british
        - french
        - german
        - italian
        - spanish
        - dutch
        - swedish
        - norwegian
        - danish
        - finnish
        - polish
        - irish
        - portuguese
        - greek
        - swiss
        - austrian
        - belgian
        - czech
        - romanian
        - hungarian
        - chinese
        - indian
        - japanese
        - korean
        - filipino
        - vietnamese
        - thai
        - malaysian
        - singaporean
        - indonesian
        - pakistani
        - bangladeshi
        - australian
        - newzealander
        - brazilian
        - argentinian
        - colombian
        - chilean
        - peruvian
        - venezuelan
        - southafrican
        - nigerian
        - egyptian
        - kenyan
        - israeli
        - turkish
        - saudiarabian
        - other
    AreaType:
      type: string
      enum:
        - urban
        - suburban
        - rural
    ProgrammingLanguage:
      type: string
      enum:
        - javaScript
        - python
        - java
        - c#
        - c++
        - ruby
        - php
        - swift
        - kotlin
        - golang
        - r
        - typeScript
        - sql
        - other
    Browser:
      type: string
      enum:
        - chrome
        - edge
        - firefox
        - internetExplorer
        - safari
        - other
    SmartphoneOS:
      type: string
      enum:
        - android
        - ios
        - windows
        - other
        - noSmartphone
    TabletOS:
      type: string
      enum:
        - amazonFire
        - android
        - ipadOS
        - windows
        - other
        - noTablet
    ComputerOS:
      type: string
      enum:
        - macOS
        - windows
        - linux
        - other
        - noComputer
    CloudPlatform:
      type: string
      enum:
        - aws
        - microsoftazure
        - googlecloud
        - ibmcloud
        - oraclecloud
        - alibabacloud
        - digitalocean
        - heroku
        - vercel
        - netlify
        - cloudflare
        - linode
        - other
    CodingAITool:
      type: string
      enum:
        - claudecode
        - cursor
        - windsurf
        - githubcopilot
        - chatgpt
        - gemini
        - copilotchat
        - other
    DesignPrototypingTool:
      type: string
      enum:
        - figma
        - adobexd
        - sketch
        - invision
        - framer
        - axure
        - balsamiq
        - marvel
        - protoio
        - adobephotoshop
        - adobeillustrator
        - canva
        - affinitydesigner
        - principle
        - origami
        - other
    FoodDeliveryService:
      type: string
      enum:
        - ubereats
        - doordash
        - grubhub
        - postmates
        - seamless
        - instacart
        - deliveroo
        - justeat
        - skipthedishes
        - menulog
        - foodpanda
        - zomato
        - swiggy
        - rappi
        - other
    HealthWellnessApp:
      type: string
      enum:
        - applefitness
        - fitbit
        - strava
        - peloton
        - niketrainingclub
        - myfitnesspal
        - loseit
        - headspace
        - calm
        - insighttimer
        - tenpercenthappier
        - betterhelp
        - talkspace
        - sleepcycle
        - slumber
        - applehealth
        - googlefit
        - samsunghealth
        - noom
        - weightwatchers
        - cronometer
        - other
    OnlineBankingTool:
      type: string
      enum:
        - chime
        - varo
        - current
        - revolut
        - n26
        - monzo
        - mint
        - ynab
        - personalcapital
        - quicken
        - paypal
        - venmo
        - cashapp
        - zelle
        - applepay
        - googlepay
        - robinhood
        - webull
        - acorns
        - stash
        - betterment
        - wealthfront
        - coinbase
        - binance
        - kraken
        - other
    OnlineLearningPlatform:
      type: string
      enum:
        - coursera
        - udemy
        - linkedinlearning
        - skillshare
        - edx
        - khanacademy
        - pluralsight
        - masterclass
        - udacity
        - datacamp
        - codecademy
        - treehouse
        - brilliant
        - duolingo
        - rosettastone
        - babbel
        - googleskillshop
        - other
    OnlineMarketplacePlatform:
      type: string
      enum:
        - amazon
        - ebay
        - etsy
        - walmart
        - target
        - bestbuy
        - alibaba
        - aliexpress
        - shopify
        - wayfair
        - mercari
        - poshmark
        - depop
        - facebookmarketplace
        - craigslist
        - offerup
        - letgo
        - other
    OnlineTravelBooking:
      type: string
      enum:
        - expedia
        - bookingdotcom
        - airbnb
        - vrbo
        - kayak
        - priceline
        - hotelsdotcom
        - tripadvisor
        - orbitz
        - travelocity
        - hotwire
        - skyscanner
        - agoda
        - tripdotcom
        - hopper
        - googleflights
        - other
    ProductivitySoftware:
      type: string
      enum:
        - microsoftoffice
        - microsoft365
        - googleworkspace
        - appleiwork
        - notion
        - evernote
        - trello
        - asana
        - mondaydotcom
        - slack
        - microsoftteams
        - zoom
        - airtable
        - clickup
        - basecamp
        - jira
        - confluence
        - dropbox
        - googledrive
        - other
    SmartHomeDevice:
      type: string
      enum:
        - amazonecho
        - googlenest
        - applehomepod
        - echoshow
        - nesthub
        - nestthermostat
        - ecobee
        - honeywellhome
        - philipshue
        - lifx
        - nanoleaf
        - ring
        - arlo
        - nestcam
        - blink
        - augustlock
        - tplink
        - wemo
        - kasa
        - roomba
        - roborock
        - eufy
        - smartrefrigerator
        - smartoven
        - smartwasher
        - other
    SocialNetworkPlatform:
      type: string
      enum:
        - facebook
        - instagram
        - twitter
        - tiktok
        - linkedin
        - snapchat
        - pinterest
        - reddit
        - youtube
        - whatsapp
        - telegram
        - discord
        - twitch
        - mastodon
        - threads
        - bluesky
        - wechat
        - weibo
        - clubhouse
        - nextdoor
        - other
    StreamingService:
      type: string
      enum:
        - netflix
        - amazonprimevideo
        - disneyplus
        - hulu
        - hbomax
        - appletvplus
        - paramountplus
        - peacock
        - youtubetv
        - youtubepremium
        - crunchyroll
        - discoveryplus
        - showtime
        - starz
        - spotify
        - applemusic
        - youtubemusic
        - amazonmusic
        - tidal
        - pandora
        - soundcloud
        - slingtv
        - fubotv
        - other
    VehicleBrand:
      type: string
      enum:
        - ford
        - chevrolet
        - dodge
        - ram
        - jeep
        - gmc
        - cadillac
        - tesla
        - rivian
        - lucid
        - toyota
        - honda
        - nissan
        - mazda
        - subaru
        - mitsubishi
        - lexus
        - acura
        - infiniti
        - hyundai
        - kia
        - genesis
        - bmw
        - mercedesbenz
        - audi
        - volkswagen
        - porsche
        - volvo
        - mini
        - landrover
        - jaguar
        - fiat
        - alfaromeo
        - peugeot
        - renault
        - ferrari
        - lamborghini
        - maserati
        - bentley
        - rollsroyce
        - other
    OnlineShoppingFrequency:
      type: string
      enum:
        - severaltimesweek
        - aboutonceweek
        - fewtimesmonth
        - rarely
        - never
    MilitaryServiceStatus:
      type: string
      enum:
        - neverserved
        - currentlyserving
        - veteran
    WorkSetting:
      type: string
      enum:
        - hybrid
        - inPerson
        - remote
    TargetableEmploymentStatus:
      type: string
      enum:
        - owner
        - employedfulltime
        - employedparttime
        - unemployedlookingforwork
        - unemployed
        - retired
        - homemaker
        - fulltimestudent
        - parttimestudent
    LocationCoordinate:
      type: object
      properties:
        longitude:
          type: number
        latitude:
          type: number
      required:
        - longitude
        - latitude
    ScreenerQuestionSkipLogicType:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/SkipLogicTypeId'
        text:
          $ref: '#/components/schemas/SkipLogicType'
      required:
        - id
        - text
    SkipLogicMultipleAnswer:
      type: object
      properties:
        answer:
          type: string
        logicType:
          $ref: '#/components/schemas/ScreenerQuestionSkipLogicType'
        rowUid:
          type: string
          description: >-
            Set only for MATRIX questions — the matrix row this criterion
            applies to.

            `answer` holds the column uid.
      required:
        - answer
        - logicType
    SkipLogicMultipleAnswersBoolType:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/MultipleAnswersBoolTypeId'
        text:
          $ref: '#/components/schemas/MultipleAnswersBoolType'
      required:
        - id
        - text
    SkipLogicTypeId:
      type: number
      description: |-
        [

         SELECTED: 1

         NOT_SELECTED: 2

        ]
      enum:
        - 1
        - 2
    SkipLogicType:
      type: string
      enum:
        - Selected
        - Not Selected
    MultipleAnswersBoolTypeId:
      type: number
      description: |-
        [

         AND: 1

         OR: 2

        ]
      enum:
        - 1
        - 2
    MultipleAnswersBoolType:
      type: string
      enum:
        - AND
        - OR

````