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

# Create a new survey

> Create a new survey in the organization. The survey is created in draft status unless publishImmediately is set. scheduledLaunchAt only takes effect when isScheduleLaunch is true (a published survey is then launched automatically at that time); otherwise the survey must be launched manually via POST /surveys/:surveyId/launch. deadlineAt is required when reminderConfig is enabled.



## OpenAPI

````yaml https://api.itmc.i.moneyforward.com/public-api/docs/v1-json post /api/v1/organizations/{organizationId}/surveys
openapi: 3.0.0
info:
  title: Admina Public API
  description: >-
    Admina API is a RESTfull API providing programmatic access to much of the
    data in the system. It provides predictable URLs for accessing resources,
    and uses built-in HTTP features to receive commands and return responses.
    This makes it easy to communicate with from a wide variety of environments,
    from command-line utilities to gadgets to the browser URL bar itself.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.itmc.i.moneyforward.com
security: []
tags:
  - name: Organizations
    description: ''
  - name: Users
    description: ''
  - name: Directory
    description: ''
  - name: Departments
    description: ''
  - name: Locations
    description: ''
  - name: Companies
    description: ''
  - name: People
    description: ''
  - name: Workspaces
    description: ''
  - name: Custom Service and Workspace
    description: ''
  - name: Custom Services
    description: ''
  - name: Workspace Accounts
    description: ''
  - name: Accounts
    description: ''
  - name: Contracts
    description: ''
  - name: Devices
    description: ''
  - name: Devices (alpha)
    description: ''
  - name: Alerts
    description: ''
  - name: Spends
    description: ''
  - name: Usage Optimization
    description: ''
  - name: Services
    description: ''
  - name: Service Roles
    description: ''
  - name: Service Licenses
    description: ''
  - name: Recommended Services
    description: ''
  - name: Requests
    description: ''
  - name: AuditLogs
    description: ''
  - name: EventLogs
    description: ''
paths:
  /api/v1/organizations/{organizationId}/surveys:
    post:
      tags:
        - Surveys
      summary: Create a new survey
      description: >-
        Create a new survey in the organization. The survey is created in draft
        status unless publishImmediately is set. scheduledLaunchAt only takes
        effect when isScheduleLaunch is true (a published survey is then
        launched automatically at that time); otherwise the survey must be
        launched manually via POST /surveys/:surveyId/launch. deadlineAt is
        required when reminderConfig is enabled.
      operationId: publicCreateSurvey
      parameters:
        - name: organizationId
          required: true
          in: path
          schema:
            type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicCreateSurveyRequestDto'
      responses:
        '201':
          description: Successfully created survey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicSurveyResponseDto'
        '400':
          description: Invalid request body
        '401':
          description: Invalid or missing API key
        '418':
          description: >-
            The feature isn't available for the organization. Please contact the
            support team.
      security:
        - API-Key: []
