OpenAPI Specification
swagger: '2.0'
info:
title: eCFR API Documentation Admin Service Search Service API
description: Access eCFR metadata through JSON
host: www.ecfr.gov
tags:
- name: Search Service
description: Historical search of the eCFR
paths:
/api/search/v1/results:
get:
summary: Search results
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: per_page
description: number of results per page; max of 1,000
default: 20
in: query
type: integer
- name: page
description: page of results; can't paginate beyond 10,000 total results
default: 1
in: query
type: integer
- name: order
description: order of results
in: query
type: string
default: relevance
enum:
- citations
- relevance
- hierarchy
- newest_first
- oldest_first
- suggestions
- name: paginate_by
description: how results should be paginated - 'date' will group results so that all results from a date appear on the same page of pagination. If 'date' is chosen then one of the last_modified_* options is required.
in: query
type: string
default: results
enum:
- date
- results
responses:
'200':
description: Success
schema:
type: object
properties:
results:
type: array
description: A set of sections and appendices that match the provided query params
meta:
type: object
properties:
description:
type: string
description: description of the search results
current_page:
type: integer
description: current page of results
total_count:
type: integer
description: total count of matching results across all pages
total_pages:
type: integer
description: total number of pages in the search results
max_score:
type: number
format: float
description: the maximum score of any match in the search
min_date:
type: string
format: date
description: the minimum date of all returned results (returned when paginate_by=date option is provided)
max_date:
type: string
format: date
description: the maximum date of all returned results (returned when paginate_by=date option is provided)
'405':
description: Invalid input
tags:
- Search Service
/api/search/v1/count:
get:
summary: Search result count
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
responses:
'200':
description: Success
'405':
description: Invalid input
tags:
- Search Service
/api/search/v1/summary:
get:
summary: Search summary details
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
responses:
'200':
description: Success
'405':
description: Invalid input
tags:
- Search Service
/api/search/v1/counts/daily:
get:
summary: Search result counts by date
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
responses:
'200':
description: Success
'405':
description: Invalid input
tags:
- Search Service
/api/search/v1/counts/titles:
get:
summary: Search result counts by title
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
responses:
'200':
description: Success
'405':
description: Invalid input
tags:
- Search Service
/api/search/v1/counts/hierarchy:
get:
summary: Search result counts by hierarchy
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
responses:
'200':
description: Success
'405':
description: Invalid input
tags:
- Search Service
/api/search/v1/suggestions:
get:
summary: Search suggestions
parameters:
- name: query
description: Search term; searches the headings and the full text
in: query
type: string
- name: agency_slugs[]
description: limit to content currently associated with these agencies (see AdminService agencies endpoint to retrieve a list of agency slugs)
in: query
type: array
items:
type: string
style: form
explode: true
collectionFormat: multi
- name: date
description: limit to content present on this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_after
description: limit to content last modified after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_after
description: limit to content last modified on or after this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_before
description: limit to content last modified before this date (YYYY-MM-DD)
in: query
type: string
format: date
- name: last_modified_on_or_before
description: limit to content last modified on or before this date (YYYY-MM-DD)
in: query
type: string
format: date
responses:
'200':
description: Success
'405':
description: Invalid input
tags:
- Search Service