NAV Navbar
Curl PHP Node Ruby Python Java
  • Introduction
  • Authentication
  • Errors
  • Categories
  • Conversations
  • Messages
  • Posts
  • Topics
  • User groups
  • Users
  • Introduction

    Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

    API Endpoint
    https://api.websitetoolbox.com

    The Website Toolbox REST API allows you to programmatically interact with your forum. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support cross-origin resource sharing, allowing you to interact securely with our API from a client-side web application (though you should never expose your secret API key in any public website's client-side code). JSON is returned by all API responses, including errors.

    Note that there’s no need to poll the API for updates or new items. You should use webhooks for that.

    Note: API requests are rate limited to one request per second. Requests that exceed this limit will return a 400 Bad Request response.

    If you need help or have any suggestions regarding how to improve the API, please let us know.

    Authentication

    Authenticate your account when using the API by including your secret API key in the HTTP headers of the request. You can manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such GitHub, client-side code, and so forth.

    All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

    If you created your forum before our API was launched on May 20, 2018, you'll need to regenerate your API key.

    Parameter In Type Required Description
    x-api-key header string required Your secret API key to authenticate your account.

    Errors

    Website Toolbox uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was missing etc.), and codes in the 5xx range indicate an error with Website Toolbox servers (these are rare).

    HTTP status code summary

    Code Description
    200 OK -- Everything worked as expected.
    400 Forbidden, Bad Request -- The request was unacceptable, often due to missing a required parameter or exceeding the limit of one API request per second.
    404 Not Found -- The requested resource doesn't exist.
    500 Internal Server Error -- Something went wrong on Website Toolbox's end. (These are rare.)
    Parameter Description
    statusstring Provide status of error.
    error
    » paramstring The parameter the error relates to if the error is parameter-specific.
    » messagestring A human-readable message providing more details about the error.
    » codestring A short string related to error.

    Categories

    The category object

    Parameter Description
    categoryIdinteger The unique identifier for a category.
    objectstring String representing the object’s type. Objects of the same type share the same value.
    descriptionstring An arbitrary string which you can attach to a category object. It is displayed alongside the category in the web interface.
    unlistedboolean Boolean representing whether a category is unlisted or not. Unlisted will hide it on the category listing on forum.
    titlestring This is the name of the category. It describes the theme of the discussions within the category in a concise manner.
    lockedboolean Boolean representing whether a category is locked or not. Locked will prevent any new posts from being made in the category.
    passwordProtectedboolean Boolean representing whether a category is password protected or not. It is used to password protect the category so only people with the correct password can enter.
    linkedstring The category will not be a real category. Instead it will simply be a link to the URL you provide.
    parentIdinteger The categoryId of parent category.

    List categories

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/categories \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/categories',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/categories',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/categories', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/categories");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\CategoriesApi();
    $x_api_key = "string";
    $result = $api_instance->getCategories($x_api_key);
    print_r($result);
    ?>
    

    GET /api/categories

    Returns a list of categories. The categories are returned sorted by displayorder, minimum displayorder category appearing first.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.

    Example responses

    200 Response

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "categoryId": 0,
          "description": "string",
          "unlisted": true,
          "title": "string",
          "locked": true,
          "passwordProtected": true,
          "linked": "string",
          "parentId": 0,
          "object": "string"
        }
      ]
    }
    

    Returns

    An array of categories. Each entry in the array is a separate category object. If no more categories are available, the resulting array will be empty. This request should never throw an error.

    Create a category

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/categories \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "title": "string",
      "description": "string",
      "unlisted": true,
      "locked": true,
      "password": "string",
      "linked": "string",
      "parentId": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/categories',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/categories',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/categories', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/categories");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\CategoriesApi();
    $x_api_key = "string";
    $add_category = new \Websitetoolbox\Model\AddCategory(); 
    $add_category->setTitle("string");
    $result = $api_instance->createCategory($x_api_key, $add_category);
    print_r($result);
    ?>
    

    POST /api/categories

    Creates a new category object.

    Body parameter

    {
      "title": "string",
      "description": "string",
      "unlisted": true,
      "locked": true,
      "password": "string",
      "linked": "string",
      "parentId": 0
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    body
    » titlestring, required This is the name of the category. It describes the theme of the discussions within the category in a concise manner.
    » descriptionstring An arbitrary string which you can attach to a category object. It is displayed alongside the category in the web interface.
    » unlistedboolean Boolean representing whether a category is unlisted or not. Unlisted will hide it on the category listing on forum.
    » lockedboolean Boolean representing whether a category is locked or not. Locked will prevent any new posts from being made in the category.
    » passwordstring It is used to password protect the category so only people with the correct password can enter.
    » linkstring The category will not be a real category. Instead it will simply be a link to the URL you provide.
    » parentIdinteger The categoryId of parent category.

    Example responses

    {
      "categoryId": 0,
      "description": "string",
      "unlisted": true,
      "title": "string",
      "locked": true,
      "passwordProtected": true,
      "linked": "string",
      "parentId": 0,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a category object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a category

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/categories/{categoryId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/categories/{categoryId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/categories/{categoryId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/categories/{categoryId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/categories/{categoryId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\CategoriesApi();
    $x_api_key = "string";
    $result = $api_instance->getCategory($categoryId,$x_api_key);
    print_r($result);
    ?>
    

    GET /api/categories/{categoryId}

    Retrieves the details of an existing category. You need only supply the unique category identifier that was returned upon category creation.

    Parameters

    Parameter Description
    categoryIdstring, required The unique identifier for a category.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    {
      "categoryId": 0,
      "description": "string",
      "unlisted": true,
      "title": "string",
      "locked": true,
      "passwordProtected": true,
      "linked": "string",
      "parentId": 0,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a category object if a valid identifier was provided.

    Update a category

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/categories/{categoryId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "description": "string",
      "unlisted": true,
      "title": "string",
      "locked": true,
      "password": "string",
      "linked": "string",
      "parentId": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/categories/{categoryId}',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/categories/{categoryId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/categories/{categoryId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/categories/{categoryId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\CategoriesApi();
    $x_api_key = "string";
    $updateCategory = new \Websitetoolbox\Model\AddCategory(); 
    $updateCategory->setTitle("string");
    $result = $api_instance->updateCategory($categoryId, $x_api_key, $updateCategory);
    print_r($result);
    ?>
    

    POST /api/categories/{categoryId}

    Updates the specified category by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts mostly the same arguments as the category creation call.

    Body parameter

    {
      "title": "string",
      "description": "string",
      "unlisted": true,
      "locked": true,
      "password": "string",
      "linked": "string",
      "parentId": 0
    }
    

    Parameters

    Parameter Description
    categoryIdstring, required The unique identifier for a category.
    x-api-keystring, required Your secret API key to authenticate your account.
    body
    » descriptionstring An arbitrary string which you can attach to a category object. It is displayed alongside the category in the web interface.
    » unlistedboolean Boolean representing whether a category is unlisted or not. Unlisted will hide it on the category listing on forum.
    » titlestring This is the name of the category. It describes the theme of the discussions within the category in a concise manner.
    » lockedboolean Boolean representing whether a category is locked or not. Locked will prevent any new posts from being made in the category.
    » passwordstring It is used to password protect the category so only people with the correct password can enter.
    » linkedstring The category will not be a real category. Instead it will simply be a link to the URL you provide.
    » parentIdinteger The categoryId of parent category.

    Example responses

    {
      "categoryId": 0,
      "description": "string",
      "unlisted": true,
      "title": "string",
      "locked": true,
      "passwordProtected": true,
      "linked": "string",
      "parentId": 0,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns the category object if the update succeeded.

    Delete a category

    Code samples

    # You can also use wget
    curl -X DELETE https://api.websitetoolbox.com/v1/api/categories/{categoryId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/categories/{categoryId}',
    {
      method: 'DELETE',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.delete 'https://api.websitetoolbox.com/v1/api/categories/{categoryId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.delete('https://api.websitetoolbox.com/v1/api/categories/{categoryId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/categories/{categoryId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("DELETE");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\CategoriesApi();
    $x_api_key = "string";
    $result = $api_instance->deleteCategory($categoryId, $x_api_key);
    print_r($result);
    ?>
    

    DELETE /api/categories/{categoryId}

    Permanently deletes a category. It cannot be undone. Also immediately deletes any topics and posts on the category.

    Parameters

    Parameter Description
    categoryIdstring, required The unique identifier for a category.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    {
      "status": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a parameter "status" with value success if the delete succeeded.

    Conversations

    The conversation object

    Parameter Description
    objectstring String representing the object’s type. Objects of the same type share the same value.
    subjectstring Thing that is being discussed, described for conversation.
    dateTimestampinteger Time at which the object was created. Measured in seconds since the Unix epoch.
    conversationIdinteger The unique identifier for a conversation.
    participants
    [object]
    » userIdinteger Participant's userId.
    » avatarUrlstring The URL of an icon or image representing a particular person in forum.
    » activeboolean Boolean representing whether a participant is active or not.
    » usernamestring Participant's username.
    » unreadCountinteger The number of unread messages in conversation.
    » isStarterboolean Boolean representing whether a participant is started the conversation or not.

    List conversations

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/conversations \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/conversations',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/conversations', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\ConversationsApi();
    $x_api_key = "string";
    $result = $api_instance->getConversations($x_api_key);
    print_r($result);
    ?>
    

    GET /api/conversations

    Returns a list of conversations. The conversations are returned sorted by creation date, with the most recent conversations appearing first.

    Parameters

    Parameter Description
    userIdinteger The unique identifier of member to filter out the results.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    200 Response

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "object": "string",
          "subject": "string",
          "dateTimestamp": 0,
          "participants": [
            {
              "userId": 0,
              "avatarUrl": "string",
              "active": true,
              "username": "string",
              "unreadCount": 0,
              "isStarter": true
            }
          ],
          "conversationId": 0
        }
      ]
    }
    

    Returns

    An array of up to limit conversations. Each entry in the array is a separate conversation object. If no more conversations are available, the resulting array will be empty. This request should never throw an error.

    Create a conversation

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/conversations \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "message": "string",
      "recipientUsernames": [
        "string"
      ],
      "subject": "string",
      "senderId": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/conversations',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/conversations', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
        <?php
        $api_instance = new Websitetoolbox\Api\ConversationsApi();
        $x_api_key = "string";
        $add_conversation = new \Websitetoolbox\Model\AddConversation(); 
        $add_conversation->setTitle("string");
        $result = $api_instance->createConversation($x_api_key, $add_conversation);
        print_r($result);
        ?>
    

    POST /api/conversations

    Creates a new conversation object.

    Body parameter

    {
      "message": "string",
      "recipientUsernames": [
        "string"
      ],
      "subject": "string",
      "senderId": 0
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    body
    » messagestring, required Message is usually a content, and its purpose is either to ask a question, answer a question or to contributes towards the forum discussion by expressing an opinion or bringing forth information.
    » subjectstring Thing that is being discussed, described for conversation.
    » senderIdinteger, required Sender's userId who started the conversation.
    » recipientUsernames
    [array], required
    A list of usernames who will receive the messages.

    Example responses

    {
      "object": "string",
      "subject": "string",
      "dateTimestamp": 0,
      "participants": [
        {
          "userId": 0,
          "avatarUrl": "string",
          "active": true,
          "username": "string",
          "unreadCount": 0,
          "isStarter": true
        }
      ],
      "conversationId": 0
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a conversation object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a conversation

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/conversations/{conversationId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/conversations/{conversationId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations/{conversationId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\ConversationsApi();
    $x_api_key = "string";
    $result = $api_instance->getConversation($x_api_key,$conversation_id);
    print_r($result);
    ?>
    

    GET /api/conversations/{conversationId}

    Retrieves the details of an existing conversation. You need only supply the unique conversation identifier that was returned upon conversation creation.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    conversationIdstring, required The unique identifier for a conversation.

    Example responses

    {
      "object": "string",
      "subject": "string",
      "dateTimestamp": 0,
      "participants": [
        {
          "userId": 0,
          "avatarUrl": "string",
          "active": true,
          "username": "string",
          "unreadCount": 0,
          "isStarter": true
        }
      ],
      "conversationId": 0
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a conversation object if a valid identifier was provided.

    Delete a conversation

    Code samples

    # You can also use wget
    curl -X DELETE https://api.websitetoolbox.com/v1/api/conversations/{conversationId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}',
    {
      method: 'DELETE',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.delete 'https://api.websitetoolbox.com/v1/api/conversations/{conversationId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.delete('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations/{conversationId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("DELETE");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\ConversationsApi();
    $x_api_key = "string";
    $result = $api_instance->deleteConversation($x_api_key,$conversation_id);
    print_r($result);
    ?>
    

    DELETE /api/conversations/{conversationId}

    Permanently deletes a customer. It cannot be undone.

    Parameters

    Parameter Description
    x-api-keystring, required The unique identifier for a conversation.
    conversationIdstring, required The unique identifier for a conversation.

    Example responses

    {
      "status": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a parameter "status" with value success if the delete succeeded.

    Messages

    The message object

    Properties

    Parameter Description
    senderobject User who send the message.
    » userIdinteger The userId of member who created this object.
    » usernamestring The username of member who created this object.
    messagestring Message is usually a content, and its purpose is either to ask a question, answer a question or to contributes towards the forum discussion by expressing an opinion or bringing forth information.
    messageIdinteger The unique identifier for a message.
    dateTimestampinteger Time at which the object was created. Measured in seconds since the Unix epoch.
    objectstring String representing the object’s type. Objects of the same type share the same value.
    attachments [object]
    » fileNamestring The file name of attachment.
    » URLstring The attachment URL.
    » idstring The unique identifier for a attachment.
    » objectstring String representing the object’s type. Objects of the same type share the same value.

    List messages

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\ConversationsApi();
    $x_api_key = "string";
    $result = $api_instance->getMessages($x_api_key,$conversation_id);
    print_r($result);
    ?>
    

    GET /api/conversations/{conversationId}/messages

    Returns a list of your messages for a conversation. The messages are returned sorted by creation date, with the most recent messages appearing first.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdinteger The unique identifier of member to filter out the results.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.
    conversationIdinteger The unique identifier of conversation to filter out the results.

    Example responses

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "sender": {
            "userId": 0,
            "username": "string"
          },
          "message": "string",
          "messageId": 0,
          "attachments": [
            {
              "fileName": "string",
              "URL": "string",
              "id": "string",
              "object": "string"
            }
          ],
          "dateTimestamp": 0,
          "object": "string"
        }
      ]
    }
    

    Returns

    An array of up to limit messages. Each entry in the array is a separate message object. If no more messages are available, the resulting array will be empty. This request should never throw an error.

    Create a message

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "message": "string",
      "userId": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\ConversationsApi();
    $x_api_key = "string";
    $add_message = new \Websitetoolbox\Model\AddConversation(); 
    $add_message->setTitle("string");
    $result = $api_instance->createMessage($x_api_key,$conversation_id,add_message);
    print_r($result);
    ?>
    

    POST /api/conversations/{conversationId}/messages

    Creates a new message object for conversation.

    Body parameter

    {
      "message": "string",
      "userId": 0
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    conversationIdstring, required The unique identifier of conversation.
    body
    » messagestring, required Message is usually a content, and its purpose is either to ask a question, answer a question or to contributes towards the forum discussion by expressing an opinion or bringing forth information.
    » userIdinteger, required The userId of member to create a message.

    Example responses

    {
      "sender": {
        "userId": 0,
        "username": "string"
      },
      "message": "string",
      "messageId": 0,
      "attachments": [
        {
          "fileName": "string",
          "URL": "string",
          "id": "string",
          "object": "string"
        }
      ],
      "dateTimestamp": 0,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a message object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a message

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages/{messageId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages/{messageId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages/{messageId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages/{messageId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/conversations/{conversationId}/messages/{messageId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\ConversationsApi();
    $x_api_key = "string";
    $result = $api_instance->getMessage($message_id,$x_api_key);
    print_r($result);
    ?>
    

    GET /api/conversations/{conversationId}/messages/{messageId}

    Retrieves the details of an existing message. You need only supply the unique message identifier that was returned upon message creation.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdinteger The unique identifier of member to filter out the results.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.
    messageIdinteger The unique identifier of message to filter out the results.
    conversationIdinteger The unique identifier of conversation to filter out the results.

    Example responses

    {
      "sender": {
        "userId": 0,
        "username": "string"
      },
      "message": "string",
      "messageId": 0,
      "attachments": [
        {
          "fileName": "string",
          "URL": "string",
          "id": "string",
          "object": "string"
        }
      ],
      "dateTimestamp": 0,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a message object if a valid identifiers were provided.

    Posts

    The post object

    Parameter Description
    messagestring Message is usually a content, and its purpose is either to ask a question, answer a question or to contributes towards the forum discussion by expressing an opinion or bringing forth information.
    likeCountinteger Total number of post likes.
    postTimestampinteger Time at which the object was created. Measured in seconds since the Unix epoch.
    postId integer
    The unique identifier of post
    dislikeCountinteger Total number of post dislikes.
    authorobject Member who created this object.
    » userIdinteger The userId of member who created this object.
    » avatarUrlstring The URL of an icon or image representing a particular member in forum who created this object.
    » usernamestring The username of member who created this object.
    attachmentCountinteger Total number of attachments in post.
    pendingboolean Boolean representing whether a post is pending or not. Pending post will only be displayed after approval of moderator.
    objectstring String representing the object’s type. Objects of the same type share the same value.
    attachments
    [object]
    Attachment object associate with this object.
    » fileNamestring The file name of attachment.
    » URLstring The attachment URL.
    » idstring The unique identifier for a attachment.

    List posts

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/posts \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/posts',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/posts',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/posts', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/posts");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\PostsApi();
    $x_api_key = "string";
    $result = $api_instance->getPosts($x_api_key);
    print_r($result);
    ?>
    

    GET /api/posts

    Returns a list of posts. The posts are returned sorted by creation date, with the most recent posts appearing first.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdinteger The unique identifier of member to filter out the results.
    topicIdinteger The unique identifier of topic to filter out the results.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.
    categoryIdstring The unique identifier of category to filter out the results.

    Example responses

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "message": "string",
          "likeCount": 0,
          "postTimestamp": 0,
          "postId": 0,
          "dislikeCount": 0,
          "author": {
            "userId": 0,
            "avatarUrl": "string",
            "username": "string"
          },
          "attachments": [
            {
              "fileName": "string",
              "URL": "string",
              "id": "string"
            }
          ],
          "attachmentCount": 0,
          "pending": true,
          "object": "string"
        }
      ]
    }
    

    Returns

    An array of up to limit posts. Each entry in the array is a separate post object. If no more posts are available, the resulting array will be empty. This request should never throw an error.

    Create a post

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/posts \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "content": "string",
      "username": "string",
      "topicId": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/posts',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/posts',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/posts', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/posts");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\PostsApi();
    $x_api_key = "string";
    $add_post = new \Websitetoolbox\Model\AddPost(); 
    $add_post->setContent("string");
    $result = $api_instance->createPost($x_api_key, $add_post);
    print_r($result);
    ?>
    

    POST /api/posts

    Creates a new post object.

    Body parameter

    {
      "content": "string",
      "username": "string",
      "topicId": 0
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    body
    » contentstring, required Content is usually a message, and its purpose is either to ask a question, answer a question or to contributes towards the forum discussion by expressing an opinion or bringing forth information.
    » usernamestring, required The username of member to create this object.
    » userIdinteger The userId of member to create this object. Either the userId or the username are required.
    » topicIdinteger, required The unique identifier of topic to create this object.

    Example responses

    {
      "message": "string",
      "likeCount": 0,
      "postTimestamp": 0,
      "postId": 0,
      "dislikeCount": 0,
      "author": {
        "userId": 0,
        "avatarUrl": "string",
        "username": "string"
      },
      "attachments": [
        {
          "fileName": "string",
          "URL": "string",
          "id": "string"
        }
      ],
      "attachmentCount": 0,
      "pending": true,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a post object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a post

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/posts/{postId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/posts/{postId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/posts/{postId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/posts/{postId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/posts/{postId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\PostsApi();
    $x_api_key = "string";
    $result = $api_instance->getPost($post_id,$x_api_key);
    print_r($result);
    ?>
    

    GET /api/posts/{postId}

    Retrieves the details of an existing post. You need only supply the unique post identifier that was returned upon post creation.

    Parameters

    Parameter Description
    postIdstring, required Unique identifier for the post object.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    {
      "message": "string",
      "likeCount": 0,
      "postTimestamp": 0,
      "postId": 0,
      "dislikeCount": 0,
      "author": {
        "userId": 0,
        "avatarUrl": "string",
        "username": "string"
      },
      "attachments": [
        {
          "fileName": "string",
          "URL": "string",
          "id": "string"
        }
      ],
      "attachmentCount": 0,
      "pending": true,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a post object if a valid identifier was provided.

    Update a post

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/posts/{postId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/posts/{postId}',
    {
      method: 'POST',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/posts/{postId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/posts/{postId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/posts/{postId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\PostsApi();
    $x_api_key = "string";
    $post = new \Websitetoolbox\Model\Post(); 
    $post->setMessage("string");
    $result = $api_instance->updatePost($post_id,$x_api_key,$post);
    print_r($result);
    ?>
    

    POST /api/posts/{postId}

    Updates the specified post by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

    Body parameter

    {
      "content": "string",
      "username": "string"
    }
    

    Parameters

    Parameter Description
    postIdstring, required Unique identifier for the post object.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    200 Response

    {
      "message": "string",
      "likeCount": 0,
      "postTimestamp": 0,
      "postId": 0,
      "dislikeCount": 0,
      "author": {
        "userId": 0,
        "avatarUrl": "string",
        "username": "string"
      },
      "attachments": [
        {
          "fileName": "string",
          "URL": "string",
          "id": "string"
        }
      ],
      "attachmentCount": 0,
      "pending": true,
      "object": "string"
    }
    

    400 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns the post object if the update succeeded.

    Delete a post

    Code samples

    # You can also use wget
    curl -X DELETE https://api.websitetoolbox.com/v1/api/posts/{postId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/posts/{postId}',
    {
      method: 'DELETE',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.delete 'https://api.websitetoolbox.com/v1/api/posts/{postId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.delete('https://api.websitetoolbox.com/v1/api/posts/{postId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/posts/{postId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("DELETE");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\PostsApi();
    $x_api_key = "string";
    $result = $api_instance->deletePost($post_id, $x_api_key);
    print_r($result);
    ?>
    

    DELETE /api/posts/{postId}

    Permanently deletes a post. It cannot be undone. Also immediately deletes any attachments on the post.

    Parameters

    Parameter Description
    postIdstring, required Unique identifier for the post object.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    200 Response

    {
      "status": "string"
    }
    

    400 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a parameter "status" with value success if the delete succeeded.

    Topics

    The topic object

    Parameter Description
    lastPostobject
    » authorobject Member who created this object.
    »» avatarUrlstring The URL of an icon or image representing a particular member in forum who created last post.
    »» userIdinteger The userId of member who created last post.
    »» usernamestring The username of member who created last post.
    » timestampinteger Time at which the last post was created. Measured in seconds since the Unix epoch.
    » postIdinteger The unique identifier for a post.
    viewCountinteger The number of views in topic.
    firstPostIdinteger The unique identifier of first post in topic.
    lockedboolean Boolean representing whether a topic is locked or not. Locked will prevent any new posts from being made in the topic.
    postCountinteger The number of posts in topic.
    replyCountinteger The number of replies in topic.
    pinnedboolean Boolean representing whether a topic is pinned or not. Pinned topic display at the beginning of that forum's topic listing to ensure that it receives attention from forum users.
    topicIdinteger The unique identifier for a topic.
    titlestring Thing that is being discussed, described for topic.
    authorobject Member who created this object.
    » avatarUrlstring The URL of an icon or image representing a particular member in forum who created this object.
    » usernamestring The username of member who created this object.
    » userIdinteger The userId of member who created this object.
    categoryIdinteger The unique identifier of category that belongs to this object.
    dateTimestampinteger Time at which the object was created. Measured in seconds since the Unix epoch.
    objectstring String representing the object’s type. Objects of the same type share the same value.

    List topics

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/topics \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/topics',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/topics',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/topics', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/topics");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
      $api_instance = new Websitetoolbox\Api\TopicsApi();
      $x_api_key = "string";
      $result = $api_instance->getTopics($x_api_key);
      print_r($result);
    ?>
    

    GET /api/topics

    Returns a list of topics. The topics are returned sorted by creation date, with the most recent topics appearing first.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdinteger The unique identifier of member to filter out the results.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    sortinteger To sort out the results. Possible values are top, latest or new.
    pageinteger Page number of results to return.
    categoryIdinteger The unique identifier of category to filter out the results.

    Example responses

    200 Response

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "lastPost": {
            "author": {
              "avatarUrl": "string",
              "userId": 0,
              "username": "string"
            },
            "timestamp": 0,
            "postId": 0
          },
          "viewCount": 0,
          "firstPostId": 0,
          "locked": true,
          "postCount": 0,
          "replyCount": 0,
          "pinned": true,
          "topicId": 0,
          "title": "string",
          "author": {
            "avatarUrl": "string",
            "username": "string",
            "userId": 0
          },
          "categoryId": 0,
          "dateTimestamp": 0,
          "object": "string"
        }
      ]
    }
    

    Returns

    An array of up to limit topics. Each entry in the array is a separate topic object. If no more topics are available, the resulting array will be empty. This request should never throw an error.

    Create a topic

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/topics \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: string' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "title": "string",
      "content": "string",
      "username": "string",
      "categoryId": 0
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/topics',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/topics',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/topics', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/topics");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
      $api_instance = new Websitetoolbox\Api\TopicsApi();
      $x_api_key = "string";
      $add_topic = new \Websitetoolbox\Model\AddTopic(); 
      $add_topic->setTitle("string");
      $result = $api_instance->createTopic($x_api_key, $add_topic);
      print_r($result);
    ?>
    

    POST /api/topics

    Creates a new topic object.

    Body parameter

    {
      "title": "string",
      "content": "string",
      "username": "string",
      "categoryId": 0
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    body
    » titlestring, required Thing that is being discussed, described for topic.
    » contentstring, required Content is usually a message, and its purpose is either to ask a question, answer a question or to contributes towards the forum discussion by expressing an opinion or bringing forth information.
    » usernamestring, required The username of member to create this object.
    » categoryIdinteger The unique identifier of category to create this object.

    Example responses

    200 Response

    {
      "lastPost": {
        "author": {
          "avatarUrl": "string",
          "userId": 0,
          "username": "string"
        },
        "timestamp": 0,
        "postId": 0
      },
      "viewCount": 0,
      "firstPostId": 0,
      "locked": true,
      "postCount": 0,
      "replyCount": 0,
      "pinned": true,
      "topicId": 0,
      "title": "string",
      "author": {
        "avatarUrl": "string",
        "username": "string",
        "userId": 0
      },
      "categoryId": 0,
      "dateTimestamp": 0,
      "object": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a topic object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a topic

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/topics/{topicId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'string',
      'Accept':'application/json'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/topics/{topicId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/topics/{topicId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/topics/{topicId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/topics/{topicId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
     $api_instance = new Websitetoolbox\Api\TopicsApi();
     $x_api_key = "string";
     $result = $api_instance->getTopic($topic_id,,$x_api_key);
     print_r($result);
    ?>
    

    GET /api/topics/{topicId}

    Retrieves the details of an existing topic. You need only supply the unique topic identifier that was returned upon topic creation.

    Parameters

    Parameter Description
    topicIdstring, required Unique identifier for the topic object.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    200 Response

    {
      "lastPost": {
        "author": {
          "avatarUrl": "string",
          "userId": 0,
          "username": "string"
        },
        "timestamp": 0,
        "postId": 0
      },
      "viewCount": 0,
      "firstPostId": 0,
      "locked": true,
      "postCount": 0,
      "replyCount": 0,
      "pinned": true,
      "topicId": 0,
      "title": "string",
      "author": {
        "avatarUrl": "string",
        "username": "string",
        "userId": 0
      },
      "categoryId": 0,
      "dateTimestamp": 0,
      "object": "string"
    }
    

    404 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a topic object if a valid identifier was provided.

    Update a topic

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/topics/{topicId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/topics/{topicId}',
    {
      method: 'POST',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/topics/{topicId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/topics/{topicId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/topics/{topicId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
     $api_instance = new Websitetoolbox\Api\TopicsApi();
     $x_api_key = "string";
     $topic = new \Websitetoolbox\Model\Topic(); 
     $topic->setTitle("string");
     $result = $api_instance->updateTopic($topic_id,$x_api_key, $topic);
     print_r($result);
    ?>
    

    POST /api/topics/{topicId}

    Updates the specified topic by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

    This request accepts mostly the same arguments as the topic creation call.

    Body parameter

    {
        "title": "string",
        "username": "string"
    }
    

    Parameters

    Parameter Description
    topicIdstring, required Unique identifier for the topic object.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    200 Response

    {
      "lastPost": {
        "author": {
          "avatarUrl": "string",
          "userId": 0,
          "username": "string"
        },
        "timestamp": 0,
        "postId": 0
      },
      "viewCount": 0,
      "firstPostId": 0,
      "locked": true,
      "postCount": 0,
      "replyCount": 0,
      "pinned": true,
      "topicId": 0,
      "title": "string",
      "author": {
        "avatarUrl": "string",
        "username": "string",
        "userId": 0
      },
      "categoryId": 0,
      "dateTimestamp": 0,
      "object": "string"
    }
    

    Returns

    Returns the topic object if the update succeeded.

    Delete a topic

    Code samples

    # You can also use wget
    curl -X DELETE https://api.websitetoolbox.com/v1/api/topics/{topicId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'x-api-key':'string',
      'Accept':'application/json'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/topics/{topicId}',
    {
      method: 'DELETE',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'x-api-key' => 'string',
      'Accept' => 'application/json'
    }
    
    result = RestClient.delete 'https://api.websitetoolbox.com/v1/api/topics/{topicId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.delete('https://api.websitetoolbox.com/v1/api/topics/{topicId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/topics/{topicId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("DELETE");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
      $api_instance = new Websitetoolbox\Api\TopicsApi();
      $x_api_key = "string";
      $result = $api_instance->deleteTopic($topic_id,$x_api_key);
      print_r($result);
    ?>
    

    DELETE /api/topics/{topicId}

    Permanently deletes a topic. It cannot be undone. Also immediately deletes all posts in the topic.

    Parameters

    Parameter Description
    topicIdstring, required Unique identifier for the topic object.
    x-api-keystring, required Your secret API key to authenticate your account.

    Example responses

    200 Response

    {
      "status": "string"
    }
    

    400 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a parameter "status" with value success if the delete succeeded.

    User groups

    The user group object

    Parameter Description
    userGroupIdinteger The unique identifier for a user group.
    titlestring This is the name of user group. It is not shown to members but used to identify in User Group Manager.
    objectstring String representing the object’s type. Objects of the same type share the same value.
    requireEventApprovalboolean Boolean representing whether requireEventApproval permission is enabled or not.
    viewInvisibleMembersboolean Boolean representing whether viewInvisibleMembers permission is enabled or not.
    viewOthersTopicsboolean Boolean representing whether viewOthersTopics permission is enabled or not.
    viewableOnMembersListboolean Boolean representing whether viewableOnMembersList permission is enabled or not.
    uploadAttachmentsboolean Boolean representing whether uploadAttachments permission is enabled or not.
    changeUsernameboolean Boolean representing whether changeUsername permission is enabled or not.
    defaultGroupboolean Boolean representing whether defaultGroup permission is enabled or not.
    viewForumboolean Boolean representing whether viewForum permission is enabled or not.
    startTopicsboolean Boolean representing whether startTopics permission is enabled or not.
    deleteOwnTopicsboolean Boolean representing whether deleteOwnTopics permission is enabled or not.
    createAlbumsboolean Boolean representing whether createAlbums permission is enabled or not.
    moveOwnTopicsboolean Boolean representing whether moveOwnTopics permission is enabled or not.
    viewAttachmentsboolean Boolean representing whether viewAttachments permission is enabled or not.
    editOwnProfileboolean Boolean representing whether editOwnProfile permission is enabled or not.
    customTitleboolean Boolean representing whether customTitle permission is enabled or not.
    viewAlbumsboolean Boolean representing whether viewAlbums permission is enabled or not.
    signatureboolean Boolean representing whether signature permission is enabled or not.
    viewTopicContentboolean Boolean representing whether viewTopicContent permission is enabled or not.
    setSelfAsInvisibleboolean Boolean representing whether setSelfAsInvisible permission is enabled or not.
    editOwnImagesboolean Boolean representing whether editOwnImages permission is enabled or not.
    requirePostApprovalboolean Boolean representing whether requirePostApproval permission is enabled or not.
    viewCalendarboolean Boolean representing whether viewCalendar permission is enabled or not.
    moderateAlbumsboolean Boolean representing whether moderateAlbums permission is enabled or not.
    editOwnPostsboolean Boolean representing whether editOwnPosts permission is enabled or not.
    postEventsboolean Boolean representing whether postEvents permission is enabled or not.
    viewCategoryboolean Boolean representing whether viewCategory permission is enabled or not.
    viewProfilesboolean Boolean representing whether viewProfiles permission is enabled or not.
    editOwnEventsboolean Boolean representing whether editOwnEvents permission is enabled or not.
    replyOwnTopicsboolean Boolean representing whether replyOwnTopics permission is enabled or not.
    viewOthersEventsboolean Boolean representing whether viewOthersEvents permission is enabled or not.
    replyTopicsboolean Boolean representing whether replyTopics permission is enabled or not.
    deleteOwnPostsboolean Boolean representing whether deleteOwnPosts permission is enabled or not.
    deleteOwnEventsboolean Boolean representing whether deleteOwnEvents permission is enabled or not.
    deleteOwnImagesboolean Boolean representing whether deleteOwnImages permission is enabled or not.
    deleteOwnProfileboolean Boolean representing whether deleteOwnProfile permission is enabled or not.
    postPollsboolean Boolean representing whether postPolls permission is enabled or not.
    voteOnPollsboolean Boolean representing whether voteOnPolls permission is enabled or not.

    List user groups

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/usergroups \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/usergroups',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/usergroups',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/usergroups', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/usergroups");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsergroupsApi();
    $x_api_key = "string";
    $result = $api_instance->getUsergroups($x_api_key);
    print_r($result);
    ?>
    

    GET /api/usergroups

    Returns a list of all user groups.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.

    Example responses

    200 Response

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "userGroupId": 0,
          "title": "string",
          "object": "string",
          "requireEventApproval": true,
          "viewInvisibleMembers": true,
          "viewOthersTopics": true,
          "viewableOnMembersList": true,
          "uploadAttachments": true,
          "changeUsername": true,
          "defaultGroup": true,
          "viewForum": true,
          "startTopics": true,
          "deleteOwnTopics": true,
          "createAlbums": true,
          "moveOwnTopics": true,
          "viewAttachments": true,
          "editOwnProfile": true,
          "customTitle": true,
          "viewAlbums": true,
          "signature": true,
          "viewTopicContent": true,
          "setSelfAsInvisible": true,
          "editOwnImages": true,
          "requirePostApproval": true,
          "viewCalendar": true,
          "moderateAlbums": true,
          "editOwnPosts": true,
          "postEvents": true,
          "viewCategory": true,
          "viewProfiles": true,
          "editOwnEvents": true,
          "replyOwnTopics": true,
          "viewOthersEvents": true,
          "replyTopics": true,
          "deleteOwnPosts": true,
          "deleteOwnEvents": true,
          "deleteOwnImages": true,
          "deleteOwnProfile": true,
          "postPolls": true,
          "voteOnPolls": true
        }
      ]
    }
    

    Returns

    An array of user groups. Each entry in the array is a separate user group object. This request should never throw an error.

    Create a user group

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/usergroups \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "title": "string",
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "requireEventApproval": true,
      "postPolls": true,
      "voteOnPolls": true
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/usergroups',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/usergroups',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/usergroups', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/usergroups");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsergroupsApi();
    $x_api_key = "string";
    $add_usergroup = new \Websitetoolbox\Model\AddUsergroup(); 
    $add_usergroup->setTitle("string");
    $result = $api_instance->createUsergroup($x_api_key, $add_usergroup);
    print_r($result);
    ?>
    

    POST /api/usergroups

    Creates a new custom user group object.

    Body parameter

    {
      "title": "string",
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "requireEventApproval": true,
      "postPolls": true,
      "voteOnPolls": true
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    body
    » titlestring, required This is the name of user group. It is not shown to members but used to identify in User Group Manager.
    » viewInvisibleMembersboolean The viewInvisibleMembers permission to create this object.
    » viewOthersTopicsboolean The viewOthersTopics permission to create this object.
    » viewableOnMembersListboolean The viewableOnMembersList permission to create this object.
    » uploadAttachmentsboolean The uploadAttachments permission to create this object.
    » changeUsernameboolean The changeUsername permission to create this object.
    » viewForumboolean The viewForum permission to create this object.
    » startTopicsboolean The startTopics permission to create this object.
    » deleteOwnTopicsboolean The deleteOwnTopics permission to create this object.
    » createAlbumsboolean The createAlbums permission to create this object.
    » moveOwnTopicsboolean The moveOwnTopics permission to create this object.
    » viewAttachmentsboolean The viewAttachments permission to create this object.
    » editOwnProfileboolean The editOwnProfile permission to create this object.
    » customTitleboolean The customTitle permission to create this object.
    » viewAlbumsboolean The viewAlbums permission to create this object.
    » signatureboolean The signature permission to create this object.
    » viewTopicContentboolean The viewTopicContent permission to create this object.
    » setSelfAsInvisibleboolean The setSelfAsInvisible permission to create this object.
    » editOwnImagesboolean The editOwnImages permission to create this object.
    » requirePostApprovalboolean The requirePostApproval permission to create this object.
    » viewCalendarboolean The viewCalendar permission to create this object.
    » moderateAlbumsboolean The moderateAlbums permission to create this object.
    » editOwnPostsboolean The editOwnPosts permission to create this object.
    » postEventsboolean The postEvents permission to create this object.
    » viewCategoryboolean The viewCategory permission to create this object.
    » viewProfilesboolean The viewProfiles permission to create this object.
    » editOwnEventsboolean The editOwnEvents permission to create this object.
    » replyOwnTopicsboolean The replyOwnTopics permission to create this object.
    » viewOthersEventsboolean The viewOthersEvents permission to create this object.
    » replyTopicsboolean The replyTopics permission to create this object.
    » deleteOwnPostsboolean The deleteOwnPosts permission to create this object.
    » deleteOwnEventsboolean The deleteOwnEvents permission to create this object.
    » deleteOwnImagesboolean The deleteOwnImages permission to create this object.
    » deleteOwnProfileboolean The deleteOwnProfile permission to create this object.
    » requireEventApprovalboolean The requireEventApproval permission to create this object.
    » postPollsboolean The postPolls permission to create this object.
    » voteOnPollsboolean The voteOnPolls permission to create this object.

    Example responses

    200 Response

    {
      "userGroupId": 0,
      "title": "string",
      "object": "string",
      "requireEventApproval": true,
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "defaultGroup": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "postPolls": true,
      "voteOnPolls": true
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a user group object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a user group

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsergroupsApi();
    $x_api_key = "string";
    $result = $api_instance->getUsergroup($x_api_key, $usergroup_id);
    print_r($result);
    ?>
    

    GET /api/usergroups/{userGroupId}

    Retrieves the details of an existing user group. You need only supply the unique user group identifier.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userGroupIdstring, required Unique identifier for the user group object.

    Example responses

    200 Response

    {
      "userGroupId": 0,
      "title": "string",
      "object": "string",
      "requireEventApproval": true,
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "defaultGroup": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "postPolls": true,
      "voteOnPolls": true
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a user group object if a valid identifier was provided.

    Update a user group

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "title": "string",
      "requireEventApproval": true,
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "postPolls": true,
      "voteOnPolls": true
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsergroupsApi();
    $x_api_key = "string";
    $usergroup = new \Websitetoolbox\Model\Usergroup(); 
    $usergroup->setTitle("string");
    $result = $api_instance->updateUsergroup($x_api_key, $usergroup_id, $usergroup);
    print_r($result);
    ?>
    

    POST /api/usergroups/{userGroupId}

    Body parameter

    {
      "title": "string",
      "requireEventApproval": true,
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "postPolls": true,
      "voteOnPolls": true
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userGroupIdstring, required Unique identifier for the user group object.
    body
    » titlestring This is the name of user group. It is not shown to members but used to identify in User Group Manager.
    » requireEventApprovalboolean Boolean representing whether requireEventApproval permission is enabled or not.
    » viewInvisibleMembersboolean Boolean representing whether viewInvisibleMembers permission is enabled or not.
    » viewOthersTopicsboolean Boolean representing whether viewOthersTopics permission is enabled or not.
    » viewableOnMembersListboolean Boolean representing whether viewableOnMembersList permission is enabled or not.
    » uploadAttachmentsboolean Boolean representing whether uploadAttachments permission is enabled or not.
    » changeUsernameboolean Boolean representing whether changeUsername permission is enabled or not.
    » viewForumboolean Boolean representing whether viewForum permission is enabled or not.
    » startTopicsboolean Boolean representing whether startTopics permission is enabled or not.
    » deleteOwnTopicsboolean Boolean representing whether deleteOwnTopics permission is enabled or not.
    » createAlbumsboolean Boolean representing whether createAlbums permission is enabled or not.
    » moveOwnTopicsboolean Boolean representing whether moveOwnTopics permission is enabled or not.
    » viewAttachmentsboolean Boolean representing whether viewAttachments permission is enabled or not.
    » editOwnProfileboolean Boolean representing whether editOwnProfile permission is enabled or not.
    » customTitleboolean Boolean representing whether customTitle permission is enabled or not.
    » viewAlbumsboolean Boolean representing whether viewAlbums permission is enabled or not.
    » signatureboolean Boolean representing whether signature permission is enabled or not.
    » viewTopicContentboolean Boolean representing whether viewTopicContent permission is enabled or not.
    » setSelfAsInvisibleboolean Boolean representing whether setSelfAsInvisible permission is enabled or not.
    » editOwnImagesboolean Boolean representing whether editOwnImages permission is enabled or not.
    » requirePostApprovalboolean Boolean representing whether requirePostApproval permission is enabled or not.
    » viewCalendarboolean Boolean representing whether viewCalendar permission is enabled or not.
    » moderateAlbumsboolean Boolean representing whether moderateAlbums permission is enabled or not.
    » editOwnPostsboolean Boolean representing whether editOwnPosts permission is enabled or not.
    » postEventsboolean Boolean representing whether postEvents permission is enabled or not.
    » viewCategoryboolean Boolean representing whether viewCategory permission is enabled or not.
    » viewProfilesboolean Boolean representing whether viewProfiles permission is enabled or not.
    » editOwnEventsboolean Boolean representing whether editOwnEvents permission is enabled or not.
    » replyOwnTopicsboolean Boolean representing whether replyOwnTopics permission is enabled or not.
    » viewOthersEventsboolean Boolean representing whether viewOthersEvents permission is enabled or not.
    » replyTopicsboolean Boolean representing whether replyTopics permission is enabled or not.
    » deleteOwnPostsboolean Boolean representing whether deleteOwnPosts permission is enabled or not.
    » deleteOwnEventsboolean Boolean representing whether deleteOwnEvents permission is enabled or not.
    » deleteOwnImagesboolean Boolean representing whether deleteOwnImages permission is enabled or not.
    » deleteOwnProfileboolean Boolean representing whether deleteOwnProfile permission is enabled or not.
    » postPollsboolean Boolean representing whether postPolls permission is enabled or not.
    » voteOnPollsboolean Boolean representing whether voteOnPolls permission is enabled or not.

    Example responses

    200 Response

    {
      "userGroupId": 0,
      "title": "string",
      "object": "string",
      "requireEventApproval": true,
      "viewInvisibleMembers": true,
      "viewOthersTopics": true,
      "viewableOnMembersList": true,
      "uploadAttachments": true,
      "changeUsername": true,
      "defaultGroup": true,
      "viewForum": true,
      "startTopics": true,
      "deleteOwnTopics": true,
      "createAlbums": true,
      "moveOwnTopics": true,
      "viewAttachments": true,
      "editOwnProfile": true,
      "customTitle": true,
      "viewAlbums": true,
      "signature": true,
      "viewTopicContent": true,
      "setSelfAsInvisible": true,
      "editOwnImages": true,
      "requirePostApproval": true,
      "viewCalendar": true,
      "moderateAlbums": true,
      "editOwnPosts": true,
      "postEvents": true,
      "viewCategory": true,
      "viewProfiles": true,
      "editOwnEvents": true,
      "replyOwnTopics": true,
      "viewOthersEvents": true,
      "replyTopics": true,
      "deleteOwnPosts": true,
      "deleteOwnEvents": true,
      "deleteOwnImages": true,
      "deleteOwnProfile": true,
      "postPolls": true,
      "voteOnPolls": true
    }
    

    400 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns the user group object if the update succeeded.

    Delete a custom user group

    Code samples

    # You can also use wget
    curl -X DELETE https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}',
    {
      method: 'DELETE',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.delete 'https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.delete('https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/usergroups/{userGroupId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("DELETE");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsergroupsApi();
    $x_api_key = "string";
    $result = $api_instance->deleteUsergroup($x_api_key, $usergroup_id);
    print_r($result);
    ?>
    

    DELETE /api/usergroups/{userGroupId}

    Permanently deletes a custom user group. It cannot be undone.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userGroupIdstring, required Unique identifier for the user group object.

    Example responses

    200 Response

    {
      "status": "string"
    }
    

    400 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a parameter "status" with value success if the delete succeeded.

    Users

    The user object

    Parameter Description
    userIdinteger The unique identifier of member that belongs to this object.
    allowEmailsboolean Boolean representing whether a member allows other members to send them emails.
    userTitlestring The title of member.
    avatarUrlstring The URL of an icon or image representing the member in forum who created this object.
    reputationinteger It is a reputation score of member based on how much the community has liked their posts. The number of likes minus the number of dislikes a member's posts receive becomes their reputation score.
    instantMessagingTypestring Instant messaging type of member.
    joinDateTimestampinteger Time at which the member was created. Measured in seconds since the Unix epoch.
    lastPostTimestampinteger Time at which the member was created last post. Measured in seconds since the Unix epoch.
    namestring The name of member.
    offlineboolean Boolean representing whether other users can see this user as online when they are browsing the forum.
    enableMessagesboolean Boolean representing whether a member has permission to send messages or not.
    usernamestring The username of member.
    postCountinteger The number of posts created by member.
    signaturestring Signature of member.
    emailstring The email address of the member.
    objectstring String representing the object’s type. Objects of the same type share the same value.
    lastVisitTimestampinteger Time at which the member was last visited. Measured in seconds since the Unix epoch.
    instantMessagingIdstring Instant messaging id of member.
    userGroups[Array] A list of userGroupId which belongs to member.
    customFields
    [Array]
    A list of custom field objects belongs to member.
    » objectstring String representing the object’s type. Objects of the same type share the same value.
    » profileFieldIdinteger The unique identifier of custom field that belongs to this object.
    » titlestring The title of custom field.
    » typestring The type of custom field.
    » valuestring The value of custom field.

    List users

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/users \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/users',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/users',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/users', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/users");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsersApi();
    $x_api_key = "string";
    $result = $api_instance->getUsers($x_api_key);
    print_r($result);
    ?>
    

    GET /api/users

    Returns a list of users on forum. The users are returned sorted by creation date, with the most recent users appearing first.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    limitinteger A limit on the number of objects to be returned. Limit can range between 1 and 100 items, and the default is 10 items.
    pageinteger Page number of results to return.
    userGroupIdinteger The userGroupId of member to filter out the results.
    usernamestring The username of member to filter out the results.
    emailstring The email of member to filter out the results.

    Example responses

    200 Response

    {
      "object": "string",
      "has_more": true,
      "url": "string",
      "size": 0,
      "total_size": 0,
      "data": [
        {
          "userId": 0,
          "allowEmails": true,
          "userTitle": "string",
          "avatarUrl": "string",
          "reputation": 0,
          "userGroups": [
            0
          ],
          "instantMessagingType": "string",
          "joinDateTimestamp": 0,
          "lastPostTimestamp": 0,
          "name": "string",
          "offline": true,
          "enableMessages": true,
          "username": "string",
          "postCount": 0,
          "signature": "string",
          "email": "string",
          "object": "string",
          "lastVisitTimestamp": 0,
          "customFields": [
            {
              "object": "string",
              "profileFieldId": 0,
              "title": "string",
              "type": "string",
              "value": "string"
            }
          ],
          "instantMessagingId": "string"
        }
      ]
    }
    

    Returns

    An array of up to limit users. Each entry in the array is a separate user object. If no more users are available, the resulting array will be empty. This request should never throw an error.

    Create a user

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/users \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "username": "string",
      "password": "string",
      "email": "string",
      "userGroups": [
        0
      ],
      "signature": "string",
      "name": "string",
      "instantMessagingType": "string",
      "instantMessagingId": "string",
      "birthday": "string",
      "customFields": [
        {
          "profileFieldId": 0,
          "value": "string"
        }
      ],
      "allowEmails": true,
      "offline": true,
      "enableMessages": true,
      "userTitle": "string",
      "avatarUrl": "string"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/users',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/users',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/users', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/users");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsersApi();
    $x_api_key = "string";
    $add_user = new \Websitetoolbox\Model\AddUser(); 
    $add_user->setUsername("string");
    $result = $api_instance->createUser($x_api_key, $add_user);
    print_r($result);
    ?>
    

    POST /api/users

    Creates a new user object.

    Note that if you're using Single Sign On, user accounts are automatically created if they don't exist during the log in request. Using the API to create user accounts isn't required.

    Body parameter

    {
      "username": "string",
      "password": "string",
      "email": "string",
      "userGroups": [
        0
      ],
      "signature": "string",
      "name": "string",
      "instantMessagingType": "string",
      "instantMessagingId": "string",
      "birthday": "string",
      "customFields": [
        {
          "profileFieldId": 0,
          "value": "string"
        }
      ],
      "allowEmails": true,
      "offline": true,
      "enableMessages": true,
      "userTitle": "string",
      "avatarUrl": "string"
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    » usernamestring, required The username of the member.
    » passwordstring, required The password of the member.
    » emailstring, required The email address of the member.
    » userGroups[Array] A list of userGroupId which belongs to member.
    » signaturestring Signature of member.
    » namestring The name of the member.
    » instantMessagingTypestring Instant messaging type of the member.
    » instantMessagingIdstring Instant messaging id of the member.
    » birthdaystring Birthday of the member.
    » customFields[Array]
    »» profileFieldIdinteger The unique identifier of custom field that belongs to this object.
    »» valuestring The value of custom field. It can be string or array of strings depending on the type of custom field.
    » allowEmailsboolean Boolean representing whether a member allows other members to send them emails.
    » offlineboolean Boolean representing whether other users can see this user as online when they are browsing the forum.
    » enableMessagesboolean Boolean representing whether a member has permission to send messages or not.
    » userTitlestring The title of member.
    » avatarUrlstring The URL of an icon or image representing the member in forum who created this object.

    Example responses

    200 Response

    {
      "userId": 0,
      "allowEmails": true,
      "userTitle": "string",
      "avatarUrl": "string",
      "reputation": 0,
      "userGroups": [
        0
      ],
      "instantMessagingType": "string",
      "joinDateTimestamp": 0,
      "lastPostTimestamp": 0,
      "name": "string",
      "offline": true,
      "enableMessages": true,
      "username": "string",
      "postCount": 0,
      "signature": "string",
      "email": "string",
      "object": "string",
      "lastVisitTimestamp": 0,
      "customFields": [
        {
          "object": "string",
          "profileFieldId": 0,
          "title": "string",
          "type": "string",
          "value": "string"
        }
      ],
      "instantMessagingId": "string"
    }
    

    400 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a user object if the call succeeded. Throws an error if something goes wrong.

    Retrieve a user

    Code samples

    # You can also use wget
    curl -X GET https://api.websitetoolbox.com/v1/api/users/{userId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/users/{userId}',
    {
      method: 'GET',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.get 'https://api.websitetoolbox.com/v1/api/users/{userId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.get('https://api.websitetoolbox.com/v1/api/users/{userId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/users/{userId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsersApi();
    $x_api_key = "string";
    $result = $api_instance->getUser($x_api_key, $user_id);
    print_r($result);
    ?>
    

    GET /api/users/{userId}

    Retrieves the details of an existing user. You need only supply the unique user identifier that was returned upon user creation.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdstring, required Unique identifier for the member object.

    Example responses

    200 Response

    {
      "userId": 0,
      "allowEmails": true,
      "userTitle": "string",
      "avatarUrl": "string",
      "reputation": 0,
      "userGroups": [
        0
      ],
      "instantMessagingType": "string",
      "joinDateTimestamp": 0,
      "lastPostTimestamp": 0,
      "name": "string",
      "offline": true,
      "enableMessages": true,
      "username": "string",
      "postCount": 0,
      "signature": "string",
      "email": "string",
      "object": "string",
      "lastVisitTimestamp": 0,
      "customFields": [
        {
          "object": "string",
          "profileFieldId": 0,
          "title": "string",
          "type": "string",
          "value": "string"
        }
      ],
      "instantMessagingId": "string"
    }
    

    404 Response

    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns a user object if a valid identifier was provided.

    Update a user

    Code samples

    # You can also use wget
    curl -X POST https://api.websitetoolbox.com/v1/api/users/{userId} \
      -H 'Content-Type: application/json' \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    const inputBody = '{
      "username": "string",
      "password": "string",
      "email": "string",
      "userGroups": [
        0
      ],
      "signature": "string",
      "name": "string",
      "instantMessagingType": "string",
      "instantMessagingId": "string",
      "birthday": "string",
      "customFields": [
        {
          "profileFieldId": 0,
          "value": "string"
        }
      ],
      "allowEmails": true,
      "offline": true,
      "enableMessages": true,
      "userTitle": "string",
      "avatarUrl": "string"
    }';
    const headers = {
      'Content-Type':'application/json',
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/users/{userId}',
    {
      method: 'POST',
      body: inputBody,
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Content-Type' => 'application/json',
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.post 'https://api.websitetoolbox.com/v1/api/users/{userId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Content-Type': 'application/json',
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.post('https://api.websitetoolbox.com/v1/api/users/{userId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/users/{userId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsersApi();
    $x_api_key = "string";
    $update_user = new \Websitetoolbox\Model\UpdateUser(); 
    $update_user->setEmail("string");
    $result = $api_instance->updateUser($x_api_key, $user_id, $update_user);
    print_r($result);
    ?>
    

    POST /api/users/{userId}

    Update a user

    Updates the specified user by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

    This request accepts mostly the same arguments as the user creation call.

    Body parameter

    {
      "username": "string",
      "password": "string",
      "email": "string",
      "userGroups": [
        0
      ],
      "signature": "string",
      "name": "string",
      "instantMessagingType": "string",
      "instantMessagingId": "string",
      "birthday": "string",
      "customFields": [
        {
          "profileFieldId": 0,
          "value": "string"
        }
      ],
      "allowEmails": true,
      "offline": true,
      "enableMessages": true,
      "userTitle": "string",
      "avatarUrl": "string"
    }
    

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdstring, required Unique identifier for the member object. Filter users by email address, username, or user group to get their userid.
    body
    » usernamestring The username of member.
    » passwordstring The password of member.
    » emailstring The email address of the member.
    » signaturestring Signature of member.
    » namestring The name of member.
    » instantMessagingTypestring Instant messaging type of the member.
    » instantMessagingIdstring Instant messaging id of member.
    » birthdaystring Birthday of the member.
    » userGroups[Array] A list of userGroupId which belongs to member.
    » customFields[Array]
    »» profileFieldIdinteger The unique identifier of custom field that belongs to this object.
    »» valuestring The value of custom field. It can be string or array of strings depending on the type of custom field.
    » allowEmailsboolean Boolean representing whether a member allows other members to send them emails.
    » offlineboolean Boolean representing whether other users can see this user as online when they are browsing the forum.
    » enableMessagesboolean Boolean representing whether a member has permission to send messages or not.
    » userTitlestring The title of member.
    » avatarUrlstring The URL of an icon or image representing the member in forum who created this object.

    Example responses

    200 Response

    {
      "userId": 0,
      "allowEmails": true,
      "userTitle": "string",
      "avatarUrl": "string",
      "reputation": 0,
      "userGroups": [
        0
      ],
      "instantMessagingType": "string",
      "joinDateTimestamp": 0,
      "lastPostTimestamp": 0,
      "name": "string",
      "offline": true,
      "enableMessages": true,
      "username": "string",
      "postCount": 0,
      "signature": "string",
      "email": "string",
      "object": "string",
      "lastVisitTimestamp": 0,
      "customFields": [
        {
          "object": "string",
          "profileFieldId": 0,
          "title": "string",
          "type": "string",
          "value": "string"
        }
      ],
      "instantMessagingId": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    

    Returns

    Returns the user object if the update succeeded.

    Delete a user

    Code samples

    # You can also use wget
    curl -X DELETE https://api.websitetoolbox.com/v1/api/users/{userId} \
      -H 'Accept: application/json' \
      -H 'x-api-key: API_KEY'
    
    
    const request = require('node-fetch');
    
    const headers = {
      'Accept':'application/json',
      'x-api-key':'API_KEY'
    
    };
    
    fetch('https://api.websitetoolbox.com/v1/api/users/{userId}',
    {
      method: 'DELETE',
    
      headers: headers
    })
    .then(function(res) {
        return res.json();
    }).then(function(body) {
        console.log(body);
    });
    
    
    require 'rest-client'
    require 'json'
    
    headers = {
      'Accept' => 'application/json',
      'x-api-key' => 'API_KEY'
    }
    
    result = RestClient.delete 'https://api.websitetoolbox.com/v1/api/users/{userId}',
      params: {
      }, headers: headers
    
    p JSON.parse(result)
    
    
    import requests
    headers = {
      'Accept': 'application/json',
      'x-api-key': 'API_KEY'
    }
    
    r = requests.delete('https://api.websitetoolbox.com/v1/api/users/{userId}', params={
    
    }, headers = headers)
    
    print r.json()
    
    
    URL obj = new URL("https://api.websitetoolbox.com/v1/api/users/{userId}");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("DELETE");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    StringBuffer response = new StringBuffer();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();
    System.out.println(response.toString());
    
    <?php
    $api_instance = new Websitetoolbox\Api\UsersApi();
    $x_api_key = "string";
    $result = $api_instance->deleteUser($x_api_key, $user_id);
    print_r($result);
    ?>
    

    DELETE /api/users/{userId}

    Permanently deletes a user. It cannot be undone.

    Parameters

    Parameter Description
    x-api-keystring, required Your secret API key to authenticate your account.
    userIdstring, required Unique identifier for the member object.

    Example responses

    200 Response

    {
      "status": "string"
    }
    
    {
      "status": "string",
      "error": {
        "param": "string",
        "message": "string",
        "code": "string"
      }
    }
    
    

    Returns

    Returns a parameter "status" with value success if the delete succeeded.