easepano docs
easepano home Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

APIs

APIs Requires Business Plan

easepano API provides management and access authorization interfaces for your application to integrate the panoramic system.

First, you need to get the API Key from Settings - Developer page, and ensure that it is only called in a secure environment and keep it safe. If you suspect that the API key has been leaked, please regenerate it in the dashboard as soon as possible.

Base URL

https://dashboard.easepano.com/api/v1/partner

API Key

The API Key is used to confirm the caller’s identity and can be obtained from the Settings - Developer page. It is a string that starts with AK- and is followed by 32 random characters. Please protect its security and do not call it in any unsafe environment. If you suspect a leak, please go to the developer page to regenerate as soon as possible.

Authentication methods

Send a valid API Key in the X-Auth-Key header,

APIs

API Token for Editor SDK (Generate, Refresh, Revoke)

editor-sdk
  • Generate a API Token

    Path: /token

    Method: POST

    Request Header:

    {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Request Body:

    {
      "expiresInSeconds": 604800,
      "scope": [] 
    }
    
    • expiresInSeconds: Token validity period, If not specified, the default is 7 days(604800 seconds).
    • scope: Project ID list, Used to control access to which projects, If not specified, the default is all projects. example: [“1234567890”, “2345678901”]

    Response Body:

        {
            "success": true,
            "message": "",
            "data": {
              "token": "AT-XXXXXXXXXXXXXXXXXXXXXXXXX"
            }
        }
    

    Example Request:

    # Get a token with a validity period of one day, with edit access to a project with a projectID of 1234567890.
    curl --location --request POST 'https://dashboard.easepano.com/api/v1/partner/token' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
    --header 'Content-Type: application/json' \
    --data '{
    "expiresInSeconds": 86400,
    "scope": ["1234567890"]
    }'
    
    
    
    # Get a token with a validity period of 7 days, with edit access to all projects.
    curl --location --request POST 'https://dashboard.easepano.com/api/v1/partner/token' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    
  • Refresh a API Token

    Path: /token

    Method: PUT

    Request Header:

    {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX",
      "X-Auth-Token": "AT-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    
    • X-Auth-Token: Need to refresh the token.

    Response Body:

        {
            "success": true,
            "message": "",
            "data": {
              "token": "AT-XXXXXXXXXXXXXXXXXXXXXXXXX"
            }
        }
    

    Example Request:

    # Refresh this token AT-XXXXXXXXXXXXXXXXXXXXXXXXXXXX
    curl --location --request POST 'https://dashboard.easepano.com/api/v1/partner/token' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
    --header 'X-Auth-Token: AT-XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    
  • Revoke a API Token

    Path: /token

    Method: DELETE

    Request Header:

    {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX",
      "X-Auth-Token": "AT-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    
    • X-Auth-Token: Need to revoke the token.

    Response Body:

        {
            "success": true,
            "message": ""
        }
    

    Example Request:

    # Revoke this token AT-XXXXXXXXXXXXXXXXXXXXXXXXXXXX
    curl --location --request DELETE 'https://dashboard.easepano.com/api/v1/partner/token' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
    --header 'X-Auth-Token: AT-XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    

Project Management API (List, Create, Update, Delete)

  • List all projects

    Path: /project

    Method: GET

    Request Header:

     {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Response Body:

      {
          "success": true,
          "message": "",
          "data": {
              "items": [
                  {
                      "id": "360181297692113",
                      "name": "Project 4",
                      "thumbURL": "https://assets.easepano-cdn.com/xxxxxxxxxxxxx/thumb.jpg",
                      "online": false,
                      "createdAt": 1679754497684,
                      "updatedAt": 1679754502860
                  },
                  {
                      "id": "360181317127546",
                      "name": "Project 3",
                      "thumbURL": "https://assets.easepano-cdn.com/xxxxxxxxxxxxx/thumb.jpg",
                      "online": false,
                      "createdAt": 1679754497684,
                      "updatedAt": 1679754521390
                  },
                  {
                      "id": "360181334333719130",
                      "name": "Project 2",
                      "thumbURL": "https://assets.easepano-cdn.com/xxxxxxxxxxxxx/thumb.jpg",
                      "online": false,
                      "createdAt": 1679754497684,
                      "updatedAt": 1679754537800
                  },
                  {
                      "id": "360181357526123085",
                      "name": "Project 1",
                      "thumbURL": "https://assets.easepano-cdn.com/xxxxxxxxxxxxx/thumb.jpg",
                      "online": true,
                      "createdAt": 1679754497684,
                      "updatedAt": 1679754559920
                  }
              ]
          }
      }
    
    • id: Project ID (String).
    • name: Project name.
    • thumbURL: Project thumb URL.
    • online: Whether the project has been released.
    • createdAt: Project creation timestamp.
    • updatedAt: The last update timestamp。

    Example Request:

    curl --location 'https://dashboard.easepano.com/api/v1/partner/project' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    
  • Create a project

    Path: /project

    Method: POST

    Request Header:

    {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Request Body:

    {
      "name": "Test Project"
    }
    
    • name: Project name.

    Response Body:

        {
          "success": true,
          "message": "",
          "data": {
              "id": "00000000000000000",
              "name": "Test Project",
              "thumbURL": "https://assets.easepanotest.xyz/common/placeholder/thumb.jpg",
              "online": false,
              "createdAt": 1683509700127,
              "updatedAt": 1683509700127
          }
      }
    

    Example Request:

    curl --location --request POST 'https://dashboard.easepano.com/api/v1/partner/project' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    --header 'Content-Type: application/json' \
    --data '{
    "name":"Test Project"
    }'
    
  • Update project name

    Path: /project/{Project ID}

    Method: PUT

    Request Header:

                {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Request Header:

    X-Auth-Token: AT-XXXXXXXXXXXXXXXXXXXXXXXXX
    
    • X-Auth-Token: Need to refresh the token.

    Request Body:

    {
      "name": "Test Project 2"
    }
    
    • name: Project name that needs to be modified.

    Response Body:

        {
          "success": true,
          "message": "",
          "data": {
              "id": "00000000000000000",
              "name": "Test Project 2",
              "thumbURL": "https://assets.easepanotest.xyz/common/placeholder/thumb.jpg",
              "online": false,
              "createdAt": 1683509700127,
              "updatedAt": 1683509700400
          }
      }
    

    Example Request:

    curl --location --request PUT 'https://dashboard.easepano.com/api/v1/partner/project/00000000000000000' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
    --header 'Content-Type: application/json' \
    --data '{
    "name":"Test Project 2"
    }'
    
  • Delete a project

    Path: /project/{Project ID}

    Method: DELETE

    Request Header:

    {
      "X-Auth-Key": "AK-XXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Response Body:

        {
            "success": true,
            "message": ""
        }
    

    Example Request:

    curl --location --request DELETE 'https://dashboard.easepano.com/api/v1/partner/project/000000000000000' \
    --header 'X-Auth-Key: AK-XXXXXXXXXXXXXXXXXXXXXXXXXXXX'