> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer-test.atomicwork.com/llms.txt.
> For full documentation content, see https://developer-test.atomicwork.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer-test.atomicwork.com/_mcp/server.

# Move Request

POST https://{tenant}.atomicwork.com/api/v1/requests/{requestId}/move
Content-Type: application/json

**DEPRECATED**: Use `/requests/{requestId}/move/result` instead.

This endpoint does not handle permission-based responses correctly when the user
lacks view access to the destination workspace.


Reference: https://developer-test.atomicwork.com/atomicwork-public-api/requests/postapi-v-1-requests-request-id-move

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/requests/{requestId}/move:
    post:
      operationId: postapi-v-1-requests-request-id-move
      summary: Move Request
      description: >
        **DEPRECATED**: Use `/requests/{requestId}/move/result` instead.


        This endpoint does not handle permission-based responses correctly when
        the user

        lacks view access to the destination workspace.
      tags:
        - subpackage_requests
      parameters:
        - name: requestId
          in: path
          description: ''
          required: true
          schema:
            type: string
        - name: X-Api-Key
          in: header
          required: true
          schema:
            type: string
        - name: X-Workspace-Id
          in: header
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Requests_postapi_v1_requests__requestId__move_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                destination_workspace_id:
                  type: integer
                  format: int64
                request_note:
                  $ref: >-
                    #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaRequestNote
                workflow_request_note:
                  $ref: >-
                    #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNote
                data:
                  $ref: >-
                    #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData
servers:
  - url: https://{tenant}.atomicwork.com
