Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/ostrom-auth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Ostrom Auth API
version: '2023-11-01'
description: 'The Ostrom API is designed to allow our customer and partners to develop apps that integrates with our smart energy management platform. The API has a RESTful architecture and utilizes OAuth2 authorization.
'
license:
name: Ostrom Commercial License
url: https://ostrom.de
servers:
- url: https://sandbox.ostrom-api.io
description: Sandbox environment (test data)
- url: https://production.ostrom-api.io
description: Production environment (live data)
- url: https://auth.sandbox.ostrom-api.io
description: Authentication sandbox environment (generate access token - test data)
- url: https://auth.production.ostrom-api.io
description: Authentication production environment (generate access token - live data)
tags:
- name: Auth
description: Describe how to authenticate in the api
paths:
/oauth2/token:
post:
tags:
- Auth
operationId: createOAuth2Token
summary: Obtain OAuth2 Access Token
description: 'Allowed role: `USER` or `PARTNER`'
servers:
- url: https://auth.sandbox.ostrom-api.io
description: Authentication sandbox environment (generate access token - test data)
- url: https://auth.production.ostrom-api.io
description: Authentication production environment (generate access token - live data)
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- grant_type
properties:
grant_type:
type: string
description: The Oauth grant type (e.g. client_credentials)
responses:
'200':
description: Successful token acquisition
content:
application/json:
schema:
$ref: '#/components/schemas/OAuth2TokenResponse'
'400':
description: The request is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/OAuth2TokenError400'
'401':
description: Unauthorized access
content:
application/json:
schema:
$ref: '#/components/schemas/OAuth2TokenError401'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestError429'
security:
- OAuth2BasicAuth: []
components:
schemas:
TooManyRequestError429:
type: object
properties:
type:
type: string
description: The type of the error
detail:
type: string
description: A human-readable message providing more details about the error
example:
type: too_many_requests
detail: API request limit per minute has been reached. Please try again later.
OAuth2TokenResponse:
type: object
properties:
access_token:
type: string
description: The access token to use for authentication
expires_in:
type: integer
description: The number of seconds until the token expires
token_type:
type: string
description: The type of the token
example:
access_token: eyJhbGciOiJIUzI1NiIsInR5cCI6I...
expires_in: 3600
token_type: Bearer
OAuth2TokenError400:
type: object
properties:
error:
type: string
description: The type of the error
error_description:
type: string
description: A human-readable message providing more details about the error
example:
error: invalid_request
error_description: The request is missing a required parameter, includes an invalid parameter value, or is otherwise malformed.
OAuth2TokenError401:
type: object
properties:
error:
type: string
description: The type of the error
error_description:
type: string
description: A human-readable message providing more details about the error
example:
error: invalid_client
error_description: Client authentication failed (e.g., unknown client or unsupported authentication method).
securitySchemes:
ClientAccessToken:
type: oauth2
description: 'A `ClientAccessToken` is obtained via the [OAuth 2.0 Client Credentials grant](https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/) and carries authorization to access all functionalities and data in your Ostrom account. Full details at [The ClientAccessToken](/api/reference#getting-an-access-token)
'
flows:
clientCredentials:
tokenUrl: https://auth.sandbox.ostrom-api.io/oauth2/token
scopes: {}
OAuth2BasicAuth:
type: http
scheme: basic