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

# Update an existing survey

> Update an existing survey in the organization. Status field cannot be updated through this endpoint.



## OpenAPI

````yaml https://api.itmc.i.moneyforward.com/public-api/docs/v1-json put /api/v1/organizations/{organizationId}/surveys/{surveyId}
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/{surveyId}:
    put:
      tags:
        - Surveys
      summary: Update an existing survey
      description: >-
        Update an existing survey in the organization. Status field cannot be
        updated through this endpoint.
      operationId: publicUpdateSurvey
      parameters:
        - name: organizationId
          required: true
          in: path
          schema:
            type: number
        - name: surveyId
          required: true
          in: path
          schema:
            type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicUpdateSurveyRequestDto'
      responses:
        '200':
          description: Successfully updated survey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicSurveyResponseDto'
        '400':
          description: Invalid request body
        '401':
          description: Invalid or missing API key
        '404':
          description: Survey not found
        '418':
          description: >-
            The feature isn't available for the organization. Please contact the
            support team.
      security:
        - API-Key: []
components:
  schemas:
    PublicUpdateSurveyRequestDto:
      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
        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>

````