CardBoard API Documentation

Welcome to the CardBoard API documentation! Here you can find information on how to interact with the API.

Before you start, talk to you CardBoard community admin about enabling the API. The admin can do this by going to “Manage Your Community”, then select API. Select the checkbox that says “Enable the API for your community”.

You will also need to record the Bearer token. The Bearer token is used to authenticate your calls to the API.

Card Comments

Create comment

Endpoint

POST /api/maps/{map_id}/cards/{card_id}/card_comments

Parameters

Name Description type
comment[text] required The content of the card's comment text

Request

Route

POST /api/maps/5480/cards/2075/card_comments

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbToyYzY3MTRhYjVlMzdhYzliNDBlYzI0ODJlZjY2NzI5NA
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "comment": {
    "text": "New comment!"
  }
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"1a61898721f3f6b0ce0a0499d3628ce5"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=WHAvNUt6UWExczRMaTNTZFVPWjZ3VCtaeSttMFNGQjh2Vnc2M1R4aElQMXV1T2lONklmNFlicnJKOXhTVlg2cnVVa0k4Zk83cVkyU0tsTCtSWFE3QWIvdW82UnROR21VQkczMmYvRm5LZlE9LS1aQUs1Vm1nY1RBSkdZUzcxMjdEaGZnPT0%3D--2f2c3879f101cbd93cb4c93b52a83b767a0afa86; path=/; HttpOnly
X-Request-Id: 6c135181-2854-4b91-977b-e3bf2723268f
X-Runtime: 0.073091
Vary: Origin
Content-Length: 204

Body

{
  "id": 59,
  "comment": "New comment!",
  "created_at": "Tue, 18 Jun 2019 19:57:30 +0000",
  "edited_at": "Tue, 18 Jun 2019 19:57:30 +0000",
  "user": {
    "id": 3153,
    "name": "Bob",
    "email": "bob@cardboardit.com",
    "initials": "B"
  }
}

Update comment

Endpoint

PATCH /api/maps/{map_id}/cards/{card_id}/card_comments/{card_comment_id}

Parameters

Name Description with_example type
comment[text] required The content of the card's comment true text

Request

Route

PATCH /api/maps/5481/cards/2076/card_comments/60

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo3YzBhOGU3OTU0MTgyMGU2ZGNlNWMzMzc4NzkzYzkzYQ
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "comment": {
    "text": "I'll replace the old comment!"
  }
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"e523afb2fd8326e34d1e4c96a55cc958"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=YXJGSG4xTGdvS0R2d1pCVDlrNVFIYTk5NXRWdzViU1pJb0dDVFVMZC92VkFLMEIwb0l5cEN5WmJqbmg5M0ZhZUxJWXRQVHlZc21HSit0M0hVN3RzME5HK0NmUXp5bmZPbHpxbExxNkFQaXM9LS16SHpldEd3bmZiNVRpZHpIT3kwa0V3PT0%3D--1acf1677790783eb3cb6bb1f63ae1dbe5a9c7ef7; path=/; HttpOnly
X-Request-Id: d797609f-7a0a-498e-8705-c00fc39cd1e3
X-Runtime: 0.015429
Vary: Origin
Content-Length: 221

Body

{
  "id": 60,
  "comment": "I'll replace the old comment!",
  "created_at": "Tue, 18 Jun 2019 19:57:31 +0000",
  "edited_at": "Tue, 18 Jun 2019 19:57:31 +0000",
  "user": {
    "id": 3154,
    "name": "Bob",
    "email": "bob@cardboardit.com",
    "initials": "B"
  }
}

Cards

Create a new card

Endpoint

POST api/maps/:map_id/cards/

Parameters