components:
  schemas:
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaRequestNote:
      type: object
      properties:
        description:
          type: string
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaRequestNote
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteType:
      type: string
      enum:
        - ESD_NOTE
        - SLACK_NOTE
        - EMAIL_NOTE
        - RATING
        - TEMPLATE
        - WORKFLOW_NOTE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteExternalSourceType:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteExternalSourceType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNote:
      type: object
      properties:
        user_id:
          type: integer
          format: int64
        description:
          type: string
        mentions:
          type: array
          items:
            type: integer
            format: int64
        is_private:
          type: boolean
          default: false
        source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteSource
        type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteType
        attachments:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        is_broadcast:
          type: boolean
          default: false
        external_id:
          type: string
        external_source_type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNoteExternalSourceType
        email_content:
          type: string
        event_created_at:
          type: string
          format: date-time
          description: >-
            Event creation timestamp. When provided via public API, also
            backdates the note's created time, SLA metrics, and activity
            timestamps. Must not be in the future or before the request's
            creation time.
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaWorkflowRequestNote
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsType:
      type: string
      enum:
        - ESD_NOTE
        - SLACK_NOTE
        - EMAIL_NOTE
        - RATING
        - TEMPLATE
        - WORKFLOW_NOTE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsExternalSourceType:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsExternalSourceType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItems:
      type: object
      properties:
        user_id:
          type: integer
          format: int64
        description:
          type: string
        mentions:
          type: array
          items:
            type: integer
            format: int64
        is_private:
          type: boolean
          default: false
        source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsSource
        type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsType
        attachments:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        is_broadcast:
          type: boolean
          default: false
        external_id:
          type: string
        external_source_type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItemsExternalSourceType
        email_content:
          type: string
        event_created_at:
          type: string
          format: date-time
          description: >-
            Event creation timestamp. When provided via public API, also
            backdates the note's created time, SLA metrics, and activity
            timestamps. Must not be in the future or before the request's
            creation time.
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItems
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ConversationInfo:
      type: object
      properties:
        channel_name:
          type: string
        channel_id:
          type: string
        start_timestamp:
          type: string
          format: unix-timestamp
      required:
        - start_timestamp
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ConversationInfo
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestCreatedFromType:
      type: string
      enum:
        - REQUEST_SETTINGS
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestCreatedFromType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestCreatedFrom:
      type: object
      properties:
        id:
          type: string
        type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestCreatedFromType
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestCreatedFrom
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0CustomFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0CustomFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ExternalSource:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ExternalSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ItemFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ItemFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData0:
      type: object
      properties:
        request_type:
          type: string
        request_source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestSource
        description:
          type: string
        email_content:
          type: string
        plain_text_description_override:
          type: string
          description: >
            Internal-only override for the persisted plain-text rendering of the
            description. When non-empty, AbstractRequestService persists it as
            RequestDetail.description instead of running
            HTMLSanitizerUtil.getPlainText() on the HTML description.

            Set ONLY by the email ingestion path
            (EmailIntentBasedRequestCreationService), which derives it from
            reqDescription via
            normalizeHtmlToPlainText(getPlainTextForRichHtml(...)) so
            system-generated HTML emails (BlackLine offboarding, etc.) avoid
            mashed table cells and blank-line storms.

            Annotated @JsonIgnore so external HTTP clients cannot set it via the
            request body — without that annotation, any caller of POST
            /requests, /service-requests, /incidents could write arbitrary
            unsanitized text into RequestDetail.description, bypassing the
            getPlainText() pipeline. The Lombok @SuperBuilder still exposes a
            setter for in-process Java callers (the email path), since builder
            access does not go through Jackson.
        status:
          type: string
        priority:
          type: string
        parent_request_id:
          type: integer
          format: int64
        agent_group:
          type: integer
          format: int64
        assignee:
          type: integer
          format: int64
        subject:
          type: string
        notes:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0NotesItems
        workspace_id:
          type: integer
          format: int64
        conversation_info:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ConversationInfo
        tags:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        attachments:
          type: array
          items:
            type: integer
            format: int64
        requester:
          type: integer
          format: int64
        to_email:
          type: string
        request_created_from:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0RequestCreatedFrom
        custom_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0CustomFields
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        external_id:
          type: string
        external_source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ExternalSource
        resolution_time:
          type: string
          format: date-time
          description: >
            When the ticket was resolved in the source system. Only accepted
            during migration (requires external_id or external_source).
        first_response_time:
          type: string
          format: date-time
          description: >
            When the first agent response occurred in the source system. Only
            accepted during migration (requires external_id or external_source).
        first_response_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for first response from the source system. Only
            accepted during migration (requires external_id or external_source).
        resolution_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for resolution from the source system. Only accepted
            during migration (requires external_id or external_source).
        closed_status_at:
          type: string
          format: date-time
          description: >
            When the ticket was moved to closed status in the source system.
            Only accepted during migration (requires external_id or
            external_source). When provided with a closed status, also sets
            resolution_time if not explicitly provided.
        item_id:
          type: integer
          format: int64
        item_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf0ItemFields
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData0
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1NotesItems:
      type: object
      properties:
        user_id:
          type: integer
          format: int64
        description:
          type: string
        mentions:
          type: array
          items:
            type: integer
            format: int64
        is_private:
          type: boolean
          default: false
        source:
          description: Any type
        type:
          description: Any type
        attachments:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        is_broadcast:
          type: boolean
          default: false
        external_id:
          type: string
        external_source_type:
          description: Any type
        email_content:
          type: string
        event_created_at:
          type: string
          format: date-time
          description: >-
            Event creation timestamp. When provided via public API, also
            backdates the note's created time, SLA metrics, and activity
            timestamps. Must not be in the future or before the request's
            creation time.
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1NotesItems
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ConversationInfo:
      type: object
      properties:
        channel_name:
          type: string
        channel_id:
          type: string
        start_timestamp:
          type: string
          format: unix-timestamp
      required:
        - start_timestamp
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ConversationInfo
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestCreatedFromType:
      type: string
      enum:
        - REQUEST_SETTINGS
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestCreatedFromType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestCreatedFrom:
      type: object
      properties:
        id:
          type: string
        type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestCreatedFromType
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestCreatedFrom
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1CustomFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1CustomFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ExternalSource:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ExternalSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ItemFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ItemFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData1:
      type: object
      properties:
        request_type:
          type: string
        request_source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestSource
        description:
          type: string
        email_content:
          type: string
        plain_text_description_override:
          type: string
          description: >
            Internal-only override for the persisted plain-text rendering of the
            description. When non-empty, AbstractRequestService persists it as
            RequestDetail.description instead of running
            HTMLSanitizerUtil.getPlainText() on the HTML description.

            Set ONLY by the email ingestion path
            (EmailIntentBasedRequestCreationService), which derives it from
            reqDescription via
            normalizeHtmlToPlainText(getPlainTextForRichHtml(...)) so
            system-generated HTML emails (BlackLine offboarding, etc.) avoid
            mashed table cells and blank-line storms.

            Annotated @JsonIgnore so external HTTP clients cannot set it via the
            request body — without that annotation, any caller of POST
            /requests, /service-requests, /incidents could write arbitrary
            unsanitized text into RequestDetail.description, bypassing the
            getPlainText() pipeline. The Lombok @SuperBuilder still exposes a
            setter for in-process Java callers (the email path), since builder
            access does not go through Jackson.
        status:
          type: string
        priority:
          type: string
        parent_request_id:
          type: integer
          format: int64
        agent_group:
          type: integer
          format: int64
        assignee:
          type: integer
          format: int64
        subject:
          type: string
        notes:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1NotesItems
        workspace_id:
          type: integer
          format: int64
        conversation_info:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ConversationInfo
        tags:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        attachments:
          type: array
          items:
            type: integer
            format: int64
        requester:
          type: integer
          format: int64
        to_email:
          type: string
        request_created_from:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1RequestCreatedFrom
        custom_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1CustomFields
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        external_id:
          type: string
        external_source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ExternalSource
        resolution_time:
          type: string
          format: date-time
          description: >
            When the ticket was resolved in the source system. Only accepted
            during migration (requires external_id or external_source).
        first_response_time:
          type: string
          format: date-time
          description: >
            When the first agent response occurred in the source system. Only
            accepted during migration (requires external_id or external_source).
        first_response_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for first response from the source system. Only
            accepted during migration (requires external_id or external_source).
        resolution_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for resolution from the source system. Only accepted
            during migration (requires external_id or external_source).
        closed_status_at:
          type: string
          format: date-time
          description: >
            When the ticket was moved to closed status in the source system.
            Only accepted during migration (requires external_id or
            external_source). When provided with a closed status, also sets
            resolution_time if not explicitly provided.
        item_id:
          type: integer
          format: int64
        item_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf1ItemFields
        impact:
          type: string
        urgency:
          type: string
        category:
          type: string
        subcategory:
          type: string
        assets:
          type: array
          items:
            type: integer
            format: int64
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData1
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsSource:
      type: string
      enum:
        - EMAIL
        - SLACK
        - TEAMS
        - PORTAL
        - WORKFLOW
        - JOURNEY
        - API
        - UNIVERSAL_AGENT
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsType:
      type: string
      enum:
        - ESD_NOTE
        - SLACK_NOTE
        - EMAIL_NOTE
        - RATING
        - TEMPLATE
        - WORKFLOW_NOTE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsExternalSourceType:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsExternalSourceType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItems:
      type: object
      properties:
        user_id:
          type: integer
          format: int64
        description:
          type: string
        mentions:
          type: array
          items:
            type: integer
            format: int64
        is_private:
          type: boolean
          default: false
        source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsSource
        type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsType
        attachments:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        is_broadcast:
          type: boolean
          default: false
        external_id:
          type: string
        external_source_type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItemsExternalSourceType
        email_content:
          type: string
        event_created_at:
          type: string
          format: date-time
          description: >-
            Event creation timestamp. When provided via public API, also
            backdates the note's created time, SLA metrics, and activity
            timestamps. Must not be in the future or before the request's
            creation time.
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItems
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2ConversationInfo:
      type: object
      properties:
        channel_name:
          type: string
        channel_id:
          type: string
        start_timestamp:
          type: string
          format: unix-timestamp
      required:
        - start_timestamp
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2ConversationInfo
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestCreatedFromType:
      type: string
      enum:
        - REQUEST_SETTINGS
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestCreatedFromType
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestCreatedFrom:
      type: object
      properties:
        id:
          type: string
        type:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestCreatedFromType
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestCreatedFrom
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2CustomFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2CustomFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2ExternalSource:
      type: string
      enum:
        - SAAS_GENIE
        - SNOW
        - JSM_BRIDGE
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2ExternalSource
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData2:
      type: object
      properties:
        request_type:
          type: string
        request_source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestSource
        description:
          type: string
        email_content:
          type: string
        plain_text_description_override:
          type: string
          description: >
            Internal-only override for the persisted plain-text rendering of the
            description. When non-empty, AbstractRequestService persists it as
            RequestDetail.description instead of running
            HTMLSanitizerUtil.getPlainText() on the HTML description.

            Set ONLY by the email ingestion path
            (EmailIntentBasedRequestCreationService), which derives it from
            reqDescription via
            normalizeHtmlToPlainText(getPlainTextForRichHtml(...)) so
            system-generated HTML emails (BlackLine offboarding, etc.) avoid
            mashed table cells and blank-line storms.

            Annotated @JsonIgnore so external HTTP clients cannot set it via the
            request body — without that annotation, any caller of POST
            /requests, /service-requests, /incidents could write arbitrary
            unsanitized text into RequestDetail.description, bypassing the
            getPlainText() pipeline. The Lombok @SuperBuilder still exposes a
            setter for in-process Java callers (the email path), since builder
            access does not go through Jackson.
        status:
          type: string
        priority:
          type: string
        parent_request_id:
          type: integer
          format: int64
        agent_group:
          type: integer
          format: int64
        assignee:
          type: integer
          format: int64
        subject:
          type: string
        notes:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2NotesItems
        workspace_id:
          type: integer
          format: int64
        conversation_info:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2ConversationInfo
        tags:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        attachments:
          type: array
          items:
            type: integer
            format: int64
        requester:
          type: integer
          format: int64
        to_email:
          type: string
        request_created_from:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2RequestCreatedFrom
        custom_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2CustomFields
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        external_id:
          type: string
        external_source:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf2ExternalSource
        resolution_time:
          type: string
          format: date-time
          description: >
            When the ticket was resolved in the source system. Only accepted
            during migration (requires external_id or external_source).
        first_response_time:
          type: string
          format: date-time
          description: >
            When the first agent response occurred in the source system. Only
            accepted during migration (requires external_id or external_source).
        first_response_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for first response from the source system. Only
            accepted during migration (requires external_id or external_source).
        resolution_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for resolution from the source system. Only accepted
            during migration (requires external_id or external_source).
        closed_status_at:
          type: string
          format: date-time
          description: >
            When the ticket was moved to closed status in the source system.
            Only accepted during migration (requires external_id or
            external_source). When provided with a closed status, also sets
            resolution_time if not explicitly provided.
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData2
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf3CustomFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf3CustomFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf3ItemFields:
      type: object
      properties: {}
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf3ItemFields
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData3:
      type: object
      properties:
        request_type:
          type: string
        request_source:
          description: Any type
        description:
          type: string
        email_content:
          type: string
        plain_text_description_override:
          type: string
          description: >
            Internal-only override for the persisted plain-text rendering of the
            description. When non-empty, AbstractRequestService persists it as
            RequestDetail.description instead of running
            HTMLSanitizerUtil.getPlainText() on the HTML description.

            Set ONLY by the email ingestion path
            (EmailIntentBasedRequestCreationService), which derives it from
            reqDescription via
            normalizeHtmlToPlainText(getPlainTextForRichHtml(...)) so
            system-generated HTML emails (BlackLine offboarding, etc.) avoid
            mashed table cells and blank-line storms.

            Annotated @JsonIgnore so external HTTP clients cannot set it via the
            request body — without that annotation, any caller of POST
            /requests, /service-requests, /incidents could write arbitrary
            unsanitized text into RequestDetail.description, bypassing the
            getPlainText() pipeline. The Lombok @SuperBuilder still exposes a
            setter for in-process Java callers (the email path), since builder
            access does not go through Jackson.
        status:
          type: string
        priority:
          type: string
        parent_request_id:
          type: integer
          format: int64
        agent_group:
          type: integer
          format: int64
        assignee:
          type: integer
          format: int64
        subject:
          type: string
        notes:
          type: array
          items:
            description: Any type
        workspace_id:
          type: integer
          format: int64
        conversation_info:
          description: Any type
        tags:
          type: array
          items:
            type: integer
            format: int64
        cc_emails:
          type: array
          items:
            type: string
        bcc_emails:
          type: array
          items:
            type: string
        attachments:
          type: array
          items:
            type: integer
            format: int64
        requester:
          type: integer
          format: int64
        to_email:
          type: string
        request_created_from:
          description: Any type
        custom_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf3CustomFields
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        external_id:
          type: string
        external_source:
          description: Any type
        resolution_time:
          type: string
          format: date-time
          description: >
            When the ticket was resolved in the source system. Only accepted
            during migration (requires external_id or external_source).
        first_response_time:
          type: string
          format: date-time
          description: >
            When the first agent response occurred in the source system. Only
            accepted during migration (requires external_id or external_source).
        first_response_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for first response from the source system. Only
            accepted during migration (requires external_id or external_source).
        resolution_due_time:
          type: string
          format: date-time
          description: >
            SLA due time for resolution from the source system. Only accepted
            during migration (requires external_id or external_source).
        closed_status_at:
          type: string
          format: date-time
          description: >
            When the ticket was moved to closed status in the source system.
            Only accepted during migration (requires external_id or
            external_source). When provided with a closed status, also sets
            resolution_time if not explicitly provided.
        item_id:
          type: integer
          format: int64
        item_fields:
          $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaDataOneOf3ItemFields
        impact:
          type: string
        urgency:
          type: string
        category:
          type: string
        subcategory:
          type: string
        assets:
          type: array
          items:
            type: integer
            format: int64
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData3
    ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData:
      oneOf:
        - $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData0
        - $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData1
        - $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData2
        - $ref: >-
            #/components/schemas/ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData3
      title: >-
        ApiV1RequestsRequestIdMovePostRequestBodyContentApplicationJsonSchemaData
    Requests_postapi_v1_requests__requestId__move_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Requests_postapi_v1_requests__requestId__move_Response_200
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key

