Sample code for 30+ languages & platforms
Perl

Trello Create New Board

See more Trello Examples

Create a new board.

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

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# 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.
$jsonToken = chilkat::CkJsonObject->new();
$success = $jsonToken->LoadFile("qa_data/tokens/trello.json");

$oauth1 = chilkat::CkOAuth1->new();
$oauth1->put_ConsumerKey("TRELLO_CONSUMER_KEY");
$oauth1->put_ConsumerSecret("TRELLO_CONSUMER_SECRET");
$oauth1->put_Token($jsonToken->stringOf("oauth_token"));
$oauth1->put_TokenSecret($jsonToken->stringOf("oauth_token_secret"));

$rest = chilkat::CkRest->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.
$bAutoReconnect = 1;
$success = $rest->Connect("api.trello.com",443,1,$bAutoReconnect);
if ($success != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$rest->SetAuthOAuth1($oauth1,0);

$rest->AddQueryParam("name","Football & Rugby");
$rest->AddQueryParam("defaultLabels","true");
$rest->AddQueryParam("defaultLists","true");
$rest->AddQueryParam("keepFromSource","none");
$rest->AddQueryParam("prefs_permissionLevel","private");
$rest->AddQueryParam("prefs_voting","disabled");
$rest->AddQueryParam("prefs_comments","members");
$rest->AddQueryParam("prefs_invitations","members");
$rest->AddQueryParam("prefs_selfJoin","true");
$rest->AddQueryParam("prefs_cardCovers","true");
$rest->AddQueryParam("prefs_background","blue");
$rest->AddQueryParam("prefs_cardAging","regular");

$rest->AddHeader("Accept","application/json");

$responseBody = $rest->fullRequestFormUrlEncoded("POST","/1/boards");
if ($rest->get_LastMethodSuccess() != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

# We should expect a 200 response if successful.
if ($rest->get_ResponseStatusCode() != 200) {
    print "Request Header: " . "\r\n";
    print $rest->lastRequestHeader() . "\r\n";
    print "----" . "\r\n";
    print "Response StatusCode = " . $rest->get_ResponseStatusCode() . "\r\n";
    print "Response StatusLine: " . $rest->responseStatusText() . "\r\n";
    print "Response Header:" . "\r\n";
    print $rest->responseHeader() . "\r\n";
    print $responseBody . "\r\n";
    exit;
}

$json = chilkat::CkJsonObject->new();
$json->Load($responseBody);
$json->put_EmitCompact(0);
print $json->emit() . "\r\n";
print "Success." . "\r\n";

# 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": {}
# }

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