Name Description type default
map_id The id of the map which you would like to view the cards of
x required The x coordinate that you would like the card to have integer
y required The y coordinate that you would like the card to have integer
name The text you would like to view on the card string
color_name The color of the card, must be one of the following: "purple", "orange", "yellow", "warning", "green", "blue", "pink", "white", "red" string white
description A longer description of the card, viewed when you click on it text
annotation Integer enum for the annotation types (none: 0, question: 1, discuss: 2, lame: 3, blocked: 4, remove: 5) integer 0
status The status of card, it should be one of these values: 'none', 'unstarted', 'started', 'completed', 'deleted', 'custom'. When 'custom' is selected, the 'custom_status' field should have a non empty value. string none
custom_status A custom status of card, if you use this field don't forget to use status as 'custom'. string
size The card's estimation (aka story points), it accepts numeric sizes and also named estimations like M, L, XL. string

Request

Route

POST api/maps/5484/cards/

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbToyMDI1NDkwYjU5MTI5ZThiNzlhNjQ3ZWRmYmJmM2JkMw
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "x": 2,
  "y": 3,
  "name": "Design a flawless API",
  "color_name": "green",
  "description": "In order to allow customers to connect any of their own automated services to Cardboard, we should create an API that allows customers to scrape data whenever they want.",
  "annotation": 2,
  "status": "custom",
  "custom_status": "Code Review",
  "size": 1
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"b7d6d1c28a1a87ae35ccc0527454f3ee"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=YnhDcVN6RkRSb1Vnb2ExM1FNU0FzcllodWR2Q0x3NjQwL2ZTSHl4V045MXhteWhzUWJZV0ZIOFFUVW5md25Ca1Y0SUNYTEF1czhpR0EwVkFxNS9rNzR6TmswcXpXZkFNZnZzNUU1V05wZTQ9LS1VcXRycUdlOWtLYjhqeHNIdmp1T0R3PT0%3D--520f5a795dcf18f4ec7b34d6207fef93d404a918; path=/; HttpOnly
X-Request-Id: 3aa8ce03-8148-45d3-b752-9413df7e0c73
X-Runtime: 0.017369
Vary: Origin
Content-Length: 506

Body

{
  "id": 2081,
  "name": "Design a flawless API",
  "version": 5,
  "uuid": "3b0a68a0-7431-0137-00ea-34f64ba2347e",
  "x": 2.0,
  "y": 3.0,
  "color_name": "green",
  "description": "In order to allow customers to connect any of their own automated services to Cardboard, we should create an API that allows customers to scrape data whenever they want.",
  "status": "custom",
  "custom_status": "Code Review",
  "size": "1",
  "annotation": "discuss",
  "created_at": "2019-06-18T19:57:31.186Z",
  "updated_at": "2019-06-18T19:57:31.186Z",
  "has_comments": false
}

Destroying cards

Endpoint

DELETE /api/maps/{map_id}/cards/{id}

Request

Route

DELETE /api/maps/5486/cards/2083

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo5MDE5ZGVlZGU0MjliZTg5ZGY3NTI1MDE5MjI4OGExMA
Host: example.org
Content-Type: application/x-www-form-urlencoded
Cookie: 

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: text/html
Cache-Control: no-cache
Set-Cookie: _cardmap_session=TFVCN0ptV0xPTUFmN0E3RlFXZlJpcWZqVzFkdVhIaEVNMHd0UTBPRnNReS9idUx2SWZKbWxPY2dPb24zd0tzRGo4TENNZnpEdzVQVTZwcitOWGM2WGlsbnRjYXpPV0wzOVBRY280eVYzVVk9LS0xeDVISVJRZXZOWEFHVHlJbDAvSmRRPT0%3D--82827ffcf5a66aa65321de049f3951c0e3f35c2e; path=/; HttpOnly
X-Request-Id: 58f119d3-e9ac-43a3-9c1c-d7695dfefcea
X-Runtime: 0.026315
Vary: Origin
Content-Length: 0

Getting a card

Endpoint

GET /api/maps/{map_id}/cards/{id}

Parameters

Name Description type
include_comments Indicates if the cards should include comments when returned. Defaults to false. When comments are included a 'comments' attribute will be added to the response otherwise a 'has_comments' attribute will be included. boolean

Request

Route

