Bloom Credit API

RESTful API providing access to consumer credit data from Equifax, Experian, and TransUnion. Supports consumer registration with consent, tri-bureau credit report retrieval, FICO and VantageScore credit scores, trade line data, and real-time credit monitoring with webhook alerts. Requires API key authentication.

OpenAPI Specification

bloom-credit-api-openapi.yaml Raw ↑
openapi: 3.0.3
info:
  title: Bloom Credit API
  description: >-
    Bloom Credit API provides access to consumer credit data from all three major
    credit bureaus (Equifax, Experian, TransUnion). Enables fintech applications,
    lenders, and financial services platforms to retrieve credit reports, credit scores,
    trade line data, and credit monitoring capabilities for consumers who have granted
    consent.
  version: "1.0"
  contact:
    name: Bloom Credit Developer Support
    url: https://bloomcredit.io
  termsOfService: https://bloomcredit.io/terms
  license:
    name: Proprietary
    url: https://bloomcredit.io/terms
servers:
  - url: https://api.bloomcredit.io/v1
    description: Production
  - url: https://api.sandbox.bloomcredit.io/v1
    description: Sandbox
security:
  - ApiKeyAuth: []
tags:
  - name: Consumers
    description: Consumer identity and registration
  - name: Credit Reports
    description: Full credit bureau report retrieval
  - name: Credit Scores
    description: Credit score retrieval
  - name: Trade Lines
    description: Individual account and trade line data
  - name: Monitoring
    description: Credit monitoring and alerts
