10Web WP Autologin API

Operations for secure WordPress admin panel autologin functionality

OpenAPI Specification

10web-wp-autologin-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: 10Web API V1 Account WP Autologin API
  description: 'The 10Web API provides a comprehensive set of endpoints for managing websites, DNS zones, domains, SSL certificates, backups, and more. This RESTful API allows you to integrate 10Web''s powerful hosting and website management capabilities into your own applications.

    '
servers:
- url: https://api.10web.io
tags:
- name: WP Autologin
  description: Operations for secure WordPress admin panel autologin functionality
paths:
  /v1/account/websites/{website_id}/single?admin_url={wp_admin_url}:
    get:
      summary: Generate single-use autologin token for website admin access
      description: 'Generates a single-use token for secure, passwordless access to a website''s WordPress admin panel.

        The token is valid for 5 minutes and can be used to automatically log in or create an admin user.


        The autologin feature allows for secure, tokenized access to WordPress admin panels without requiring manual credential entry. The system generates single-use tokens with a 5-minute TTL that can be used to:


        1. Log in automatically as an existing user if the email matches a WordPress user

        2. Create a new administrator account with the provided email and automatically log in


        ### Token Usage


        After obtaining a token, construct a URL in one of the following formats:


        **Standard WordPress Admin Access:**

        ```

        https://{website_url}/wp-admin/?twb_wp_login_token={token}&email={email}

        ```


        **Direct Access to AI Builder Generation Page:**

        ```

        https://{website_url}/wp-admin/?twb_wp_login_token={token}&email={email}&page=twbb_ai_builder&open_ai_generation=1

        ```


        When a user visits either URL:

        - If a user with the provided email exists in WordPress, they will be automatically logged in

        - If no matching user exists, a new administrator account will be created with the email and automatic login occurs

        - With the `&page=twbb_ai_builder&open_ai_generation=1` parameter, users will be redirected directly to the AI Builder generation page after login


        ### Security Notes


        - Tokens can only be used once

        - Tokens expire after 5 minutes

        - This provides a secure method for resellers to give customers access to their WordPress admin panels

        '
      tags:
      - WP Autologin
      parameters:
      - $ref: '#/components/parameters/WebsiteId'
      - $ref: '#/components/parameters/Authorization'
      - name: admin_url
        in: query
        required: true
        schema:
          type: string
        description: URL of the WordPress admin panel
        example: https://mywebsite.example.com/wp-admin
      responses:
        '200':
          description: Autologin token generated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                    - error
                  token:
                    type: string
                    description: Single-use token for website admin autologin
                example:
                  status: ok
                  token: FFX0jjafItN3SNbAyEkQf6rJUvLcM6HiEVJotjGnaxgita3C7cJIWCvESBtSsfqXhJL7HyUP9B3xQXQHkrr6HhY3HfcHAgiiVskxUAjfiiQRoNXaOZ7jTnnNMS
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  responses:
    TooManyRequests:
      description: Too many requests
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Too many requests. Please try again later.
    Unauthorized:
      description: Unauthorized access
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Unauthorized access
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Invalid request parameters
    InternalServerError:
      description: Something went wrong
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                enum:
                - error
              message:
                type: string
                example: Something went wrong
  parameters:
    Authorization:
      name: x-api-key
      in: header
      required: true
      schema:
        type: string
      description: API key for authentication
      example: API_KEY
    WebsiteId:
      name: website_id
      in: path
      required: true
      schema:
        type: integer