The Administration for Children and Families v1 API
The v1 API from The Administration for Children and Families — 35 operation(s) for v1.
The v1 API from The Administration for Children and Families — 35 operation(s) for v1.
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/the-administration-for-children-and-families-v1-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
title: TDP plg_auth_check V1 API
description: TANF Data Portal API documentation
contact:
email: tanfdata@acf.hhs.gov
version: v1
servers:
- url: https://tanfdata.acf.hhs.gov/
security:
- Basic: []
tags:
- name: v1
paths:
/v1/auth_check:
parameters: []
get:
operationId: v1_auth_check_list
description: Handle get request and verify user is authorized.
responses:
'200':
description: ''
tags:
- v1
/v1/change-request-logs/:
parameters: []
get:
operationId: v1_change-request-logs_list
description: ViewSet for change request audit logs.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/ChangeRequestAuditLog'
tags:
- v1
/v1/change-request-logs/{id}/:
parameters:
- name: id
in: path
required: true
schema:
type: string
get:
operationId: v1_change-request-logs_read
description: ViewSet for change request audit logs.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeRequestAuditLog'
tags:
- v1
/v1/change-requests/:
parameters: []
get:
operationId: v1_change-requests_list
description: ViewSet for user change requests.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/UserChangeRequest'
tags:
- v1
/v1/change-requests/{id}/:
parameters:
- name: id
in: path
required: true
schema:
type: string
get:
operationId: v1_change-requests_read
description: ViewSet for user change requests.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserChangeRequest'
tags:
- v1
/v1/data_files/:
parameters: []
get:
operationId: v1_data_files_list
description: Override to handle the list request with url param validation.
parameters:
- name: stt
in: query
description: ''
required: true
schema:
type: string
- name: quarter
in: query
description: ''
required: false
schema:
type: string
- name: year
in: query
description: ''
required: false
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DataFile'
tags:
- v1
post:
operationId: v1_data_files_create
description: Override create to upload in case of successful scan.
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataFile'
tags:
- v1
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
original_filename:
type: string
maxLength: 256
minLength: 1
slug:
type: string
maxLength: 256
minLength: 1
extension:
type: string
maxLength: 8
minLength: 1
user:
type: string
format: uuid
stt:
type: integer
year:
type: integer
maximum: 2147483647
minimum: -2147483648
quarter:
type: string
enum:
- Q1
- Q2
- Q3
- Q4
section:
type: string
enum:
- Active Case Data
- Closed Case Data
- Aggregate Data
- Stratum Data
- Work Outcomes of TANF Exiters
- Secondary School Attainment
- Supplemental Work Outcomes
ssp:
type: boolean
s3_versioning_id:
type: string
maxLength: 1024
minLength: 1
is_program_audit:
type: boolean
default: false
required:
- file
- original_filename
- slug
- user
- stt
- year
- quarter
- section
- ssp
/v1/data_files/years:
parameters: []
get:
operationId: v1_data_files_years_list
description: Handle get action for get list of years there are data_files.
parameters:
- name: stt
in: path
description: The unique identifier of the target STT, if not specified will default to user STT
required: true
schema:
type: integer
responses:
'200':
description: ''
tags:
- v1
/v1/data_files/years/{stt}:
parameters:
- name: stt
in: path
required: true
schema:
type: string
get:
operationId: v1_data_files_years_read
description: Handle get action for get list of years there are data_files.
parameters:
- name: stt
in: path
description: The unique identifier of the target STT, if not specified will default to user STT
required: true
schema:
type: integer
responses:
'200':
description: ''
tags:
- v1
/v1/data_files/{id}/:
parameters:
- name: id
in: path
description: A unique integer value identifying this data file.
required: true
schema:
type: integer
get:
operationId: v1_data_files_read
description: Data file views.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataFile'
tags:
- v1
/v1/data_files/{id}/download/:
parameters:
- name: id
in: path
description: A unique integer value identifying this data file.
required: true
schema:
type: integer
get:
operationId: v1_data_files_download
description: Retrieve a file from s3 then stream it to the client.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataFile'
tags:
- v1
/v1/data_files/{id}/download_error_report/:
parameters:
- name: id
in: path
description: A unique integer value identifying this data file.
required: true
schema:
type: integer
get:
operationId: v1_data_files_download_error_report
description: Generate and return the parsing error report xlsx.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataFile'
tags:
- v1
/v1/feature-flags/:
parameters: []
get:
operationId: v1_feature-flags_list
description: Get the feature flag list from the cache if available, else fetch the queryset.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FeatureFlag'
tags:
- v1
/v1/feature-flags/{feature_name}/:
parameters:
- name: feature_name
in: path
required: true
schema:
type: string
get:
operationId: v1_feature-flags_read
description: Get the feature flag from cache if available, fallback to db.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FeatureFlag'
tags:
- v1
/v1/feedback/:
parameters: []
get:
operationId: v1_feedback_list
description: Feedback viewset.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/Feedback'
tags:
- v1
post:
operationId: v1_feedback_create
description: Create feedback with user.
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
required: true
/v1/feedback/{id}/:
parameters:
- name: id
in: path
description: A UUID string identifying this Feedback.
required: true
schema:
type: string
format: uuid
get:
operationId: v1_feedback_read
description: Feedback viewset.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
tags:
- v1
put:
operationId: v1_feedback_update
description: Update feedback.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
required: true
patch:
operationId: v1_feedback_partial_update
description: Feedback viewset.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Feedback'
required: true
delete:
operationId: v1_feedback_delete
description: Override the destroy method to disallow it.
responses:
'204':
description: ''
tags:
- v1
/v1/login/:
parameters: []
get:
operationId: v1_login_list
description: Handle decoding auth token and authenticate user.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AuthToken'
tags:
- v1
post:
operationId: v1_login_create
description: Define methods for handling login request from login.gov.
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AuthToken'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthToken'
required: true
/v1/logout:
parameters: []
get:
operationId: v1_logout_list
description: Destroy user session.
responses:
'200':
description: ''
tags:
- v1
/v1/logs/:
parameters: []
post:
operationId: v1_logs_create
summary: Pass request bodies to the system logger.
description: Mainly used to log client-side alerts and errors.
responses:
'201':
description: ''
tags:
- v1
/v1/oidc/ams:
parameters: []
get:
operationId: v1_oidc_ams_list
description: Handle decoding auth token and authenticate user.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AuthToken'
tags:
- v1
post:
operationId: v1_oidc_ams_create
description: Define methods for handling login request from HHS AMS.
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AuthToken'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthToken'
required: true
/v1/reports/:
parameters: []
get:
operationId: v1_reports_list
description: Report file views.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/ReportFile'
tags:
- v1
post:
operationId: v1_reports_create
description: Report file views.
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReportFile'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReportFile'
required: true
/v1/reports/report-sources/:
parameters: []
get:
operationId: v1_reports_report-sources_list
description: Report source views for batch uploading report files.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/ReportSource'
tags:
- v1
post:
operationId: v1_reports_report-sources_create
description: Create a new report source and trigger async processing.
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReportSource'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReportSource'
required: true
/v1/reports/report-sources/{id}/:
parameters:
- name: id
in: path
description: A unique integer value identifying this report source.
required: true
schema:
type: integer
get:
operationId: v1_reports_report-sources_read
description: Report source views for batch uploading report files.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReportSource'
tags:
- v1
/v1/reports/{id}/:
parameters:
- name: id
in: path
description: A unique integer value identifying this report file.
required: true
schema:
type: integer
get:
operationId: v1_reports_read
description: Report file views.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReportFile'
tags:
- v1
/v1/reports/{id}/download/:
parameters:
- name: id
in: path
description: A unique integer value identifying this report file.
required: true
schema:
type: integer
get:
operationId: v1_reports_download
description: Retrieve a file from s3 then stream it to the client.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ReportFile'
tags:
- v1
/v1/roles/:
parameters: []
get:
operationId: v1_roles_list
description: GET for groups (roles).
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
tags:
- v1
/v1/security/event-token:
parameters: []
post:
operationId: v1_security_event-token_create
description: Process incoming Security Event Token from Login.gov.
responses:
'201':
description: ''
tags:
- v1
/v1/security/get-token:
parameters: []
get:
operationId: v1_security_get-token_list
description: Generate new token for the API user.
responses:
'200':
description: ''
tags:
- v1
/v1/stts/:
parameters: []
get:
operationId: v1_stts_list
description: Simple view to get all STTs.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/STT'
tags:
- v1
/v1/stts/alpha:
parameters: []
get:
operationId: v1_stts_alpha_list
description: Simple view to get all STTs alphabetized.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/STT'
tags:
- v1
/v1/stts/by_region:
parameters: []
get:
operationId: v1_stts_by_region_list
description: Simple view to get all regions and STTs, without pagination.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Region'
tags:
- v1
/v1/users/:
parameters: []
get:
operationId: v1_users_list
description: User accounts viewset.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/User'
tags:
- v1
/v1/users/profile/:
parameters: []
get:
operationId: v1_users_profile
description: Get the current user's profile.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/UserProfile'
tags:
- v1
/v1/users/request_access/:
parameters: []
get:
operationId: v1_users_request_access_read
description: Update request.user with provided data, set `account_approval_status` to 'Access Request'.
parameters:
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
required:
- count
- results
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/UserProfile'
tags:
- v1
patch:
operationId: v1_users_request_access_partial_update
description: Update request.user with provided data, set `account_approval_status` to 'Access Request'.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfile'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfile'
required: true
/v1/users/update_profile/:
parameters: []
patch:
operationId: v1_users_update_profile
description: Update the current user's profile through change requests.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfileChangeRequest'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfileChangeRequest'
required: true
/v1/users/{id}/:
parameters:
- name: id
in: path
description: A UUID string identifying this user.
required: true
schema:
type: string
format: uuid
get:
operationId: v1_users_read
description: Return a specific user.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- v1
put:
operationId: v1_users_update
description: User accounts viewset.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
patch:
operationId: v1_users_partial_update
description: User accounts viewset.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
tags:
- v1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
components:
schemas:
DataFile:
required:
- original_filename
- slug
- user
- stt
- year
- quarter
- section
- ssp
type: object
properties:
file:
title: File
type: string
readOnly: true
format: uri
id:
title: ID
type: integer
readOnly: true
original_filename:
title: Original filename
type: string
maxLength: 256
minLength: 1
slug:
title: Slug
type: string
maxLength: 256
minLength: 1
extension:
title: Extension
type: string
maxLength: 8
minLength: 1
user:
title: User
type: string
format: uuid
stt:
title: Stt
type: integer
year:
title: Year
type: integer
maximum: 2147483647
minimum: -2147483648
quarter:
title: Quarter
type: string
enum:
- Q1
- Q2
- Q3
- Q4
section:
title: Section
type: string
enum:
- Active Case Data
- Closed Case Data
- Aggregate Data
- Stratum Data
- Work Outcomes of TANF Exiters
- Secondary School Attainment
- Supplemental Work Outcomes
created_at:
title: Created at
type: string
format: date-time
readOnly: true
ssp:
title: Ssp
type: boolean
submitted_by:
title: Submitted by
type: string
readOnly: true
version:
title: Version
type: integer
readOnly: true
s3_location:
title: S3 location
type: string
readOnly: true
s3_versioning_id:
title: S3 versioning id
type:
- string
- 'null'
maxLength: 1024
minLength: 1
has_error:
title: Has error
type: string
readOnly: true
summary:
$ref: '#/components/schemas/DataFileSummary'
latest_reparse_file_meta:
title: Latest reparse file meta
type: string
readOnly: true
is_program_audit:
title: Is program audit
type: boolean
default: false
program_type:
title: Program type
type: string
readOnly: true
minLength: 1
UserChangeRequest:
required:
- user
- field_name
type: object
properties:
id:
title: Id
type: string
format: uuid
readOnly: true
user:
title: User
type: string
format: uuid
field_name:
title: Field name
description: 'The name of the field being changed, possible values include: first_name, last_name, regions and has_fra_access'
type: string
maxLength: 100
minLength: 1
requested_value:
title: Requested value
description: The requested new value for the field
type: string
status:
title: Status
description: The current status of this change request
type: string
enum:
- pending
- approved
- rejected
- cancelled
readOnly: true
requested_at:
title: Requested at
description: When this change was requested
type: string
format: date-time
readOnly: true
Group:
required:
- name
- permissions
type: object
properties:
id:
title: ID
type: integer
readOnly: true
name:
title: Name
type: string
maxLength: 150
minLength: 1
permissions:
type: array
items:
$ref: '#/components/schemas/Permission'
ReportSource:
type: object
properties:
id:
title: ID
type: integer
readOnly: true
original_filename:
title: Original filename
type: string
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/the-administration-for-children-and-families/refs/heads/main/openapi/the-administration-for-children-and-families-v1-api-openapi.yml