# GET /api/v1/migrations/{migration}

> Get one migration request

- Group: migrations
- Tier: R
- Required scope: read:services
- Docs: https://api.inleed.com/reference/migrations/get-migration

## Description

Returns the request with its per-section status, counts and redacted source detail.

## Path parameters

- `migration` — string (required)

## Query parameters

- `migration` — integer (required). Minimum 1.

## Request

```bash
curl -X GET "https://mcp.inleed.com/api/v1/migrations/1?migration=example.se" \
  -H "Authorization: Bearer inl_live_…"
```

## Errors

- **400**  — codes: invalid_request
- **401** No token was presented, or the token is revoked, expired or unknown. — codes: unauthorized, token_expired, token_revoked
- **403** The token lacks a required scope, or this account does not own the resource. — codes: insufficient_scope, not_owned
- **404** No such resource for this account. — codes: not_found
- **422** Validation error — codes: validation_failed
- **429** The rate limit for this token is exhausted. See `Retry-After`. — codes: rate_limited
- **500** Something went wrong on our side. The failure is logged against `requestId`. — codes: internal_error

## Related

- GET /api/v1/migrations — https://api.inleed.com/reference/migrations/list-migrations
- POST /api/v1/migrations — https://api.inleed.com/reference/migrations/request-migration
- POST /api/v1/migrations/{migration}/actions/cancel — https://api.inleed.com/reference/migrations/cancel-migration