GET /api/maps/5483/cards/2079

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTpjOWVjOTBmZmI3YWE0ZGViOTIzY2U3NDQ4ODRmOTlkNQ
Host: example.org
Cookie: 

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"37bd6fa04803cadd22705dea0eb2ddc5"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=d0hiRVhvSDRXUGFVLzQ5T2NzcTBWVHk3ZXVFVWJJRmd0VVQyRno5enA1b28xM09TSWh0WnZkY0lrakp1ZUYralpqQVRzSXF2ak5URUNublE0OWVYR1l4R1N5MG84YVprdlNwWlJnOG1nbTg9LS1udEsyQkYyMDBreEh3U2F4OEV2VEJnPT0%3D--85d9d2d26a461cc685aef8ea50536b373a0d864f; path=/; HttpOnly
X-Request-Id: eb35d38a-ec69-4ec6-9f08-40288a415950
X-Runtime: 0.012744
Vary: Origin
Content-Length: 366

Body

{
  "id": 2079,
  "name": "Test card",
  "version": 4,
  "uuid": "3b0122f0-7431-0137-00ea-34f64ba2347e",
  "x": 0.0,
  "y": 0.0,
  "color_name": "blue",
  "description": "this is indeed the card that is known as test",
  "status": "custom",
  "custom_status": "Code Review",
  "size": "2",
  "annotation": "none",
  "created_at": "2019-06-18T19:57:31.125Z",
  "updated_at": "2019-06-18T19:57:31.125Z",
  "has_comments": false
}

Listing cards

Endpoint

GET /api/maps/{map_id}/cards

Parameters

Name Description type default
page_length Maximum amount of cards to return from any one query. Defaults to 10. 0 is non-paginated and returns all cards on the map. integer 10
page Which page in a paginated query. Defaults to 0 (first page). integer 0
include_comments Indicates if the cards should include comments when returned. Defaults to false. When comments are included a 'comments' attribute will be added to the response otherwise a 'has_comments' attribute will be included. boolean

Request

Route

GET /api/maps/5482/cards?include_comments=true

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo3NTU5ODAzZDM2MDY2ZTAzZjRjODVhMDYyM2I4NmRmMw
Host: example.org
Cookie: 

Query Parameters

include_comments=true

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"31db77998e159c24c2615e94d59d1dca"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=MEhGZnVreVNCTmxsS2ltRndtZ3FNNlZ0Ykhlc0xFaUlib0hKZ2NxMXVzOEpWNkZPSC9xcWtndXFOMnBKREdDSTBGZTVXcGJkT2lUTnEvbi93TDh0dURiYjlsVkszb2hyWk56Tm1MNG9pR1k9LS1WeG1JbTlwZEVvQ0V2QnhYRVRNMEt3PT0%3D--77064c8fea0da09681699e725ce666452c833bb4; path=/; HttpOnly
X-Request-Id: b0493159-5d7c-400a-be10-7a3b0f456778
X-Runtime: 0.021852
Vary: Origin
Content-Length: 1033

Body

[
  {
    "id": 2077,
    "name": "Test card",
    "version": 4,
    "uuid": "3af82d90-7431-0137-00ea-34f64ba2347e",
    "x": 0.0,
    "y": 0.0,
    "color_name": "blue",
    "description": "this is indeed the card that is known as test",
    "status": "custom",
    "custom_status": "Code Review",
    "size": "2",
    "annotation": "none",
    "created_at": "2019-06-18T19:57:31.067Z",
    "updated_at": "2019-06-18T19:57:31.067Z",
    "comments": [
      {
        "id": 61,
        "comment": "The card should be red, it's a bug!",
        "created_at": "Tue, 18 Jun 2019 19:57:31 +0000",
        "user": {
          "id": 3155,
          "name": "Bob",
          "email": "bob@cardboardit.com",
          "initials": "B"
        }
      }
    ]
  },
  {
    "id": 2078,
    "name": "Example card: 1",
    "version": 5,
    "uuid": "3af91040-7431-0137-00ea-34f64ba2347e",
    "x": 5.0,
    "y": 9.0,
    "color_name": "blue",
    "description": "this is indeed the card that is known as test",
    "status": "none",
    "size": "1",
    "annotation": "none",
    "created_at": "2019-06-18T19:57:31.072Z",
    "updated_at": "2019-06-18T19:57:31.072Z",
    "comments": [
      {
        "id": 62,
        "comment": "Looks good!",
        "created_at": "Tue, 18 Jun 2019 19:57:31 +0000",
        "user": {
          "id": 3155,
          "name": "Bob",
          "email": "bob@cardboardit.com",
          "initials": "B"
        }
      }
    ]
  }
]