paths:
  /consumers:
    post:
      operationId: create-consumer
      summary: Bloom Credit Create Consumer
      description: >-
        Registers a new consumer and obtains consent for credit data access.
        Returns a consumer_id used for subsequent credit data requests.
      tags:
        - Consumers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateConsumerRequest'
            examples:
              create-consumer:
                summary: Register a consumer
                value:
                  first_name: Jane
                  last_name: Smith
                  date_of_birth: "1985-06-15"
                  ssn: "123-45-6789"
                  address:
                    street: "456 Oak Avenue"
                    city: San Francisco
                    state: CA
                    zip_code: "94102"
                  email: [email protected]
                  phone: "+14155551234"
                x-microcks-default: true
      responses:
        '201':
          description: Consumer registered successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Consumer'
              examples:
                created-consumer:
                  summary: Created consumer
                  value:
                    consumer_id: cns_8f7d3a2b1c4e5f6a
                    first_name: Jane
                    last_name: Smith
                    email: [email protected]
                    status: ACTIVE
                    created_at: "2026-01-15T10:00:00Z"
                  x-microcks-default: true
      x-microcks-operation:
        delay: 100
        dispatcher: SCRIPT
  /consumers/{consumer_id}:
    get:
      operationId: get-consumer
      summary: Bloom Credit Get Consumer
      description: Retrieves a registered consumer's profile and status.
      tags:
        - Consumers
      parameters:
        - name: consumer_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier for the consumer.
      responses:
        '200':
          description: Consumer retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Consumer'
              examples:
                get-consumer:
                  summary: Consumer profile
                  value:
                    consumer_id: cns_8f7d3a2b1c4e5f6a
                    first_name: Jane
                    last_name: Smith
                    email: [email protected]
                    status: ACTIVE
                    created_at: "2026-01-15T10:00:00Z"
                  x-microcks-default: true
      x-microcks-operation:
        delay: 50
        dispatcher: URI_PARTS
        dispatcherRules: consumer_id
  /consumers/{consumer_id}/credit-reports:
    get:
      operationId: get-credit-reports
      summary: Bloom Credit Get Credit Reports
      description: >-
        Retrieves credit reports for the specified consumer from one or more
        credit bureaus. Returns structured trade line, inquiry, and public
        record data.
      tags:
        - Credit Reports
      parameters:
        - name: consumer_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier for the consumer.
        - name: bureaus
          in: query
          schema:
            type: string
          description: Comma-separated list of bureaus (equifax,experian,transunion). Defaults to all three.
          example: equifax,experian,transunion
        - name: refresh
          in: query
          schema:
            type: boolean
          description: If true, pulls a fresh report from the bureau.
      responses:
        '200':
          description: Credit reports retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditReportResponse'
              examples:
                credit-reports:
                  summary: Consumer credit reports
                  value:
                    consumer_id: cns_8f7d3a2b1c4e5f6a
                    reports:
                      - bureau: equifax
                        pull_date: "2026-01-15T10:05:00Z"
                        scores:
                          - score_type: FICO8
                            score: 720
                            score_range_min: 300
                            score_range_max: 850
                        trade_lines_count: 8
                        open_accounts: 5
                        total_balance: 15200
                  x-microcks-default: true
      x-microcks-operation:
        delay: 200
        dispatcher: URI_PARTS
        dispatcherRules: consumer_id
  /consumers/{consumer_id}/scores:
    get:
      operationId: get-credit-scores
      summary: Bloom Credit Get Credit Scores
      description: Retrieves credit scores for the consumer from specified bureaus.
      tags:
        - Credit Scores
      parameters:
        - name: consumer_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier for the consumer.
        - name: bureaus
          in: query
          schema:
            type: string
          description: Comma-separated list of bureaus.
        - name: score_type
          in: query
          schema:
            type: string
          description: Score model type (e.g., FICO8, VANTAGE3).
      responses:
        '200':
          description: Credit scores retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreditScoreResponse'
              examples:
                credit-scores:
                  summary: Consumer credit scores
                  value:
                    consumer_id: cns_8f7d3a2b1c4e5f6a
                    scores:
                      - bureau: equifax
                        score_type: FICO8
                        score: 720
                        score_range_min: 300
                        score_range_max: 850
                        factors:
                          - code: PAYMENT_HISTORY
                            description: Payments made on time
                      - bureau: experian
                        score_type: FICO8
                        score: 715
                        score_range_min: 300
                        score_range_max: 850
                      - bureau: transunion
                        score_type: FICO8
                        score: 718
                        score_range_min: 300
                        score_range_max: 850
                  x-microcks-default: true
      x-microcks-operation:
        delay: 150
        dispatcher: URI_PARTS
        dispatcherRules: consumer_id
  /consumers/{consumer_id}/trade-lines:
    get:
      operationId: get-trade-lines
      summary: Bloom Credit Get Trade Lines
      description: Retrieves individual trade line (account) data for the consumer.
      tags:
        - Trade Lines
      parameters:
        - name: consumer_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier for the consumer.
        - name: bureau
          in: query
          schema:
            type: string
          description: Bureau to pull trade lines from.
        - name: account_type
          in: query
          schema:
            type: string
          description: Filter by account type (revolving, installment, mortgage).
      responses:
        '200':
          description: Trade lines retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradeLinesResponse'
              examples:
                trade-lines:
                  summary: Consumer trade lines
                  value:
                    consumer_id: cns_8f7d3a2b1c4e5f6a
                    trade_lines:
                      - account_id: tl_9a8b7c6d5e4f
                        bureau: equifax
                        creditor_name: Chase Bank
                        account_type: revolving
                        account_status: open
                        credit_limit: 10000
                        current_balance: 2400
                        payment_status: current
                        opened_date: "2018-03-01"
                        last_activity_date: "2026-01-10"
                  x-microcks-default: true
      x-microcks-operation:
        delay: 150
        dispatcher: URI_PARTS
        dispatcherRules: consumer_id
  /consumers/{consumer_id}/monitoring:
    post:
      operationId: enroll-monitoring
      summary: Bloom Credit Enroll Monitoring
      description: Enrolls a consumer in credit monitoring to receive alerts on credit changes.
      tags:
        - Monitoring
      parameters:
        - name: consumer_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier for the consumer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitoringEnrollRequest'
            examples:
              enroll-monitoring:
                summary: Monitoring enrollment
                value:
                  bureaus:
                    - equifax
                    - experian
                    - transunion
                  alert_types:
                    - NEW_ACCOUNT
                    - INQUIRY
                    - DEROGATORY
                    - SCORE_CHANGE
                  webhook_url: https://example.com/webhooks/credit-alerts
                x-microcks-default: true
      responses:
        '201':
          description: Monitoring enrollment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitoringEnrollment'
              examples:
                enrolled-monitoring:
                  summary: Monitoring enrollment
                  value:
                    enrollment_id: mon_4b3c2d1e0f9a
                    consumer_id: cns_8f7d3a2b1c4e5f6a
                    status: ACTIVE
                    bureaus:
                      - equifax
                      - experian
                      - transunion
                    created_at: "2026-01-15T10:10:00Z"
                  x-microcks-default: true
      x-microcks-operation:
        delay: 100
        dispatcher: URI_PARTS
        dispatcherRules: consumer_id
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key obtained from the Bloom Credit developer portal
  schemas:
    Address:
      type: object
      description: Physical mailing address.
      properties:
        street:
          type: string
          example: "456 Oak Avenue"
        city:
          type: string
          example: San Francisco
        state:
          type: string
          example: CA
        zip_code:
          type: string
          example: "94102"
    Consumer:
      type: object
      description: A registered consumer with consent for credit data access.
      properties:
        consumer_id:
          type: string
          description: Unique identifier for the consumer.
          example: cns_8f7d3a2b1c4e5f6a
        first_name:
          type: string
          description: Consumer's first name.
          example: Jane
        last_name:
          type: string
          description: Consumer's last name.
          example: Smith
        email:
          type: string
          format: email
          description: Consumer's email address.
          example: [email protected]
        status:
          type: string
          description: Consumer account status.
          enum: [ACTIVE, INACTIVE, PENDING]
          example: ACTIVE
        created_at:
          type: string
          format: date-time
          example: "2026-01-15T10:00:00Z"
    CreateConsumerRequest:
      type: object
      required:
        - first_name
        - last_name
        - date_of_birth
        - ssn
        - address
      properties:
        first_name:
          type: string
          example: Jane
        last_name:
          type: string
          example: Smith
        date_of_birth:
          type: string
          format: date
          example: "1985-06-15"
        ssn:
          type: string
          description: Social Security Number for identity verification.
          example: "123-45-6789"
        address:
          $ref: '#/components/schemas/Address'
        email:
          type: string
          format: email
          example: [email protected]
        phone:
          type: string
          example: "+14155551234"
    CreditScore:
      type: object
      description: A credit score from a specific bureau and scoring model.
      properties:
        bureau:
          type: string
          description: Credit bureau providing the score.
          enum: [equifax, experian, transunion]
          example: equifax
        score_type:
          type: string
          description: Scoring model used.
          example: FICO8
        score:
          type: integer
          description: Numerical credit score value.
          example: 720
        score_range_min:
          type: integer
          description: Minimum score in the scoring model range.
          example: 300
        score_range_max:
          type: integer
          description: Maximum score in the scoring model range.
          example: 850
        factors:
          type: array
          description: Factors affecting the score.
          items:
            type: object
            properties:
              code:
                type: string
                example: PAYMENT_HISTORY
              description:
                type: string
                example: Payments made on time
    CreditScoreResponse:
      type: object
      properties:
        consumer_id:
          type: string
          example: cns_8f7d3a2b1c4e5f6a
        scores:
          type: array
          items:
            $ref: '#/components/schemas/CreditScore'
    CreditReport:
      type: object
      description: A credit report from a specific bureau.
      properties:
        bureau:
          type: string
          enum: [equifax, experian, transunion]
          example: equifax
        pull_date:
          type: string
          format: date-time
          example: "2026-01-15T10:05:00Z"
        scores:
          type: array
          items:
            $ref: '#/components/schemas/CreditScore'
        trade_lines_count:
          type: integer
          example: 8
        open_accounts:
          type: integer
          example: 5
        total_balance:
          type: integer
          description: Total balance across all accounts in USD cents.
          example: 15200
    CreditReportResponse:
      type: object
      properties:
        consumer_id:
          type: string
          example: cns_8f7d3a2b1c4e5f6a
        reports:
          type: array
          items:
            $ref: '#/components/schemas/CreditReport'
    TradeLine:
      type: object
      description: An individual account or trade line in a credit report.
      properties:
        account_id:
          type: string
          description: Unique identifier for this trade line.
          example: tl_9a8b7c6d5e4f
        bureau:
          type: string
          enum: [equifax, experian, transunion]
          example: equifax
        creditor_name:
          type: string
          description: Name of the creditor or lender.
          example: Chase Bank
        account_type:
          type: string
          description: Type of account (revolving, installment, mortgage, etc.).
          example: revolving
        account_status:
          type: string
          description: Whether the account is open or closed.
          enum: [open, closed]
          example: open
        credit_limit:
          type: integer
          description: Credit limit in USD cents.
          example: 10000
        current_balance:
          type: integer
          description: Current balance in USD cents.
          example: 2400
        payment_status:
          type: string
          description: Current payment status.
          example: current
        opened_date:
          type: string
          format: date
          example: "2018-03-01"
        last_activity_date:
          type: string
          format: date
          example: "2026-01-10"
    TradeLinesResponse:
      type: object
      properties:
        consumer_id:
          type: string
          example: cns_8f7d3a2b1c4e5f6a
        trade_lines:
          type: array
          items:
            $ref: '#/components/schemas/TradeLine'
    MonitoringEnrollRequest:
      type: object
      properties:
        bureaus:
          type: array
          items:
            type: string
          example: [equifax, experian, transunion]
        alert_types:
          type: array
          description: Types of changes to monitor.
          items:
            type: string
          example: [NEW_ACCOUNT, INQUIRY, DEROGATORY, SCORE_CHANGE]
        webhook_url:
          type: string
          format: uri
          description: URL to receive credit monitoring alerts.
          example: https://example.com/webhooks/credit-alerts
    MonitoringEnrollment:
      type: object
      description: Credit monitoring enrollment record.
      properties:
        enrollment_id:
          type: string
          description: Unique identifier for the monitoring enrollment.
          example: mon_4b3c2d1e0f9a
        consumer_id:
          type: string
          example: cns_8f7d3a2b1c4e5f6a
        status:
          type: string
          enum: [ACTIVE, INACTIVE, PAUSED]
          example: ACTIVE
        bureaus:
          type: array
          items:
            type: string
          example: [equifax, experian, transunion]
        created_at:
          type: string
          format: date-time
          example: "2026-01-15T10:10:00Z"
x-generated-from: documentation
x-source-url: https://bloomcredit.io