Delete Tradelines

Delete Tradeline Due to Fraud

When a tradeline has been deemed verified fraud, the deleteTradeline mutation should be used to remove the tradeline from a consumer's credit report.

About

This flow lets your organization remove a tradeline when it is determined to be fraudulent.

The deletion flow happens in two stages:

  1. Close Due to Fraud: Bloom marks the tradeline as closed with a fraud reason right away.
  2. Final Deletion Sync: Bloom later finalizes the deletion and sends a tradeline.deleted webhook after reporting has been confirmed between our systems.

This protects data consistency while still giving you an immediate fraud action.

Authentication

Use your normal Bloom API authentication for protected user actions.

If authentication is missing or invalid, the request will be rejected.

Headers

HeaderValueDescription
AuthorizationBearer <access-token>Authenticates your API request. Required.
Content-Typeapplication/jsonAlways application/json. Required.

GraphQL Request

Use the deleteTradeline(input: DeleteTradelineInput!) mutation. Pass the tradelineID in input.tradelineId:

mutation DeleteTradelineForFraud($input: DeleteTradelineInput!) {
  deleteTradeline(input: $input) {
    tradeline {
      id
      status
      closeReason
    }
  }
}

Example variables:

{
  "input": {
    "tradelineId": "4c4f50ae-1977-4e64-b143-c9bfc2f80501"
  }
}

Response

On success, the mutation returns the updated tradeline object.

At this point, you should expect:

  • status to be CLOSED
  • closeReason to be FRAUD

Example response:

{
  "data": {
    "deleteTradeline": {
      "tradeline": {
        "id": "4c4f50ae-1977-4e64-b143-c9bfc2f80501",
        "status": "CLOSED",
        "closeReason": "FRAUD"
      }
    }
  }
}

Downstream Workflow

After the immediate response:

  1. Bloom records the fraud closure and removes active attestation linkage for that tradeline.
  2. Bloom runs a follow-up deletion process on a schedule.
  3. Once downstream reporting confirms timing requirements, Bloom marks the tradeline as fully deleted.
  4. Bloom sends a tradeline.deleted webhook to eligible partner organizations.

Webhook Behavior

When final deletion is completed, Bloom sends:

  • Event type: tradeline.deleted

Webhook delivery follows your organization's webhook configuration and eligibility settings.

Error Reference

Common Request Errors

Error messageWhat it meansWhat to do
Invalid requestThe tradeline is not in a deletable state (for example, it is already closed or deleted).Confirm the current tradeline status, then retry only if it is open.
Not foundThe tradelineID does not exist, or it does not belong to the authenticated user.Verify the tradelineID and ensure you are calling with the correct user context.
UnauthorizedAuthentication is missing or invalid.Send a valid access token and retry.

Operational Notes

  • Deletion finalization is asynchronous. A successful mutation response means the fraud close succeeded immediately; full deletion and webhook delivery can happen later.
  • You can safely monitor webhook delivery or poll tradeline status if your workflow requires confirmation of final deletion.

Best Practices

  • Treat the GraphQL response as confirmation of Closed Due to Fraud.
  • Treat the tradeline.deleted webhook as confirmation of final deletion sync.
  • Store the tradelineID in your system so you can reconcile status changes and webhook events.