---
title: "POST /migration/{tenantLocator}/migrations"
method: POST
path: "/migration/{tenantLocator}/migrations"
---

# POST /migration/{tenantLocator}/migrations

`POST /migration/{tenantLocator}/migrations`

## Request

- Base URL: `https://docs.socotra.com`
- URL: `https://docs.socotra.com/migration/{tenantLocator}/migrations`
- Auth: none declared
- TypeScript: <https://skmtc.dev/socotra/apis/socotra-insurance-suite-openapi/docs/migration/:tenantLocator/migrations/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `tenantLocator` string, uuid, required

## Headers

- `X-Idempotency-Key` string

## Request body

- AccountMigrationRequest[]
  - `defaultCreatedBy` string, uuid, required
  - `accountData` AccountMigrationData, required
    - `id` string, required
    - `accountType` string, required
    - `data` object, required
    - `createdAt` string, date-time, required
    - `createdBy` string, uuid
    - `delinquencyPlanName` string
    - `autoRenewalPlanName` string
    - `excessCreditPlanName` string
    - `shortfallTolerancePlanName` string
    - `preferences` MigrationPreferences
      - `installmentPreferences` MigrationInstallmentPreferences
        - `cadence` 'none' | 'fullPay' | 'weekly' | 'everyOtherWeek' | 'monthly' | 'quarterly' | 'semiannually' | 'annually' | 'thirtyDays' | 'everyNDays'
        - `anchorMode` 'generateDay' | 'termStartDay' | 'dueDay'
        - `generateLeadDays` integer
        - `dueLeadDays` integer
        - `installmentWeights` number[], required
        - `maxInstallmentsPerTerm` integer
        - `installmentPlanName` string
        - `anchorType` 'none' | 'dayOfMonth' | 'anchorTime' | 'dayOfWeek' | 'weekOfMonth'
        - `dayOfMonth` integer
        - `dayOfWeek` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday'
        - `weekOfMonth` 'none' | 'first' | 'second' | 'third' | 'fourth' | 'fifth'
        - `anchorTime` string, date-time
        - `autopayLeadDays` number
    - `billingLevel` 'account' | 'inherit' | 'policy'
  - `policies` PolicyMigrationRequest[], required
    - `createdBy` string, uuid, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `productName` string, required
    - `timezone` string
    - `currency` string
    - `durationBasis` 'years' | 'months' | 'weeks' | 'days' | 'hours', required
    - `staticData` object, required
    - `terms` TermMigrationRequest[], required
      - `startTime` string, date-time, required
      - `endTime` string, date-time, required
      - `transactions` TransactionMigrationRequest[], required
        - `transactionType` string, required
        - `createdAt` string, date-time, required
        - `createdBy` string, uuid, required
        - `issuedTime` string, date-time, required
        - `segment` SegmentMigrationRequest
          - `startTime` string, date-time, required
          - `rootElement` ElementMigrationRequest, required
            - `id` string, required
            - `elementType` string, required
            - `data` object, required
            - `coverageTerms` object, required
            - `elements` ElementMigrationRequest[], required
            - `charges` ChargeMigrationRequest[], required
              - …
          - `segmentType` 'coverage' | 'gap', required
        - `installments` InstallmentMigrationRequest[], required
          - `id` string, required
          - `invoiceId` string, required
          - `startTime` string, date-time, required
          - `generateTime` string, date-time, required
          - `dueTime` string, date-time, required
        - `preferences` MigrationPreferences
          - `installmentPreferences` MigrationInstallmentPreferences
            - `cadence` 'none' | 'fullPay' | 'weekly' | 'everyOtherWeek' | 'monthly' | 'quarterly' | 'semiannually' | 'annually' | 'thirtyDays' | 'everyNDays'
            - `anchorMode` 'generateDay' | 'termStartDay' | 'dueDay'
            - `generateLeadDays` integer
            - `dueLeadDays` integer
            - `installmentWeights` number[], required
            - `maxInstallmentsPerTerm` integer
            - `installmentPlanName` string
            - `anchorType` 'none' | 'dayOfMonth' | 'anchorTime' | 'dayOfWeek' | 'weekOfMonth'
            - `dayOfMonth` integer
            - `dayOfWeek` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday'
            - `weekOfMonth` 'none' | 'first' | 'second' | 'third' | 'fourth' | 'fifth'
            - `anchorTime` string, date-time
            - `autopayLeadDays` number
    - `delinquencyPlanName` string
    - `autoRenewalPlanName` string
    - `preferences` MigrationPreferences
      - `installmentPreferences` MigrationInstallmentPreferences
        - `cadence` 'none' | 'fullPay' | 'weekly' | 'everyOtherWeek' | 'monthly' | 'quarterly' | 'semiannually' | 'annually' | 'thirtyDays' | 'everyNDays'
        - `anchorMode` 'generateDay' | 'termStartDay' | 'dueDay'
        - `generateLeadDays` integer
        - `dueLeadDays` integer
        - `installmentWeights` number[], required
        - `maxInstallmentsPerTerm` integer
        - `installmentPlanName` string
        - `anchorType` 'none' | 'dayOfMonth' | 'anchorTime' | 'dayOfWeek' | 'weekOfMonth'
        - `dayOfMonth` integer
        - `dayOfWeek` 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday'
        - `weekOfMonth` 'none' | 'first' | 'second' | 'third' | 'fourth' | 'fifth'
        - `anchorTime` string, date-time
        - `autopayLeadDays` number
    - `billingLevel` 'account' | 'inherit' | 'policy'
    - `auxData` AuxDataMigrationRequest
      - `entries` AuxDataEntryMigrationRequest[], required
        - `key` string, required
        - `value` string, required
      - `settingsName` string, required
  - `invoices` InvoiceMigrationRequest[], required
    - `id` string, required
    - `startTime` string, date-time, required
    - `endTime` string, date-time, required
    - `generateTime` string, date-time, required
    - `dueTime` string, date-time, required
    - `currency` string
    - `timezone` string
    - `invoiceState` 'building' | 'open' | 'settled' | 'discarded'
  - `payments` PaymentMigrationRequest[], required
    - `createdBy` string, uuid
    - `id` string, required
    - `paymentTime` string, date-time, required
    - `paymentItems` PaymentItemMigrationRequest[], required
      - `amount` number, required
      - `invoiceId` string, required
    - `paymentType` string, required
    - `data` object, required
    - `currency` string
  - `disbursements` DisbursementMigrationRequest[], required
    - `id` string, required
    - `disbursementType` string, required
    - `data` object, required
    - `disbursementTime` string, date-time, required
    - `sources` CreditItemMigrationRequest[], required
      - `amount` number, required
    - `currency` string
  - `accounting` AccountingMigrationRequest, required
    - `originalAccountBalances` object, required: Key is a currency code (e.g. USD)

## Response `200`

OK

- MigrationResponse
  - `locator` string, ulid, required
  - `migrationState` 'submitted' | 'processing' | 'paused' | 'finished' | 'failed' | 'error', required
  - `processedAccounts` integer, required
  - `totalAccounts` integer, required

---

[API](https://skmtc.dev/socotra/apis/socotra-insurance-suite-openapi.md) - [All operations](https://skmtc.dev/socotra/apis/socotra-insurance-suite-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/socotra/apis/socotra-insurance-suite-openapi/revisions/77ee7d8172b9?raw)
