3DM Publisher Admin API - Basics

Back to the index

The 3DM Publisher API is a JSON-based API.
All documented routes are relative to the 3DM Publisher Server Root Location.

Table of Contents

How to Send Requests

In this section, we describe how you can send a request to the server. Requests are sent using the HTTP protocol.
The basic elements of a request are:

  • API Route
  • HTTP Method
  • Access Token (optional)
  • Query arguments (optional)
  • Request body (optional)

A request can be sent to the server in multiple ways.

Default Interface

The default way to make a request is:

  • HTTP Header: Content-Type: application/json;
  • HTTP URL: [HTTP Method] [Server URL]/[API Route]?[Query arguments]
  • HTTP Body: [Request body]

The access token is provided using the “access_token” query argument.

Post-only Interface

  • HTTP Header: Content-Type: plain/text;
  • HTTP URL: POST [Server URL]/<API Route>
  • HTTP Body:
    {
        "_http_envelope_": true,
        "access_token": "xxx",
        "method": [HTTP Method],
        "query": {
            [Query arguments]
        },
        "body": {
            [Request body]
        }
    }

The access token is provided in the post body “access_token” field.

This method has the advantage of:

  • Not triggering a pre-flight request in the browser, when making a cross-domain request.
  • The Authorization Token is not a part of the URL so is less likely to be logged (more secure).

Operation: Login

Discussion

The Login operation creates a session that is valid for the next 900 seconds. Every time you send a request to the server, the session will again stay open for 900 seconds. When you are inactive for that duration, the session will be closed on the server side and be invalid from that point on.

If the server you are connecting to has “Access Providers” and you have a valid JWT access token for one of these providers, you can use that token for login as well. Leave the password field empty and format the username in the following way : [<code>]<accessToken>.

Request

POST /api/3/login

{
    "username": "xxx",
    "password": "xxx",
    "publicationName": "xxx",
}

Fields:

  • username - The username
  • password - The password
  • publicationName - For a non-admin login, this must be an existing publication name.

Response (http 200)

{
    "identifier": "6tOfZLBtPxP4xgA3",
    "created_at": "2024-11-25 15:44:48",
    "expires_at": "2024-11-25 15:59:48",
    "version": "24.4.0",
    "versionDate": "2024.11.22",
    "editingAllowed": false
}

Operation: Reload Server Configuration

Discussion

This operation will instruct the server to reload the following configuration files from disk :

  • configuration.ini
  • config/resource.xml
  • config/user.xml
  • config/usergroup.xml
  • publications/*
  • bookmarks/*
  • accessprovider/*

Request

GET /api/3/reload

Response (http 204)

No content

 
Last modified:: 2026/07/16 17:53