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

# Move v3 data type to v4

> Convert an existing v3 data type into a v4 data type in place, keeping its id and records. Its `primaryKey` field becomes the v4 `title` field. The records are re-indexed in the background; follow progress in the returned `migration` object, or in the data type's `migration` field (`status` is `running`, then `ready`).
Refused when the data type is already v4, a migration is running, an import is running, or it is still used by a v3 flow or automation. In the last case `data.references` lists the `flows` and `automations` that use it; remove those references first, or use **Copy v3 data type to v4** instead.
Permission: `edit/dataType`.
Available on `/api/v4` only.



## OpenAPI

````yaml /openapi/public/openapi-data.json post /data-type/{dataTypeId}/move
openapi: 3.0.0
info:
  title: API - Data
  version: 3.0.0
  description: API Documentation - RESTful API for field operations management.
servers:
  - url: https://apiweb.mile.app/api/v3
security:
  - bearerAuth: []
tags:
  - name: Data Source
    description: >-
      The Data source could help you simplify the process of filling in task
      information based on existing data in the app. This data could consist of
      information such as name, number, date, coordinate, and multiple options.
      The Data typically represents entities such as customers, products,
      employees, suppliers, or any other critical data elements that are used
      across the application.


      **To see the details of data source object, please follow [this
      link](#tag/data_source_model)**
  - name: Data Type
    description: >-
      The Data type is the structure of data fields that is customizable to suit
      your business needs. Data type attributes consist of IDs, name, field
      details, type, and primary key. This data type structure will be used at
      Data Source and Flow.


      **To see the details of data type object, please follow [this
      link](#tag/data_type_model)**
paths:
  /data-type/{dataTypeId}/move:
    servers:
      - url: https://apiweb.mile.app/api/v4
    post:
      tags:
        - Data Type
      summary: Move v3 data type to v4
      description: >-
        Convert an existing v3 data type into a v4 data type in place, keeping
        its id and records. Its `primaryKey` field becomes the v4 `title` field.
        The records are re-indexed in the background; follow progress in the
        returned `migration` object, or in the data type's `migration` field
        (`status` is `running`, then `ready`).

        Refused when the data type is already v4, a migration is running, an
        import is running, or it is still used by a v3 flow or automation. In
        the last case `data.references` lists the `flows` and `automations` that
        use it; remove those references first, or use **Copy v3 data type to
        v4** instead.

        Permission: `edit/dataType`.

        Available on `/api/v4` only.
      operationId: moveDataTypeToV4
      parameters:
        - name: dataTypeId
          in: path
          required: true
          description: |-
            Unique identifier of the data type, generated by the system.
            **Example**: `640a45dd089dc95a0a09ef14`
          schema:
            type: string
      responses:
        '202':
          description: Accepted, migration started
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  data:
                    type: object
                    properties:
                      migration:
                        type: object
                        additionalProperties: true
                example:
                  status: true
                  data:
                    migration:
                      mode: move
                      status: running
                      total: 1250
                      done: 0
                      failed: 0
                      lastId: null
                      startedAt: '2026-10-16T08:30:00+00:00'
                      heartbeatAt: '2026-10-16T08:30:00+00:00'
                      finishedAt: null
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  message:
                    type: string
                  data:
                    type: object
                    additionalProperties: true
                example:
                  status: false
                  message: Data type is still used by a flow or automation.
                  data:
                    references:
                      flows:
                        - Outlet Visit
                      automations:
                        - Notify Outlet Owner
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    description: Shows if the request was successful.
                  message:
                    type: string
                    description: A short message explaining what went wrong.
                example:
                  status: false
                  message: Data not found
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                  message:
                    type: string
                example:
                  status: false
                  message: Data type is being migrated.
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    description: Shows if the request was successful.
                  message:
                    type: string
                    description: A short message explaining what went wrong.
                example:
                  status: false
                  message: Internal server error, please contact support@mile.app.
      deprecated: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Use a valid Bearer token to authenticate.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.