---
title: "Convert metro2 file"
method: POST
path: "/convert"
tags: ["Metro2 Files"]
---

# Convert metro2 file

`POST /convert`

Convert from original metro2 file to new metro2 file

## Query parameters

- `format` 'json' | 'metro2'

## Request body

- File
  - `header` HeaderRecord, required
    - `blockDescriptorWord` integer
    - `recordDescriptorWord` integer, required
    - `recordIdentifier` 'HEADER', required
    - `cycleIdentifier` string
    - `innovisProgramIdentifier` string
    - `equifaxProgramIdentifier` string
    - `experianProgramIdentifier` string
    - `transUnionProgramIdentifier` string
    - `activityDate` string, date-time, required
    - `dateCreated` string, date-time, required
    - `programDate` string, date-time
    - `programRevisionDate` string, date-time
    - `reporterName` string, required
    - `reporterAddress` string, required
    - `reporterTelephoneNumber` integer
    - `softwareVendorName` string
    - `softwareVersionNumber` string
    - `prbcProgramIdentifier` string
  - `data` DataRecord[]
    - `base` BaseSegment, required
      - `blockDescriptorWord` integer
      - `recordDescriptorWord` integer, required
      - `timeStamp` string, date-time
      - `identificationNumber` string, required
      - `cycleIdentifier` string
      - `consumerAccountNumber` string, required
      - `portfolioType` 'C' | 'I' | 'M' | 'O' | 'R' | 'L'
      - `accountType` string, required
      - `dateOpened` string, date-time
      - `creditLimit` integer
      - `highestCredit` integer, required
      - `termsDuration` string, required
      - `termsFrequency` 'D' | 'P' | 'W' | 'B' | 'E' | 'M' | 'L' | 'Q' | 'T' | 'S' | 'Y'
      - `scheduledMonthlyPaymentAmount` integer
      - `actualPaymentAmount` integer
      - `accountStatus` string, required
      - `paymentRating` string
      - `paymentHistoryProfile` string, required
      - `specialComment` string
      - `complianceConditionCode` string
      - `currentBalance` integer, required
      - `amountPastDue` integer
      - `originalChargeOffAmount` integer
      - `dateAccountInformation` string, date-time, required
      - `dateFirstDelinquency` string, date-time
      - `dateClosed` string, date-time
      - `dateLastPayment` string, date-time
      - `interestTypeIndicator` string
      - `surname` string, required
      - `firstName` string, required
      - `middleName` string
      - `generationCode` string
      - `socialSecurityNumber` integer
      - `dateBirth` string, date-time
      - `telephoneNumber` integer
      - `ecoaCode` string, required
      - `consumerInformationIndicator` string
      - `countryCode` string
      - `firstLineAddress` string, required
      - `secondLineAddress` string
      - `city` string
      - `state` string, required
      - `zipCode` string, required
      - `addressIndicator` 'C' | 'Y' | 'N' | 'M' | 'S' | 'B' | 'U' | 'D' | 'P'
      - `residenceCode` 'O' | 'R'
    - `j1` J1Segment[]
      - `segmentIdentifier` 'J1', required
      - `surname` string, required
      - `firstName` string, required
      - `middleName` string
      - `generationCode` string
      - `socialSecurityNumber` integer
      - `dateBirth` string, date-time
      - `telephoneNumber` integer
      - `ecoaCode` string, required
      - `consumerInformationIndicator` string
    - `j2` J2Segment[]
      - `segmentIdentifier` 'J2', required
      - `surname` string, required
      - `firstName` string, required
      - `middleName` string
      - `generationCode` string
      - `socialSecurityNumber` integer
      - `dateBirth` string, date-time
      - `telephoneNumber` integer
      - `ecoaCode` string, required
      - `consumerInformationIndicator` string
      - `countryCode` string
      - `firstLineAddress` string, required
      - `secondLineAddress` string
      - `city` string, required
      - `state` string, required
      - `zipCode` string, required
      - `addressIndicator` 'C' | 'Y' | 'N' | 'M' | 'S' | 'B' | 'U' | 'D' | 'P'
      - `residenceCode` 'O' | 'R'
    - `k1` K1Segment
      - `segmentIdentifier` 'K1', required
      - `originalCreditorName` string, required
      - `creditorClassification` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15, required
    - `k2` K2Segment
      - `segmentIdentifier` 'K2', required
      - `purchasedIndicator` 1 | 2 | 9, required
      - `purchasedName` string, required
    - `k3` K3Segment
      - `segmentIdentifier` 'K3', required
      - `agencyIdentifier` 0 | 1 | 2
      - `accountNumber` string
      - `mortgageIdentificationNumber` string
    - `k4` K4Segment
      - `segmentIdentifier` 'K4', required
      - `specializedPaymentIndicator` 1 | 2, required
      - `deferredPaymentStartDate` string, date-time
      - `balloonPaymentDueDate` string, date-time
      - `balloonPaymentAmount` integer
    - `l1` L1Segment
      - `segmentIdentifier` 'L1', required
      - `changeIndicator` integer, required
      - `newConsumerAccountNumber` string
      - `balloonPaymentDueDate` string
    - `n1` N1Segment
      - `segmentIdentifier` 'N1', required
      - `employerName` string, required
      - `firstLineEmployerAddress` string
      - `secondLineEmployerAddress` string
      - `employerCity` string
      - `employerState` string
      - `zipCode` string
      - `occupation` string
  - `trailer` TrailerRecord, required
    - `blockDescriptorWord` integer
    - `recordDescriptorWord` integer, required
    - `recordIdentifier` 'TRAILER', required
    - `totalBaseRecords` integer
    - `totalStatusCodeDF` integer
    - `totalConsumerSegmentsJ1` integer
    - `totalConsumerSegmentsJ2` integer
    - `blockCount` integer
    - `totalStatusCodeDA` integer
    - `totalStatusCode05` integer
    - `totalStatusCode11` integer
    - `totalStatusCode13` integer
    - `totalStatusCode61` integer
    - `totalStatusCode62` integer
    - `totalStatusCode63` integer
    - `totalStatusCode64` integer
    - `totalStatusCode65` integer
    - `totalStatusCode71` integer
    - `totalStatusCode78` integer
    - `totalStatusCode80` integer
    - `totalStatusCode82` integer
    - `totalStatusCode83` integer
    - `totalStatusCode84` integer
    - `totalStatusCode88` integer
    - `totalStatusCode89` integer
    - `totalStatusCode93` integer
    - `totalStatusCode94` integer
    - `totalStatusCode95` integer
    - `totalStatusCode96` integer
    - `totalStatusCode97` integer
    - `totalECOACodeZ` integer
    - `totalEmploymentSegments` integer
    - `totalOriginalCreditorSegments` integer
    - `totalPurchasedToSegments` integer
    - `totalMortgageInformationSegments` integer
    - `totalPaymentInformationSegments` integer
    - `totalChangeSegments` integer
    - `totalSocialNumbersAllSegments` integer
    - `totalSocialNumbersBaseSegments` integer
    - `totalSocialNumbersJ1Segments` integer
    - `totalSocialNumbersJ2Segments` integer
    - `totalDatesBirthAllSegments` integer
    - `totalDatesBirthBaseSegments` integer
    - `totalDatesBirthJ1Segments` integer
    - `totalDatesBirthJ2Segments` integer
    - `totalTelephoneNumbersAllSegments` integer

## Response `200`

successful operation

## Other responses

- `400` — bad request
- `501` — failed operation

---

[API](https://skmtc.dev/moov-io/apis/metro2-api.md) · [All operations](https://skmtc.dev/moov-io/apis/metro2-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/moov-io/metro2-api/revisions/0cd9d38664b7/schema)
