Stormz

Developer


Workshops

List your workshops

List workshops for the authenticated user.

GET /v1/user/me/workshops

Parameters

Name Type Description
owner string Id of the owner, can be an organization or a user
role string Filter upon the role of the current user, can be: facilitator or attendee
since string Workshops created after created_at
until string Workshops created before created_at
state string State of the workshop, can be: running or archived

Response

200 OK
[
  {
    "id": "5007d396eb7abf319a000047",
    "created_at": "2012-04-12T14:14:23+02:00",
    "updated_at": "2012-04-12T14:14:23+02:00",
    "title": "A workshop title",
    "description": "A workshop description",
    "state": "running",
    "owner": {
      "id": "5007d396eb7abf319a000047",
      "name": "Stormz",
      "avatar_url": "https://assets.stormz.me/",
      "plan": {
        "name": "organization",
        "workshops_max_attendees": 20
      }
    },
    "current_step_id": null,
    "view": {
      "card": null,
      "card_sub_view": "content",
      "sort": "position",
      "sort_reverse": false,
      "sort_criterium_id": null,
      "show": "cards",
      "show_clusters": "all",
      "show_cluster_ids": [

      ],
      "card_status": "active",
      "card_author": "all"
    },
    "sections": [
      {
        "id": "5007d396eb7abf319a000047",
        "title": "Pros"
      }
    ],
    "criteria": [
      {
        "id": "5007d396eb7abf319a000047",
        "title": "Feasible",
        "scale": 1,
        "current_scale": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10
        ],
        "ratings": [

        ]
      }
    ],
    "vote_limit": {
      "positive": -1,
      "negative": -1,
      "max_positive": 3,
      "max_negative": 3
    },
    "daily_mail": true,
    "change_step_notifications": true,
    "force_sync": false,
    "public_url": "https://stormz.me/workshops/5007d396eb7abf319a000047"
  }
]

Join a workshop with an access code

POST /v1/workshops/join

Parameters

Name Type Description
access_code string Required the workshop’s access_code (with or without dashes)

Example

{
  "access_code": "0000000"
}

Response

200 OK
Location: https://stormz.me/workshops/00000000000000000000000

Note: The return status code is 200 to bypass a bug with Internet Explorer 8, which remove all http headers when we return a 204.

Create a workshop

Create a workshop for the authenticated user.

POST /v1/workshops

Parameters

With Content-type as application/json

To create a workshop with your parameters

Name Type Description
title string title of the workshop
description string short description
daily_mail boolean enable or disable the daily mail (defaults true)
change_step_notifications boolean enable or disable the change step notifications (defaults true)
force_sync boolean force the synchronization of the screen for participants
view.card string the card id showed to participants
view.sort string default sort of cards (position, random, score, criterium_average)
view.sort_criterium_id string id of criterion to take when sorting by criterium_average
view.sort_reverse boolean reverse the sort choosed
view.show string default view of cards (cards, bars or bubbles)
view.show_clusters string show clusters (all, none or multi)
view.show_cluster_ids array ids of the cluster to show when show_clusters is multi
view.card_status string default card status filter (all, active or aside)
view.card_author string default card author filter (all, active or other)
view.card_sub_view string sub view showed when a card is showed (content, votes, ratings-overall or ratings-user)

To create a workshop with a template

Name Type Description
title string title of the workshop
template string the id of the template. See the templates API

To create a workshop with a stormz file

Name Type Description
url string an url to a file as stormz format

To copy a workshop

Name Type Description
title string title of the workshop
workshop_id string the id of the workshop you want to copy
Example
{
  "title": "A workshop title",
  "description": "A workshop description"
}

Response

