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

# Start Platform Authorization

> Interface description: Generate platform OAuth authorization URL



## OpenAPI

````yaml /openapi/en/aitoearn.openapi.json get /api/v2/channels/accounts/auth/{platform}
openapi: 3.0.1
info:
  title: AiToEarn Open Platform API
  description: >-
    AiToEarn Open Platform API. You can switch between the China and
    international sites for testing. Business success is determined by whether
    the response body has code === 0.
  version: 1.0.0
  contact: {}
servers:
  - url: https://aitoearn.cn
    description: China site
  - url: https://aitoearn.ai
    description: International site
security: []
tags:
  - name: AI Services
  - name: AI Services/Video Generation
  - name: AI Services/Image Generation
  - name: Channel Management
  - name: Channel Management/Accounts
  - name: Channel Management/Publishing
  - name: Channel Management/Platforms
  - name: Channel Management/Works
  - name: Channel Management/Account Groups
  - name: Channel Management/Authorization
  - name: Asset Management
  - name: AI Services/Large Language Models
paths:
  /api/v2/channels/accounts/auth/{platform}:
    get:
      tags:
        - Channel Management/Authorization
      summary: Start Platform Authorization
      description: 'Interface description: Generate platform OAuth authorization URL'
      operationId: AuthController_startAuth_v2
      parameters:
        - name: platform
          in: path
          description: ''
          required: true
          example: ''
          schema:
            type: string
        - name: callbackUrl
          in: query
          description: >-
            The callback address of the browser POST relay after authorization
            is completed
          required: false
          example: ''
          schema:
            description: >-
              The callback address of the browser POST relay after authorization
              is completed
            type: string
            format: uri
        - name: redirectUri
          in: query
          description: Browser jump address after authorization is completed
          required: false
          example: ''
          schema:
            description: Browser jump address after authorization is completed
            type: string
            format: uri
        - name: groupId
          in: query
          description: Account group ID. If not passed, the default group will be used.
          required: false
          example: ''
          schema:
            description: Account group ID. If not passed, the default group will be used.
            type: string
      responses:
        '200':
          description: >-
            The request has been processed by the service. Business success is
            determined by whether the response body has code === 0.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/AuthStartVo'
                  code:
                    type: integer
                    description: >-
                      Business status code. 0 means success; non-zero means a
                      business error.
                  message:
                    type: string
                    description: Response message.
                  requestId:
                    type: string
                    description: Request ID.
                  timestamp:
                    type: integer
                    description: Error response timestamp in Unix milliseconds.
                required:
                  - code
                  - message
              examples:
                success:
                  summary: Success
                  value:
                    code: 0
                    message: Request succeeded
                    data:
                      url: string
                      sessionId: string
                      expiresAt: '2026-07-02T12:00:00.000Z'
                      authInstructions:
                        en-US: string
                        zh-CN: string
                validationFailed10002:
                  summary: ValidationFailed (10002)
                  value:
                    code: 10002
                    message: Parameter validation failed
                    data: {}
                    timestamp: 1772099056662
                unauthorized401:
                  summary: Unauthenticated or invalid API Key
                  value:
                    code: 401
                    message: Unauthorized
                    data: {}
                    timestamp: 1772099056662
      deprecated: false
      security:
        - apikey-header-X-Api-Key: []
components:
  schemas:
    AuthStartVo:
      type: object
      properties:
        url:
          type: string
          description: Platform authorization URL or QR code image data URL
        sessionId:
          type: string
          description: Authorization Session ID
        expiresAt:
          description: Authorization session expiration time
          type: string
          format: date-time
        authInstructions:
          description: Authorization operation prompts
          type: object
          properties:
            en-US:
              type: string
              description: English copywriting
            zh-CN:
              type: string
              description: Chinese copywriting
          required:
            - en-US
            - zh-CN
          additionalProperties: false
      required:
        - url
        - sessionId
        - expiresAt
      additionalProperties: false
  securitySchemes:
    apikey-header-X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        Need to get API Key from AiToEarn. Click to go to ["API Key Obtaining
        Tutorial"](/en/use/api-key).

````