Update a card

Endpoint

PATCH api/maps/{map_id}/cards/{id}

Parameters

Name Description type default
map_id The id of the map which you would like to view the cards of
x required The x coordinate that you would like the card to have integer
y required The y coordinate that you would like the card to have integer
name The text you would like to view on the card string
color_name The color of the card, must be one of the following: "purple", "orange", "yellow", "warning", "green", "blue", "pink", "white", "red" string white
description A longer description of the card, viewed when you click on it text
annotation Integer enum for the annotation types (none: 0, question: 1, discuss: 2, lame: 3, blocked: 4, remove: 5) integer 0
status The status of card, it should be one of these values: 'none', 'unstarted', 'started', 'completed', 'deleted', 'custom'. When 'custom' is selected, the 'custom_status' field should have a non empty value. string none
custom_status A custom status of card, if you use this field don't forget to use status as 'custom'. string
size The card's estimation (aka story points), it accepts numeric sizes and also named estimations like M, L, XL. string

Request

Route

PATCH api/maps/5485/cards/2082

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbToxMTcyNjM0MGQ0MzY5MDJjZGQ5NDhiMmE5MDA4ZDU4Nw
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "map_id": 5485,
  "x": 2,
  "y": 3,
  "name": "Design a flawless API",
  "color_name": "green",
  "description": "In order to allow customers to connect any of their own automated services to Cardboard, we should create an API that allows customers to scrape data whenever they want.",
  "annotation": 2,
  "status": "started",
  "custom_status": "",
  "size": "XL"
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"524a0677a882e159651c6b40aa51718a"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=dnR3TXJwOGQwREJGd3pZZWxsV1hOZzFMY2doMVRISHlLUHlLaDgyVGt5UjdrZU5Gb0tiL2ViSC96cXBGMzIwbk81enJrYlVNeEZyaExadDRzc05jTlBxVW1EeThucTdoQnhHaXVTL0pKcnM9LS1Bb2V5QjhRT1k1cU42bjVOQnVDcWdRPT0%3D--c5fe2d69d7da1c3efc568c655bd40a9f86317b5e; path=/; HttpOnly
X-Request-Id: 816d2953-5918-4f48-95d9-d84cfaa071b4
X-Runtime: 0.030449
Vary: Origin
Content-Length: 497

Body

{
  "id": 2082,
  "name": "Design a flawless API",
  "version": 5,
  "uuid": "3b0f69b0-7431-0137-00ea-34f64ba2347e",
  "x": 2.0,
  "y": 3.0,
  "color_name": "green",
  "description": "In order to allow customers to connect any of their own automated services to Cardboard, we should create an API that allows customers to scrape data whenever they want.",
  "status": "started",
  "custom_status": "",
  "size": "XL",
  "annotation": "discuss",
  "created_at": "2019-06-18T19:57:31.219Z",
  "updated_at": "2019-06-18T19:57:31.266Z",
  "has_comments": false
}

Maps

Create a new map

Endpoint

POST api/maps

Parameters

Name Description
name required The Map name
public_read required The option to let other non-organization individuals see the map
collaborators Objects of user ids that specify all the users in the same organization who should have access to changing the map
organization_id The organization (community) id that a user would want to assign this map to

Request

Route

