> ## 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.

# Get REDnote Signature

> Get the signature configuration required for the frontend to call REDnote `xhs.share`. The API key belongs to the integration partner; the person scanning the QR code does not need an AiToEarn account and does not need to authorize or bind a REDnote account in advance.

Provide your own mobile sharing page and encode its URL as the offline QR code. The landing page should call the integration backend, which calls this endpoint and returns `verifyConfig` to the frontend for `xhs.share`. Never expose the API key to the frontend.

This endpoint only generates `verifyConfig`. It does not accept images, video, title, or body, does not create an AiToEarn publish record, and does not return the final post result. Pass the sharing content when the integration frontend calls `xhs.share`. Request the signature when the user is ready to share, use the `nonce`, `timestamp`, and `signature` from the same response together, and do not cache it for a long time, mix fields from different requests, or reuse it across multiple sharing attempts.

A successful `xhs.share` callback only indicates that the SDK invocation or app launch succeeded; it does not confirm that the user finally published the post. Each API key can call this endpoint up to 60 times per 60 seconds.



## OpenAPI

````yaml /openapi/en/aitoearn.openapi.json post /api/v2/channels/rednote/open/offline-qr/share-config
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/rednote/open/offline-qr/share-config:
    post:
      tags:
        - Channel Management/Publishing
      summary: Get REDnote Signature
      description: >-
        Get the signature configuration required for the frontend to call
        REDnote `xhs.share`. The API key belongs to the integration partner; the
        person scanning the QR code does not need an AiToEarn account and does
        not need to authorize or bind a REDnote account in advance.


        Provide your own mobile sharing page and encode its URL as the offline
        QR code. The landing page should call the integration backend, which
        calls this endpoint and returns `verifyConfig` to the frontend for
        `xhs.share`. Never expose the API key to the frontend.


        This endpoint only generates `verifyConfig`. It does not accept images,
        video, title, or body, does not create an AiToEarn publish record, and
        does not return the final post result. Pass the sharing content when the
        integration frontend calls `xhs.share`. Request the signature when the
        user is ready to share, use the `nonce`, `timestamp`, and `signature`
        from the same response together, and do not cache it for a long time,
        mix fields from different requests, or reuse it across multiple sharing
        attempts.


        A successful `xhs.share` callback only indicates that the SDK invocation
        or app launch succeeded; it does not confirm that the user finally
        published the post. Each API key can call this endpoint up to 60 times
        per 60 seconds.
      operationId: RedNoteOpenOfflineQrController_createOpenShareConfig_v2
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                nonce:
                  type: string
                  minLength: 1
                  maxLength: 64
                  description: >-
                    Optional random string with a maximum length of 64
                    characters. The server generates one automatically when
                    omitted.
              additionalProperties: false
            examples:
              automatic:
                summary: Generate nonce automatically
                value: {}
              custom:
                summary: Custom nonce
                value:
                  nonce: checkin_8f72c9
      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:
                    type: object
                    properties:
                      verifyConfig:
                        type: object
                        description: >-
                          Verification configuration used when calling REDnote
                          xhs.share
                        properties:
                          appKey:
                            type: string
                            description: REDnote application App Key
                          nonce:
                            type: string
                            description: Random string used for this signature
                          timestamp:
                            type: string
                            description: >-
                              Unix timestamp in milliseconds represented as a
                              string
                          signature:
                            type: string
                            description: >-
                              Signature used by the frontend when calling
                              xhs.share
                        required:
                          - appKey
                          - nonce
                          - timestamp
                          - signature
                        additionalProperties: false
                    required:
                      - verifyConfig
                    additionalProperties: false
                  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:
                      verifyConfig:
                        appKey: app_key
                        nonce: checkin_8f72c9
                        timestamp: '1787389200000'
                        signature: signature_xxx
                    requestId: request_xxx
      security:
        - apikey-header-X-Api-Key: []
components:
  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).

````