SocialClaw Browser Authentication API

Same-origin routes used by the SocialClaw sign-in, sign-up, verification, and password recovery pages.

GitHub OpenAPI

Operations 6

GET /v1/auth/config Authentication configuration #
POST /v1/auth/email/sign-up Start email sign-up #
POST /v1/auth/email/sign-in Email sign-in #
POST /v1/auth/email/verify Verify email #
POST /v1/auth/email/forgot-password Request password reset #
POST /v1/auth/email/reset-password Reset password #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/getsocialclaw-com:getsocialclaw-com-browser-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

getsocialclaw-com-browser-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SocialClaw Browser Authentication API
  version: 1.0.0
  description: Complete SocialClaw API reference for social account connections, media uploads, validation, scheduling, publishing, analytics, dashboard APIs, webhooks, and delivery URLs.
servers:
- url: https://getsocialclaw.com
  description: SocialClaw production API
security:
- BearerAuth: []
tags:
- name: Browser Authentication
  description: Same-origin routes used by the SocialClaw sign-in, sign-up, verification, and password recovery pages.
paths:
  /v1/auth/config:
    get:
      tags:
      - Browser Authentication
      operationId: get_v1_auth_config
      summary: Authentication configuration
      description: Returns the sign-in providers currently available to the web client.
      security: []
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAuthConfigResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, or unauthorized credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request body or semantic validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-socialclaw-auth: none
      x-socialclaw-surface: site
  /v1/auth/email/sign-up:
    post:
      tags:
      - Browser Authentication
      operationId: post_v1_auth_email_sign_up
      summary: Start email sign-up
      description: Creates a pending credential and sends a single-use verification link. No workspace is created until the address is verified.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailSignUpRequest'
      responses:
        '202':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAuthResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, or unauthorized credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request body or semantic validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-socialclaw-auth: none
      x-socialclaw-surface: site
  /v1/auth/email/sign-in:
    post:
      tags:
      - Browser Authentication
      operationId: post_v1_auth_email_sign_in
      summary: Email sign-in
      description: Verifies an email credential and sets the signed dashboard session cookie.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailSignInRequest'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAuthResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, or unauthorized credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request body or semantic validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-socialclaw-auth: none
      x-socialclaw-surface: site
  /v1/auth/email/verify:
    post:
      tags:
      - Browser Authentication
      operationId: post_v1_auth_email_verify
      summary: Verify email
      description: Consumes a verification token, links or creates the SocialClaw user, and sets the dashboard session cookie.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailTokenRequest'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAuthResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, or unauthorized credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request body or semantic validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-socialclaw-auth: none
      x-socialclaw-surface: site
  /v1/auth/email/forgot-password:
    post:
      tags:
      - Browser Authentication
      operationId: post_v1_auth_email_forgot_password
      summary: Request password reset
      description: Sends an account recovery email and always returns the same response to prevent account discovery.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForgotPasswordRequest'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAuthResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, or unauthorized credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request body or semantic validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-socialclaw-auth: none
      x-socialclaw-surface: site
  /v1/auth/email/reset-password:
    post:
      tags:
      - Browser Authentication
      operationId: post_v1_auth_email_reset_password
      summary: Reset password
      description: Consumes a reset token, replaces the password hash, and invalidates older dashboard sessions.
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetPasswordRequest'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailAuthResponse'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, invalid, or unauthorized credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Request body or semantic validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-socialclaw-auth: none
      x-socialclaw-surface: site
components:
  schemas:
    EmailAuthConfigResponse:
      type: object
      description: Authentication methods available to the web sign-in experience.
      additionalProperties: true
      properties:
        ok:
          const: true
        providers:
          type: object
          description: Enabled sign-in providers.
          additionalProperties: false
          properties:
            google:
              type: boolean
              description: Whether Google sign-in is configured.
            apple:
              type: boolean
              description: Whether Apple sign-in is configured.
            email:
              type: boolean
              description: Whether email and password authentication is enabled.
          required:
          - google
          - apple
          - email
        password:
          type: object
          description: Password input limits.
          additionalProperties: false
          properties:
            minLength:
              type: integer
              description: Minimum password length.
            maxLength:
              type: integer
              description: Maximum password length.
          required:
          - minLength
          - maxLength
      required:
      - ok
      - providers
      - password
    EmailAuthResponse:
      type: object
      description: Email authentication result.
      additionalProperties: true
      properties:
        ok:
          const: true
        message:
          type:
          - string
          - 'null'
          description: User-facing next-step message.
        redirectTo:
          type:
          - string
          - 'null'
          description: Safe relative path to open after success.
        debugUrl:
          type:
          - string
          - 'null'
          description: Local-development email link. Never returned in production.
      required:
      - ok
    EmailSignInRequest:
      type: object
      description: Signs in with a verified email credential.
      additionalProperties: true
      properties:
        email:
          type: string
          description: Email address.
          format: email
        password:
          type: string
          description: Password.
          format: password
        next:
          type:
          - string
          - 'null'
          description: Safe relative path to open after sign-in.
      required:
      - email
      - password
    ResetPasswordRequest:
      type: object
      description: Replaces an email credential using a single-use reset token.
      additionalProperties: false
      properties:
        token:
          type: string
          description: Single-use password reset token.
        password:
          type: string
          description: New password. The configured length limits apply.
          format: password
      required:
      - token
      - password
    EmailTokenRequest:
      type: object
      description: Consumes a single-use email authentication token.
      additionalProperties: true
      properties:
        token:
          type: string
          description: Single-use verification token.
        next:
          type:
          - string
          - 'null'
          description: Safe relative path to open after verification.
      required:
      - token
    EmailSignUpRequest:
      type: object
      description: Starts email account creation and sends a verification link.
      additionalProperties: true
      properties:
        email:
          type: string
          description: Email address.
          format: email
        password:
          type: string
          description: Password. The configured length limits apply.
          format: password
        next:
          type:
          - string
          - 'null'
          description: Safe relative path to open after verification.
      required:
      - email
      - password
    ForgotPasswordRequest:
      type: object
      description: Requests account recovery without disclosing whether the address is registered.
      additionalProperties: false
      properties:
        email:
          type: string
          description: Email address.
          format: email
      required:
      - email
    ErrorResponse:
      type: object
      description: Standard error response returned by JSON API routes.
      additionalProperties: false
      properties:
        ok:
          const: false
          description: Always false for errors.
        code:
          type:
          - string
          - 'null'
          description: Stable machine-readable error code.
        message:
          type: string
          description: Human-readable error message.
        details:
          type:
          - object
          - array
          - string
          - number
          - boolean
          - 'null'
          description: Optional route-specific details.
      required:
      - ok
      - message
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: SocialClaw API key
    DashboardSession:
      type: apiKey
      in: cookie
      name: socialclaw_dash_session
    WebhookSignature:
      type: apiKey
      in: header
      name: x-signature
externalDocs:
  description: Human-readable SocialClaw API documentation.
  url: https://getsocialclaw.com/docs/api
x-provenance:
  method: harvested
  publisher: SocialClaw
  source: https://getsocialclaw.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)