305 lines
9.3 KiB
YAML
Vendored
305 lines
9.3 KiB
YAML
Vendored
# DEMO for DataFrame, this might differ from the actual API (it's updated a bit)
|
|
openapi: 3.0.0
|
|
info:
|
|
version: 2.0.2
|
|
title: APIs.guru
|
|
description: >
|
|
Wikipedia for Web APIs. Repository of API specs in OpenAPI format.
|
|
|
|
|
|
**Warning**: If you want to be notified about changes in advance please join our [Slack channel](https://join.slack.com/t/mermade/shared_invite/zt-g78g7xir-MLE_CTCcXCdfJfG3CJe9qA).
|
|
|
|
|
|
Client sample: [[Demo]](https://apis.guru/simple-ui) [[Repo]](https://github.com/APIs-guru/simple-ui)
|
|
contact:
|
|
name: APIs.guru
|
|
url: https://APIs.guru
|
|
email: mike.ralphson@gmail.com
|
|
license:
|
|
name: CC0 1.0
|
|
url: https://github.com/APIs-guru/openapi-directory#licenses
|
|
x-logo:
|
|
url: https://apis.guru/branding/logo_vertical.svg
|
|
externalDocs:
|
|
url: https://github.com/APIs-guru/openapi-directory/blob/master/API.md
|
|
security: [ ]
|
|
tags:
|
|
- name: APIs
|
|
description: Actions relating to APIs in the collection
|
|
paths:
|
|
/list.json:
|
|
get:
|
|
operationId: listAPIs
|
|
tags:
|
|
- APIs
|
|
summary: List all APIs
|
|
description: >
|
|
List all APIs in the directory.
|
|
|
|
Returns links to OpenAPI specification for each API in the directory.
|
|
|
|
If API exist in multiple versions `preferred` one is explicitly marked.
|
|
|
|
|
|
Some basic info from OpenAPI spec is cached inside each object.
|
|
|
|
This allows to generate some simple views without need to fetch OpenAPI spec for each API.
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json; charset=utf-8:
|
|
schema:
|
|
$ref: "#/components/schemas/APIs"
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/APIs"
|
|
/metrics.json:
|
|
get:
|
|
operationId: getMetrics
|
|
summary: Get basic metrics
|
|
description: >
|
|
Some basic metrics for the entire directory.
|
|
|
|
Just stunning numbers to put on a front page and are intended purely for WoW effect :)
|
|
tags:
|
|
- APIs
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
content:
|
|
application/json; charset=utf-8:
|
|
schema:
|
|
$ref: "#/components/schemas/Metrics"
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Metrics"
|
|
components:
|
|
schemas:
|
|
APIs:
|
|
description: |
|
|
List of API details.
|
|
It is a JSON object with API IDs(`<provider>[:<service>]`) as keys.
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/API"
|
|
minProperties: 1
|
|
example:
|
|
googleapis.com:drive:
|
|
added: 2015-02-22T20:00:45.000Z
|
|
preferred: v3
|
|
versions:
|
|
v2:
|
|
added: 2015-02-22T20:00:45.000Z
|
|
info:
|
|
title: Drive
|
|
version: v2
|
|
x-apiClientRegistration:
|
|
url: https://console.developers.google.com
|
|
x-logo:
|
|
url: https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png
|
|
x-origin:
|
|
format: google
|
|
url: https://www.googleapis.com/discovery/v1/apis/drive/v2/rest
|
|
version: v1
|
|
x-preferred: false
|
|
x-providerName: googleapis.com
|
|
x-serviceName: drive
|
|
swaggerUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v2/swagger.json
|
|
swaggerYamlUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v2/swagger.yaml
|
|
updated: 2016-06-17T00:21:44.000Z
|
|
v3:
|
|
added: 2015-12-12T00:25:13.000Z
|
|
info:
|
|
title: Drive
|
|
version: v3
|
|
x-apiClientRegistration:
|
|
url: https://console.developers.google.com
|
|
x-logo:
|
|
url: https://api.apis.guru/v2/cache/logo/https_www.gstatic.com_images_icons_material_product_2x_drive_32dp.png
|
|
x-origin:
|
|
format: google
|
|
url: https://www.googleapis.com/discovery/v1/apis/drive/v3/rest
|
|
version: v1
|
|
x-preferred: true
|
|
x-providerName: googleapis.com
|
|
x-serviceName: drive
|
|
swaggerUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v3/swagger.json
|
|
swaggerYamlUrl: https://api.apis.guru/v2/specs/googleapis.com/drive/v3/swagger.yaml
|
|
updated: 2016-06-17T00:21:44.000Z
|
|
API:
|
|
description: Meta information about API
|
|
type: object
|
|
required:
|
|
- added
|
|
- preferred
|
|
- versions
|
|
properties:
|
|
added:
|
|
description: Timestamp when the API was first added to the directory
|
|
type: string
|
|
format: date-time
|
|
preferred:
|
|
description: Recommended version
|
|
type: string
|
|
versions:
|
|
description: List of supported versions of the API
|
|
type: object
|
|
additionalProperties:
|
|
$ref: "#/components/schemas/ApiVersion"
|
|
minProperties: 1
|
|
additionalProperties: false
|
|
ApiVersion:
|
|
type: object
|
|
required:
|
|
- added
|
|
# - updated apparently not required!
|
|
- swaggerUrl
|
|
- swaggerYamlUrl
|
|
- info
|
|
- openapiVer
|
|
properties:
|
|
added:
|
|
description: Timestamp when the version was added
|
|
type: string
|
|
format: date-time
|
|
updated: # apparently not required!
|
|
description: Timestamp when the version was updated
|
|
type: string
|
|
format: date-time
|
|
swaggerUrl:
|
|
description: URL to OpenAPI definition in JSON format
|
|
type: string
|
|
format: url
|
|
swaggerYamlUrl:
|
|
description: URL to OpenAPI definition in YAML format
|
|
type: string
|
|
format: url
|
|
info:
|
|
description: Copy of `info` section from OpenAPI definition
|
|
type: object
|
|
minProperties: 1
|
|
externalDocs:
|
|
description: Copy of `externalDocs` section from OpenAPI definition
|
|
type: object
|
|
minProperties: 1
|
|
openapiVer:
|
|
description: OpenAPI version
|
|
type: string
|
|
additionalProperties: false
|
|
|
|
Metrics:
|
|
description: List of basic metrics
|
|
type: object
|
|
required:
|
|
- numSpecs
|
|
- numAPIs
|
|
- numEndpoints
|
|
- unreachable
|
|
- invalid
|
|
- unofficial
|
|
- fixes
|
|
- fixedPct
|
|
- datasets
|
|
- stars
|
|
- issues
|
|
- thisWeek
|
|
properties:
|
|
numSpecs:
|
|
description: Number of API specifications including different versions of the
|
|
same API
|
|
type: integer
|
|
minimum: 1
|
|
numAPIs:
|
|
description: Number of APIs
|
|
type: integer
|
|
minimum: 1
|
|
numEndpoints:
|
|
description: Total number of endpoints inside all specifications
|
|
type: integer
|
|
minimum: 1
|
|
unreachable:
|
|
description: Number of unreachable specifications
|
|
type: integer
|
|
minimum: 0
|
|
invalid:
|
|
description: Number of invalid specifications
|
|
type: integer
|
|
minimum: 0
|
|
unofficial:
|
|
description: Number of unofficial specifications
|
|
type: integer
|
|
minimum: 0
|
|
fixes:
|
|
description: Number of fixes applied to specifications
|
|
type: integer
|
|
minimum: 0
|
|
fixedPct:
|
|
description: Percentage of fixed specifications
|
|
type: number
|
|
minimum: 0
|
|
maximum: 100
|
|
datasets:
|
|
description: An overview of the datasets used to gather the APIs
|
|
type: array
|
|
items:
|
|
description: A single metric per dataset
|
|
type: object
|
|
required:
|
|
- title
|
|
- data
|
|
properties:
|
|
title:
|
|
description: Title of the metric
|
|
type: string
|
|
data:
|
|
description: Value of the metric per dataset
|
|
type: object
|
|
additionalProperties:
|
|
type: integer
|
|
minimum: 0
|
|
stars:
|
|
description: Number of stars on GitHub
|
|
type: integer
|
|
minimum: 0
|
|
issues:
|
|
description: Number of issues on GitHub
|
|
type: integer
|
|
minimum: 0
|
|
thisWeek:
|
|
description: Number of new specifications added/updated this week
|
|
type: object
|
|
required:
|
|
- added
|
|
- updated
|
|
properties:
|
|
added:
|
|
description: Number of new specifications added this week
|
|
type: integer
|
|
minimum: 0
|
|
updated:
|
|
description: Number of specifications updated this week
|
|
type: integer
|
|
minimum: 0
|
|
additionalProperties: false
|
|
example:
|
|
numSpecs: 1000
|
|
numAPIs: 100
|
|
numEndpoints: 10000
|
|
unreachable: 10
|
|
invalid: 10
|
|
unofficial: 10
|
|
fixes: 10
|
|
fixedPct: 10
|
|
datasets:
|
|
- title: providerCount
|
|
data:
|
|
"a.com": 10
|
|
"b.com": 20
|
|
"c.com": 30
|
|
stars: 1000
|
|
issues: 100
|
|
thisWeek:
|
|
added: 10
|
|
updated: 10
|