OAuth Configuration

Create OAuth configuration

Changed on

Create a new OAuth configuration for a connector type.<br><br> <b>Admin Only:</b><br> Only admins can create OAuth configurations. These provide the OAuth credentials needed for users to authenticate connectors.<br><br> <b>Use Case:</b><br> Before users can create Google Drive connectors with OAuth, an admin must create an OAuth configuration with the Google OAuth client ID and secret.<br><br> The response carries the credential-free view of the new configuration; the credentials are never echoed back. Success is reported as 200, not 201.<br><br> <b>The connector type is not checked.</b> connectorType is not compared with the OAuth registry, so a misspelled or wrongly-cased name (confluence for Confluence) does not fail: the configuration is stored under that name with the default icon and an empty group, description and category list. It is then returned by GET /oauth/{connectorType} for that same name but never by GET /oauth, which only walks the registered types.<br><br> Body fields other than oauthInstanceName, config and baseUrl are ignored.

post/oauth/{connectorType}

Request

  • Base URL
    https://app.pipeshub.com/api/v1
  • URL
    https://app.pipeshub.com/api/v1/oauth/{connectorType}
  • Auth
    • HTTP bearer
    • or OAuth 2
      Authorization code: /api/v1/oauth2/authorize
      Client credentials
      Token URL: /api/v1/oauth2/token scopes: connector:write

Path parameters

connectorTypestring required

Request body

oauthInstanceNamestring required

Display name for this OAuth configuration (e.g., 'Production Google OAuth'). Must be unique for the connector type within the organization. Leading and trailing whitespace is removed before validation, so a name of only whitespace is refused as empty.

baseUrlstring

PipesHub's public origin, prefixed to the connector's redirect path to build the stored redirectUri. When omitted or empty, the frontend public endpoint is used. The value is not checked to be a URL: whatever text is sent is used as the prefix. Not the provider's URL; a self-hosted provider's address goes in config.

Example request

{
  "oauthInstanceName": "Production Google OAuth Credentials",
  "config": {
    "clientId": "123456789-abc.apps.googleusercontent.com",
    "clientSecret": "GOCSPX-xxxxxxxxxxxxx",
    "tenantId": "12345678-1234-1234-1234-123456789abc"
  },
  "baseUrl": "https://pipeshub.mycompany.com"
}

Response

OAuth configuration created

successboolean required
messagestring required

Example response

{
  "oauthConfig": {
    "connectorType": "Confluence",
    "iconPath": "/icons/connectors/confluence.svg",
    "appGroup": "Atlassian"
  },
  "message": "OAuth configuration created successfully"
}

Changes

    • breaking

      added the pattern \S to the request property

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property format was generalized from uri to no format

    • info

      endpoint added