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

# Sign in with a social provider

> Sign in with a social provider



## OpenAPI

````yaml /api/openapi.json post /api/auth/sign-in/social
openapi: 3.1.0
info:
  title: Aquila API
  version: 1.0.0
  description: >-
    Event-driven reconnaissance platform API. All /api/* routes except
    /api/public/* require an authenticated session (cookie), an X-Api-Key
    header, or a bearer token. Auth endpoints under /api/auth/* are generated by
    Better Auth.
servers:
  - url: https://aquila.attaxr.com
  - url: http://localhost
security: []
tags:
  - name: AI
  - name: Agents
  - name: Bulk Delete
  - name: Chat
  - name: Constraints
  - name: Dashboard
  - name: Events
  - name: JS
  - name: JS Analysis
  - name: JS Monitoring
  - name: Leads
  - name: MCP Key
  - name: Models
  - name: Notification Channels
  - name: Notification Event Preferences
  - name: Notifications
  - name: OOB
  - name: Provider Keys
  - name: Public Shares
  - name: Reinforcements
  - name: Reports
  - name: Scans
  - name: Schedules
  - name: Shares
  - name: Tools
  - name: User Profiles
  - name: V1
  - name: Vulnerabilities
  - name: Workflows
paths:
  /api/auth/sign-in/social:
    post:
      tags:
        - Auth
      summary: Sign in with a social provider
      description: Sign in with a social provider
      operationId: socialSignIn
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                callbackURL:
                  type: string
                  description: Callback URL to redirect to after the user has signed in
                newUserCallbackURL:
                  type: string
                errorCallbackURL:
                  type: string
                  description: Callback URL to redirect to if an error happens
                provider:
                  anyOf:
                    - type: string
                      enum:
                        - apple
                        - atlassian
                        - cognito
                        - discord
                        - facebook
                        - figma
                        - github
                        - microsoft
                        - google
                        - huggingface
                        - slack
                        - spotify
                        - twitch
                        - twitter
                        - dropbox
                        - kick
                        - linear
                        - linkedin
                        - gitlab
                        - tiktok
                        - reddit
                        - roblox
                        - salesforce
                        - vk
                        - zoom
                        - notion
                        - kakao
                        - naver
                        - line
                        - paybin
                        - paypal
                        - polar
                        - railway
                        - vercel
                        - wechat
                    - type: string
                disableRedirect:
                  type: boolean
                  description: >-
                    Disable automatic redirection to the provider. Useful for
                    handling the redirection yourself
                idToken:
                  type: object
                  properties:
                    token:
                      type: string
                      description: ID token from the provider
                    nonce:
                      type: string
                      description: Nonce used to generate the token
                    accessToken:
                      type: string
                      description: Access token from the provider
                    refreshToken:
                      type: string
                      description: Refresh token from the provider
                    expiresAt:
                      type: number
                      description: Expiry date of the token
                    user:
                      type: object
                      properties:
                        name:
                          type: object
                          properties:
                            firstName:
                              type: string
                            lastName:
                              type: string
                        email:
                          type: string
                      description: >-
                        The user object from the provider. Only available for
                        some providers like Apple.
                  required:
                    - token
                scopes:
                  type: array
                  items:
                    type: string
                  description: >-
                    Array of scopes to request from the provider. This will
                    override the default scopes passed.
                requestSignUp:
                  type: boolean
                  description: >-
                    Explicitly request sign-up. Useful when
                    disableImplicitSignUp is true for this provider
                loginHint:
                  type: string
                  description: The login hint to use for the authorization code request
                additionalData:
                  type: object
                  propertyNames:
                    type: string
                  additionalProperties: {}
              required:
                - provider
      responses:
        '200':
          description: >-
            Success - Returns session details (idToken branch) or an authorize
            URL (redirect branch)
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Returns session details when idToken is provided, or an
                  authorize URL otherwise
                properties:
                  token:
                    type: string
                  user:
                    $ref: '#/components/schemas/User'
                    type: object
                  url:
                    type: string
                  redirect:
                    type: boolean
                required:
                  - redirect
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
          description: >-
            Bad Request. Usually due to missing parameters, or invalid
            parameters.
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
          description: Unauthorized. Due to missing or invalid authentication.
        '403':
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
          description: >-
            Forbidden. You do not have permission to access this resource or to
            perform this action.
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
          description: Not Found. The requested resource was not found.
        '429':
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
          description: >-
            Too Many Requests. You have exceeded the rate limit. Try again
            later.
        '500':
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
          description: >-
            Internal Server Error. This is a problem with the server that you
            cannot fix.
      security:
        - bearerAuth: []
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        name:
          type: string
        email:
          type: string
        emailVerified:
          type: boolean
          default: false
          readOnly: true
        image:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        username:
          type: string
        displayUsername:
          type: string
        role:
          type: string
          readOnly: true
        banned:
          type: boolean
          default: false
          readOnly: true
        banReason:
          type: string
          readOnly: true
        banExpires:
          type: string
          format: date-time
          readOnly: true
      required:
        - id
        - name
        - email
        - emailVerified
        - createdAt
        - updatedAt
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Personal API key sent as a bearer token.

````