1. Home
  2. Limnu API
  3. Function: boardCreate

Function: boardCreate

Overview

boardCreate will create a new Limnu board, owned by your account.

The board will be a “shared link” board, meaning that anyone who has the URL for the board may access it. This is to reduce friction for your users; they are not required to create a Limnu account to access the board.

If your account is on a payment model that involves paying per board, use of this function will increase the amount you are charged.

Parameters

Input parameters:

  • apiKey: string - the API key issued by Limnu to developers.
  • boardName: string - the user-visible name for the new Limnu board. The board name does not need to be unique.
  • disallowSharing: boolean - (Optional, defaults to false). If true, the “Board Share” menu will not be available from the menu on the board itself, and will also not be available on the board’s row on the board list page.
  • whiteLabel: boolean - (Optional, defaults to false). If true, all mentions of Limnu will be removed from the board, as well mentions of accounts, subscriptions, and so forth. The entire hamburger menu in the bottom left corner of the board will be removed, as all the actions in that menu are meant for Limnu subscribers.
    • IMPORTANT: Using this feature will result in an increase in the price of the boards. For details, please contact support@drawlala.com.
  • creatorId: string - (Optional) the id of the user that is the creator of the board. This user will be the admin of the board. This is useful if you want to turn on leading and soloDraw. There is only one creator of a board. After the board is created you can use the function boardRole to add additional admins. If you do not specify a creator during boardCreate you can specify one using boardInfo.
  • isLeading: boolean - (Optional, default to false). If true isLeading flag forces the pan and zoom of the other participants on the board to match the view of the creator.
    • Details on leading: The followers do have a pan and zoom tool, but their view will snap back to the leader's view whenever the leader interacts with the board. If the leader is not present on the board, the followers can pan and zoom on their own. Note also that the leader and follower views are not an exact match if the aspect ratios are different. In that case, the leader's view will fit completely within the follower's view.
  • public: boolean - (optional) If true, users can by default access the board. (In other words, any user who loads the URL for a board can access it.) If false, users must be set as the creator, leader or must have a boardRole specifying enabled before they can access the board. A user without permission sees an error message if they attempt to access the board URL.
  • soloDraw: boolean - (Optional, default to false). If true, only the creator, or other admins, can edit the board. The flag limits the tools available to other participants to pan and zoom. Use boardInfo to change soloDraw at any point in the future. Use boardRole to add or remove admins.
  • type: enum {string} - “whiteboard”, “blackboard” or “greaseboard” (optional, default to "whiteboard") - Sets the type of the board to one of three options.

In addition to the common output values, a successful boardCreate response will also include:

  • boardId: The unique identifier for the new board.
  • boardUrl: Contains the browser URL to get to the new Limnu board.
  • claimUrl: Contains the browser URL for a Limnu user to be able to claim ownership of the new board.

Response attribute details: boardId

boardId is the permanent, unique identifier for the new board. It is used in the URL for accessing the board, and it is also used by other API functions to manipulate an existing board.

Response attribute details: boardUrl

boardUrl is used to navigate to the board in a window, tab, iframe, or other webview. It may be used by an unlimited number of users, unless someone claims the board and makes it private.

boardUrl will look like this:

https://drawlala.com/d/draw.html?b=B_Ezl0gvE7QoqFz1&

If the boardUrl is used as-is, any users who click on it who are not currently authenticated with Limnu will have to go through the normal login-or-signup flow. However, it is possible to skip this flow (thereby reducing friction for the user, letting users preserve identity between boards, and allow Limnu to measure usage on your boards) by attaching the t (for “token”) URL parameter with the token generated by userCreate, as shown in orange below:

https://drawlala.com/d/draw.html?b=B_Ezl0gvE7QoqFz1&t=eyJ0eXAiOiJKV1QiLCJhbG&

If a user is not already authenticated with Limnu, a new Limnu guest user will be created with that name. This way, the user’s name from the third party app can be used in Limnu without any user effort.

Response attribute details: claimUrl

The claimUrl allows a user with a Limnu account to claim ownership of a new board. The user will become the first admin on the board, and subsequently be able to grant admin controls to other users.

Use of claimUrl is optional. However, it may only be used once, and only by someone with a Limnu account. If a user who does not have a Limnu account navigates to claimUrl, they will be prompted to sign up for an account before claiming the board.

A claimUrl will look like this:

https://drawlala.com/d/draw.html?b=B_Ezl0gvE7QoqFz1&bc=N_v2wioJCRfeBQki&

Example data

Example of correct JSON input:

{

"apiKey": "K_isR4E6qcQamY0NxFuKa9aw7k5hssRBQXuqpStgR1qU1A",

"boardName": "My first API-created Limnu board!"

}

Example of JSON output from a successful call:

{

"success": true,

"boardId": "B_B7LyhbF2QGaCV4",

"boardUrl": "https://drawlala.com/d/draw.html?b=B_B7LyhbF2QGaCV4&",

"claimUrl": "https://drawlala.com/d/draw.html?b=B_B7LyhbF2QGaCV4&bc=N_ESsI8D0tRFaMMO&"

}

Example of JSON output from a failed call:

{

"success": false,

"reason": "Malformed URL"

}

Command Line Testing

Here’s an example of how to test boardCreate from the command line:

curl \

https://api.drawlala.com/v1/boardCreate \

--request POST \

--header "Content-Type: application/json" \

--data @boardCreate.json

 

The contents of the data file named boardCreate.json are:

{

"apiKey": "K_isR4E6qcQamY0NxFuKa9aw7k5hssRBQXuqpStgR1qU1A",

"boardName": "My first API-created board!"

}