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.