A tradeline can fall into multiple categories. For each applicable category, the following requirements must be met. The category can be determined by using the [Me](https://developers.bloomcredit.io/page/enablement_gql_ref#query-me) query, under tradelines > edges > node > category.

## Rent

- **Primary Residence Confirmation** - the rental property must be confirmed to be the consumer's primary residence by including the `isPrimaryAddress` field in the `rent` agreement, set to `true`
- **No Mortgage Confirmation** - consumer confirms they do not have an active mortgage by including the `hasOtherMortgageOrRent` field in the `rent` agreement, set to `false`.
- **Lease Start Date** - required for Metro2 reporting. Included in the `input` via the `leaseStartDate` field.

### GraphQL

```graphql
mutation OpenRentTradeline {
  openRentTradeline(
    id: "0195dd14-2c8f-7ec3-8b0e-7db586a75df5"
    details: {
      isPrimaryAddress: true
      hasOtherMortgageOrRent: true
      leaseStartDate: "2025-02-20"
    }
  ) {
    tradeline {
      id
      status
      details {
        ... on RentTradelineDetails {
          isPrimaryAddress
          hasOtherMortgageOrRent
          leaseStartDate
        }
      }
    }
  }
}
```

## Utility

- **Utility Type** - consumer selects the type of utility, set via the `UtilityType` property. See [Utility Type](https://developers.bloomcredit.io/page/enablement_gql_ref#definition-UtilityType) for possible values.
- **Primary Residence Confirmation** - the rental property must be confirmed to be the consumer's primary residence with including the `isPrimaryAddress` field in the `rent` agreement.

### GraphQL

```graphql
mutation OpenUtilityTradeline {
  openUtilityTradeline(
    id: "808b1fe0-8015-4df5-8bed-89d4acf68213"
    details: { isPrimaryAddress: true, utilityTypes: [WATER] }
  ) {
    tradeline {
      id
      status
      details {
        ... on UtilityTradelineDetails {
          utilityTypes
          isPrimaryAddress
        }
      }
    }
  }
}
```

## Telco

- **Service Phone Number** - the phone number linked to the telecom bill. Set the `servicePhone` field in the mutation to the phone number.

### GraphQL

```graphql
mutation OpenTelcoTradeline {
  openTelcoTradeline(
    id: "808b1fe0-8015-4df5-8bed-89d4acf68213"
    details: { servicePhone: "+12345678909" }
  ) {
    tradeline {
      id
      status
      details {
        ... on TelcoTradelineDetails {
          servicePhone
        }
      }
    }
  }
}
```
