Workspaces

Note the API is currently in beta and is disabled by default. Breaking changes may occur as we finalise the functionality.
Contact us if you want to test the API and we'll turn it on for your account.

IDs

When referring to a workspace, the :workspace_id can either be the ID or its slug.

Attributes

  • id - The workspace ID
  • slug - Slug used in URLs, auto-generated from the title
  • title - The name of the workspace
  • archived_at - Timestamp it was archived, or null if still active
  • created_at - Timestamp it was created
  • description - Text description of the workspace
  • flag - JSON document with left and right attributes determining the colour

Flags

Workspaces have a flag which is composed of a left and a right colour.
Currently the options for colours are:

  • yellow
  • white
  • red
  • pink
  • magenta
  • green
  • brown
  • blue

More colours may be added in future, but will always contain at least these options.

List Workspaces

GET https://acme.minutebase.com/api/v1/workspaces

Response

{
    "current_page":1,
    "per_page":25,
    "total_entries":20,
    "total_pages":1,    
    "results":
    [
        {
            "id":"4d41ee7acf02a38790000002",
            "slug":"project-mayhem",
            "title":"Project Mayhem",
            "archived_at":null,
            "created_at":840236400,
            "description":"Don't talk about it",
            "flag":
            {
                "left":"green",
                "right":"red"
            }
        }
    ]
}

This will just return active workspaces, you can request archived ones by passing status=archived.

GET https://acme.minutebase.com/api/v1/workspaces?status=archived

Get Workspace

GET https://acme.minutebase.com/api/v1/workspaces/:workspace_id

Response

{
    "id":"4d41ee7acf02a38790000002",
    "slug":"project-mayhem",
    "title":"Project Mayhem",
    "archived_at":null,
    "created_at":840236400,
    "description":"Don't talk about it",
    "flag":
    {
        "left":"green",
        "right":"blue"
    }
}

Add Workspace

POST https://acme.minutebase.com/api/v1/workspaces

Input

POST the attributes of the new workspace as a JSON document.
Only the title is required, the flag will be initialised to a random selection of colours, at the moment it's not possible to override/change the slug.

{
    "title":"My First Project",
    "flag":
    {
        "left":"red",
        "right":"yellow"
    }
}

Response

{
    "id":"4d41ee7acf02a38790000004",
    "slug":"my-first-project",      
    "title":"My First Project",
    "archived_at":null,
    "created_at":1307751479,
    "description":null,        
    "flag":
    {
        "left":"red",
        "right":"yellow"
    }
}

Update Workspace

PUT https://acme.minutebase.com/api/v1/workspaces/:workspace_id

Input

PUT the fields you wish to change

{
    "description":"A new description"
}

Response

{
    "id":"4d41ee7acf02a38790000004",
    "slug":"my-first-project",      
    "title":"My First Project",
    "archived_at":null,
    "created_at":1307751479,
    "description":"A new description",        
    "flag":
    {
        "left":"red",
        "right":"yellow"
    }
}

List Members

GET https://acme.minutebase.com/api/v1/workspaces/:workspace_id/members

Response

This is the same as the response from listing people, with the addition of a minutetaker attribute denoting whether the person has permission to take minutes in the workspace.

{
    "current_page":1,
    "per_page":25,
    "total_entries":12,
    "total_pages":1,
    "results": [
        {
            "id":"4df2b437cf02a319a90009ea",
            "user_id":"4df2b437cf02a319a90009eb",
            "firstname":"Richard",
            "surname":"Livsey",
            "email":"richard@minutebase.com",
            "administrator":true,
            "minutetaker":false,
            "company":"MinuteBase",
            "department":null,
            "job_title":"Co-Founder",
            "created_at":1307751479
        }
    ]
}

Add Member

POST https://acme.minutebase.com/api/v1/workspaces/:workspace_id/members

Input

POST the ID of the person you wish to add to the workspace and whether or not they're a minutetaker.

{
    "person_id":"4df2b437cf02a319a90009ea",
    "minutetaker":true
}

Response

204 HTTP status with an empty body

Update Member

PUT https://acme.minutebase.com/api/v1/workspaces/:workspace_id/members/:person_id

Input

PUT whether or not they're a minutetaker.

{
    "minutetaker":false
}

Response

204 HTTP status with an empty body

Remove Member

DELETE https://acme.minutebase.com/api/v1/workspaces/:workspace_id/members/:person_id

Response

204 HTTP status with an empty body

Archive Workspace

PUT https://acme.minutebase.com/api/v1/workspaces/:workspace_id/archive

Response

204 HTTP status with an empty body

Re-activate Workspace

PUT https://acme.minutebase.com/api/v1/workspaces/:workspace_id/reactivate

Response

204 HTTP status with an empty body