Propel OAuth2 API

The OAuth2 API from Propel — 1 operation(s) for oauth2.

OpenAPI Specification

propel-data-oauth2-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Propel GraphQL OAuth2 API
  description: HTTP modeling of the Propel customer-facing analytics platform. Propel exposes a single GraphQL endpoint (POST /graphql) for both its Query APIs (Counter, Time Series, Leaderboard analytics over Data Pools) and its Admin APIs (Data Sources, Data Pools, Metrics, Applications, Policies), plus an OAuth2 client-credentials token endpoint that issues the Bearer access tokens used to call the GraphQL API.
  termsOfService: https://www.propeldata.com/legal/terms
  contact:
    name: Propel Support
    url: https://www.propeldata.com/docs
  version: '1.0'
servers:
- url: https://api.us-east-2.propeldata.com
  description: Propel GraphQL API (us-east-2 region)
- url: https://auth.us-east-2.propeldata.com
  description: Propel OAuth2 token service (us-east-2 region)
tags:
- name: OAuth2
paths:
  /oauth2/token:
    post:
      operationId: createAccessToken
      tags:
      - OAuth2
      summary: Exchange client credentials for a Bearer access token.
      description: OAuth2 client-credentials grant. An Application's client_id and client_secret are exchanged for a short-lived Bearer access token that is sent on the Authorization header of GraphQL requests. Served from the auth host (https://auth.us-east-2.propeldata.com).
      servers:
      - url: https://auth.us-east-2.propeldata.com
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/TokenRequest'
      responses:
        '200':
          description: Access token issued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '401':
          description: Invalid client credentials.
components:
  schemas:
    TokenRequest:
      type: object
      required:
      - grant_type
      - client_id
      - client_secret
      properties:
        grant_type:
          type: string
          enum:
          - client_credentials
          example: client_credentials
        client_id:
          type: string
        client_secret:
          type: string
        scope:
          type: string
          example: metric:query
    TokenResponse:
      type: object
      properties:
        access_token:
          type: string
        token_type:
          type: string
          example: Bearer
        expires_in:
          type: integer
          example: 3600
        scope:
          type: string
          example: metric:query
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth2 client-credentials access token obtained from POST https://auth.us-east-2.propeldata.com/oauth2/token.