Consumer Financial Protection Bureau (CFPB) Edits API
Submission edit and validation reports
Submission edit and validation reports
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cfpb:cfpb-edits-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 1.0.0
title: HMDA Platform Filing Edits API
description: Enables financial institutions to submit Home Mortgage Disclosure Act (HMDA) data programmatically to the FFIEC HMDA Platform. Provides endpoints for filing submissions, uploading loan application register (LAR) files, checking submission status, and retrieving edit reports for regulatory compliance.
contact:
name: FFIEC HMDA Help
url: https://ffiec.cfpb.gov/
license:
name: Creative Commons CC0
url: https://creativecommons.org/publicdomain/zero/1.0/
servers:
- url: https://ffiec.cfpb.gov
description: Production server
security:
- bearerAuth: []
tags:
- name: Edits
description: Submission edit and validation reports
paths:
/institutions/{lei}/filings/{period}/submissions/{submissionId}/parseErrors:
get:
tags:
- Edits
summary: Get parse errors for submission
description: Returns parse errors for the transmittal sheet and LAR records in a submission
parameters:
- $ref: '#/components/parameters/lei'
- $ref: '#/components/parameters/period'
- $ref: '#/components/parameters/submissionId'
- name: page
in: query
description: Page number (page size is 20)
schema:
type: integer
default: 1
responses:
'200':
description: Parse errors with pagination metadata
content:
application/json:
schema:
$ref: '#/components/schemas/ParseErrors'
'404':
description: Submission not found
operationId: getInstitutionsByLeiFilingsByPeriodSubmissionsBySubmissionIdParseErrors
x-operation-id-source: derived
/institutions/{lei}/filings/{period}/submissions/{submissionId}/edits:
get:
tags:
- Edits
summary: Get all edits for submission
description: Returns edits grouped by type (syntactical, validity, quality, macro) for a submission
parameters:
- $ref: '#/components/parameters/lei'
- $ref: '#/components/parameters/period'
- $ref: '#/components/parameters/submissionId'
responses:
'200':
description: Edits grouped by type
content:
application/json:
schema:
$ref: '#/components/schemas/Edits'
'404':
description: Submission not found
operationId: getInstitutionsByLeiFilingsByPeriodSubmissionsBySubmissionIdEdits
x-operation-id-source: derived
/institutions/{lei}/filings/{period}/submissions/{submissionId}/edits/{editType}:
post:
tags:
- Edits
summary: Verify quality or macro edits
description: Marks quality or macro edits as verified for a submission
parameters:
- $ref: '#/components/parameters/lei'
- $ref: '#/components/parameters/period'
- $ref: '#/components/parameters/submissionId'
- name: editType
in: path
required: true
description: The type of edit to verify (quality or macro)
schema:
type: string
enum:
- quality
- macro
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
verified:
type: boolean
description: Whether the edits have been verified
responses:
'200':
description: Edit verification status updated
content:
application/json:
schema:
$ref: '#/components/schemas/EditVerification'
'404':
description: Submission not found
operationId: postInstitutionsByLeiFilingsByPeriodSubmissionsBySubmissionIdEditsByEditType
x-operation-id-source: derived
/institutions/{lei}/filings/{period}/submissions/{submissionId}/edits/{editName}:
get:
tags:
- Edits
summary: Get edit details
description: Returns details for a specific edit including affected rows, field names and values, and pagination links
parameters:
- $ref: '#/components/parameters/lei'
- $ref: '#/components/parameters/period'
- $ref: '#/components/parameters/submissionId'
- name: editName
in: path
required: true
description: The name of the specific edit
schema:
type: string
responses:
'200':
description: Edit details with affected rows
content:
application/json:
schema:
$ref: '#/components/schemas/EditDetail'
'404':
description: Edit not found
operationId: getInstitutionsByLeiFilingsByPeriodSubmissionsBySubmissionIdEditsByEditName
x-operation-id-source: derived
components:
schemas:
EditVerification:
type: object
properties:
verified:
type: boolean
description: Whether the edits are verified
status:
$ref: '#/components/schemas/SubmissionStatus'
ParseErrors:
type: object
properties:
transmittalSheetErrors:
type: array
items:
type: string
description: Errors in the transmittal sheet
larErrors:
type: array
items:
type: object
properties:
lineNumber:
type: integer
errors:
type: array
items:
type: string
count:
type: integer
description: Total number of errors
total:
type: integer
description: Total number of records with errors
_links:
$ref: '#/components/schemas/PaginationLinks'
Edits:
type: object
properties:
syntactical:
$ref: '#/components/schemas/EditGroup'
validity:
$ref: '#/components/schemas/EditGroup'
quality:
$ref: '#/components/schemas/EditGroup'
macro:
$ref: '#/components/schemas/EditGroup'
SubmissionStatus:
type: object
properties:
code:
type: integer
description: Status code
message:
type: string
description: Status message
EditDetail:
type: object
properties:
edit:
type: string
description: Edit name
rows:
type: array
items:
type: object
additionalProperties: true
_links:
$ref: '#/components/schemas/PaginationLinks'
EditGroup:
type: object
properties:
edits:
type: array
items:
$ref: '#/components/schemas/Edit'
verified:
type: boolean
description: Whether these edits have been verified (quality and macro only)
Edit:
type: object
properties:
edit:
type: string
description: Edit name/code
description:
type: string
description: Edit description
rows:
type: array
items:
type: object
additionalProperties: true
PaginationLinks:
type: object
properties:
href:
type: string
description: Template URL for pagination
self:
type: string
description: URL for current page
next:
type: string
description: URL for next page
prev:
type: string
description: URL for previous page
first:
type: string
description: URL for first page
last:
type: string
description: URL for last page
parameters:
period:
name: period
in: path
required: true
description: Filing period (year, e.g. 2020)
schema:
type: string
example: '2020'
lei:
name: lei
in: path
required: true
description: Legal Entity Identifier of the financial institution
schema:
type: string
example: B90YWS6AFX2LGWOXJ1LD
submissionId:
name: submissionId
in: path
required: true
description: Submission identifier
schema:
type: string
example: B90YWS6AFX2LGWOXJ1LD-2020-1
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT