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

# List survey targets

> Retrieve a paginated list of targets for a specific survey. Supports search, filtering by department and target status, sorting, and cursor pagination.



## OpenAPI

````yaml https://api.itmc.i.moneyforward.com/public-api/docs/v1-json get /api/v1/organizations/{organizationId}/surveys/{surveyId}/targets
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: 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: Requests
    description: ''
  - name: AuditLogs
    description: ''
  - name: EventLogs
    description: ''
paths:
  /api/v1/organizations/{organizationId}/surveys/{surveyId}/targets:
    get:
      tags:
        - Surveys
      summary: List survey targets
      description: >-
        Retrieve a paginated list of targets for a specific survey. Supports
        search, filtering by department and target status, sorting, and cursor
        pagination.
      operationId: publicGetSurveyTargets
      parameters:
        - name: organizationId
          required: true
          in: path
          schema:
            type: number
        - name: surveyId
          required: true
          in: path
          schema:
            type: number
        - name: limit
          required: false
          in: query
          description: Number of items to return per page. Default is 50, maximum is 200.
          schema:
            minimum: 1
            maximum: 200
            example: 50
            type: number
        - name: cursor
          required: false
          in: query
          description: >-
            Cursor for pagination. Use the nextCursor from previous response to
            get next page.
          schema:
            example: eyJwYWdlIjoyLCJsaW1pdCI6NTB9
            type: string
        - name: sortBy
          required: false
          in: query
          description: Field to sort by. Defaults to createdAt.
          schema:
            $ref: '#/components/schemas/SurveyTargetSortBy'
        - name: sortOrder
          required: false
          in: query
          description: Sort order. Defaults to DESC for createdAt.
          schema:
            $ref: '#/components/schemas/SortOrder'
        - name: search
          required: false
          in: query
          description: >-
            Search term to filter targets by name, email, department, or device
            information.
          schema:
            example: john
            type: string
        - name: department
          required: false
          in: query
          description: Filter by department name.
          schema:
            example: Engineering
            type: string
        - name: status
          required: false
          in: query
          description: Filter by survey target status. Accepts multiple options.
          schema:
            type: array
            items:
              $ref: '#/components/schemas/SurveyTargetStatus'
      responses:
        '200':
          description: Successfully retrieved survey targets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicGetSurveyTargetsResponseDto'
        '400':
          description: Invalid query parameters
        '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:
    SurveyTargetSortBy:
      type: string
      enum:
        - createdAt
        - name
        - email
        - department
    SortOrder:
      type: string
      enum:
        - DESC
        - ASC
    SurveyTargetStatus:
      type: string
      enum:
        - pending
        - sent
        - opened
        - completed
    PublicGetSurveyTargetsResponseDto:
      type: object
      properties:
        meta:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/CursorPaginationMeta'
        items:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/PublicSurveyTargetResponseDto'
      required:
        - meta
        - items
    CursorPaginationMeta:
      type: object
      properties:
        nextCursor:
          type: string
          nullable: true
          readOnly: true
          example: F3UdkoSbpBNrjwP93AX2HQ
        totalItems:
          type: number
          nullable: true
          readOnly: true
          example: 1
      required:
        - nextCursor
    PublicSurveyTargetResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        surveyId:
          type: number
          readOnly: true
          example: 123
        status:
          type: string
          readOnly: true
          enum:
            - pending
            - sent
            - opened
            - completed
          example: pending
        identityId:
          type: string
          readOnly: true
          example: user123
        targetType:
          type: string
          readOnly: true
          enum:
            - employees
            - devices
            - services
          example: employees
        targets:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/TargetEntityDto'
        sentAt:
          format: date-time
          type: string
          readOnly: true
          example: '2024-01-01T12:00:00Z'
        openedAt:
          format: date-time
          type: string
          readOnly: true
          example: '2024-01-01T12:00:00Z'
        completedAt:
          format: date-time
          type: string
          readOnly: true
          example: '2024-01-01T12:00:00Z'
        createdAt:
          format: date-time
          type: string
          readOnly: true
          example: '2024-01-01T12:00:00Z'
        updatedAt:
          format: date-time
          type: string
          readOnly: true
          example: '2024-01-01T12:00:00Z'
      required:
        - id
        - surveyId
        - status
        - identityId
        - createdAt
        - updatedAt
    TargetEntityDto:
      type: object
      properties:
        entityId:
          type: string
          readOnly: true
          example: device_123
        entityName:
          type: string
          readOnly: true
          example: MacBook Pro
        image:
          type: string
          nullable: true
          readOnly: true
          example: https://example.com/avatar.jpg
        uniqueNumber:
          type: string
          nullable: true
          readOnly: true
          example: EMP-001
        email:
          type: string
          nullable: true
          readOnly: true
          example: john.doe@example.com
        type:
          type: string
          nullable: true
          readOnly: true
          example: pc
        relatedIdentities:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/RelatedIdentitiesDto'
        service:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/TargetEntityServiceDto'
        saasAppDetails:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/AccountResponseDto'
        deviceDetails:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/DeviceDto'
        employeeDetails:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/IdentityDto'
      required:
        - entityId
        - entityName
    RelatedIdentitiesDto:
      type: object
      properties:
        identityHolder:
          nullable: true
          description: Identity holder information
          type: object
          allOf:
            - $ref: '#/components/schemas/RelatedIdentityDto'
        managerHolder:
          nullable: true
          description: Manager holder information
          type: object
          allOf:
            - $ref: '#/components/schemas/RelatedIdentityDto'
    TargetEntityServiceDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        name:
          type: string
          readOnly: true
          example: Google
        uniqueName:
          type: string
          readOnly: true
          example: google
      required:
        - id
        - name
        - uniqueName
    AccountResponseDto:
      type: object
      properties:
        id:
          type: string
          readOnly: true
          example: 123#jessica.jones@addresss.com
        identityId:
          type: string
          nullable: true
          readOnly: true
          example: AHF5GF12
        username:
          type: string
          nullable: true
          readOnly: true
          example: jessia-jones
        displayName:
          type: string
          nullable: true
          readOnly: true
          example: Jessia Jones
        email:
          type: string
          nullable: true
          readOnly: true
          example: jessica.jones@address.com
        roles:
          nullable: true
          readOnly: true
          example:
            - Member
            - Admin
          type: array
          items:
            type: string
        status:
          type: string
          nullable: true
          readOnly: true
          example: active
        employeeStatus:
          nullable: true
          readOnly: true
          example: active
          allOf:
            - $ref: '#/components/schemas/EmployeeStatus'
        employeeType:
          nullable: true
          readOnly: true
          example: collaborator
          allOf:
            - $ref: '#/components/schemas/EmployeeType'
        employeeManagementType:
          nullable: true
          readOnly: true
          example: system
          allOf:
            - $ref: '#/components/schemas/ManagementType'
        twoFa:
          type: boolean
          readOnly: true
          example: true
        uniqueKey:
          type: string
          nullable: true
          readOnly: true
          example: unique_key
        lastActivity:
          type: string
          nullable: true
          readOnly: true
          example: Mon Jan 24 2022 13:20:31 GMT+0900 (Japan Standard Time)
        isInactive:
          type: boolean
          nullable: true
          readOnly: true
          example: false
        licenses:
          nullable: true
          readOnly: true
          example:
            - Basic
            - Basic Plus
            - Pro
            - Business
          type: array
          items:
            type: string
        workspace:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/WorkspaceResponseDto'
        costs:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/IdentityCost'
        identity:
          type: object
          nullable: true
          readOnly: true
        alertType:
          type: array
          items:
            $ref: '#/components/schemas/AlertType'
          readOnly: true
          example:
            - retired_account
        memo:
          type: string
          readOnly: true
          example: This account belongs to Jessica
        relatedIdentities:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/RelatedIdentitiesDto'
      required:
        - id
        - identityId
        - username
        - displayName
        - email
        - roles
        - status
        - employeeStatus
        - employeeType
        - employeeManagementType
        - twoFa
        - uniqueKey
        - lastActivity
        - isInactive
        - licenses
        - workspace
        - identity
        - memo
        - relatedIdentities
    DeviceDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 123
        memo:
          type: string
          readOnly: true
          example: foo bar
        people:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/PeopleResponseDto'
        originalPeopleId:
          type: number
          nullable: true
          readOnly: true
          example: 456
        fields:
          type: object
          additionalProperties:
            nullable: true
            oneOf:
              - type: string
              - type: number
              - type: array
                items:
                  type: string
          readOnly: true
          example:
            preset.subtype: other
            preset.asset_number: unique value
            preset.model_name: cool gadget
            custom.custom_text_field: foo
            custom.custom_date_field: '2024-01-01'
            custom.custom_number_field: 123
            custom.custom_dropdown_field: Option Displayed Value A
            custom.custom_multi_select_field:
              - Option Displayed Value A
              - Option Displayed Value B
        mdmMetadata:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/MdmMetadataDto'
        relatedIdentities:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/RelatedIdentitiesDto'
        customFieldsWithMetadata:
          readOnly: true
          example:
            - id: 1
              attributeCode: custom_text_field
              attributeName: Text field
              value: foo
            - id: 2
              attributeCode: custom_date_field
              attributeName: Date field
              value: '2024-01-01'
            - id: 3
              attributeCode: custom_number_field
              attributeName: Number field
              value: 123
            - id: 4
              attributeCode: custom_dropdown_field
              attributeName: Dropdown field
              value: Option Displayed Value A
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldWithMetadataDto'
      required:
        - id
        - memo
        - people
        - originalPeopleId
        - fields
        - mdmMetadata
        - relatedIdentities
        - customFieldsWithMetadata
    IdentityDto:
      type: object
      properties:
        id:
          type: string
          description: ID of the employee
        organizationId:
          type: number
          description: ID of the organization
        peopleId:
          type: string
          description: ID of the people
        employeeStatus:
          example: active
          description: Extended status of the employee
          allOf:
            - $ref: '#/components/schemas/ExtendedEmployeeStatus'
        employeeType:
          example: full_time_employee
          description: Type of the employee
          allOf:
            - $ref: '#/components/schemas/EmployeeType'
        managementType:
          example: managed
          description: Management type of the employee
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ManagementType'
        displayName:
          type: string
          example: Display Name
          description: Display name of the employee
          nullable: true
        firstName:
          type: string
          example: First Name
          description: First name of the employee
          nullable: true
        lastName:
          type: string
          example: Last Name
          description: Last name of the employee
          nullable: true
        avatar:
          type: string
          description: URL of the avatar of the employee
          nullable: true
        primaryEmail:
          type: string
          example: primay@email.com
          description: Primary email of the employee
          nullable: true
        secondaryEmails:
          example:
            - secondary+1@email.com
            - secondary+2@email.com
          description: Secondary emails of the employee
          nullable: true
          type: array
          items:
            type: string
        companyName:
          type: string
          example: company name
          description: Company name of the employee
          nullable: true
        workLocation:
          type: string
          example: work location
          description: Work location of the employee
          nullable: true
        department:
          description: Department of the employee
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/DepartmentDtoElement'
        serviceCount:
          type: number
          description: Number of services the employee has
          nullable: true
        deviceCount:
          type: number
          description: Number of devices the employee has
          nullable: true
        costs:
          description: Costs of the employee
          nullable: true
          type: array
          items:
            $ref: '#/components/schemas/IdentityCost'
        createdAt:
          format: date-time
          type: string
          description: Record created at
          nullable: true
        updatedAt:
          format: date-time
          type: string
          description: Record updated at
          nullable: true
        isManager:
          type: boolean
          description: Is the employee a manager
          nullable: true
        isMock:
          type: boolean
          description: Indicates if the identity is a mock
        isEmailEditable:
          type: boolean
          description: Indicates if the email of the identity is editable
          nullable: true
        hasPresetFieldsUnlinked:
          type: boolean
          description: Indicates if the unlink preset fields is enabled
          nullable: true
        jobTitle:
          type: string
          example: CTO
          description: Job title of the employee
          nullable: true
        employeeId:
          type: string
          example: EMP12345
          description: Employee ID of the employee
          nullable: true
        lifecycle:
          description: Lifecycle of the employee
          allOf:
            - $ref: '#/components/schemas/LifecycleDtoElement'
        manager:
          description: Manager of the employee
          allOf:
            - $ref: '#/components/schemas/ManagerDto'
        note:
          type: string
          example: this is a note
          description: Notes of the employee
          nullable: true
        profileUrl:
          type: string
          example: https://workspace.url/employee/12345
          description: URL of the profile of the employee
          format: uri
          nullable: true
        customFields:
          type: object
          example:
            custom_text_field: foo
            custom_date_field: '2024-01-01'
            custom_number_field: 123
            custom_dropdown_field: Option Displayed Value A
          additionalProperties:
            nullable: true
          description: Custom fields of the employee
        customFieldsWithMetadata:
          description: Custom fields with metadata including ID, uniqueName, and label
          example:
            - id: 1
              attributeCode: custom_text_field
              attributeName: Text field
              value: foo
            - id: 2
              attributeCode: custom_date_field
              attributeName: Date field
              value: '2024-01-01'
            - id: 3
              attributeCode: custom_number_field
              attributeName: Number field
              value: 123
            - id: 4
              attributeCode: custom_dropdown_field
              attributeName: Dropdown field
              value: Option Displayed Value A
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldWithMetadataDto'
        structuresInfo:
          description: Structures that the identity is a member of, categorized by type
          allOf:
            - $ref: '#/components/schemas/IdentityStructuresInfoDto'
      required:
        - employeeStatus
        - employeeType
        - firstName
        - lastName
    RelatedIdentityDto:
      type: object
      properties:
        id:
          type: string
          description: ID of the employee
        displayName:
          type: string
          example: Display Name
          description: Display name of the employee
          nullable: true
        avatar:
          type: string
          description: URL of the avatar of the employee
          nullable: true
        primaryEmail:
          type: string
          example: primay@email.com
          description: Primary email of the employee
          nullable: true
    EmployeeStatus:
      type: string
      enum:
        - active
        - on_leave
        - draft
        - preactive
        - retired
        - untracked
    EmployeeType:
      type: string
      enum:
        - board_member
        - full_time_employee
        - fixed_time_employee
        - temporary_employee
        - part_time_employee
        - secondment_employee
        - contract_employee
        - collaborator
        - group_address
        - shared_address
        - test_address
        - other
        - unknown
        - unregistered
    ManagementType:
      type: string
      enum:
        - managed
        - external
        - system
        - unknown
        - unregistered
    WorkspaceResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        organizationId:
          type: number
          readOnly: true
          example: 1
        serviceId:
          type: number
          readOnly: true
          example: 1
        authenType:
          type: string
          nullable: true
          readOnly: true
          example: api
        workspaceName:
          type: string
          readOnly: true
          example: iggre
        aggreKey:
          type: string
          nullable: true
          readOnly: true
          example: iggre
        lastExecutionStatus:
          readOnly: true
          example: processing
          allOf:
            - $ref: '#/components/schemas/WorkspaceLastExecutionStatus'
        lastExecutionTime:
          type: string
          nullable: true
          readOnly: true
          example: '2020-11-11 10:00:00'
        lastUsedAt:
          type: string
          nullable: true
          readOnly: true
          example: '2020-11-11 10:00:00'
        lastExecutionResultId:
          type: string
          nullable: true
          readOnly: true
          example: SUCCESS
        lastExecutionResultCode:
          type: number
          nullable: true
          readOnly: true
          example: 200
        lastExecutionResultMessage:
          type: string
          nullable: true
          readOnly: true
          example: NOT_FOUND
        provisioningCredentialEnabled:
          type: boolean
          readOnly: true
          example: false
        description:
          type: string
          nullable: true
          readOnly: true
          example: Description of the workspace
        showDescription:
          type: boolean
          readOnly: true
          example: false
        isCustomWorkspace:
          type: boolean
          readOnly: true
          example: false
        deviceAggregationStatus:
          readOnly: true
          example: finished
          allOf:
            - $ref: '#/components/schemas/DeviceAggregationStatus'
        service:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/ServiceResponseDto'
        workspaceMeta:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/WorkspaceMetaResponseDto'
        billingManagers:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/WorkspaceBillingManagerDto'
        peopleInCharge:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/WorkspacePeopleInChargeDto'
        creator:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/OrganizationUserResponseDto'
        accountCount:
          type: number
          readOnly: true
        identityProviderWorkspaceId:
          type: number
          nullable: true
          readOnly: true
        customWorkspaceType:
          readOnly: true
          example: google_sheet
          allOf:
            - $ref: '#/components/schemas/CustomWorkspaceType'
      required:
        - id
        - organizationId
        - serviceId
        - authenType
        - workspaceName
        - aggreKey
        - lastExecutionStatus
        - lastExecutionTime
        - lastUsedAt
        - lastExecutionResultId
        - lastExecutionResultCode
        - lastExecutionResultMessage
        - provisioningCredentialEnabled
        - description
        - showDescription
        - isCustomWorkspace
        - deviceAggregationStatus
        - service
        - workspaceMeta
        - billingManagers
        - peopleInCharge
        - creator
        - accountCount
        - identityProviderWorkspaceId
        - customWorkspaceType
    IdentityCost:
      type: object
      properties:
        amount:
          type: number
          example: 100
          description: Cost amount of the employee
        currency:
          example: usd
          description: Currency of the cost
          allOf:
            - $ref: '#/components/schemas/CurrencyTypeIggre'
      required:
        - amount
        - currency
    AlertType:
      type: string
      enum:
        - retired_account
        - inactive_account
        - on_leave_account
        - unknown_account
        - public_files
        - device_unreturned_assigned
        - device_unreturned_leased
        - device_replacement
        - device_inactive
        - device_mdm_compliance
        - device_inventory_shortage
    PeopleResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        identityId:
          type: string
          nullable: true
          readOnly: true
          example: I3N5HB4B3G
        primaryEmail:
          type: string
          nullable: true
          readOnly: true
          example: foo@gmail.com
        displayName:
          type: string
          nullable: true
          readOnly: true
          example: Yamaha Honda
        avatar:
          type: string
          nullable: true
          readOnly: true
          example: avatar_url
        username:
          type: string
          nullable: true
          readOnly: true
          example: foo
        type:
          type: string
          readOnly: true
          example: employee
        status:
          type: string
          readOnly: true
          example: suspended
        managementType:
          readOnly: true
          example: managed
          allOf:
            - $ref: '#/components/schemas/ManagementType'
        employeeType:
          readOnly: true
          example: full_time_employee
          allOf:
            - $ref: '#/components/schemas/EmployeeType'
        employeeStatus:
          readOnly: true
          example: active
          allOf:
            - $ref: '#/components/schemas/EmployeeStatus'
        suspendedAt:
          type: string
          nullable: true
          readOnly: true
          example: '2021-07-13T19:15:40.000Z'
        createdAt:
          type: string
          nullable: true
          readOnly: true
          example: '2021-07-13T19:15:40.000Z'
        accounts:
          nullable: true
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/CompactPeopleAccountDto'
        mergedPeople:
          nullable: true
          readOnly: true
          example:
            - id: 1
              displayName: Ron Lee
              username: ron.lee
              primaryEmail: null
          type: array
          items:
            $ref: '#/components/schemas/MergedPeopleDto'
      required:
        - id
        - identityId
        - primaryEmail
        - displayName
        - avatar
        - username
        - type
        - status
        - managementType
        - employeeType
        - employeeStatus
        - suspendedAt
        - createdAt
        - accounts
        - mergedPeople
    MdmMetadataDto:
      type: object
      properties:
        workspaceId:
          type: number
          readOnly: true
          example: 123
        serviceUniqueName:
          type: string
          readOnly: true
          example: jamf
        url:
          type: string
          nullable: true
          readOnly: true
          example: https://example.com
      required:
        - workspaceId
        - serviceUniqueName
        - url
    CustomFieldWithMetadataDto:
      type: object
      properties:
        id:
          type: number
          description: The ID of the custom field template
          example: 1
        attributeCode:
          type: string
          description: The unique identifier for the custom field
          example: custom_uuid
        attributeName:
          type: string
          description: The display label for the custom field
          example: custom_text_field
        value:
          type: object
          description: >-
            The value of the custom field (string, number, or date string
            depending on the field type)
          example: foo
      required:
        - id
        - attributeCode
        - attributeName
        - value
    ExtendedEmployeeStatus:
      type: string
      enum:
        - active
        - on_leave
        - draft
        - preactive
        - retired
        - untracked
        - archived
      description: Extended status of the employee
    DepartmentDtoElement:
      type: object
      properties:
        name:
          type: string
          example: department name
          description: Department name of the employee
          nullable: true
    LifecycleDtoElement:
      type: object
      properties:
        contractStartAt:
          format: date
          type: string
          example: '2021-01-01'
          description: >-
            Contract start date of the employee. Date-only strings (e.g.
            "2021-01-01") are interpreted as UTC midnight. To specify a local
            midnight in a specific timezone, provide a full ISO 8601 datetime
            with offset (e.g. "2020-12-31T15:00:00.000Z" for 2021-01-01 00:00
            JST).
          nullable: true
        contractEndAt:
          format: date
          type: string
          example: '2021-01-02'
          description: >-
            Contract end date of the employee. Date-only strings (e.g.
            "2021-01-02") are interpreted as UTC midnight. To specify a local
            midnight in a specific timezone, provide a full ISO 8601 datetime
            with offset (e.g. "2021-01-01T15:00:00.000Z" for 2021-01-02 00:00
            JST).
          nullable: true
        suspensionStartAt:
          format: date
          type: string
          example: '2021-01-01'
          description: >-
            Suspension start date of the employee. Date-only strings (e.g.
            "2021-01-01") are interpreted as UTC midnight. To specify a local
            midnight in a specific timezone, provide a full ISO 8601 datetime
            with offset (e.g. "2020-12-31T15:00:00.000Z" for 2021-01-01 00:00
            JST).
          nullable: true
        suspensionEndAt:
          format: date
          type: string
          example: '2021-01-03'
          description: >-
            Suspension end date of the employee. Date-only strings (e.g.
            "2021-01-03") are interpreted as UTC midnight. To specify a local
            midnight in a specific timezone, provide a full ISO 8601 datetime
            with offset (e.g. "2021-01-02T15:00:00.000Z" for 2021-01-03 00:00
            JST).
          nullable: true
    ManagerDto:
      type: object
      properties:
        id:
          type: string
          description: Manager ID
          nullable: true
        displayName:
          type: string
          description: Manager name
          nullable: true
        people:
          description: People of the manager
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/PeopleSimpleResponseDto'
    IdentityStructuresInfoDto:
      type: object
      properties:
        companies:
          description: Companies that the identity is a member of
          type: array
          items:
            $ref: '#/components/schemas/StructureInfo'
        departments:
          description: Departments that the identity is a member of
          type: array
          items:
            $ref: '#/components/schemas/StructureInfo'
        locations:
          description: Locations that the identity is a member of
          type: array
          items:
            $ref: '#/components/schemas/StructureInfo'
        managers:
          description: Managers of this identity
          type: array
          items:
            $ref: '#/components/schemas/StructureManagerDto'
      required:
        - companies
        - departments
        - locations
        - managers
    WorkspaceLastExecutionStatus:
      type: string
      enum:
        - pending
        - processing
        - connected
        - maintenance
        - suspended
        - stopped
        - manual
    DeviceAggregationStatus:
      type: string
      enum:
        - disabled
        - processing
        - finished
        - failed
    ServiceResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        name:
          type: string
          readOnly: true
          example: Google
        uniqueName:
          type: string
          readOnly: true
          example: google
        url:
          type: string
          readOnly: true
          example: https://google.com
        isEmployeeMasterService:
          type: boolean
          readOnly: true
          example: true
        adminUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://admin.google.com/u/0/ac/home
        userManagementUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://admin.google.com/u/0/ac/users
        serviceTopUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://workspace.google.com/products/admin/
        guidanceUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://notion.link/google
        serviceAlternateUrls:
          nullable: true
          readOnly: true
          example:
            - www.slides.google.com
            - www.docs.google.com
            - www.sheets.google.com
          type: array
          items:
            type: string
        aggreTypes:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/ServiceAggreTypeDto'
        canDeleteAccount:
          type: boolean
          readOnly: true
          example: false
        canDeactivateAccount:
          type: boolean
          readOnly: true
          example: false
        canAggregateSpend:
          type: boolean
          readOnly: true
          example: false
        canAggregateFiles:
          type: boolean
          readOnly: true
          example: false
        canManageFilePermissions:
          type: boolean
          readOnly: true
          example: false
        canOnlyAggregatePublicFiles:
          type: boolean
          readOnly: true
          example: false
        canAggregateDevices:
          type: boolean
          readOnly: true
          example: false
        canPerformMatching:
          type: boolean
          readOnly: true
          example: true
        canProvisionAccount:
          type: boolean
          readOnly: true
          example: false
        isCustomService:
          type: boolean
          readOnly: true
          example: false
        isIdentityProvider:
          type: boolean
          readOnly: true
          example: false
        serviceMeta:
          nullable: true
          readOnly: true
          type: object
          allOf:
            - $ref: '#/components/schemas/ServiceMetaResponseDto'
        logoUrl:
          type: string
          nullable: true
          readOnly: true
        iconColor:
          nullable: true
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/ServiceIconColor'
      required:
        - id
        - name
        - uniqueName
        - url
        - isEmployeeMasterService
        - adminUrl
        - userManagementUrl
        - serviceTopUrl
        - guidanceUrl
        - serviceAlternateUrls
        - aggreTypes
        - canDeleteAccount
        - canDeactivateAccount
        - canAggregateSpend
        - canAggregateFiles
        - canManageFilePermissions
        - canOnlyAggregatePublicFiles
        - canAggregateDevices
        - canPerformMatching
        - canProvisionAccount
        - isCustomService
        - isIdentityProvider
        - serviceMeta
        - logoUrl
        - iconColor
    WorkspaceMetaResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        workspaceId:
          type: number
          readOnly: true
          example: 1
        organizationId:
          type: number
          readOnly: true
          example: 1
        note:
          type: string
          nullable: true
          readOnly: true
          example: Example note
        businessImpactLevel:
          nullable: true
          readOnly: true
          example: low
          allOf:
            - $ref: '#/components/schemas/BusinessImpactLevel'
        dataStoreRegion:
          type: string
          nullable: true
          readOnly: true
          example: ap-northeast-1
        piiEnabled:
          type: boolean
          nullable: true
          readOnly: true
          example: false
        pii:
          type: string
          nullable: true
          readOnly: true
          example: Example note
        confidentialInfo:
          nullable: true
          readOnly: true
          example: confidential
          allOf:
            - $ref: '#/components/schemas/ConfidentialInfo'
        securityImpactLevel:
          nullable: true
          readOnly: true
          example: low
          allOf:
            - $ref: '#/components/schemas/SecurityImpactLevel'
        vendorName:
          type: string
          nullable: true
          readOnly: true
          example: Example Vendor
        vendorRelationship:
          type: string
          nullable: true
          readOnly: true
          example: Example Vendor Relationship
        vendorPhone:
          type: string
          nullable: true
          readOnly: true
          example: '12345567890'
        vendorMailAddress:
          type: string
          nullable: true
          readOnly: true
          example: Example Vendor Mail address
      required:
        - id
        - workspaceId
        - organizationId
        - note
        - businessImpactLevel
        - dataStoreRegion
        - piiEnabled
        - pii
        - confidentialInfo
        - securityImpactLevel
        - vendorName
        - vendorRelationship
        - vendorPhone
        - vendorMailAddress
    WorkspaceBillingManagerDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        avatar:
          type: string
          nullable: true
          readOnly: true
          example: avatar
        displayName:
          type: string
          nullable: true
          readOnly: true
          example: Example name
        primaryEmail:
          type: string
          nullable: true
          readOnly: true
          example: Example email
      required:
        - id
        - avatar
        - displayName
        - primaryEmail
    WorkspacePeopleInChargeDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        avatar:
          type: string
          nullable: true
          readOnly: true
          example: avatar
        displayName:
          type: string
          nullable: true
          readOnly: true
          example: Example name
        primaryEmail:
          type: string
          nullable: true
          readOnly: true
          example: Example email
      required:
        - id
        - avatar
        - displayName
        - primaryEmail
    OrganizationUserResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        email:
          type: string
          readOnly: true
          example: foo.bar@example.com
        name:
          type: string
          readOnly: true
          example: foo.bar
        location:
          readOnly: true
          example: jp
          allOf:
            - $ref: '#/components/schemas/Location'
        roles:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/UserRoleDto'
        status:
          readOnly: true
          example: active
          allOf:
            - $ref: '#/components/schemas/UserOrganizationStatus'
      required:
        - id
        - email
        - name
        - location
        - roles
        - status
    CustomWorkspaceType:
      type: string
      enum:
        - google_sheet
        - manual_import
    CurrencyTypeIggre:
      type: string
      enum:
        - jpy
        - usd
        - idr
      description: Currency of the cost
    CompactPeopleAccountDto:
      type: object
      properties:
        id:
          type: string
          nullable: true
          readOnly: true
          example: 1#foo
        serviceId:
          type: number
          nullable: true
          readOnly: true
          example: 42
        serviceUniqueName:
          type: string
          nullable: true
          readOnly: true
          example: github
        serviceName:
          type: string
          nullable: true
          readOnly: true
          example: GitHub
        workspaceName:
          type: string
          nullable: true
          readOnly: true
          example: mfi
        accountKey:
          type: string
          nullable: true
          readOnly: true
          example: foo@mfi.com
        serviceIsCustom:
          type: boolean
          nullable: true
          readOnly: true
          example: false
      required:
        - id
        - serviceId
        - serviceUniqueName
        - serviceName
        - workspaceName
        - accountKey
        - serviceIsCustom
    MergedPeopleDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        primaryEmail:
          type: string
          nullable: true
          readOnly: true
          example: foo@gmail.com
        username:
          type: string
          nullable: true
          readOnly: true
          example: foo
        displayName:
          type: string
          nullable: true
          readOnly: true
          example: Yamaha Honda
      required:
        - id
        - primaryEmail
        - username
        - displayName
    PeopleSimpleResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        identityId:
          type: string
          nullable: true
          readOnly: true
          example: I3N5HB4B3G
        primaryEmail:
          type: string
          nullable: true
          readOnly: true
          example: foo@gmail.com
        displayName:
          type: string
          nullable: true
          readOnly: true
          example: Yamaha Honda
        avatar:
          type: string
          nullable: true
          readOnly: true
          example: avatar_url
        username:
          type: string
          nullable: true
          readOnly: true
          example: foo
        status:
          type: string
          readOnly: true
          example: suspended
        type:
          readOnly: true
          example: employee
          allOf:
            - $ref: '#/components/schemas/PeopleType'
      required:
        - id
        - identityId
        - primaryEmail
        - displayName
        - avatar
        - username
        - status
        - type
    StructureInfo:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        name:
          type: string
          readOnly: true
          example: name
      required:
        - id
        - name
    StructureManagerDto:
      type: object
      properties:
        id:
          type: string
          description: Identity ID
        displayName:
          type: string
          description: Identity display name
        primaryEmail:
          type: string
          description: Identity primary email
        avatar:
          type: string
          description: Avatar URL
      required:
        - id
        - displayName
        - primaryEmail
        - avatar
    ServiceAggreTypeDto:
      type: object
      properties:
        name:
          type: string
          example: aggregateAll
        authenTypes:
          type: array
          items:
            $ref: '#/components/schemas/ServiceAuthenTypeDto'
      required:
        - name
    ServiceMetaResponseDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        vendorName:
          type: string
          nullable: true
          readOnly: true
          example: Example Vendor
        vendorCountryOfOrigin:
          type: string
          nullable: true
          readOnly: true
          example: Japan
        termsOfUseUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://example.com
        privacyPolicyUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://example.com
        dataSecurityPolicyUrl:
          type: string
          nullable: true
          readOnly: true
          example: https://example.com
        certifications:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/CertificationResponseDto'
      required:
        - id
        - vendorName
        - vendorCountryOfOrigin
        - termsOfUseUrl
        - privacyPolicyUrl
        - dataSecurityPolicyUrl
        - certifications
    ServiceIconColor:
      type: string
      enum:
        - ai
        - murasaki
        - asagi
        - sakura
    BusinessImpactLevel:
      type: string
      enum:
        - high
        - moderate
        - low
    ConfidentialInfo:
      type: string
      enum:
        - unclassified
        - confidential
        - secret
        - topSecret
    SecurityImpactLevel:
      type: string
      enum:
        - high
        - moderate
        - low
    Location:
      type: string
      enum:
        - global
        - us
        - jp
    UserRoleDto:
      type: object
      properties:
        id:
          type: number
          readOnly: true
          example: 1
        name:
          type: string
          readOnly: true
          example: Admin
      required:
        - id
        - name
    UserOrganizationStatus:
      type: string
      enum:
        - active
        - invited
    PeopleType:
      type: string
      enum:
        - employee
        - guest
        - system
        - unknown
    ServiceAuthenTypeDto:
      type: object
      properties:
        name:
          type: string
          example: oauth
        requiredAttributes:
          type: array
          example:
            - username
            - password
          items:
            $ref: '#/components/schemas/AuthenAttribute'
        optionalAttributes:
          type: array
          example:
            - secretKey
          items:
            $ref: '#/components/schemas/AuthenAttribute'
        permittedAttributes:
          type: array
          example:
            - aggreKey
          items:
            $ref: '#/components/schemas/AuthenAttribute'
        separatelyUpdatableAttributes:
          type: array
          example:
            - groups
          items:
            $ref: '#/components/schemas/AuthenAttribute'
        variant:
          type: string
          example: enterprisePlan
        permissions:
          example:
            - read-write
            - read
          type: array
          items:
            type: string
      required:
        - name
        - requiredAttributes
        - optionalAttributes
        - permittedAttributes
        - separatelyUpdatableAttributes
        - permissions
    CertificationResponseDto:
      type: object
      properties:
        name:
          type: string
          readOnly: true
          example: Example
        url:
          type: string
          readOnly: true
          example: https://example.com
      required:
        - name
        - url
    AuthenAttribute:
      type: string
      enum:
        - workspaceName
        - aggreKey
        - username
        - email
        - password
        - accessToken
        - refreshToken
        - secretKey
        - secretKeyLogin
        - clientId
        - clientSecret
        - region
        - technicalAccountId
        - orgId
        - issuer
        - privateKey
        - publicKey
        - domain
        - domainCode
        - baseUri
        - accountServer
        - consumerKey
        - serverId
        - apiId
        - customEmailFieldName
        - basicAuthUser
        - basicAuthPassword
        - tokenId
        - tokenSecret
        - externalUrl
        - apiKey
        - apiSecretKey
        - otherApiKey
        - roleArn
        - externalId
        - groups
        - billingTypes
        - domains
        - domainList
        - permissions
        - integrationTarget
        - accountOrSubAccountCodes
        - deviceEnabled
        - adminPassword
        - prioritizeBusinessName
        - userId
        - deviceGroup
        - ignoreExternalUserData
        - applicationKey
        - formatOfEmployeeId
        - serialNumberNullValues
  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>

````