```

## SDK Code Examples

```python
import requests

url = "https://{tenant}.atomicwork.com/api/v1/requests/requestId/move"

payload = {
    "destination_workspace_id": 0,
    "request_note": { "description": "" },
    "workflow_request_note": {
        "user_id": 0,
        "description": "",
        "mentions": [0],
        "is_private": False,
        "source": "EMAIL",
        "type": "ESD_NOTE",
        "attachments": [0],
        "cc_emails": [""],
        "bcc_emails": [""],
        "is_broadcast": False,
        "external_id": "",
        "external_source_type": "SAAS_GENIE",
        "email_content": "",
        "event_created_at": "2024-01-01T00:00:00Z"
    }
}
headers = {
    "X-Workspace-Id": "{{workspace_id}}",
    "X-Api-Key": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://{tenant}.atomicwork.com/api/v1/requests/requestId/move';
const options = {
  method: 'POST',
  headers: {
    'X-Workspace-Id': '{{workspace_id}}',
    'X-Api-Key': '<apiKey>',
    'Content-Type': 'application/json'
  },
  body: '{"destination_workspace_id":0,"request_note":{"description":""},"workflow_request_note":{"user_id":0,"description":"","mentions":[0],"is_private":false,"source":"EMAIL","type":"ESD_NOTE","attachments":[0],"cc_emails":[""],"bcc_emails":[""],"is_broadcast":false,"external_id":"","external_source_type":"SAAS_GENIE","email_content":"","event_created_at":"2024-01-01T00:00:00Z"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://{tenant}.atomicwork.com/api/v1/requests/requestId/move"

	payload := strings.NewReader("{\n  \"destination_workspace_id\": 0,\n  \"request_note\": {\n    \"description\": \"\"\n  },\n  \"workflow_request_note\": {\n    \"user_id\": 0,\n    \"description\": \"\",\n    \"mentions\": [\n      0\n    ],\n    \"is_private\": false,\n    \"source\": \"EMAIL\",\n    \"type\": \"ESD_NOTE\",\n    \"attachments\": [\n      0\n    ],\n    \"cc_emails\": [\n      \"\"\n    ],\n    \"bcc_emails\": [\n      \"\"\n    ],\n    \"is_broadcast\": false,\n    \"external_id\": \"\",\n    \"external_source_type\": \"SAAS_GENIE\",\n    \"email_content\": \"\",\n    \"event_created_at\": \"2024-01-01T00:00:00Z\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Workspace-Id", "{{workspace_id}}")
	req.Header.Add("X-Api-Key", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://{tenant}.atomicwork.com/api/v1/requests/requestId/move")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Workspace-Id"] = '{{workspace_id}}'
request["X-Api-Key"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"destination_workspace_id\": 0,\n  \"request_note\": {\n    \"description\": \"\"\n  },\n  \"workflow_request_note\": {\n    \"user_id\": 0,\n    \"description\": \"\",\n    \"mentions\": [\n      0\n    ],\n    \"is_private\": false,\n    \"source\": \"EMAIL\",\n    \"type\": \"ESD_NOTE\",\n    \"attachments\": [\n      0\n    ],\n    \"cc_emails\": [\n      \"\"\n    ],\n    \"bcc_emails\": [\n      \"\"\n    ],\n    \"is_broadcast\": false,\n    \"external_id\": \"\",\n    \"external_source_type\": \"SAAS_GENIE\",\n    \"email_content\": \"\",\n    \"event_created_at\": \"2024-01-01T00:00:00Z\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://{tenant}.atomicwork.com/api/v1/requests/requestId/move")
  .header("X-Workspace-Id", "{{workspace_id}}")
  .header("X-Api-Key", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"destination_workspace_id\": 0,\n  \"request_note\": {\n    \"description\": \"\"\n  },\n  \"workflow_request_note\": {\n    \"user_id\": 0,\n    \"description\": \"\",\n    \"mentions\": [\n      0\n    ],\n    \"is_private\": false,\n    \"source\": \"EMAIL\",\n    \"type\": \"ESD_NOTE\",\n    \"attachments\": [\n      0\n    ],\n    \"cc_emails\": [\n      \"\"\n    ],\n    \"bcc_emails\": [\n      \"\"\n    ],\n    \"is_broadcast\": false,\n    \"external_id\": \"\",\n    \"external_source_type\": \"SAAS_GENIE\",\n    \"email_content\": \"\",\n    \"event_created_at\": \"2024-01-01T00:00:00Z\"\n  }\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://{tenant}.atomicwork.com/api/v1/requests/requestId/move', [
  'body' => '{
  "destination_workspace_id": 0,
  "request_note": {
    "description": ""
  },
  "workflow_request_note": {
    "user_id": 0,
    "description": "",
    "mentions": [
      0
    ],
    "is_private": false,
    "source": "EMAIL",
    "type": "ESD_NOTE",
    "attachments": [
      0
    ],
    "cc_emails": [
      ""
    ],
    "bcc_emails": [
      ""
    ],
    "is_broadcast": false,
    "external_id": "",
    "external_source_type": "SAAS_GENIE",
    "email_content": "",
    "event_created_at": "2024-01-01T00:00:00Z"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'X-Api-Key' => '<apiKey>',
    'X-Workspace-Id' => '{{workspace_id}}',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://{tenant}.atomicwork.com/api/v1/requests/requestId/move");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Workspace-Id", "{{workspace_id}}");
request.AddHeader("X-Api-Key", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"destination_workspace_id\": 0,\n  \"request_note\": {\n    \"description\": \"\"\n  },\n  \"workflow_request_note\": {\n    \"user_id\": 0,\n    \"description\": \"\",\n    \"mentions\": [\n      0\n    ],\n    \"is_private\": false,\n    \"source\": \"EMAIL\",\n    \"type\": \"ESD_NOTE\",\n    \"attachments\": [\n      0\n    ],\n    \"cc_emails\": [\n      \"\"\n    ],\n    \"bcc_emails\": [\n      \"\"\n    ],\n    \"is_broadcast\": false,\n    \"external_id\": \"\",\n    \"external_source_type\": \"SAAS_GENIE\",\n    \"email_content\": \"\",\n    \"event_created_at\": \"2024-01-01T00:00:00Z\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = [
  "X-Workspace-Id": "{{workspace_id}}",
  "X-Api-Key": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "destination_workspace_id": 0,
  "request_note": ["description": ""],
  "workflow_request_note": [
    "user_id": 0,
    "description": "",
    "mentions": [0],
    "is_private": false,
    "source": "EMAIL",
    "type": "ESD_NOTE",
    "attachments": [0],
    "cc_emails": [""],
    "bcc_emails": [""],
    "is_broadcast": false,
    "external_id": "",
    "external_source_type": "SAAS_GENIE",
    "email_content": "",
    "event_created_at": "2024-01-01T00:00:00Z"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://{tenant}.atomicwork.com/api/v1/requests/requestId/move")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```