---
title: "A-F quality grade for one filing"
method: GET
path: "/api/v1/filings/{filing_id}/quality-grade"
tags: ["Filings"]
---

# A-F quality grade for one filing

`GET /api/v1/filings/{filing_id}/quality-grade`

## Request

- Base URL: `https://api.hub-equity.com`
- URL: `https://api.hub-equity.com/api/v1/filings/{filing_id}/quality-grade`
- Auth: HTTP bearer

Returns a deterministic A-F quality grade for the filing along with the 4 underlying signals (coverage, consistency, validation, extension restraint) so callers can compute their own weighting if needed.

Use cases :
- **Pre-screen** before deep analysis — analysts can filter out F-grade filings up front.
- **Audit risk flag**: banking and insurance filers with heavy extension usage can score lower: thresholds are uniform across sectors.
- **Coverage gap analytics** — `drivers[].details.populated_concepts` carries the raw count for cross-filing benchmarking.

A Free key is enough. Filing must have ``status='complete'`` ; 422 otherwise.

## Path parameters

- `filing_id` string, required

## Response `200`

Quality grade with per-driver breakdown.

- ApiResponseQualityGradeResponse
  - `success` boolean, required
  - `data` QualityGradeResponse
    - `filing_id` string, required
    - `entity_id` string, nullable
    - `fiscal_year` integer, nullable
    - `form_type` string, nullable
    - `overall_score` number, required
    - `letter_grade` string, required
    - `drivers` QualityDriver[], required
      - `name` string, required
      - `score` number, required
      - `weight` number, required
      - `observation` string, required
      - `details` object
    - `methodology` string
    - `notes` string[]
  - `error` ApiError: API error details.
    - `code` string, required
    - `message` string, required
    - `details` object, nullable
  - `meta` ApiMeta: API response metadata. Pagination fields (``page`` / ``per_page`` / ``total``) are populated on collection endpoints only. They are omitted from the payload on single-resource endpoints.
    - `timestamp` string, date-time
    - `request_id` string, nullable
    - `page` integer, nullable
    - `per_page` integer, nullable
    - `total` integer, nullable
  - `links` ApiLinks: HATEOAS-style pagination cursors. Host-relative path + query links for a collection page. Present on collection endpoints, ``null`` fields where a page doesn't exist (``next`` on the last page, ``prev`` on the first). The whole ``links`` object is omitted from single-resource responses (see ``ApiResponse`` serializer).
    - `self` string, nullable
    - `first` string, nullable
    - `prev` string, nullable
    - `next` string, nullable
    - `last` string, nullable

## Other responses

- `404`: Filing not found.
- `422`: Filing not yet processed (status != 'complete').

---

[API](https://skmtc.dev/hub-equity/apis/hub-equity-api.md) · [All operations](https://skmtc.dev/hub-equity/apis/hub-equity-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hub-equity/apis/hub-equity-api/revisions/e8eeda5dc13e?raw)