POST api/maps

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTpkZDBmZmY0ZGJiZDJhYzEzNjc4YTE3ZWY3NjExM2JhZQ
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "name": "Map",
  "public_read": true,
  "collaborators": [
    {
      "id": 3163
    }
  ],
  "organization_id": 946
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"adfb6949b8f827564bffd25f91447a37"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=YTJPQWdGK0pGZVdHYWM0a2dwYWl3S2JjdktFMTh2Z3E5aEhpVGlLTFpTRGNLanFPTjhMeUt0UlpaWGF0Y004ci8xdmpiN2xFQU1KQTJNTlRkZGVFZzJoVDREZnhGQmtQeUtZVFdDaE9hb0k9LS1BMXZCbHFrUlJGNmV3SSt1Q051ODRnPT0%3D--f54489d77ab155d231f23c54304b2a7b02299599; path=/; HttpOnly
X-Request-Id: f9e5c9ec-263d-45d9-840f-c492a19ed165
X-Runtime: 0.027242
Vary: Origin
Content-Length: 255

Body

{
  "id": 5500,
  "name": "Map",
  "version": 1,
  "cards": [

  ],
  "slices": [

  ],
  "dividers": [

  ],
  "collaborators": [
    {
      "id": 3162
    },
    {
      "id": 3163
    }
  ],
  "stickers": [

  ],
  "owner_id": 3162,
  "public": true,
  "created_at": "2019-06-18T19:57:31.629Z",
  "updated_at": "2019-06-18T19:57:31.629Z",
  "community": 946
}

Destroying maps

Endpoint

DELETE /api/maps/{id}

Request

Route

DELETE /api/maps/5502

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo5Njk3M2I1NzQzNDNjZDkxMDFhMmI5YjA0YTM5MDBlNQ
Host: example.org
Content-Type: application/x-www-form-urlencoded
Cookie: 

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: text/html
Cache-Control: no-cache
Set-Cookie: _cardmap_session=dlh2NVBoY3c3dnc4QUxqTm04RkI2bjNFNk9UcEpEZ0trS3gzaDI5TnRtZFhsclJRNDkxNzk1cTJpbStIampFWE44QWdqV2dUTGdGeERSY0MzU3dRVTRabGdXUHBjWDBOQnJnK0RXOFhLYjA9LS1tL2pQcDJkUkZJZ3dydkVkaHFkZXhBPT0%3D--aeabfcbad37aedf3d82fc04c0e27738ebec561a5; path=/; HttpOnly
X-Request-Id: ee8bcca8-841b-48b6-b7f6-3f096fcfd1e5
X-Runtime: 0.039824
Vary: Origin
Content-Length: 0

Getting maps

Endpoint

GET /api/maps/{id}

Request

Route

GET /api/maps/5498

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTowZGZlMmE2ZTNmY2JmN2U5NTRmZGFhNDNkMjcyZTRkMw
Host: example.org
Cookie: 

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"7eeb0ad564264246f2634065b674e19c"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=WmJNZUQxTmhWdEhTemY5Q3BnckhmWCtlR3ZadU1hWXdmdkg2aU94VjZzM2ltSnNCSXFnS0E5VlY4MW9STzdyTWFUTHF5VGZPQk1VOGZOTkV2UFZNZjNQRHhQMXRjSUR2VFJFa05sREV5M2c9LS1ERjV2QklEb082dGg1ZWJicHJUSTdnPT0%3D--84b45c0bbc999b1e6830cca0456fb252032aa72d; path=/; HttpOnly
X-Request-Id: 01f437e1-fa68-4f1d-b67a-7ac39bed6fc6
X-Runtime: 0.017629
Vary: Origin
Content-Length: 237

Body

{
  "id": 5498,
  "name": "Example Map",
  "version": 3,
  "cards": [

  ],
  "slices": [

  ],
  "dividers": [

  ],
  "collaborators": [
    {
      "id": 3161
    }
  ],
  "stickers": [

  ],
  "owner_id": 3161,
  "created_at": "2019-06-18T19:57:31.557Z",
  "updated_at": "2019-06-18T19:57:31.557Z",
  "community": 945
}

Listing maps

Endpoint

GET /api/maps

Parameters

Name Description
page Paginate the response, by default paged to 10 entries. Can also be passed as /maps/page/{page-number}

Request

Route

GET /api/maps?page=2

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTpjZTIyODViYWU1NzI5NzliNTZiYjI0ZmQ3NWMzYTExMw
Host: example.org
Cookie: 

