> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getgriffinapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Initiate OAuth

> Start an OAuth flow. Returns transactionId, authUrl, and expiresAt. The user opens authUrl in a browser to authorize; then poll status until complete.



## OpenAPI

````yaml https://hub.griff.services/documentation/json post /integrations/oauth/initiate
openapi: 3.1.0
info:
  title: Griffin Hub API
  description: API for managing and running test monitors
  version: 1.0.0
servers:
  - url: https://hub.griff.services
    description: Local development server
  - url: http://localhost:3000
    description: Local development server
security:
  - bearerAuth: []
tags:
  - name: monitors
    description: Test monitor management endpoints
  - name: runs
    description: Test run management endpoints
  - name: metrics
    description: Metrics and health summary endpoints
paths:
  /integrations/oauth/initiate:
    post:
      tags:
        - integrations
        - oauth
      summary: Initiate OAuth
      description: >-
        Start an OAuth flow. Returns transactionId, authUrl, and expiresAt. The
        user opens authUrl in a browser to authorize; then poll status until
        complete.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - category
                - provider
                - name
              properties:
                category:
                  type: string
                  enum:
                    - notifications
                    - secrets
                    - metrics
                provider:
                  type: string
                  enum:
                    - aws
                    - vault
                    - slack
                    - email
                    - webhook
                    - resend
                name:
                  type: string
                environment:
                  type: string
                redirectAfter:
                  type: string
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - transactionId
                  - authUrl
                  - expiresAt
                properties:
                  transactionId:
                    type: string
                  authUrl:
                    type: string
                  expiresAt:
                    type: string
                    format: date-time
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '502':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '503':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
        '504':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````