Organizations Data Dictionary¶
This document describes the fields available in the Organizations API endpoint (/api/organizations/). For filtering, ordering, and pagination, see the Organizations API Reference.
Overview¶
The Organizations resource provides a unified view of federal government organizations, consolidating data from multiple authoritative sources into a single hierarchical structure. Organizations include departments, agencies, sub-agencies, and offices.
Note: The full set of fields is available via the shape query parameter. Without a ?shape= parameter, a default shape is applied. See Response Shaping for details.
Update Frequency¶
All organization data is updated monthly via the sync_organizations management command.
Default Shape¶
All responses go through the shaping pipeline. When no ?shape= parameter is provided, the following fields are returned:
key, fh_key, name, short_name, type, level, is_active, code, fpds_code, cgac, canonical_code, parent_fh_key, full_parent_path_name
Fields¶
| Field | Type | Description | Source |
|---|---|---|---|
key | UUID | Tango's internal UUID primary key for the organization record. Returned in shaped responses, but the Organizations API uses fh_key for lookups. | Tango |
fh_key | String | Zero-padded 9-character string representation of the Federal Hierarchy orgKey (e.g., "000000001"). Used for detail lookups: GET /api/organizations/{fh_key}/. Accepts both zero-padded and plain integer forms in URLs. Practically unique for "current" org lookups, but not guaranteed to be globally unique across all historical snapshots (Tango stores historical org versions separately). | Federal Hierarchy (SAM.gov) |
name | String | The full official name of the organization (e.g., "Federal Emergency Management Agency"). | Federal Hierarchy (SAM.gov) |
short_name | String | The abbreviated or common name of the organization (e.g., "FEMA", "DHS"). | Federal Hierarchy (SAM.gov) |
type | String | The organizational type within the federal hierarchy (e.g., "DEPARTMENT", "AGENCY", "OFFICE"). | Federal Hierarchy (SAM.gov) |
level | Integer | The depth level in the organizational hierarchy. Level 1 represents top-level departments, with higher numbers indicating deeper nesting. | Federal Hierarchy (SAM.gov) |
cgac | String | Common Government-wide Accounting Classification code. A 3-character code used for financial reporting (e.g., "069" for Department of Transportation). | USAspending |
fpds_code | String | Federal Procurement Data System code. A 4-digit agency identifier used in contract transactions. | USAspending |
code | String | Office or agency code. Used to identify specific offices within agencies, particularly in contract and financial assistance transactions. | Federal Hierarchy / USAspending |
canonical_code | String | Level-prefixed canonical code combining hierarchy level and the appropriate code type (e.g., "L1:097" for a department, "L2:5700" for an agency). | Calculated |
fpds_org_id | String | The FPDS organization identifier, when available. | FPDS |
aac_code | String | Activity Address Code, used in some procurement and financial transactions. | Federal Hierarchy (SAM.gov) |
is_active | Boolean | Indicates whether the organization is currently active. Derived from the mod_status field in Federal Hierarchy. | Federal Hierarchy (SAM.gov) |
parent_fh_key | String | Zero-padded 9-character fh_key of this organization's parent. Null for top-level departments. | Federal Hierarchy (SAM.gov) |
full_parent_path_name | String | A human-readable path showing the full hierarchy from the top-level department to this organization, separated by " > " (e.g., "Department of Homeland Security > Federal Emergency Management Agency"). | Federal Hierarchy (SAM.gov) |
l1_fh_key .. l8_fh_key | String | Zero-padded 9-character fh_key of the ancestor at each hierarchy level (L1 through L8). Null when no ancestor exists at that level. | Federal Hierarchy (SAM.gov) |
start_date | Date | The date the organization became active in the Federal Hierarchy. | Federal Hierarchy (SAM.gov) |
end_date | Date | The date the organization was deactivated, if applicable. | Federal Hierarchy (SAM.gov) |
logo | String | URL to the organization's logo, when available. | Various |
summary | String | Short description or mission summary for the organization. | Federal Hierarchy (SAM.gov) |
mod_status | String | The modification status of the organization in the Federal Hierarchy (e.g., "ACTIVE", "INACTIVE"). | Federal Hierarchy (SAM.gov) |
description | String | A description of the organization's mission or purpose, when available. | Federal Hierarchy (SAM.gov) |
obligations | Float | Total federal contract and financial assistance obligations associated with this organization and all its descendants (rolled up from the entire subtree). Alias for tree_obligations. Expressed in US dollars. | USAspending |
total_obligations | Float | Direct obligations for this specific organization (not rolled up from descendants). Expressed in US dollars. | USAspending |
tree_obligations | Float | Total obligations for this organization's entire subtree (the organization plus all descendants). Expressed in US dollars. | USAspending |
obligation_rank | Integer | A percentile ranking (1-100) of this organization's obligations relative to other organizations. Higher values indicate larger obligation amounts. | Calculated |
Usage Notes¶
- The Organizations API lookup key is
fh_key(Federal HierarchyorgKey), returned as a zero-padded 9-character string. - The
fh_keyis intended for "current" lookups, but it is not a stable globally-unique identifier across all historical snapshots/versions. - If you need to track historical versions, use the internal
key(UUID) plus timestamps/versions (Tango stores org history separately).
Organization Types¶
Organization types define the position of an organization within the federal hierarchy. Each type corresponds to a specific hierarchy level:
| Type | Level | Description |
|---|---|---|
DEPARTMENT | 1 | Top-level federal departments (e.g., Department of Defense, Department of Health and Human Services) |
AGENCY | 2 | Major sub-components of departments (e.g., Department of the Army, Food and Drug Administration) |
SUBTIER AGENCY | 2 | Alternative designation for level-2 agencies in USAspending data |
MAJOR COMMAND | 2 | Military major command (e.g., Army Materiel Command) |
SUB COMMAND | 3 | Military sub-command within a major command |
OFFICE | 3+ | Sub-agencies, bureaus, and offices at various depths within the hierarchy |
Expansions¶
The following expansions are available via the shape query parameter to include related data:
parent¶
Returns the immediate parent organization with the following fields:
keyfh_key(zero-padded)nameshort_nametypelevelis_activecodecgac
ancestors¶
Returns a list of all ancestor organizations from the top-level department down to the immediate parent. Each ancestor includes:
fh_key(zero-padded)nameshort_namelevel
children¶
Returns a list of immediate child organizations (prefetched for performance). Each child includes:
keyfh_key(zero-padded)nameshort_nametypelevelis_activecodecgac
department¶
Returns the L1 (department-level) ancestor formatted as a legacy-compatible department object. Returns null for level 1 organizations (a department doesn't have a department — it is one).
code— the department's CGAC codename— the department's full nameabbreviation— the department's short name / abbreviation
agency¶
Returns the L2 (agency-level) ancestor formatted as a legacy-compatible agency object. Returns null for level 1 and 2 organizations (no agency above them).
code— the agency's FPDS codename— the agency's full nameabbreviation— the agency's short name (resolved via cached lookup)
Data Sources¶
Organization data is consolidated from multiple authoritative sources with a priority-based system:
-
Federal Hierarchy (SAM.gov) - The authoritative source for federal organization structure. Provides the canonical hierarchy, names, and parent-child relationships.
-
USAspending - Supplements Federal Hierarchy with operational codes (CGAC, FPDS codes) and obligation data that appear in financial transactions.
-
Legacy FPDS - Historical organization data from the Federal Procurement Data System, used to backfill organizations that appear in contract transactions but are missing from current reference sources.
Higher-priority sources are never overwritten by lower-priority ones, ensuring that Federal Hierarchy's authoritative structure is preserved while other sources fill in the gaps.
Example Response¶
The following example shows a default response (no ?shape= parameter):
{
"key": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"fh_key": "100012345",
"name": "Federal Emergency Management Agency",
"short_name": "FEMA",
"type": "AGENCY",
"level": 2,
"is_active": true,
"code": "7022",
"fpds_code": "7022",
"cgac": "070",
"canonical_code": "L2:7022",
"parent_fh_key": "100000123",
"full_parent_path_name": "Department of Homeland Security > Federal Emergency Management Agency"
}
The following example shows a shaped response with legacy-compatible expands:
/api/organizations/?shape=fh_key,name,type,department(code,name),agency(code,name,abbreviation)&level=3
{
"fh_key": "047020017",
"name": "FA8219 AFLCMC EGLIN",
"type": "OFFICE",
"department": {
"code": "097",
"name": "DEPT OF DEFENSE"
},
"agency": {
"code": "5700",
"name": "DEPT OF THE AIR FORCE",
"abbreviation": "USAF"
}
}
Usage Notes¶
- Use
fh_keyfor API lookups — The Organizations API usesfh_keyin the detail URL:GET /api/organizations/{fh_key}/. Thefh_keyis returned as a zero-padded 9-character string (e.g.,"000000001"). - Use
keyas an internal identifier —keyis Tango's internal UUID primary key and may be useful for internal joins/debugging. - Use code lookups for transaction matching — When matching contract or financial assistance transactions, use the specific code type (
cgac,fpds_code,code) that appears in your source data. - Use the
searchparameter for discovery — The/api/organizations/?search=endpoint handles abbreviations, acronyms, typos, and contextual queries (e.g., "Treasury OIG"). - Level behavior for
department/agencyexpands — Thedepartmentexpand is defined for level 2+ orgs; theagencyexpand is defined for level 3+ orgs. When these expands are requested on orgs below the applicable level, the corresponding field is included in the response asnull(no error is raised). Filter bylevelif you want to avoidnullvalues in list responses.