components:
  schemas:
    PublicCreateSurveyRequestDto:
      type: object
      properties:
        surveyName:
          type: string
          example: Device Ownership Survey
          description: Name of the survey
        description:
          type: string
          example: Survey to collect device ownership information from employees
          description: Optional description of the survey
        category:
          type: string
          example: device_ownership
          description: Category of the survey
        targetType:
          example: employees
          description: Type of targets for the survey
          allOf:
            - $ref: '#/components/schemas/SurveyTargetType'
        questions:
          description: Array of survey questions
          type: array
          items:
            $ref: '#/components/schemas/SurveyQuestionRequestDto'
        targets:
          description: Array of survey targets
          type: array
          items:
            $ref: '#/components/schemas/SurveyTargetRequestDto'
        deliveryEnableEmail:
          type: boolean
          example: true
          description: Enable email delivery for the survey
        publishImmediately:
          type: boolean
          example: true
          description: Set the status to Published immediately
        deliveryEnableSlack:
          type: boolean
          example: false
          description: Enable Slack delivery for the survey
        deliverySlackNotificationCredentialId:
          type: number
          example: 1
          description: >-
            Notification credential ID for Slack delivery. Required when
            deliveryEnableSlack is true.
        isScheduleLaunch:
          type: boolean
          example: false
          description: Whether the survey should be scheduled for launch
        scheduledLaunchAt:
          type: string
          format: date-time
          example: '2024-01-15T10:00:00Z'
          description: Scheduled launch date and time for the survey
        deadlineAt:
          type: string
          format: date-time
          example: '2024-01-30T23:59:59Z'
          description: Deadline date and time for the survey responses
        reminderConfig:
          description: Reminder configuration for the survey
          allOf:
            - $ref: '#/components/schemas/SurveyReminderConfigRequestDto'
        destinationType:
          example: resource_holder
          description: Destination type for the survey
          allOf:
            - $ref: '#/components/schemas/DestinationType'
      required:
        - surveyName
        - category
        - targetType
        - questions
        - targets
        - scheduledLaunchAt
    PublicSurveyResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        surveyName:
          type: string
          readOnly: true
          example: Employee Device Survey
        description:
          type: string
          nullable: true
          readOnly: true
          example: Survey to understand device usage
        status:
          type: string
          readOnly: true
          enum:
            - draft
            - published
            - launched
            - completed
            - revoked
          example: draft
        category:
          type: string
          readOnly: true
          example: device_ownership
        targetType:
          type: string
          readOnly: true
          enum:
            - employees
            - devices
            - services
            - services_by_identities
            - devices_by_identities
          example: employees
        questions:
          readOnly: true
          example: []
          type: array
          items:
            $ref: '#/components/schemas/SurveyQuestionResponseDto'
        deliveryEnableEmail:
          type: boolean
          readOnly: true
          example: true
        deliveryEnableSlack:
          type: boolean
          readOnly: true
          example: false
        isScheduleLaunch:
          type: boolean
          readOnly: true
          example: false
        scheduledLaunchAt:
          format: date-time
          type: string
          nullable: true
          readOnly: true
          example: null
        deadlineAt:
          format: date-time
          type: string
          nullable: true
          readOnly: true
          example: null
        destinationType:
          type: string
          enum:
            - resource_holder
            - holder_manager
          nullable: false
          readOnly: true
          example: resource_holder
        createdAt:
          format: date-time
          type: string
          readOnly: true
          example: '2026-09-15T10:06:24.085Z'
        updatedAt:
          format: date-time
          type: string
          readOnly: true
          example: '2026-09-15T10:06:24.085Z'
        totalTargets:
          type: number
          readOnly: true
          example: 5
        totalResponses:
          type: number
          readOnly: true
          example: 3
      required:
        - id
        - surveyName
        - description
        - status
        - category
        - targetType
        - questions
        - deliveryEnableEmail
        - deliveryEnableSlack
        - isScheduleLaunch
        - scheduledLaunchAt
        - deadlineAt
        - destinationType
        - createdAt
        - updatedAt
    SurveyTargetType:
      type: string
      enum:
        - employees
        - devices
        - services
        - services_by_identities
        - devices_by_identities
      description: Type of targets for the survey
    SurveyQuestionRequestDto:
      type: object
      properties:
        id:
          type: string
          example: q1
          description: Unique identifier for the question
        sort:
          type: number
          example: 0
          minimum: 0
          description: Sort order of the question in the survey
        name:
          type: string
          example: What type of device do you primarily use for work?
          description: The question text
        type:
          example: checkbox
          description: Type of question (single choice, multiple choice, text, etc.)
          allOf:
            - $ref: '#/components/schemas/QuestionType'
        options:
          example:
            - Laptop
            - Desktop
            - Mobile
            - Tablet
          description: >-
            Array of options for choice-type questions (required for CHECKBOX
            and MULTIPLE_CHOICE types)
          type: array
          items:
            type: string
        required:
          type: boolean
          example: true
          description: Whether the question is required. Defaults to true if not specified.
      required:
        - id
        - sort
        - name
        - type
    SurveyTargetRequestDto:
      type: object
      properties:
        identityId:
          type: string
          example: identity_456
          description: Identity ID of the survey target
        entityId:
          type: string
          example: device_123
          description: Unique identifier for the target entity (device/service ID)
        entityName:
          type: string
          example: MacBook Pro 2023
          description: Name of the target entity
      required:
        - identityId
    SurveyReminderConfigRequestDto:
      type: object
      properties:
        enabled:
          type: boolean
          example: true
          description: Whether reminders are enabled for this survey
        schedules:
          description: Array of reminder schedules
          example:
            - value: 1
              unit: days
          type: array
          items:
            $ref: '#/components/schemas/ReminderScheduleRequestDto'
      required:
        - enabled
        - schedules
    DestinationType:
      type: string
      enum:
        - resource_holder
        - holder_manager
      description: Destination type for the survey
    SurveyQuestionResponseDto:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          example: q1
        sort:
          type: number
          readOnly: true
          example: 0
        name:
          type: string
          readOnly: true
          example: What type of device do you primarily use for work?
        type:
          type: string
          readOnly: true
          enum:
            - text
            - multiple_choice
            - checkbox
            - image
          example: checkbox
        options:
          readOnly: true
          example:
            - Laptop
            - Desktop
            - Mobile
            - Tablet
          type: array
          items:
            type: string
        required:
          type: boolean
          readOnly: true
          example: true
      required:
        - id
        - sort
        - name
        - type
    QuestionType:
      type: string
      enum:
        - text
        - multiple_choice
        - checkbox
        - image
      description: Type of question (single choice, multiple choice, text, etc.)
    ReminderScheduleRequestDto:
      type: object
      properties:
        value:
          type: number
          example: 3
          minimum: 1
          description: Reminder time value (e.g., 3 for 3 days)
        unit:
          example: days
          description: Time unit for the reminder (days, hours, etc.)
          allOf:
            - $ref: '#/components/schemas/ReminderTimeUnit'
      required:
        - value
        - unit
    ReminderTimeUnit:
      type: string
      enum:
        - hours
        - days
        - weeks
      description: Time unit for the reminder (days, hours, etc.)
  securitySchemes:
    API-Key:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: >-
        For authenticated requests, set the `Authorization: Bearer your_api_key`
        parameter in the header. <br/>You can create and manage your API Keys by
        visiting the **API Keys** tab in the **Settings** page of your
        organization in <a target='_blank'
        href='https://itmc.i.moneyforward.com/'>Admina</a>

````