Query Parameters

page=2

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"d77a9af9a9b6e50fff28d79d57c84bb2"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=eGFJSHRjbnE2Y2xBQjE5M3hIbTlmMEhPSDNtd2RmWm0xYkVUTnphSm9YR21TUjk3SDRSY2pobTFNT2dLMk9Zdit4eUJ1QzFBOThMbzJRb3dGam9acU5LNFZkZUw2VEJmK1M4ODM5OFlESms9LS1PMDBzb2l6a1BsNW5vTUJsM2JVTHRRPT0%3D--1c48bdea43e33da958cd9ebfe8e0d036ad240646; path=/; HttpOnly
X-Request-Id: 1c7c56fb-d799-4732-8344-81e20aad1934
X-Runtime: 0.136117
Vary: Origin
Content-Length: 239

Body

[
  {
    "id": 5487,
    "name": "Example Map",
    "version": 3,
    "cards": [

    ],
    "slices": [

    ],
    "dividers": [

    ],
    "collaborators": [
      {
        "id": 3160
      }
    ],
    "stickers": [

    ],
    "owner_id": 3160,
    "created_at": "2019-06-18T19:57:31.343Z",
    "updated_at": "2019-06-18T19:57:31.343Z",
    "community": 944
  }
]

Updating a map

Endpoint

PATCH api/maps/{id}

Parameters

Name Description
name The Map name
public_read The option to let other non-organization individuals see the map (defaults to false)
collaborators Objects of user ids that specify all the users in the same organization who should have access to changing the map
organization_id The organization (community) id that a user would want to assign this map to

Request

Route

PATCH api/maps/5501

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo0NzRmYmUwMDY3YzhhZjNlZjY1YjFiYmNmMjgyOTRmOA
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "name": "Map",
  "public_read": true,
  "collaborators": [
    {
      "id": 3165
    }
  ],
  "organization_id": 947
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"5792b4d757952fe07889fd61bd8f1bd0"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=M0l1OTNpc2grVFg0NG85MkFrbGN1bGNNU1hLdHlFY0NMU2g0c3p2L3FqMTdrbWIwVytmckpMQ1lSakNnZTRNVDRrWHRGWHNhM2JDU2tlcHY4NUtjZnp1WW93eEw4aFVVMXh0QmE2K2E0d009LS1mRWliamh3aXAxeDNMMDJQL3RZOUxnPT0%3D--88895eacd72f17e938d6a5a6a66c9c294f003c4a; path=/; HttpOnly
X-Request-Id: bd06cd5e-845e-4641-8916-c47320d6cb49
X-Runtime: 0.030818
Vary: Origin
Content-Length: 229

Body

{
  "id": 5501,
  "name": "Map",
  "version": 4,
  "cards": [

  ],
  "slices": [

  ],
  "dividers": [

  ],
  "collaborators": [
    {
      "id": 3165
    }
  ],
  "stickers": [

  ],
  "owner_id": 3164,
  "created_at": "2019-06-18T19:57:31.659Z",
  "updated_at": "2019-06-18T19:57:31.700Z",
  "community": 947
}

Users

Destroying user

Endpoint

DELETE /api/users/{id}

Request

Route

DELETE /api/users/3182

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo0ZDhkOTBmYjI1YmNlMjg5MTczNzlkZGQ5OGMzYWYxZA
Host: example.org
Content-Type: application/x-www-form-urlencoded
Cookie: 

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: text/html
Cache-Control: no-cache
Set-Cookie: _cardmap_session=MkhnYnVjcUp4YUM5RkVrM0pkME9lTzNHMFBVU29ZS0Z4ZEpuSjlINEhXQkl1N1hMbHJlUWNmU1EvS2lmT0NkVGJNZUFQWVh3WXJ4RWowVTNaSzRTemE0ZnM1eStyWkZxQlhrMnd1b1hvWnM9LS1YU0F1SVNLUUZYM0N2dVhETXQrZENRPT0%3D--a7793baaadafa98e31d369e4e6fa3fc32c6303ca; path=/; HttpOnly
X-Request-Id: fe3b149d-652a-4ecb-8a50-a5abff2a48fe
X-Runtime: 0.020017
Vary: Origin
Content-Length: 0

