init (#3246)
This commit is contained in:
Родитель
696824b182
Коммит
305e4d68d6
|
@ -0,0 +1,62 @@
|
|||
# GSA Site Scanning
|
||||
|
||||
The GSA Site Scanning API provides detailed insights into the health, compliance, and performance of US federal websites through three main operations. These operations are designed to analyze website data thoroughly, retrieve website information in bulk or individually, and offer granular details for specific URLs. For a detailed understanding of how the GSA Site Scanning API works, and for additional endpoint details, refer to the official [GSA Site Scanning API documentation](https://open.gsa.gov/api/site-scanning-api/).
|
||||
|
||||
## Publisher: Richard Wilson
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you can start using the GSA Site Scanning API, you'll need to obtain a free API key. This key will be used to authenticate your requests to the API. Obtaining the key is a straightforward process, which can be done through the GSA Site Scanning API website. Once you have the key, you'll be able to make API requests to access the site scanning data.
|
||||
|
||||
## Supported Operations
|
||||
|
||||
### Perform Website Analysis
|
||||
|
||||
Performs an in-depth analysis of websites, assessing various aspects such as compliance, performance, and accessibility.
|
||||
|
||||
- **Inputs**:
|
||||
- **Target URL Domain**: Specifies the starting domain (including TLD) for the scan.
|
||||
- **Final URL Domain**: The domain (including TLD) where the scan ends after following redirects.
|
||||
- **Final URL Live**: Indicates if the final URL is actively serving content.
|
||||
- **Target URL Redirects**: Whether the target URL initiates any redirects.
|
||||
- **Target URL Agency Owner**: The agency owning or operating the website.
|
||||
- **Target URL Bureau Owner**: The bureau owning or operating the website.
|
||||
- **Scan Status**: The status of the website scan (e.g., completed, timeout, dns_resolution_error).
|
||||
- **DAP Detected at Final URL**: Detects if the Digital Analytics Program (DAP) is present at the final URL.
|
||||
- **Outputs**:
|
||||
- Comprehensive analysis results, including status, performance metrics, and compliance with digital standards.
|
||||
|
||||
### Retrieve Website Information
|
||||
|
||||
Fetches detailed information about websites, offering insights into target and final URLs, ownership, scan status, and more.
|
||||
|
||||
- **Inputs**:
|
||||
- **Target URL Domain**: The starting point domain for the scan.
|
||||
- **Final URL Domain**: The endpoint domain after redirects.
|
||||
- **Final URL Live**: Indicates if content is successfully served at the final URL.
|
||||
- **Target URL Redirects**: Whether the target URL is redirected to another URL.
|
||||
- **Target URL Agency Owner**: Identifies the agency managing the website.
|
||||
- **Target URL Bureau Owner**: Identifies the bureau managing the website.
|
||||
- **Scan Status**: Reflects the outcome of the website scan.
|
||||
- **DAP Detected at Final URL**: Shows if the Digital Analytics Program (DAP) is found at the final URL.
|
||||
- **Limit**: Specifies the number of results per page.
|
||||
- **Page**: Determines the page number of results to display.
|
||||
- **Outputs**:
|
||||
- Paginated and detailed information on websites, including analytics and compliance data.
|
||||
|
||||
### Retrieve Website Information by URL
|
||||
|
||||
Provides specific information about a website based on its URL, including details on redirects, CMS, and analytics presence.
|
||||
|
||||
- **Inputs**:
|
||||
- **Website URL**: The exact URL of the website to analyze.
|
||||
- **Outputs**:
|
||||
- Detailed data about the website, including analytics detection, compliance status, and technical specifications.
|
||||
|
||||
## Obtaining Credentials
|
||||
|
||||
To access the GSA Site Scanning API, an API key is required. You can obtain this key from the [GSA Site Scanning API website](https://open.gsa.gov/api/site-scanning-api/).
|
||||
|
||||
## Known Issues and Limitations
|
||||
|
||||
Currently, no known issues or limitations exist. Always refer to this section for updated information.
|
|
@ -0,0 +1,902 @@
|
|||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"contact": {
|
||||
"email": "richard.a.wilson@microsoft.com",
|
||||
"name": "Richard Wilson",
|
||||
"url": "https://www.richardawilson.com/"
|
||||
},
|
||||
"description": "Explore comprehensive insights into the health and compliance of US federal websites, offering a window into the dynamics and standards of the federal web presence. Through automated scans, this service generates detailed data on website policy compliance and best practices, enhancing the accessibility and management of government digital assets.",
|
||||
"title": "GSA Site Scanning",
|
||||
"version": "2.0"
|
||||
},
|
||||
"host": "api.gsa.gov",
|
||||
"basePath": "/technology/site-scanning/v1",
|
||||
"schemes": [
|
||||
"https"
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/analysis": {
|
||||
"get": {
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"description": "The domain name plus the top-level domain (TLD) of the Target URL Domain. This parameter specifies the starting point of the scanner, contrasting with the Final URL Domain where the scan concludes after redirects.",
|
||||
"in": "query",
|
||||
"name": "target_url_domain",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "gsa.gov",
|
||||
"x-ms-summary": "Target URL Domain"
|
||||
},
|
||||
{
|
||||
"description": "The domain name plus the top-level domain (TLD) of the Final URL Domain. The Final URL Domain is where the scanner ends up after following redirects, in contrast to the Target URL Domain.",
|
||||
"in": "query",
|
||||
"name": "final_url_domain",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "gsa.gov",
|
||||
"x-ms-summary": "Final URL Domain"
|
||||
},
|
||||
{
|
||||
"description": "Indicates whether the Final URL is live by returning an HTTP status code in the 2xx family.",
|
||||
"in": "query",
|
||||
"name": "final_url_live",
|
||||
"required": false,
|
||||
"type": "boolean",
|
||||
"x-example": true,
|
||||
"x-ms-summary": "Final URL Live"
|
||||
},
|
||||
{
|
||||
"description": "A boolean value indicating whether the Target URL redirects, which occurs when a 3xx HTTP status code is returned. Note that scanners have caching disabled, so 304 HTTP status codes are not present.",
|
||||
"in": "query",
|
||||
"name": "target_url_redirects",
|
||||
"required": false,
|
||||
"type": "boolean",
|
||||
"x-example": true,
|
||||
"x-ms-summary": "Target URL Redirects"
|
||||
},
|
||||
{
|
||||
"description": "Specifies the agency that owns or operates the website associated with the Target URL.",
|
||||
"in": "query",
|
||||
"name": "target_url_agency_owner",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "Department of Energy",
|
||||
"x-ms-summary": "Target URL Agency Owner"
|
||||
},
|
||||
{
|
||||
"description": "Specifies the bureau that owns or operates the website associated with the Target URL.",
|
||||
"in": "query",
|
||||
"name": "target_url_bureau_owner",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "Argonne National Laboratory",
|
||||
"x-ms-summary": "Target URL Bureau Owner"
|
||||
},
|
||||
{
|
||||
"description": "Captures the status of the website scan and any known reasons for failure. The value unknown_error is reserved for errors not yet encoded in the system.",
|
||||
"enum": [
|
||||
"completed",
|
||||
"timeout",
|
||||
"dns_resolution_error",
|
||||
"unknown_error",
|
||||
"invalid_ssl_cert",
|
||||
"connection_refused",
|
||||
"connection_reset"
|
||||
],
|
||||
"in": "query",
|
||||
"name": "primary_scan_status",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "completed",
|
||||
"x-ms-summary": "Scan Status"
|
||||
},
|
||||
{
|
||||
"description": "A boolean value indicating whether the Digital Analytics Program (DAP) is detected at the Final URL.",
|
||||
"in": "query",
|
||||
"name": "dap_detected_final_url",
|
||||
"required": false,
|
||||
"type": "boolean",
|
||||
"x-example": true,
|
||||
"x-ms-summary": "DAP Detected at Final URL"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response from the API, providing a detailed analysis of the website.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/AnalysisDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Performs a comprehensive analysis of websites based on various parameters such as target URL, final URL, and scan status.",
|
||||
"operationId": "AnalysisController_getResults",
|
||||
"summary": "Perform Website Analysis"
|
||||
}
|
||||
},
|
||||
"/websites": {
|
||||
"get": {
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"description": "The domain name plus the top-level domain (TLD) of the Target URL Domain. The Target URL is where the scanner starts, contrasting with the Final URL, where the scanner ends after redirects.",
|
||||
"in": "query",
|
||||
"name": "target_url_domain",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "gsa.gov",
|
||||
"x-ms-summary": "Target URL Domain"
|
||||
},
|
||||
{
|
||||
"description": "The domain name plus the top-level domain (TLD) of the Final URL Domain. The Final URL is where the scanner ends after following redirects, in contrast to the Target URL.",
|
||||
"in": "query",
|
||||
"name": "final_url_domain",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "gsa.gov",
|
||||
"x-ms-summary": "Final URL Domain"
|
||||
},
|
||||
{
|
||||
"description": "Indicates whether the Final URL is live, returning an HTTP status code in the 2xx family.",
|
||||
"in": "query",
|
||||
"name": "final_url_live",
|
||||
"required": false,
|
||||
"type": "boolean",
|
||||
"x-example": true,
|
||||
"x-ms-summary": "Final URL Live"
|
||||
},
|
||||
{
|
||||
"description": "Records if the Target URL redirects (true if a 3xx HTTP status code is returned). Scanners have caching disabled, thus 304 status codes are absent.",
|
||||
"in": "query",
|
||||
"name": "target_url_redirects",
|
||||
"required": false,
|
||||
"type": "boolean",
|
||||
"x-example": true,
|
||||
"x-ms-summary": "Target URL Redirects"
|
||||
},
|
||||
{
|
||||
"description": "The agency that owns or operates the website associated with the Target URL.",
|
||||
"in": "query",
|
||||
"name": "target_url_agency_owner",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "Department of Energy",
|
||||
"x-ms-summary": "Target URL Agency Owner"
|
||||
},
|
||||
{
|
||||
"description": "The bureau that owns or operates the website associated with the Target URL.",
|
||||
"in": "query",
|
||||
"name": "target_url_bureau_owner",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "Argonne National Laboratory",
|
||||
"x-ms-summary": "Target URL Bureau Owner"
|
||||
},
|
||||
{
|
||||
"description": "Captures the status of the scan and any known reason for failure. unknown_error is reserved for unencoded errors.",
|
||||
"enum": [
|
||||
"completed",
|
||||
"timeout",
|
||||
"dns_resolution_error",
|
||||
"unknown_error",
|
||||
"invalid_ssl_cert",
|
||||
"connection_refused",
|
||||
"connection_reset"
|
||||
],
|
||||
"in": "query",
|
||||
"name": "primary_scan_status",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"x-example": "completed",
|
||||
"x-ms-summary": "Scan Status"
|
||||
},
|
||||
{
|
||||
"description": "Indicates if the Digital Analytics Program (DAP) is detected at the Final URL.",
|
||||
"in": "query",
|
||||
"name": "dap_detected_final_url",
|
||||
"required": false,
|
||||
"type": "boolean",
|
||||
"x-example": true,
|
||||
"x-ms-summary": "DAP Detected at Final URL"
|
||||
},
|
||||
{
|
||||
"name": "limit",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"description": "Specifies the number of items to return in a single page of results.",
|
||||
"x-example": "10",
|
||||
"type": "integer",
|
||||
"maximum": 100,
|
||||
"x-ms-summary": "Limit"
|
||||
},
|
||||
{
|
||||
"name": "page",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"description": "Specifies the page number of the results to retrieve.",
|
||||
"x-example": "1",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Page"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response from the API, returning website details.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/PaginatedWebsiteResponseDto"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Indicates an internal error with the API."
|
||||
}
|
||||
},
|
||||
"description": "Fetches details about websites, including the target and final URLs, ownership, scan status, and analytics detection.",
|
||||
"operationId": "WebsiteController_getResults",
|
||||
"summary": "Retrieve Website Information",
|
||||
"x-ms-openai-data": {
|
||||
"openai-enabled": false,
|
||||
"operations": [
|
||||
{
|
||||
"operationId": "WebsiteController_getResults",
|
||||
"x-ms-require-user-confirmation": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"/websites/{url}": {
|
||||
"get": {
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"description": "The URL of the website to retrieve information for. This should include the domain name and any relevant path components.",
|
||||
"in": "path",
|
||||
"name": "url",
|
||||
"required": true,
|
||||
"type": "string",
|
||||
"x-ms-summary": "Website URL",
|
||||
"x-ms-visibility": "important",
|
||||
"x-ms-url-encoding": "single"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response from the API, returning detailed information about the specified website.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/WebsiteApiResultDto"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "The specified URL was not found in the database, indicating no matching website information is available."
|
||||
},
|
||||
"500": {
|
||||
"description": "Indicates an internal server error occurred while processing the request."
|
||||
}
|
||||
},
|
||||
"description": "Fetches detailed information about a website based on the specified URL.",
|
||||
"operationId": "WebsiteController_getResultByUrl",
|
||||
"summary": "Retrieve Website Information by URL"
|
||||
}
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"AnalysisDto": {
|
||||
"properties": {
|
||||
"total": {
|
||||
"description": "The total number of items analyzed.",
|
||||
"title": "Total Analyzed Items",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Total Analyzed Items"
|
||||
},
|
||||
"totalAgencies": {
|
||||
"description": "The total number of agencies for which the websites were analyzed.",
|
||||
"title": "Total Agencies Analyzed",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Total Agencies Analyzed"
|
||||
},
|
||||
"totalFinalUrlBaseDomains": {
|
||||
"description": "The total number of unique final URL base domains analyzed.",
|
||||
"title": "Total Final URL Base Domains",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Total Final URL Base Domains"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"PaginatedWebsiteResponseDto": {
|
||||
"properties": {
|
||||
"items": {
|
||||
"description": "An array of website results.",
|
||||
"items": {
|
||||
"$ref": "#/definitions/WebsiteApiResultDto"
|
||||
},
|
||||
"title": "Website Items",
|
||||
"type": "array",
|
||||
"x-ms-summary": "Website Items"
|
||||
},
|
||||
"links": {
|
||||
"properties": {
|
||||
"first": {
|
||||
"description": "A link to the first page of results.",
|
||||
"example": "/websites/?page=1&limit=1",
|
||||
"title": "First Page Link",
|
||||
"type": "string",
|
||||
"x-ms-summary": "First Page Link"
|
||||
},
|
||||
"last": {
|
||||
"description": "A link to the last page of results.",
|
||||
"example": "/websites/?page=1000&limit=1",
|
||||
"title": "Last Page Link",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Last Page Link"
|
||||
},
|
||||
"next": {
|
||||
"description": "A link to the next page of results. On the last page of results, this will be an empty string.",
|
||||
"example": "/websites/?page=3&limit=1",
|
||||
"title": "Next Page Link",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Next Page Link"
|
||||
},
|
||||
"previous": {
|
||||
"description": "A link to the previous page of results. On the first page of results, this will be an empty string.",
|
||||
"example": "/websites/?page=1&limit=1",
|
||||
"title": "Previous Page Link",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Previous Page Link"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"description": "Links for pagination navigation: first, previous, next, and last pages.",
|
||||
"title": "Pagination Links",
|
||||
"x-ms-summary": "Pagination Links"
|
||||
},
|
||||
"meta": {
|
||||
"properties": {
|
||||
"currentPage": {
|
||||
"description": "The current page number.",
|
||||
"example": 2,
|
||||
"title": "Current Page",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Current Page"
|
||||
},
|
||||
"itemCount": {
|
||||
"description": "The number of items in the PaginationResponseDto.items array.",
|
||||
"example": 1,
|
||||
"title": "Item Count",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Item Count"
|
||||
},
|
||||
"itemsPerPage": {
|
||||
"description": "The number of items per page. This should be the same as the limit query parameter.",
|
||||
"example": 1,
|
||||
"title": "Items Per Page",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Items Per Page"
|
||||
},
|
||||
"totalItems": {
|
||||
"description": "The total number of items that match the query.",
|
||||
"example": 1000,
|
||||
"title": "Total Items",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Total Items"
|
||||
},
|
||||
"totalPages": {
|
||||
"description": "The total number of pages, calculated as floor(totalItems / itemsPerPage).",
|
||||
"example": 1000,
|
||||
"title": "Total Pages",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Total Pages"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"description": "Metadata related to pagination of the results, including total items and pages.",
|
||||
"title": "Pagination Metadata",
|
||||
"x-ms-summary": "Pagination Metadata"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"WebsiteApiResultDto": {
|
||||
"properties": {
|
||||
"canonical_link": {
|
||||
"description": "Indicates the presence of a canonical link tag.",
|
||||
"example": "\"https://18f.gsa.gov/",
|
||||
"title": "Canonical Link",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Canonical Link"
|
||||
},
|
||||
"cloud_dot_gov_pages": {
|
||||
"description": "Indicates that the final URL is hosted using Cloud.gov Pages.",
|
||||
"example": true,
|
||||
"title": "Cloud.gov Pages Hosting",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Cloud.gov Pages Hosting"
|
||||
},
|
||||
"cms": {
|
||||
"description": "Indicates the content management system used to host the final URL.",
|
||||
"example": "WordPress",
|
||||
"title": "Content Management System (CMS)",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Content Management System (CMS)"
|
||||
},
|
||||
"dap_detected_final_url": {
|
||||
"description": "A boolean representing the presence of the Digital Analytics Program on the final URL.",
|
||||
"example": true,
|
||||
"title": "DAP Detected at Final URL",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "DAP Detected at Final URL"
|
||||
},
|
||||
"dap_parameters_final_url": {
|
||||
"description": "An object with Digital Analytics Program parameter keys and values at the final URL.",
|
||||
"title": "DAP Parameters at Final URL",
|
||||
"type": "object",
|
||||
"x-ms-summary": "DAP Parameters at Final URL"
|
||||
},
|
||||
"dns_hostname": {
|
||||
"description": "The domain of the underlying system, often suggesting the use of a cloud or CDN provider.",
|
||||
"example": "cloudfront.net",
|
||||
"title": "DNS Hostname",
|
||||
"type": "string",
|
||||
"x-ms-summary": "DNS Hostname"
|
||||
},
|
||||
"final_url": {
|
||||
"description": "The URL after any redirects from the target URL.",
|
||||
"example": "https://18f.gsa.gov/",
|
||||
"title": "Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Final URL"
|
||||
},
|
||||
"final_url_MIMEType": {
|
||||
"description": "The MIME type of the final URL extracted from the Content-Type header.",
|
||||
"example": "text/html",
|
||||
"title": "Final URL MIME Type",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Final URL MIME Type"
|
||||
},
|
||||
"final_url_domain": {
|
||||
"description": "The domain name + top-level domain of the final URL.",
|
||||
"example": "gsa.gov",
|
||||
"title": "Final URL Domain",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Final URL Domain"
|
||||
},
|
||||
"final_url_live": {
|
||||
"description": "A boolean representing whether the final URL returned a 2xx family HTTP status code.",
|
||||
"example": true,
|
||||
"title": "Final URL Live",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Final URL Live"
|
||||
},
|
||||
"final_url_same_domain": {
|
||||
"description": "A boolean field representing whether the final URL is in the same domain as the target URL. If false, this implies a redirect.",
|
||||
"example": false,
|
||||
"title": "Final URL Same Domain",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Final URL Same Domain"
|
||||
},
|
||||
"final_url_same_website": {
|
||||
"description": "Indicates if the final URL has a different path or domain from the target URL.",
|
||||
"example": false,
|
||||
"title": "Final URL Same Website",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Final URL Same Website"
|
||||
},
|
||||
"final_url_status_code": {
|
||||
"description": "The HTTP status code of the final URL.",
|
||||
"example": 200,
|
||||
"title": "Final URL Status Code",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Final URL Status Code"
|
||||
},
|
||||
"final_url_website": {
|
||||
"description": "Includes the subdomain and the top-level domain of the final URL.",
|
||||
"example": "www.gsa.gov",
|
||||
"title": "Final URL Website",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Final URL Website"
|
||||
},
|
||||
"main_element_present_final_url": {
|
||||
"description": "Indicates whether the <main> element is present at the final URL.",
|
||||
"example": true,
|
||||
"title": "Main Element Presence at Final URL",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Main Element Presence at Final URL"
|
||||
},
|
||||
"og_article_modified_final_url": {
|
||||
"description": "The Open Graph article modified tag if available on the final URL.",
|
||||
"title": "Open Graph Article Modified Date at Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Open Graph Article Modified Date at Final URL"
|
||||
},
|
||||
"og_article_published_final_url": {
|
||||
"description": "The Open Graph article published tag if available on the final URL.",
|
||||
"title": "Open Graph Article Published Date at Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Open Graph Article Published Date at Final URL"
|
||||
},
|
||||
"og_description_final_url": {
|
||||
"description": "The Open Graph description tag if found on the final URL.",
|
||||
"example": "18F builds effective, user-centric digital services focused on the interaction between government and the people and businesses it serves.",
|
||||
"title": "Open Graph Description at Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Open Graph Description at Final URL"
|
||||
},
|
||||
"og_title_final_url": {
|
||||
"description": "The Open Graph title tag if found on the final URL.",
|
||||
"example": "18F: Digital service delivery | Home",
|
||||
"title": "Open Graph Title at Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Open Graph Title at Final URL"
|
||||
},
|
||||
"robots_txt_crawl_delay": {
|
||||
"description": "The crawl delay value in seconds, if present in the robots.txt file.",
|
||||
"example": 3,
|
||||
"title": "Robots.txt Crawl Delay",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Robots.txt Crawl Delay"
|
||||
},
|
||||
"robots_txt_detected": {
|
||||
"description": "Indicates whether the robots.txt file is detected.",
|
||||
"example": true,
|
||||
"title": "Robots.txt Detected",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Robots.txt Detected"
|
||||
},
|
||||
"robots_txt_final_url": {
|
||||
"description": "The final URL of the robots.txt file after any redirects.",
|
||||
"example": "https://18f.gsa.gov/robots.txt",
|
||||
"title": "Robots.txt Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Robots.txt Final URL"
|
||||
},
|
||||
"robots_txt_final_url_MIMETYPE": {
|
||||
"description": "The MIME type of the robots.txt page extracted from the Content-Type header.",
|
||||
"example": "text/plain",
|
||||
"title": "Robots.txt Final URL MIME Type",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Robots.txt Final URL MIME Type"
|
||||
},
|
||||
"robots_txt_final_url_live": {
|
||||
"description": "Indicates whether the robots.txt final URL HTTP status is in the 2xx family.",
|
||||
"example": true,
|
||||
"title": "Robots.txt Final URL Live",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Robots.txt Final URL Live"
|
||||
},
|
||||
"robots_txt_final_url_size_in_bytes": {
|
||||
"description": "The file size of the robots.txt file in bytes.",
|
||||
"example": 65,
|
||||
"title": "Robots.txt Final URL Size in Bytes",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Robots.txt Final URL Size in Bytes"
|
||||
},
|
||||
"robots_txt_final_url_status_code": {
|
||||
"description": "The HTTP status code of the robots.txt final URL.",
|
||||
"example": 200,
|
||||
"title": "Robots.txt Final URL Status Code",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Robots.txt Final URL Status Code"
|
||||
},
|
||||
"robots_txt_target_url_redirects": {
|
||||
"description": "Indicates whether the target robots.txt URL redirects. This targets the robots.txt file specifically.",
|
||||
"example": true,
|
||||
"title": "Robots.txt Target URL Redirects",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Robots.txt Target URL Redirects"
|
||||
},
|
||||
"scan_date": {
|
||||
"description": "The datetime when the scan was performed.",
|
||||
"example": "2020-12-30T00:00:03.821Z",
|
||||
"title": "Scan Date",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Scan Date"
|
||||
},
|
||||
"primary_scan_status": {
|
||||
"description": "The success status of the Core Scan.",
|
||||
"enum": [
|
||||
"completed",
|
||||
"timeout",
|
||||
"dns_resolution_error",
|
||||
"unknown_error",
|
||||
"invalid_ssl_cert",
|
||||
"connection_refused",
|
||||
"connection_reset"
|
||||
],
|
||||
"example": "completed",
|
||||
"title": "Scan Status",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Scan Status"
|
||||
},
|
||||
"sitemap_xml_count": {
|
||||
"description": "Indicates the number of <url> elements found in the sitemap.xml file.",
|
||||
"example": 600,
|
||||
"title": "Sitemap.xml URL Count",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Sitemap.xml URL Count"
|
||||
},
|
||||
"sitemap_xml_detected": {
|
||||
"description": "Indicates whether the sitemap.xml file is found.",
|
||||
"example": true,
|
||||
"title": "Sitemap.xml Detected",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sitemap.xml Detected"
|
||||
},
|
||||
"sitemap_xml_final_url": {
|
||||
"description": "The final URL of the sitemap.xml page after any redirects.",
|
||||
"example": "https://18f.gsa.gov/sitemap.xml",
|
||||
"title": "Sitemap.xml Final URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Sitemap.xml Final URL"
|
||||
},
|
||||
"sitemap_xml_final_url_MIMETYPE": {
|
||||
"description": "The MIME type of the sitemap.xml final URL extracted from the Content-Type header.",
|
||||
"example": "application/xml",
|
||||
"title": "Sitemap.xml Final URL MIME Type",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Sitemap.xml Final URL MIME Type"
|
||||
},
|
||||
"sitemap_xml_final_url_filesize": {
|
||||
"description": "The filesize of the sitemap.xml page in bytes.",
|
||||
"example": 95598,
|
||||
"title": "Sitemap.xml Final URL Filesize",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Sitemap.xml Final URL Filesize"
|
||||
},
|
||||
"sitemap_xml_final_url_live": {
|
||||
"description": "Indicates whether the sitemap.xml final URL status code is in the 2xx family.",
|
||||
"example": true,
|
||||
"title": "Sitemap.xml Final URL Live",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sitemap.xml Final URL Live"
|
||||
},
|
||||
"sitemap_xml_final_url_status_code": {
|
||||
"description": "The HTTP status code of the sitemap.xml page.",
|
||||
"example": 200,
|
||||
"title": "Sitemap.xml Final URL Status Code",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Sitemap.xml Final URL Status Code"
|
||||
},
|
||||
"sitemap_xml_pdf_count": {
|
||||
"description": "The number of URLs that have the PDF extension in the sitemap.xml.",
|
||||
"example": 0,
|
||||
"title": "Sitemap.xml PDF URL Count",
|
||||
"type": "integer",
|
||||
"x-ms-summary": "Sitemap.xml PDF URL Count"
|
||||
},
|
||||
"sitemap_xml_target_url_redirects": {
|
||||
"description": "Indicates whether the sitemap.xml page redirects. This targets the sitemap.xml file specifically.",
|
||||
"example": true,
|
||||
"title": "Sitemap.xml Target URL Redirects",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sitemap.xml Target URL Redirects"
|
||||
},
|
||||
"source_list_dap": {
|
||||
"description": "Indicates whether the Digital Analytics Program provided this URL for the Target URL List.",
|
||||
"example": true,
|
||||
"title": "Sourced from DAP List",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sourced from DAP List"
|
||||
},
|
||||
"source_list_federal_domains": {
|
||||
"description": "Indicates whether the List of Federal Domains provided this URL for the Target URL List.",
|
||||
"example": true,
|
||||
"title": "Sourced from Federal Domains List",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sourced from Federal Domains List"
|
||||
},
|
||||
"source_list_other": {
|
||||
"description": "Indicates whether a manually maintained list of additional websites provided this URL for the Target URL List.",
|
||||
"example": true,
|
||||
"title": "Sourced from Other Lists",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sourced from Other Lists"
|
||||
},
|
||||
"source_list_pulse": {
|
||||
"description": "Indicates whether the pulse.cio.gov Snapshot provided this URL for the Target URL List.",
|
||||
"example": true,
|
||||
"title": "Sourced from Pulse CIO List",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Sourced from Pulse CIO List"
|
||||
},
|
||||
"target_url": {
|
||||
"description": "The URL the scanner starts the scan with.",
|
||||
"example": "18f.gov",
|
||||
"title": "Target URL",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Target URL"
|
||||
},
|
||||
"target_url_404_test": {
|
||||
"description": "Tests whether the target URL properly handles 404s by calling a UUID-based pathname.",
|
||||
"example": true,
|
||||
"title": "Target URL 404 Test",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Target URL 404 Test"
|
||||
},
|
||||
"target_url_agency_owner": {
|
||||
"description": "The agency that owns the target URL.",
|
||||
"example": "General Services Administration",
|
||||
"title": "Target URL Agency Owner",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Target URL Agency Owner"
|
||||
},
|
||||
"target_url_branch": {
|
||||
"description": "The branch of government that the URL is associated with.",
|
||||
"example": "Executive",
|
||||
"title": "Target URL Government Branch",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Target URL Government Branch"
|
||||
},
|
||||
"target_url_bureau_owner": {
|
||||
"description": "The bureau that owns the target URL.",
|
||||
"example": "GSA,FAS,Technology Transformation Services",
|
||||
"title": "Target URL Bureau Owner",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Target URL Bureau Owner"
|
||||
},
|
||||
"target_url_domain": {
|
||||
"description": "The base domain (domain name + top-level domain) of the target URL.",
|
||||
"example": "18f.gov",
|
||||
"title": "Target URL Domain",
|
||||
"type": "string",
|
||||
"x-ms-summary": "Target URL Domain"
|
||||
},
|
||||
"target_url_redirects": {
|
||||
"description": "Indicates whether the target URL redirects.",
|
||||
"example": true,
|
||||
"title": "Target URL Redirects",
|
||||
"type": "boolean",
|
||||
"x-ms-summary": "Target URL Redirects"
|
||||
},
|
||||
"third_party_service_count": {
|
||||
"description": "The number of third-party services found.",
|
||||
"example": 3,
|
||||
"title": "Third-party Service Count",
|
||||
"type": "number",
|
||||
"x-ms-summary": "Third-party Service Count"
|
||||
},
|
||||
"third_party_service_domains": {
|
||||
"description": "A list of third-party services making outbound calls from the final URL. A third-party is defined as not matching the hostname of the URL.",
|
||||
"example": [
|
||||
"dap.digitalgov.gov",
|
||||
"fonts.googleapis.com",
|
||||
"www.google-analytics.com"
|
||||
],
|
||||
"title": "Third-party Service Domains",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array",
|
||||
"x-ms-summary": "Third-party Service Domains"
|
||||
},
|
||||
"uswds_count": {
|
||||
"description": "The total of all USWDS likelihood heuristics in a sum.",
|
||||
"example": 141,
|
||||
"title": "USWDS Count",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Count"
|
||||
},
|
||||
"uswds_favicon": {
|
||||
"description": "The presence of the USWDS US Flag favicon in HTML source. Presence adds 20 points to the USWDS likelihood heuristic.",
|
||||
"example": 20,
|
||||
"title": "USWDS Favicon",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Favicon"
|
||||
},
|
||||
"uswds_favicon_in_css": {
|
||||
"description": "The presence of the USWDS US Flag favicon in CSS source. Presence adds 20 points to the USWDS likelihood heuristic.",
|
||||
"example": 0,
|
||||
"title": "USWDS Favicon in CSS",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Favicon in CSS"
|
||||
},
|
||||
"uswds_inline_css": {
|
||||
"description": "The number of occurrences of .usa- CSS classes in inline HTML source.",
|
||||
"example": 0,
|
||||
"title": "USWDS Inline CSS",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Inline CSS"
|
||||
},
|
||||
"uswds_publicsans_font": {
|
||||
"description": "The presence of the Public Sans font in CSS source. Presence adds 20 points to the USWDS likelihood heuristic.",
|
||||
"example": 20,
|
||||
"title": "USWDS Public Sans Font",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Public Sans Font"
|
||||
},
|
||||
"uswds_semantic_version": {
|
||||
"description": "The semantic version string of USWDS.",
|
||||
"example": "2.9.0",
|
||||
"title": "USWDS Semantic Version",
|
||||
"type": "string",
|
||||
"x-ms-summary": "USWDS Semantic Version"
|
||||
},
|
||||
"uswds_source_sans_font": {
|
||||
"description": "The presence of the Source Sans font in CSS source. Presence adds 5 points to the USWDS likelihood heuristic.",
|
||||
"example": 5,
|
||||
"title": "USWDS Source Sans Font",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Source Sans Font"
|
||||
},
|
||||
"uswds_string": {
|
||||
"description": "The number of times the string uswds occurs in the HTML source.",
|
||||
"example": 1,
|
||||
"title": "USWDS String Occurrences",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS String Occurrences"
|
||||
},
|
||||
"uswds_string_in_css": {
|
||||
"description": "The number of occurrences of uswds in the CSS source.",
|
||||
"example": 20,
|
||||
"title": "USWDS String in CSS",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS String in CSS"
|
||||
},
|
||||
"uswds_tables": {
|
||||
"description": "A calculation of the (number of HTML <table> elements) * -10. <table> elements are a negative heuristic indicator of the presence of USWDS.",
|
||||
"example": 0,
|
||||
"title": "USWDS Tables",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Tables"
|
||||
},
|
||||
"uswds_usa_classes": {
|
||||
"description": "The number of CSS classes found that start with .usa-.",
|
||||
"example": 50,
|
||||
"title": "USWDS USA Classes",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS USA Classes"
|
||||
},
|
||||
"uswds_version": {
|
||||
"description": "The presence of the USWDS version in CSS source. Presence adds 20 points to the USWDS likelihood heuristic.",
|
||||
"example": 20,
|
||||
"title": "USWDS Version",
|
||||
"type": "number",
|
||||
"x-ms-summary": "USWDS Version"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"parameters": {},
|
||||
"responses": {},
|
||||
"securityDefinitions": {
|
||||
"API Key": {
|
||||
"type": "apiKey",
|
||||
"in": "header",
|
||||
"name": "x-api-key"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"API Key": []
|
||||
}
|
||||
],
|
||||
"tags": [],
|
||||
"x-components": {},
|
||||
"x-ms-connector-metadata": [
|
||||
{
|
||||
"propertyName": "Website",
|
||||
"propertyValue": "https://open.gsa.gov/api/site-scanning-api"
|
||||
},
|
||||
{
|
||||
"propertyName": "Privacy policy",
|
||||
"propertyValue": "https://www.gsa.gov/technology/government-it-initiatives/digital-strategy/terms-of-service-for-developer-resources"
|
||||
},
|
||||
{
|
||||
"propertyName": "Categories",
|
||||
"propertyValue": "IT Operations"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"properties": {
|
||||
"connectionParameters": {
|
||||
"api_key": {
|
||||
"type": "securestring",
|
||||
"uiDefinition": {
|
||||
"displayName": "GSA API Key",
|
||||
"description": "The GSA API key which can be obtained from https://open.gsa.gov/api/site-scanning-api/",
|
||||
"tooltip": "Provide your GSA API Key",
|
||||
"constraints": {
|
||||
"tabIndex": 2,
|
||||
"clearText": false,
|
||||
"required": "true"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iconBrandColor": "#da3b01",
|
||||
"capabilities": [],
|
||||
"policyTemplateInstances": [
|
||||
],
|
||||
"publisher": "Richard Wilson",
|
||||
"stackOwner": "General Services Administration"
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче