Ordering Data

Note: Currently our Data Ordering API is opt-in, and if you wish to integrate with it,
please reach out to our sales team:
[email protected]

Overview

After registering a consumer, you can request data to be ordered on the consumer's behalf. All data is requested through
our ordering system via API. Only after data has been ordered can it be then fetched and accessed via the Data Access API.

General Flow

1. Order Consumer Data

After registering the consumer (and fully completing the consumer's authentication workflow if required, ie. KBA) you
can order the consumer's data at any point in time by providing the consumer ID to our API:

{
  "method": "post",
  "url": "https://sandbox.bloom.dev/v1/consumers/{consumer_id}/efx-orders",
  "headers": {
    "Authorization": "Bearer <ACCESS_TOKEN>"
  },
  "body": {
     "inquiry_type": "SOFT",
  } 
}

The enums for inquiry_type are listed below:

EnumDescription
SOFTWill have no impact on the customer's credit
HARDWill result in an impact to the customer's credit

After which you shall receive a response related to the order that was submitted, for example:

{
  "data": {
    "id": "32EFE286-894A-42B7-A737-C83A7266E8AF",
    "type": "orders",
    "attributes": {
      "state": "PROCESSING",
      "consumer_id": "A7F29A9F-AAAE-4574-8517-5F91503DAF83",
      "created_at": "2022-04-05T10:30:42.000000002Z"
    }
  }
}

2. Checking Order Status

After submitting an order for consumer data, you can then check order status by just passing using the order_id
that we originally provided to you.

{
  "method": "get",
  "url": "https://sandbox.bloom.dev/v1/consumers/{consumer_id}/efx-orders/{order_id}",
  "headers": {
    "Authorization": "Bearer <ACCESS_TOKEN>"
  }
}

The response will have the order information:

{
  "data": {
    "id": "8a17779a-7496-4191-aae4-7cefdcbc8b83",
    "type": "orders",
    "attributes": {
      "state": "PROCESSING",
      "consumer_id": "c0d779b9-cdc2-40c5-9283-dab70a9541ac",
      "created_at": "2022-08-24T20:00:32.370601Z"
    }
  }
}

πŸŽ› Status Codes

Order status codes could be one of the following:

  • INGESTED - when the order was just created and is waiting on the queue for processing
  • PROCESSING - when the order is currently processing (data is being fetched)
  • SUCCESS - after the order has been fulfilled and the data is fetchable
  • FAILED - reported if there was an error retrieving the data for the order

3. Listing Orders

You may also fetch a list of previously processed orders for a consumer if you like:

{
  "method": "get",
  "url": "https://sandbox.bloom.dev/v1/consumers/{consumer_id}/efx-orders",
  "headers": {
    "Authorization": "Bearer <ACCESS_TOKEN>"
  }
}

The response will have a list of all orders for that consumer over time:

{
  "data": [
    {
      "id": "8a17779a-7496-4191-aae4-7cefdcbc8b83",
      "type": "orders",
      "attributes": {
        "state": "PROCESSING",
        "consumer_id": "A7F29A9F-AAAE-4574-8517-5F91503DAF83",
        "created_at": "2022-08-24T20:00:32.370601Z"
      }
    },
    {
      "id": "62a43f09-38e0-489d-ab45-9948a49c0583",
      "type": "orders",
      "attributes": {
        "state": "SUCCESS",
        "consumer_id": "A7F29A9F-AAAE-4574-8517-5F91503DAF83",
        "created_at": "2022-08-24T20:00:32.348195Z",
        "completed_at": "2022-06-01T13:30:57.737918Z"
      }
    }
  ]
}

3. Fetch Historical Information

To fetch previously ordered data for a consumer, you should the pass order_id along with the consumer_id to the following endpoint:

{
  "method": "get",
  "url":"/consumers/{consumer_id}/credit.bloom.score.fico8/{order_id}",
  "headers": {
    "Authorization": "Bearer <ACCESS_TOKEN>"
  }
}

order_id is optional and if it is not passed, the latest data for the consumer is always returned.

{
  "method": "get",
  "url":"/consumers/{consumer_id}/credit.bloom.score.fico8",
  "headers": {
    "Authorization": "Bearer <ACCESS_TOKEN>"
  }
}

The response will be:

{
  "data": {
    "type": "credit.bloom.score.fico8",
    "attributes": {
      "value": 555
    }
  }
}