Getting users

Endpoint

GET /api/users/{id}

Request

Route

GET /api/users/3178

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo2NWU4OWZmNTRlYWEwZTgyNzQ4NTg5MmZlNDE2MzFhMw
Host: example.org
Cookie: 

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"cf055db68abfe62c7a46cf23fc63edf2"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=MU04YjF3VzRJbUR3Q0QwTUxJVlhhaUUrSHRrSHA1cDJnWWxBZGRyd3Fnc0xUcWlkZFcyU3B1aGRkZ05lYlhpUE5mOXpZb2haTFVTQXpqejUyUHlXVE1WS1dsUjdnU2J1RGU2dEFNOVZ0M2M9LS11NVF1UEt4N0VRa2JsTGwxQ2ZZZEZRPT0%3D--73eeaa85d2019748241950c15c260443848e59ed; path=/; HttpOnly
X-Request-Id: 344a89c7-d513-423d-97e8-781cc23c066b
X-Runtime: 0.005875
Vary: Origin
Content-Length: 69

Body

{
  "id": 3178,
  "name": "Bob",
  "email": "bob@cardboardit.com",
  "initials": "B"
}

Listing users

Endpoint

GET /api/users

Parameters

Name Description
page Paginate the response, by default paged to 10 entries. Can also be passed as /users/page/{page-number}

Request

Route

GET /api/users?page=2

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbTo5M2ZlZGJjMzhmOTBkNmJhZWNhZjI3Nzg5ZmVjZGQxOQ
Host: example.org
Cookie: 

Query Parameters

page=2

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"e5661581dcdf4942dd81287565ff5f3e"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=dG9VRHY4djhjK0NFYVNhaTVpZE5yaWVyU3hwTTVrcXMrWmNZVzEvR1hqTllWeExBaU8vSjY0bi9oOVBFd1VTWmhRTlMycDZBM2hyT0hkbExsYnBDVVdWRU1pcm5NZk5WMjBLczVNOHB2SGs9LS1aNjR3ZldrVEQzdndWZy83ekpBdnN3PT0%3D--b81b46020b3562bb701cb01a9074815146c47355; path=/; HttpOnly
X-Request-Id: dd93bb86-97aa-4cc8-94ef-a711e0f9fd47
X-Runtime: 0.013604
Vary: Origin
Content-Length: 71

Body

[
  {
    "id": 3167,
    "name": "Bob",
    "email": "bob@cardboardit.com",
    "initials": "B"
  }
]

Updating a user

Endpoint

PATCH api/users/{id}

Parameters

Name Description
name Display name of the user

Request

Route

PATCH api/users/3180

Headers

Authorization: Bearer: Ym9iQGNhcmRib2FyZGl0LmNvbToxZGU2ZWJjNzhiMGFmY2RlN2M1NDc5NDM2ZWM3MTliMQ
Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "name": "Frank"
}

Response

Simulated Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"89b20378c268712135f9db72c17720b7"
Cache-Control: max-age=0, private, must-revalidate
Set-Cookie: _cardmap_session=RjQzL3FhY3JaQ1p3M0pMNGhMSFJsb3JrVG1SZGRYUjlpdDFVaEJ5eFZVTExkbWphOVJnR3dKaW5JUzRFZ09FWW9xdCtTSk9kKzU5M2JkYlZFazgrd1FFWGZUTDloTk9JTlBveE5SVGxhVVU9LS1oclNZR2tNQjJ6dzlrUUpXYkl6eWF3PT0%3D--eba09209b7732a765e5ccbfee69c849c4d642b27; path=/; HttpOnly
X-Request-Id: 1d349e73-9432-4b9f-8126-9b506561d65e
X-Runtime: 0.011189
Vary: Origin
Content-Length: 72

Body

{
  "id": 3180,
  "name": "Frank",
  "email": "fred@cardboardit.com",
  "initials": "F"
}