201 Created
{
  "id": "5007d396eb7abf319a000047",
  "created_at": "2012-04-12T14:14:23+02:00",
  "updated_at": "2012-04-12T14:14:23+02:00",
  "title": "A workshop title",
  "description": "A workshop description",
  "state": "running",
  "owner": {
    "id": "5007d396eb7abf319a000047",
    "name": "Stormz",
    "avatar_url": "https://assets.stormz.me/",
    "plan": {
      "name": "organization",
      "workshops_max_attendees": 20
    }
  },
  "current_step_id": null,
  "view": {
    "card": null,
    "card_sub_view": "content",
    "sort": "position",
    "sort_reverse": false,
    "sort_criterium_id": null,
    "show": "cards",
    "show_clusters": "all",
    "show_cluster_ids": [

    ],
    "card_status": "active",
    "card_author": "all"
  },
  "sections": [
    {
      "id": "5007d396eb7abf319a000047",
      "title": "Pros"
    }
  ],
  "criteria": [
    {
      "id": "5007d396eb7abf319a000047",
      "title": "Feasible",
      "scale": 1,
      "current_scale": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ],
      "ratings": [

      ]
    }
  ],
  "vote_limit": {
    "positive": -1,
    "negative": -1,
    "max_positive": 3,
    "max_negative": 3
  },
  "daily_mail": true,
  "change_step_notifications": true,
  "force_sync": false,
  "public_url": "https://stormz.me/workshops/5007d396eb7abf319a000047"
}

Create a workshop in an organization

POST /v1/organizations/:organization_id/workshops

Parameters

Name Type Description
title string title of the workshop
description string short description
daily_mail boolean enable or disable the daily mail (defaults true)
change_step_notifications boolean enable or disable the change step notifications (defaults true)
force_sync boolean force the synchronization of the screen for participants
view.card string the card id showed to participants
view.sort string default sort of cards (position, random, score, criterium_average)
view.sort_criterium_id string id of criterion to take when sorting by criterium_average
view.sort_reverse boolean reverse the sort choosed
view.show string default view of cards (cards, bars or bubbles)
view.show_clusters string show clusters (all, none or multi)
view.show_cluster_ids array ids of the cluster to show when show_clusters is multi
view.card_status string default card status filter (all, active or aside)
view.card_author string default card author filter (all, active or other)
view.card_sub_view string sub view showed when a card is showed (content, votes, ratings-overall or ratings-user)
Example
{
  "title": "A workshop title",
  "description": "A workshop description"
}

Response

201 Created
{
  "id": "5007d396eb7abf319a000047",
  "created_at": "2012-04-12T14:14:23+02:00",
  "updated_at": "2012-04-12T14:14:23+02:00",
  "title": "A workshop title",
  "description": "A workshop description",
  "state": "running",
  "owner": {
    "id": "5007d396eb7abf319a000047",
    "name": "Stormz",
    "avatar_url": "https://assets.stormz.me/",
    "plan": {
      "name": "organization",
      "workshops_max_attendees": 20
    }
  },
  "current_step_id": null,
  "view": {
    "card": null,
    "card_sub_view": "content",
    "sort": "position",
    "sort_reverse": false,
    "sort_criterium_id": null,
    "show": "cards",
    "show_clusters": "all",
    "show_cluster_ids": [

    ],
    "card_status": "active",
    "card_author": "all"
  },
  "sections": [
    {
      "id": "5007d396eb7abf319a000047",
      "title": "Pros"
    }
  ],
  "criteria": [
    {
      "id": "5007d396eb7abf319a000047",
      "title": "Feasible",
      "scale": 1,
      "current_scale": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ],
      "ratings": [

      ]
    }
  ],
  "vote_limit": {
    "positive": -1,
    "negative": -1,
    "max_positive": 3,
    "max_negative": 3
  },
  "daily_mail": true,
  "change_step_notifications": true,
  "force_sync": false,
  "public_url": "https://stormz.me/workshops/5007d396eb7abf319a000047"
}

Get a workshop

GET /v1/workshops/:id

Response

