OpenTradeline

🔒

Authorization

Requires user scoped authorization via session token. See the 'Session Token Authentication' section in Enablement Services Authorization guide for reference.

The openTradeline mutation is used to confirm that a user has opted to have a recurring bill reported to the credit bureau(s). Upon successful execution, it returns the attestation agreements associated with the tradeline that has been opened. This process ensures the tradeline is correctly configured for credit reporting.

Below is an example of the openTradeline mutation, detailing all available input fields and the fields included in the output.

mutation OpenTradeline  {
  openTradeline(
    input: {
      tradelineId: ID!
      serviceAddress: String
      servicePhone: String
      serviceAddressType: AddressType
      leaseStartDate: Date
      utilityTypes: [UtilityType!]
      agreements: AttestationAgreementsInput!
    }
  ){
    attestation {
      agreements {
        rent {
          isPrimaryAddress
          hasOtherMortgageOrRent
        }
        utility {
          isPrimaryAddress
        }
      }
    }
  }
}

Input Attributes

AttributeDescription
tradelineIdUnique tradeline identifier.
serviceAddressThe address associated with this tradeline.
servicePhoneThe phone number associated with this tradeline.
serviceAddressTypeAddressType
leaseStartDateIf rent this is the start date of the lease.
utilityTypesThe UtilityTypes covered in this bill.
agreementsThe rent or utility agreement found in AttestationAgreements

Output Attributes - User

AttributeDescription
idGlobal identifier for the user.
emailUser's email address
phoneNumberUser's phone number
nameUser's name.


How to Attest Different Tradeline Categories

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 query, under tradlines > 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.
mutation OpenTradeline {
    openTradeline(
        input: {
            serviceAddressType: PRIMARY
            leaseStartDate: "2025-01-01"
            agreements: {
                rent: { isPrimaryAddress: true, hasOtherMortgageOrRent: false }
            }
            tradelineId: "0195dd14-2c8f-7ec3-8b0e-7db586a75df5"
        }
    ) {
        attestation {
            agreements {
                rent {
                    isPrimaryAddress
                    hasOtherMortgageOrRent
                }
            }
        }
    }
}

Utility

  • Utility type - consumer selects the type of utility, set via the UtilityType property. See Utility Type 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
  • Payment Frequency - this does not have to be set in the mutation. It is determined from the tradeline's paymentFrequency field, found under the tradelines in the Me query.
mutation OpenTradeline {
    openTradeline(
        input: {
            agreements: { utility: { isPrimaryAddress: true } }
            tradelineId: "0195dd14-2d29-7578-8029-24e4818084c5"
            utilityTypes: ELECTRIC
        }
    ) {
        attestation {
            agreements {
                utility {
                    isPrimaryAddress
                }
            }
        }
    }
}

Telco

  • Associated Phone number - the phone number linked to the telecom bill. Set the servicePhone field in the mutation to the phone number.
  • Payment Frequency - this does not have to be set in the mutation. It is determined from the tradeline's paymentFrequency field, found under the tradelines in the Me query.
mutation OpenTradeline {
    openTradeline(
        input: {
            servicePhone: "1234567890"
            agreements: {}
            tradelineId: "0195dd14-2d0d-7139-af5a-b615455228e8"
        }
    ) {
        attestation {
            agreements {
                rent {
                    isPrimaryAddress
                    hasOtherMortgageOrRent
                }
                utility {
                    isPrimaryAddress
                }
            }
        }
    }
}