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

# Post apiassets migrations retry

> POST /api/assets/{pk}/migrations/{mid}/retry/ — owner-accessible retry.

Flips a ``failed`` migration back to ``pending`` so the worker can
pick it up on its next poll. Requires WRITE_CONTENT on the asset
(byte movement is a content-level action). ``asset.is_migrating``
is unchanged — it was already True when the row failed.



## OpenAPI

````yaml /api-reference/openapi.yaml post /api/assets/{id}/migrations/{mid}/retry/
openapi: 3.0.3
info:
  title: Console API
  version: 1.0.0
  description: Central control plane API for the Dataerai platform.
servers:
  - url: https://{server}
    description: Your Dataerai deployment (the API is served under /api)
    variables:
      server:
        default: your-deployment.dataerai.com
        description: Host of your Dataerai deployment
security: []
paths:
  /api/assets/{id}/migrations/{mid}/retry/:
    post:
      tags:
        - api
      description: |-
        POST /api/assets/{pk}/migrations/{mid}/retry/ — owner-accessible retry.

        Flips a ``failed`` migration back to ``pending`` so the worker can
        pick it up on its next poll. Requires WRITE_CONTENT on the asset
        (byte movement is a content-level action). ``asset.is_migrating``
        is unchanged — it was already True when the row failed.
      operationId: asset_migration_retry
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
        - in: path
          name: mid
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetBucketMigration'
          description: ''
      security:
        - cookieAuthCsrfExempt: []
components:
  schemas:
    AssetBucketMigration:
      type: object
      description: |-
        Read-only serializer for AssetBucketMigration rows.

        Includes the source and target repository ids (derived from
        allocations) so the frontend can render "Moving <asset> from A to B".
        ``asset_title`` lets the migration row present the same title +
        progress the regular Transfer rows show — "size_bytes / total"
        was already wired but the human-readable name wasn't.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        asset_id:
          type: string
          format: uuid
          readOnly: true
        asset_title:
          type: string
          readOnly: true
        action:
          allOf:
            - $ref: '#/components/schemas/ActionEnum'
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/AssetBucketMigrationStatusEnum'
          readOnly: true
        attempts:
          type: integer
          readOnly: true
        last_error:
          type: string
          readOnly: true
        source_allocation_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        target_allocation_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        source_content_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        source_repository_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        target_repository_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        source_allocation_name:
          type: string
          nullable: true
          readOnly: true
        target_allocation_name:
          type: string
          nullable: true
          readOnly: true
        initiated_by_id:
          type: string
          format: uuid
          readOnly: true
          nullable: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        started_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        completed_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        bytes_total:
          type: integer
          readOnly: true
        files_total:
          type: integer
          readOnly: true
        bytes_copied:
          type: integer
          readOnly: true
        files_copied:
          type: integer
          readOnly: true
      required:
        - action
        - asset_id
        - asset_title
        - attempts
        - bytes_copied
        - bytes_total
        - completed_at
        - created_at
        - files_copied
        - files_total
        - id
        - initiated_by_id
        - last_error
        - source_allocation_id
        - source_allocation_name
        - source_content_id
        - source_repository_id
        - started_at
        - status
        - target_allocation_id
        - target_allocation_name
        - target_repository_id
        - updated_at
    ActionEnum:
      enum:
        - move
        - copy
        - delete
      type: string
      description: |-
        * `move` - Move
        * `copy` - Copy
        * `delete` - Delete
    AssetBucketMigrationStatusEnum:
      enum:
        - pending
        - in_progress
        - verifying
        - completing
        - completed
        - failed
      type: string
      description: |-
        * `pending` - Pending
        * `in_progress` - In Progress
        * `verifying` - Verifying
        * `completing` - Completing
        * `completed` - Completed
        * `failed` - Failed

````