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

# Restore order type version

> Copies a published version's `fields`, `statuses`, `configuration` and `orderSteps` into the draft. Requires permission `edit/orderType`.
Nothing is published; publish the draft afterwards to make it live. Refused with 409 when the `draftRevision` is stale, 404 when the version does not exist.



## OpenAPI

````yaml /openapi/public/openapi-flow.json put /order-type/{id}/restore/{version}
openapi: 3.0.0
info:
  title: API - Flow
  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: Flow
    description: >-
      Flow is the mobile field application workflow, setting it correctly is
      critical to the success of the field workers in doing their job
      efficiently. Flow attributes consist of IDs, pages, components,
      configurations, and time. The Flow will be used at Task, Automation, or
      Schedule.


      **To see the details of flow object, please follow [this
      link](#tag/flow_model)**
  - name: Automation
    description: >-
      Automation enables you to set up automation based on tasks' events and
      data source's events. It might help you automate creation of tasks, task
      assignment, task placement, task webhook, data source update, datasource
      creation, and data source webhook. Automation attributes consist of IDs,
      automation name, automation type, automation details, and rules.


      **To see the details of automation object, please follow [this
      link](#tag/automation_model)**
  - name: Order Type
    description: >-
      An order type is the blueprint for orders: the list of steps, which task
      type each step uses, and how an order moves from one step to the next.
      Order types are versioned: you edit a draft, validate or simulate it, then
      publish it. These endpoints are served under `/api/v4`.
paths:
  /order-type/{id}/restore/{version}:
    servers:
      - url: https://apiweb.mile.app/api/v4
    put:
      tags:
        - Order Type
      summary: Restore order type version
      description: >-
        Copies a published version's `fields`, `statuses`, `configuration` and
        `orderSteps` into the draft. Requires permission `edit/orderType`.

        Nothing is published; publish the draft afterwards to make it live.
        Refused with 409 when the `draftRevision` is stale, 404 when the version
        does not exist.
      operationId: restoreOrderTypeVersion
      parameters:
        - name: id
          in: path
          required: true
          description: |-
            Unique identifier for the order type that generated by system.
            **Example**: `6710a2f4c1d2e3f4a5b6c7d8`
          schema:
            type: string
        - name: version
          in: path
          required: true
          description: |-
            Published version number to restore (integer, at least 1).
            **Example**: `2`
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderTypeRestoreRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: boolean
                    description: Status of response.
                  message:
                    description: Message of API response.
                    type: string
                  data:
                    description: Detail of the order type with the restored draft.
                    type: object
                    additionalProperties: true
                example:
                  status: true
                  message: Version restored as the draft
                  data:
                    _id: 6710a2f4c1d2e3f4a5b6c7d8
                    name: Express Delivery
                    code: EXP
                    description: Same-day parcel delivery
                    schemaVersion: 1
                    state: published
                    draftRevision: 5
                    hasUnpublishedChanges: true
                    publishedVersion: 2
                    publishedAt: '2026-10-07T03:15:22.000+00:00'
                    publishedBy: admin@example.com
                    fields:
                      - id: orderNo
                        title: Order number
                        type: string
                        required: true
                        unique: true
                        show: true
                      - id: customerName
                        title: Customer name
                        type: string
                        required: false
                        show: true
                      - id: weight
                        title: Weight (kg)
                        type: number
                        required: false
                        show: true
                        min: 0
                    statuses:
                      - id: new
                        label: New
                        category: new
                        order: 1
                        color: '#6C757D'
                      - id: onDelivery
                        label: On delivery
                        category: inProgress
                        order: 2
                      - id: completed
                        label: Completed
                        category: completed
                        order: 3
                      - id: cancelled
                        label: Cancelled
                        category: completed
                        order: 4
                    configuration:
                      uniqueBy:
                        - orderNo
                      cancelStatusId: cancelled
                    orderSteps:
                      - id: start
                        type: string
                        title: Order created
                        position:
                          x: 0
                          'y': 0
                        event: onOrderCreated
                        next:
                          next:
                            - pickup
                      - id: pickup
                        type: string
                        title: Pickup
                        position:
                          x: 240
                          'y': 0
                        taskTypeId: 66f1b2c3d4e5f6a7b8c9d0e1
                        assignee:
                          mode: unassigned
                        hub:
                          mode: order
                        quantity:
                          mode: perOrder
                        taskData:
                          - target: title
                            source:
                              ref: $order.values.orderNo
                        saveToOrder: []
                        next:
                          next:
                            - done
                      - id: done
                        type: string
                        title: Finish
                        position:
                          x: 480
                          'y': 0
                        statusId: completed
                    canvas:
                      viewport:
                        x: 0
                        'y': 0
                        zoom: 1
                    createdTime: '2026-10-01T02:00:00.000+00:00'
                    createdBy: admin@example.com
                    updatedTime: '2026-10-07T03:15:22.000+00:00'
                    updatedBy: admin@example.com
        '400':
          description: Bad Request
          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: Bad request - invalid parameters provided.
        '404':
          description: Data 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
                    description: Shows if the request was successful.
                  message:
                    type: string
                    description: A short message explaining what went wrong.
                example:
                  status: false
                  message: Bad request - invalid parameters provided.
        '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:
  schemas:
    OrderTypeRestoreRequest:
      example:
        draftRevision: 5
      type: object
      properties:
        draftRevision:
          type: integer
          description: |-
            The `draftRevision` you last read.
            **Example**: `5`
      required:
        - draftRevision
  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.