# method: derived # x-source-url: https://www.arc.gov/wp-json/ # generated: '2026-09-07' # Derived by the API Evangelist enrichment pipeline from the provider's own live # discovery document. The Appalachian Regional Commission publishes no OpenAPI. openapi: 3.1.0 info: title: ARC Programs API (WordPress REST wp/v2) version: wp/v2 summary: Anonymous read access to ARC investment priorities, local development districts, investments in action, events and staff. description: 'The programmatic side of the Appalachian Regional Commission''s WordPress content model, exposed as custom post types on the `wp/v2` namespace: the nine ARC investment priorities, the 74 Local Development Districts (also called Area Development Districts, Councils of Governments or Regional Planning and Development Commissions) that deliver ARC investment across the 423-county region, 17 Investments in Action success stories, 163 events, and 120 staff and state-partner profiles. Record counts observed live 2026-09-07. The `wp/v2` namespace at https://www.arc.gov/wp-json/ is readable anonymously — no key, no OAuth, no registration. Write methods are advertised on these same routes but reject anonymous callers (WordPress authenticates writes with Application Passwords over HTTP Basic), so only the GET surface is documented here. This document was DERIVED mechanically by API Evangelist from the route-discovery document served at https://www.arc.gov/wp-json/ on 2026-09-07 — every path, method and query parameter below is taken verbatim from that descriptor, and each collection route was called live to confirm it answers 200 anonymously. The Appalachian Regional Commission does not publish an OpenAPI definition of its own; this is the content API its CMS exposes, not a product API.' contact: name: Appalachian Regional Commission url: https://www.arc.gov/contact-arc/ license: name: U.S. Government Work url: https://www.arc.gov/arc-web-and-privacy-policy/ x-derived-by: API Evangelist enrichment pipeline x-derived-from: https://www.arc.gov/wp-json/ x-derived-on: '2026-09-07' x-provider-published: false servers: - url: https://www.arc.gov/wp-json description: Production (arc.gov WordPress REST API) tags: - name: Programs paths: /wp/v2/investment_priority: get: operationId: getInvestmentPriority summary: GET /wp/v2/investment_priority description: List ARC investment priorities (Building Appalachian Businesses, Building Appalachia's Workforce Ecosystem, Building Appalachia's Infrastructure, Building Regional Culture and Tourism, Building Community Leaders and Capacity). 9 records live on 2026-09-07. tags: - Programs parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: states_counties in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the states_counties taxonomy. - name: states_counties_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the states_counties taxonomy. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - draft-revision - pending-revision - future-revision - any default: publish description: Limit result set to posts assigned one or more statuses. - name: tax_relation in: query required: false schema: type: string enum: - AND - OR description: Limit result set based on relationship between multiple taxonomies. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/investment_priority/{id}: get: operationId: getInvestmentPriorityByid summary: GET /wp/v2/investment_priority/{id} description: Read `/wp/v2/investment_priority/{id}` from the WordPress REST API at https://www.arc.gov/wp-json. tags: - Programs parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the post. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/ldd: get: operationId: getLdd summary: GET /wp/v2/ldd description: List the Local Development Districts in the Appalachian Region. 74 records live on 2026-09-07. tags: - Programs parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: states_counties in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the states_counties taxonomy. - name: states_counties_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the states_counties taxonomy. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - draft-revision - pending-revision - future-revision - any default: publish description: Limit result set to posts assigned one or more statuses. - name: tax_relation in: query required: false schema: type: string enum: - AND - OR description: Limit result set based on relationship between multiple taxonomies. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/ldd/{id}: get: operationId: getLddByid summary: GET /wp/v2/ldd/{id} description: Read `/wp/v2/ldd/{id}` from the WordPress REST API at https://www.arc.gov/wp-json. tags: - Programs parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the post. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/success_story: get: operationId: getSuccessStory summary: GET /wp/v2/success_story description: List Investments in Action stories — funded projects profiled by ARC. 17 records live on 2026-09-07. tags: - Programs parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: global_type in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the global_type taxonomy. - name: global_type_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the global_type taxonomy. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: investment_priority_topic in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the investment_priority_topic taxonomy. - name: investment_priority_topic_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the investment_priority_topic taxonomy. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: states_counties in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the states_counties taxonomy. - name: states_counties_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the states_counties taxonomy. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - draft-revision - pending-revision - future-revision - any default: publish description: Limit result set to posts assigned one or more statuses. - name: tax_relation in: query required: false schema: type: string enum: - AND - OR description: Limit result set based on relationship between multiple taxonomies. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/success_story/{id}: get: operationId: getSuccessStoryByid summary: GET /wp/v2/success_story/{id} description: Read `/wp/v2/success_story/{id}` from the WordPress REST API at https://www.arc.gov/wp-json. tags: - Programs parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the post. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/event: get: operationId: getEvent summary: GET /wp/v2/event description: List ARC events, convenings, webinars and application deadlines. 163 records live on 2026-09-07. tags: - Programs parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: event_host in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the event_host taxonomy. - name: event_host_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the event_host taxonomy. - name: event_topic in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the event_topic taxonomy. - name: event_topic_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the event_topic taxonomy. - name: event_type in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the event_type taxonomy. - name: event_type_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the event_type taxonomy. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: investment_priority_topic in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the investment_priority_topic taxonomy. - name: investment_priority_topic_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the investment_priority_topic taxonomy. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: month in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the month taxonomy. - name: month_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the month taxonomy. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: states_counties in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the states_counties taxonomy. - name: states_counties_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the states_counties taxonomy. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - draft-revision - pending-revision - future-revision - any default: publish description: Limit result set to posts assigned one or more statuses. - name: tax_relation in: query required: false schema: type: string enum: - AND - OR description: Limit result set based on relationship between multiple taxonomies. - name: tax_year in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the tax_year taxonomy. - name: tax_year_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the tax_year taxonomy. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/event/{id}: get: operationId: getEventByid summary: GET /wp/v2/event/{id} description: Read `/wp/v2/event/{id}` from the WordPress REST API at https://www.arc.gov/wp-json. tags: - Programs parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the post. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/staff: get: operationId: getStaff summary: GET /wp/v2/staff description: List ARC staff profiles and state-partner contacts. 120 records live on 2026-09-07. tags: - Programs parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: staff_topic in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the staff_topic taxonomy. - name: staff_topic_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the staff_topic taxonomy. - name: staff_type in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the staff_type taxonomy. - name: staff_type_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the staff_type taxonomy. - name: state_partner_role in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the state_partner_role taxonomy. - name: state_partner_role_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the state_partner_role taxonomy. - name: states_counties in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the states_counties taxonomy. - name: states_counties_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the states_counties taxonomy. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - draft-revision - pending-revision - future-revision - any default: publish description: Limit result set to posts assigned one or more statuses. - name: tax_relation in: query required: false schema: type: string enum: - AND - OR description: Limit result set based on relationship between multiple taxonomies. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' /wp/v2/staff/{id}: get: operationId: getStaffByid summary: GET /wp/v2/staff/{id} description: Read `/wp/v2/staff/{id}` from the WordPress REST API at https://www.arc.gov/wp-json. tags: - Programs parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the post. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: Success. JSON body; collection routes also return `X-WP-Total` and `X-WP-TotalPages` headers. headers: X-WP-Total: description: Total number of records matching the query. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current `per_page`. schema: type: integer content: application/json: schema: {} '400': description: Bad request — an invalid parameter was supplied. Body is the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/RestError' '401': description: Unauthorized — the route requires an authenticated WordPress user. content: application/json: schema: $ref: '#/components/schemas/RestError' '403': description: Forbidden — the capability is disabled for anonymous callers. content: application/json: schema: $ref: '#/components/schemas/RestError' '404': description: Not found — no resource exists with the supplied identifier. content: application/json: schema: $ref: '#/components/schemas/RestError' components: schemas: RestError: type: object description: WordPress REST API error envelope. Observed live on 2026-09-07 (for example `rest_comment_disabled`, `rest_forbidden`, `rest_user_cannot_view`). properties: code: type: string description: Machine-readable error slug, e.g. `rest_forbidden`. message: type: string description: Human-readable message. data: type: object properties: status: type: integer description: HTTP status code. required: - code - message