200 OK
{
  "id": "5007d396eb7abf319a000047",
  "created_at": "2012-04-12T14:14:23+02:00",
  "updated_at": "2012-04-12T14:14:23+02:00",
  "title": "A workshop title",
  "description": "A workshop description",
  "state": "running",
  "owner": {
    "id": "5007d396eb7abf319a000047",
    "name": "Stormz",
    "avatar_url": "https://assets.stormz.me/",
    "plan": {
      "name": "organization",
      "workshops_max_attendees": 20
    }
  },
  "current_step_id": null,
  "view": {
    "card": null,
    "card_sub_view": "content",
    "sort": "position",
    "sort_reverse": false,
    "sort_criterium_id": null,
    "show": "cards",
    "show_clusters": "all",
    "show_cluster_ids": [

    ],
    "card_status": "active",
    "card_author": "all"
  },
  "sections": [
    {
      "id": "5007d396eb7abf319a000047",
      "title": "Pros"
    }
  ],
  "criteria": [
    {
      "id": "5007d396eb7abf319a000047",
      "title": "Feasible",
      "scale": 1,
      "current_scale": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ],
      "ratings": [

      ]
    }
  ],
  "vote_limit": {
    "positive": -1,
    "negative": -1,
    "max_positive": 3,
    "max_negative": 3
  },
  "daily_mail": true,
  "change_step_notifications": true,
  "force_sync": false,
  "public_url": "https://stormz.me/workshops/5007d396eb7abf319a000047"
}

Edit a workshop

PUT /v1/workshops/:id

Parameters

Name Type Description
state string the state of the workshop (can be running or archived)
vote_limit.positive integer the limit of positive points that can be spend on cards. Note: -1 is unlimited.
vote_limit.negative integer the limit of negative points that can be spend on cards. Note: -1 is unlimited.
vote_limit.max_positive integer the maximum positive points that can be spend on a single card. Note: always > 0
vote_limit.max_negative integer the maximum negative points that can be spend on a single card. Note: always > 0
title string title of the workshop
description string short description
daily_mail boolean enable or disable the daily mail (defaults true)
change_step_notifications boolean enable or disable the change step notifications (defaults true)
force_sync boolean force the synchronization of the screen for participants
view.card string the card id showed to participants
view.sort string default sort of cards (position, random, score, criterium_average)
view.sort_criterium_id string id of criterion to take when sorting by criterium_average
view.sort_reverse boolean reverse the sort choosed
view.show string default view of cards (cards, bars or bubbles)
view.show_clusters string show clusters (all, none or multi)
view.show_cluster_ids array ids of the cluster to show when show_clusters is multi
view.card_status string default card status filter (all, active or aside)
view.card_author string default card author filter (all, active or other)
view.card_sub_view string sub view showed when a card is showed (content, votes, ratings-overall or ratings-user)
Example
{
  "title": "My title",
  "state": "running"
}

Response

204 No Content

Get workshop’s user roles

GET /v1/workshops/:workshop_id/user_roles

Response

200 OK
[
  {
    "id": "5007d396eb7abf319a000047",
    "user_id": "5007d396eb7abf319a000047",
    "role": "facilitator"
  }
]

Update the role of a user

PUT /v1/workshops/:workshop_id/user_roles/:id

Parameters

Name Type Description
role string Required the role (facilitator or participant)

Response

204 No Content

Get workshop’s access code

GET /v1/workshops/:workshop_id/access_code

Response

200 OK
{
  "access_code": "0000000"
}

Delete a workshop

DELETE /v1/workshops/:id

Response

204 No Content

Delete all votes

DELETE /v1/workshops/:id/votes

Response

204 No Content

Delete all ratings

DELETE /v1/workshops/:id/ratings

Response

204 No Content

Delete all items

DELETE /v1/workshops/:id/items

Response

204 No Content

Delete all comments

DELETE /v1/workshops/:id/comments

Response

204 No Content

Delete all attachments

DELETE /v1/workshops/:id/attachments

Response

204 No Content

Send a message

This will create a notification of type ‘message’ for all participants.

POST /v1/workshops/:id/messages

Parameters

Name Type Description
content string Required content of the message
include_me boolean include the current user in the recipients
Example
{
  "content": "My message",
  "include_me": false
}

Response

204 No Content