Sample code for 30+ languages & platforms
Lua

Trello Create New Board

See more Trello Examples

Create a new board.

For more information, see https://developers.trello.com/reference#boardsid

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

-- curl --request POST \
--   --url 'https://api.trello.com/1/boards?name=name&defaultLabels=true&defaultLists=true&keepFromSource=none&prefs_permissionLevel=private
--           &prefs_voting=disabled&prefs_comments=members&prefs_invitations=members&prefs_selfJoin=true&prefs_cardCovers=true&prefs_background=blue&prefs_cardAging=regular'

-- First get our previously obtained access token.
local jsonToken = chilkat.JsonObject.new()
local success = jsonToken:load_file("qa_data/tokens/trello.json")

local oauth1 = chilkat.OAuth1.new()
oauth1.consumer_key = "TRELLO_CONSUMER_KEY"
oauth1.consumer_secret = "TRELLO_CONSUMER_SECRET"
oauth1.token = jsonToken:string_of("oauth_token")
oauth1.token_secret = jsonToken:string_of("oauth_token_secret")

local rest = chilkat.Rest.new()

-- Connect using TLS.
-- A single REST object, once connected, can be used for many Trello REST API calls.
-- The auto-reconnect indicates that if the already-established HTTPS connection is closed,
-- then it will be automatically re-established as needed.
local bAutoReconnect = true
success = rest:connect("api.trello.com", 443, true, bAutoReconnect)
if not success then
    print(rest.last_error_text)
    return
end

rest:set_auth_oauth1(oauth1, false)

rest:add_query_param("name", "Football & Rugby")
rest:add_query_param("defaultLabels", "true")
rest:add_query_param("defaultLists", "true")
rest:add_query_param("keepFromSource", "none")
rest:add_query_param("prefs_permissionLevel", "private")
rest:add_query_param("prefs_voting", "disabled")
rest:add_query_param("prefs_comments", "members")
rest:add_query_param("prefs_invitations", "members")
rest:add_query_param("prefs_selfJoin", "true")
rest:add_query_param("prefs_cardCovers", "true")
rest:add_query_param("prefs_background", "blue")
rest:add_query_param("prefs_cardAging", "regular")

rest:add_header("Accept", "application/json")

local responseBody = rest:full_request_form_url_encoded("POST", "/1/boards")
if not rest.last_method_success then
    print(rest.last_error_text)
    return
end

-- We should expect a 200 response if successful.
if rest.response_status_code ~= 200 then
    print("Request Header: ")
    print(rest.last_request_header)
    print("----")
    print("Response StatusCode = " .. rest.response_status_code)
    print("Response StatusLine: " .. rest.response_status_text)
    print("Response Header:")
    print(rest.response_header)
    print(responseBody)
    return
end

local json = chilkat.JsonObject.new()
json:load(responseBody)
json.emit_compact = false
print(json:emit())
print("Success.")

-- A sample JSON response:
-- (See the parsing code below...)
-- Use this online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON

-- {
--   "id": "5cc606a1e2441a8a8fe3dc48",
--   "name": "Football",
--   "desc": "",
--   "descData": null,
--   "closed": false,
--   "idOrganization": null,
--   "pinned": false,
--   "url": "https://trello.com/b/eadpS1Pe/football",
--   "shortUrl": "https://trello.com/b/eadpS1Pe",
--   "prefs": {
--     "permissionLevel": "private",
--     "voting": "disabled",
--     "comments": "members",
--     "invitations": "members",
--     "selfJoin": true,
--     "cardCovers": true,
--     "cardAging": "regular",
--     "calendarFeedEnabled": false,
--     "background": "blue",
--     "backgroundImage": null,
--     "backgroundImageScaled": null,
--     "backgroundTile": false,
--     "backgroundBrightness": "dark",
--     "backgroundColor": "#0079BF",
--     "backgroundBottomColor": "#0079BF",
--     "backgroundTopColor": "#0079BF",
--     "canBePublic": true,
--     "canBeEnterprise": true,
--     "canBeOrg": true,
--     "canBePrivate": true,
--     "canInvite": true
--   },
--   "labelNames": {
--     "green": "",
--     "yellow": "",
--     "orange": "",
--     "red": "",
--     "purple": "",
--     "blue": "",
--     "sky": "",
--     "lime": "",
--     "pink": "",
--     "black": ""
--   },
--   "limits": {}
-- }

local id = json:string_of("id")
local name = json:string_of("name")
local desc = json:string_of("desc")
local descData = json:string_of("descData")
local closed = json:bool_of("closed")
local idOrganization = json:string_of("idOrganization")
local pinned = json:bool_of("pinned")
local url = json:string_of("url")
local shortUrl = json:string_of("shortUrl")
local prefsPermissionLevel = json:string_of("prefs.permissionLevel")
local prefsVoting = json:string_of("prefs.voting")
local prefsComments = json:string_of("prefs.comments")
local prefsInvitations = json:string_of("prefs.invitations")
local prefsSelfJoin = json:bool_of("prefs.selfJoin")
local prefsCardCovers = json:bool_of("prefs.cardCovers")
local prefsCardAging = json:string_of("prefs.cardAging")
local prefsCalendarFeedEnabled = json:bool_of("prefs.calendarFeedEnabled")
local prefsBackground = json:string_of("prefs.background")
local prefsBackgroundImage = json:string_of("prefs.backgroundImage")
local prefsBackgroundImageScaled = json:string_of("prefs.backgroundImageScaled")
local prefsBackgroundTile = json:bool_of("prefs.backgroundTile")
local prefsBackgroundBrightness = json:string_of("prefs.backgroundBrightness")
local prefsBackgroundColor = json:string_of("prefs.backgroundColor")
local prefsBackgroundBottomColor = json:string_of("prefs.backgroundBottomColor")
local prefsBackgroundTopColor = json:string_of("prefs.backgroundTopColor")
local prefsCanBePublic = json:bool_of("prefs.canBePublic")
local prefsCanBeEnterprise = json:bool_of("prefs.canBeEnterprise")
local prefsCanBeOrg = json:bool_of("prefs.canBeOrg")
local prefsCanBePrivate = json:bool_of("prefs.canBePrivate")
local prefsCanInvite = json:bool_of("prefs.canInvite")
local labelNamesGreen = json:string_of("labelNames.green")
local labelNamesYellow = json:string_of("labelNames.yellow")
local labelNamesOrange = json:string_of("labelNames.orange")
local labelNamesRed = json:string_of("labelNames.red")
local labelNamesPurple = json:string_of("labelNames.purple")
local labelNamesBlue = json:string_of("labelNames.blue")
local labelNamesSky = json:string_of("labelNames.sky")
local labelNamesLime = json:string_of("labelNames.lime")
local labelNamesPink = json:string_of("labelNames.pink")
local labelNamesBlack = json:string_of("labelNames.black")