iObeya API Facade (v1)

Download OpenAPI specification:Download

iObeya APIs

Welcome to the new APIs of iObeya. These documentations provide all the tools you need to manipulate our APIs and extend the power of your iObeya platform. You can also find a wealth of articles and examples on our Resource Center.

Contact Us

If you have any questions or would like more information about using this API for your business, please don't hesitate to contact us at integrations-support@iobeya.com. Our team of experts is available to provide additional guidance and support, and can also offer personalized demonstrations of these powerful tools to help you get the most out of them. We look forward to hearing from you and helping you achieve your business goals with iObeya.

Getting started

1 - Find your API instance URL

All our online platforms follows the same URL schema: CUSTOMER.iobeya.com where CUSTOMER represents the name that your platform administrator chose at the creation.

Your API endpoint is available at: CUSTOMER.api.iobeya.com where CUSTOMER represents the name of your platform. If your API endpoint is not yet deployed, please contact integrations-support@iobeya.com.

2 - Set up your authentication

Please refer to our authentication documentation. (You will need a platform administrator access)

3 - Postman Collection and environment variables

A Postman collection of requests and its suitable set of environment variables are provided to make some API calls:

To know how to import collection and environment variables, check the import guide.

In addition, since the OAuth authorization is set onto the Facade directory within the collection, each call in the underlying scripts has to set its Auth policy to inherit from parent.

OAuth parent definition
OAuth inherited

Please refer to 2 - Set up your authentication for further details on how to set the OAuth dance and retrieve the access token.

4 - Perform your first call

In this section you will learn how to get access to the list of your rooms.

Perform a GET request on the /rooms endpoint:

Curl example:

curl --location --request \ 
GET 'https://CUSTOMER.api.iobeya.com/v1/rooms?page=1&size=10' \
--header 'Authorization: Bearer JWT_TOKEN'

NodeJS example (with axios lib):

const axios = require('axios');

const config = {
  method: 'get',
  url: 'https://CUSTOMER.api.iobeya.com/v1/rooms?page=1&size=10',
  headers: {
    'Authorization': 'Bearer JWT_TOKEN'
  },
  responseType: 'json'
};

axios(config)
.then(function (response) {
  console.log(response.data);
})
.catch(function (error) {
  console.log(error);
});

Replace CUSTOMER by your platform name and JWT_TOKEN by your JWT obtained after following the step 2 of this documentation.

Example of response:

{
  "self": "https://CUSTOMER.api.iobeya.com/v1/rooms?page=1&size=10",
  "kind": "Collection",
  "totalCount": 2,
  "data": [
    {
      "self": "https://CUSTOMER.api.iobeya.com/v1/rooms/e7caefd8-5f55-4247-9762-30dc93cbd467",
      "kind": "Room",
      "id": "e7caefd8-5f55-4247-9762-30dc93cbd467",
      "name": "My room 1"
    },
    {
      "self": "https://CUSTOMER.api.iobeya.com/v1/rooms/5cf09c3d-59a9-4891-927a-3948b522fbca",
      "kind": "Room",
      "id": "5cf09c3d-59a9-4891-927a-3948b522fbca",
      "name": "My demo room"
    }
  ]
}

How to get access to the iObeya API

Getting started

To access the iObeya API you need to pass a set of authentication credentials with each request.

These credentials are in the form of an OAuth 2.0 access token which represents an iObeya user and allows you to make a request on behalf of that user.

This guide describe how to perform the OAuth 2.0 dance each time by using postman or asking consent of users, if you want to achieve a Machine to Machine (M2M) authentication, please refer to this guide or you can retrieve your personal access token (PAT).

Step one: Register an external application in iObeya

In order to access the iObeya API with an external application, you need to register this application in the iObeya platform beforehand.

From the Administration interface click on Configuration > API and create a new OAuth application.

If you want to use Postman, you can put a fake URI on Redirection URI, and follow the step two below.

After saving the new application in iObeya an identifier will be generated, you will need it as the OAuth client_id of your application.

Step two: Generate access token

You can generate an access token using the authorization code flow with the following endpoints:

  • {iobeya-server-url}/s/oauth/authorize
  • {iobeya-server-url}/s/oauth/token

Here is an example of token generation using Postman:

  1. Create a new Collection on Postman, then click on "Authorization"
  • Select OAuth 2.0 for Type
  • Select Request headers for Add auth data to
  1. Scroll down to the Configure New Token panel
  • Select Authorization Code for Grant Type

  • Enable Authorize using browser and paste the displayed callback URI (https://oauth.pstmn.io/v1/callback) in the Redirection URI setting of your iObeya external application

  • Fill in the URLs, Client ID and Scope settings

  • Click on Get New Access Token

  1. iObeya will ask you to authenticate and to approve rights delegation

If your browser allows pop-up you should be redirected to Postman with a new access token generated.

Step three: Make a request

You can now use your access token to make requests to the iObeya API by providing it in the request header as a bearer token.

Authorization: Bearer your_access_token

If you used Postman to generate your token, you can click on “Use Token”.

Add a new request on the Collection and make sure to check Inherit auth from parent on the Authorization tab

Postman will automatically use a pre-filled hidden header containing the access token.

Next steps

In this documentation you learned how to generate an access token for sending your first requests to the iObeya API, please note that some security concerns should be addressed before running some production code.

https://datatracker.ietf.org/doc/draft-ietf-oauth-security-topics/

The main recommendations are:

Usage

URI Structure

The iObeya REST API uses JSON format for request and response body and communicate using the standards HTTP verbs GET POST PUT and DELETE.

A resource can be manipulated using the corresponding HTTP verb and the following URI structure:

https://CUSTOMER.api.iobeya.com/VERSION/RESOURCE-NAME

  • CUSTOMER: Please refer to the Find your API instance URL section.
  • VERSION: Some endpoints can have multiple versions, please refer to the API reference to find the correct version of the endpoint.
  • RESOURCE-NAME: The resource you want to manipulate.

For example, to retrieve the list of all the rooms the following request can be performed: GET https://CUSTOMER.api.iobeya.com/v1/rooms

Pagination

Responses that may contain large collections are paginated in order to limit the payload size and keep the response time as low as possible.

The page size can be defined by using the size query parameter and the page number using the page query parameter (starting at 1).

A paginated collection will always contain the total count of elements under the totalCount field.

Two optional fields can be present, the next and previous links, allowing to navigate between pages.

If no previous link is present, the current requested page is the first.
if no next link is present, the current requested page is the last.

Example:

{
  "self": "https://CUSTOMER.api.iobeya.com/v1/rooms?page=2&size=2",
  "kind": "Collection",
  "totalCount": 2,
  "previous": "https://CUSTOMER.api.iobeya.com/v1/rooms?page=1,size=2",
  "next": "https://CUSTOMER.api.iobeya.com/v1/rooms?page=3,size=2",
  "data": [
    {
      "self": "https://CUSTOMER.api.iobeya.com/v1/rooms/e7caefd8-5f55-4247-9762-30dc93cbd467",
      "kind": "Room",
      "id": "e7caefd8-5f55-4247-9762-30dc93cbd467",
      "name": "My room 1"
    },
    {
      "self": "https://CUSTOMER.api.iobeya.com/v1/rooms/5cf09c3d-59a9-4891-927a-3948b522fbca",
      "kind": "Room",
      "id": "5cf09c3d-59a9-4891-927a-3948b522fbca",
      "name": "My demo room"
    }
  ]
}

Error responses

In addition with the HTTP status code, API errors will be returned with a JSON body of application/problem+json media type, following the RFC 7807.

In the response body you will find several fields describing the error:

  • status: The HTTP status code.
  • title: A short summary of the problem type.
  • type: An URI reference that identifies the problem type. This URI is not necessarily resolvable, it's main purpose is to identify the problem type, but it sometimes can give you additional information on the problem. It can also be set to about:blank when the problem has no additional semantics beyond that of the HTTP status code.
  • detail: An optional field giving some explanation on the specific occurrence of the problem.

Some additional fields may be present to give more accurate information about the problem encountered.

Example:

{
  "type": "https://iobeya.com/api/guide/validation-error",
  "status": 400,
  "title": "Your request parameters didn't validate",
  "invalidRequest": [
    {
      "message": "A request body is required but none found."
    }
  ]
}

Self and kind

Successful API responses will always contain a kind field representing the type of the object in the response alongside with a self field providing a convenience link to manipulate or request more information on the concerned resource.

Example:

{
  "self": "https://CUSTOMER.api.iobeya.com/v1/rooms/e7caefd8-5f55-4247-9762-30dc93cbd467",
  "kind": "Room",
  "id": "e7caefd8-5f55-4247-9762-30dc93cbd467",
  "name": "My room 1"
}

Date and time formats

The iObeya REST API uses the ISO 8601 standard to manipulate dates and times.

You can use any timezone to request the API but the date time in responses will always be set to the UTC timezone to avoid any confusion.

Examples:

  • Date: 2021-11-22
  • UTC date time: 2021-11-22T10:46:01Z
  • UTC+2 date time: 2021-11-22T10:46:01+02:00

Differences from Legacy API

Terminology

  • iObeya Legacy API : refers to the iObeya REST API, which is the API that the iObeya client is consuming and QCD REST API.
  • iObeya Facade API : refers to the newly developed API designed to simplify the developer experience by providing a modern API hiding the underlying complexity of the iObeya Legacy APIs.

If you want to know more, you can consult our integration guide.

Base URI endpoint

  • Legacy API : customer.iobeya.com/s/j OR customer.api.iobeya.com/v0
  • Facade API : customer.api.iobeya.com/v1

Using customer.api.iobeya.com/v0 base URI endpoint

We added a /v0 endpoint on customer.api.iobeya.com to make calls to legacy API easier. On this endpoint you can use Bearer JWT header to be authenticated.

In fact when you are performing a call on customer.api.iobeya.com/v0, your call will be automatically redirected to customer.iobeya.com/s/j.

Be careful, the /v0 (legacy) json objects may differ from /v1 (facade) json objects.

Complex JSON on body

The main objective with the new APIs is to simplify the usage for consumers, it relies on using simple JSON on requests and responses.

Example for creating a Standard Card:

  • Legacy : POST customer.iobeya.com/s/j/elements
{
    "@class": "com.iobeya.dto.BoardCardDTO",
    "@superClass": null,
    "asset": null,
    "assignees": [],
    "boardId": null,
    "boardName": null,
    "checklist": [],
    "collectionDoneCount": 0,
    "collectionSize": 0,
    "color": 16706943,
    "container": {
        "@class": "com.iobeya.dto.EntityReferenceDTO",
        "id": "aad882e8-8d43-471e-985d-dbd0bd4365cb",
        "type": "com.iobeya.dto.ElementContainerDTO"
    },
    "creationDate": 1664193382069,
    "creator": "9ec9dcad-efa3-4918-aa7c-064453aa5b9a",
    "dataItem": null,
    "dataItemDate": null,
    "dataItemIcon": null,
    "dataItemId": null,
    "dataItemName": null,
    "dataItemSourceId": null,
    "dataItemStatus": null,
    "dataItemUrl": null,
    "displayTimestamp": false,
    "entityType": "BoardCard",
    "fontFamily": "arial",
    "height": 197,
    "id": "64B80BE8-3F59-9368-06DA-79A7687BB9D0",
    "isAnchored": false,
    "isArchived": false,
    "isLocked": false,
    "isReadOnly": false,
    "linkLabel": null,
    "linkUrl": null,
    "modificationDate": 1664193384524,
    "modifier": "9ec9dcad-efa3-4918-aa7c-064453aa5b9a",
    "modifierClientId": "596cb103-0504-40d0-9835-7c43d4a18638",
    "name": "Jaune",
    "props": {
        "title": "My Card",
        "description": "",
        "priority": false,
        "metric": "",
        "endDate": null
    },
    "roomName": null,
    "rotationAngle": 0,
    "score": -1,
    "scoreRatio": -1,
    "setName": "Cartes standards",
    "syncInfo": {
        "@class": "com.iobeya.dto.EntityReferenceDTO",
        "id": "6cc2c3ae-3baf-4173-8f4f-418c7c2ec478",
        "type": "com.iobeya.dto.ElementSyncInfoDTO"
    },
    "width": 254,
    "x": 108,
    "y": 1270,
    "zOrder": 124
}
  • New API : POST customer.api.iobeya.com/cards
{
    "type": "standard",
    "title": "My Card",
    "boardId": "65dd12d0-d317-884a-4f14-08fae11d0dcc",
    "size": "medium"
}

Both endpoints give the same result: a Standard Card is created on a specified board, but from payloads very different.
The first one (the Legacy API one) contains the full required technical iObeya properties whereas the second one (the new API) only contains customer oriented properties.

Manipulate boardId instead of elementContainerId

With the new API, it's no more mandatory to perform additional GET requests to find the elementContainerId of a board (which is a technical object required for iObeya) in order to create elements on it.
You can use directly the boardId property.

Use properties that make sense for consumer

In order to improve the usage of our APIs, the consumer don't need any technical skills specific to iObeya to manipulate objects.
For example, to create a card with a specific size using the Legacy API, the consumer needs to retrieve the different available sizes in pixels (width / height).
Now, the consumer just need to specify the size: small, medium or large property.

We use the simplest and business oriented wording for our JSON inputs/outputs.

Manipulate date and time with ISO format

On Legacy API it's needed to manipulate a timestamp, which is not human-understandable. With the new API, you can use the standard ISO format as it's described on our usage guide.

Assets

Related to Assets resources

Get miniature of the board

[Since iObeya v4.12]

Retrieve the miniature of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Get screenshot of the board

[Since iObeya v4.12]

Retrieve the screenshot of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Add existing asset to the board

[Since iObeya v4.11]

Add an existing asset (identified by its assetId) to a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
assetId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "assetId": "a6b7120e-ae76-4baf-97f4-6d4057644918"
}

Response samples

Content type
application/json
{}

Get background of the board

[Since iObeya v4.8]

Retrieve the background of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Assign asset to board background

[Since iObeya v4.11]

Assign an existing asset (identified by its assetId) to a board background

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
assetId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "assetId": "a6b7120e-ae76-4baf-97f4-6d4057644918"
}

Response samples

Content type
application/json
{}

Upload an asset

[Since iObeya v4.8]

Upload an asset

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "kind": "Asset",
  • "id": "a6b7120e-ae76-4baf-97f4-6d4057644918"
}

Download asset by id

[Since iObeya v4.8]

Download an asset from its id. An asset can only be downloaded if it has been assigned once as a board image or board background.

When targetWidth and targetHeight are filled, try to return the best asset matching the target size.
When the json parameter is sent and set to true, the asset is returned as a JSON object.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
query Parameters
targetWidth
integer <int32>
Example: targetWidth=800

Size in pixels for width

targetHeight
integer <int32>
Example: targetHeight=400

Size in pixels for height

json
boolean
Value: true

Add the json parameter to return the asset as a JSON object

Responses

Response samples

Content type
No sample

Update an existing asset

[Since iObeya v4.8]

Update an existing asset

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/problem+json
Example
{}

Get asset by BoardImage id

[Since iObeya v4.11]

Get the asset id associated to the board image identified by its boardImageId.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json

Update the asset of board image

[Since iObeya v4.11]

Update the asset of a Board Image identified by its id. The board images which has the same Asset are also updated.

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/problem+json
Example
{}

Boards

Related to Boards resources

Get all accessible boards

[Since iObeya v4.11]

Retrieve a paginated list of all accessible boards for the current user

Authorizations:
bearerAuth
query Parameters
search
string

Search boards by name

sortColumn
string
Enum: "name" "modificationDate" "creator" "roomName" "viewDate"

[Since iObeya v4.32]
For older versions the default sort column is name
[Since iObeya v4.33]
sort column can be viewDate

sortDirection
string
Enum: "asc" "desc"
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get board details by id

[Since iObeya v4.8]

Retrieve details of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
Example
{}

Get users that have access to the board

[Since iObeya v4.11]

Retrieve a paginated list of all users that have access to this board.

Note: since there is no permission on a board level, this is actually the users that can access the room of this board"

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
query Parameters
search
string

Search users by their first name, last name or display name

sortColumn
string
Enum: "id" "firstName" "lastName" "displayName"
sortDirection
string
Enum: "asc" "desc"
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get miniature of the board

[Since iObeya v4.12]

Retrieve the miniature of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Get screenshot of the board

[Since iObeya v4.12]

Retrieve the screenshot of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Add existing asset to the board

[Since iObeya v4.11]

Add an existing asset (identified by its assetId) to a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
assetId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "assetId": "a6b7120e-ae76-4baf-97f4-6d4057644918"
}

Response samples

Content type
application/json
{}

Get background of the board

[Since iObeya v4.8]

Retrieve the background of a board

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Assign asset to board background

[Since iObeya v4.11]

Assign an existing asset (identified by its assetId) to a board background

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
assetId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "assetId": "a6b7120e-ae76-4baf-97f4-6d4057644918"
}

Response samples

Content type
application/json
{}

Get all accessible boards in a room

[Since iObeya v4.11]

Retrieve a paginated list of all boards in a room

Authorizations:
bearerAuth
path Parameters
roomId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get Data context for a given Board

Get Data context for the Board identified by its id, if there is one

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "tags": [
    ]
}

Create a Data context for a given Board

Create a Data context for the Board identified by its id, or override the previous one if there was already one existing

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
Request Body schema: application/json
required

Board context creation request object. The boardId is retrieved directly from path parameter

roomId
required
string <uuid>
tags
Array of strings (Tags) = 1 items

A list of Tags

Responses

Request samples

Content type
application/json
{
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "tags": [
    ]
}

Delete a Data context for a given Board

Delete a Data context for the Board identified by its id, if there is one

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Your request parameters didn't validate",
  • "invalidRequest": [
    ]
}

Clone a Data context from source Board to target Board

Clone a Data context from source Board to target Board. Target Board context will be overridden if there was already one existing

Request Body schema: application/json
required

Board context cloning request object.

from
required
string <uuid>
to
required
string <uuid>
toRoomId
string or null <uuid>

Responses

Request samples

Content type
application/json
{
  • "from": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "to": "7ce3b221-b647-4d14-9e1a-8f84f58f89bf",
  • "toRoomId": "9a18005e-39db-4e83-b895-9334f78fff82"
}

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "tags": [
    ]
}

Search Board Data contexts by tags

Get all Board Data contexts matching given tags

query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50
tags
required
Array of strings

Responses

Response samples

Content type
application/json
{}

Get all Elements Data contexts for a given Board

Get all Elements Data contexts for the Board identified by its id, if there are some

path Parameters
boardId
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Search Board Data contexts by roomId

Get all Board Data contexts matching given roomId

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Cards

Related to Cards resources

Find a card by id

[Since iObeya v4.8]

Retrieve a card by its id

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
Example
{}

Create a card

[Since iObeya v4.8]

Create a card on a board

Authorizations:
bearerAuth
Request Body schema: application/json
required

You can specify style OR toolset

type
required
string
boardId
required
string <uuid>
object (Style)

Create or update an element based only on style, the element will not be linked to an existing tool in the board.

If an existing toolset is set, style is ignored.

object (Toolset)

Link an element to an existing tool in the board, if the toolset doesn't exist, the style is applied (default style if none defined)

x
integer >= 0
y
integer >= 0
title
required
string [ 1 .. 100 ] characters
size
required
string (Size)
Enum: "small" "medium" "large"
description
string <= 1024 characters
dueDate
string <date>

ISO 8601 format: YYYY-MM-DD

priority
boolean
value
string <= 25 characters
assignees
Array of strings <uuid> (AssigneesCreation) <= 10 items [ items <uuid > ]
Array of objects (Checklist) <= 30 items
object (Hyperlink)

Responses

Request samples

Content type
application/json
Example
{
  • "type": "standard",
  • "title": "My Card",
  • "boardId": "65dd12d0-d317-884a-4f14-08fae11d0dcc",
  • "size": "medium"
}

Response samples

Content type
application/json
{}

Create cards in bulk

[Since iObeya v4.11]

Create several cards on boards

Authorizations:
bearerAuth
Request Body schema: application/json
required
Array
type
required
string
boardId
required
string <uuid>
object (Style)

Create or update an element based only on style, the element will not be linked to an existing tool in the board.

If an existing toolset is set, style is ignored.

object (Toolset)

Link an element to an existing tool in the board, if the toolset doesn't exist, the style is applied (default style if none defined)

x
integer >= 0
y
integer >= 0
title
required
string [ 1 .. 100 ] characters
size
required
string (Size)
Enum: "small" "medium" "large"
description
string <= 1024 characters
dueDate
string <date>

ISO 8601 format: YYYY-MM-DD

priority
boolean
value
string <= 25 characters
assignees
Array of strings <uuid> (AssigneesCreation) <= 10 items [ items <uuid > ]
Array of objects (Checklist) <= 30 items
object (Hyperlink)

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json

Get asynchronous result of cards bulk creation

[Since iObeya v4.11]

Retrieve asynchronous result of cards bulk creation

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json

Retrieve Activity cards between two dates

[Since iObeya v4.11]

Retrieve Activity cards between two dates on a specific Planning board

Authorizations:
bearerAuth
query Parameters
boardId
required
string <uuid>
Example: boardId=0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
from
required
string <date>

ISO 8601 format: YYYY-MM-DD

to
required
string <date>

ISO 8601 format: YYYY-MM-DD

page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Domains

Related to Domains resources

Get all accessible domains

[Since iObeya v4.11]

Retrieve a list of all accessible domains for the current user

[Since iObeya v4.36]

Retrieve only the trial domain for the current user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{}

Get domain by id

[Since iObeya v4.11]

Retrieve details of a domain

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{
  • "kind": "Domain",
  • "id": "9b521af2-1ca4-4175-a93d-b3f6b877a5ef",
  • "name": "My Domain 1",
  • "description": "This is my sample Domain",
  • "maximumBoardsPerRoom": 20,
  • "maximumGroupsPerRoom": 5,
  • "maximumRooms": 20,
  • "maximumUsersPerRoom": 50,
  • "allowRoomCreation": true,
  • "closingDate": "2022-06-30",
  • "adminEmail": "it@iobeya.com"
}

Events

Related to Events resources

Get the list of all events

[Since iObeya v4.11]

Retrieve a paginated list of all events, filtered by group and that occurred after the since date

Authorizations:
bearerAuth
query Parameters
group
required
string
Enum: "qcd-action-events" "room-events"
Example: group=qcd-action-events
since
required
string <date-time>
Example: since=2021-10-27T13:00:00+02:00

Any time zone matching the ISO 8601 format is accepted:

  • 2021-10-27T13:00:00+02:00
  • 2021-10-27T13:00:00Z

page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get event by id

[Since iObeya v4.11]

Retrieve detail of an event

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Gauges

Related to Gauges resources

Update an existing gauge

[Since iObeya v4.8]

Update an existing gauge

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
title
string

Title of the Gauge.

value
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "title": "My Gauge",
  • "value": 9.25
}

Response samples

Content type
application/problem+json
Example
{}

Notes

Related to Notes resources

Update an existing note

[Since iObeya v4.8]

Update an existing note

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
value
string [ 0 .. 1024 ] characters

The note main textual content

object (Style)

Create or update an element based only on style, the element will not be linked to an existing tool in the board.

If an existing toolset is set, style is ignored.

object (Toolset)

Link an element to an existing tool in the board, if the toolset doesn't exist, the style is applied (default style if none defined)

Responses

Request samples

Content type
application/json
{
  • "value": "My Note",
  • "style": {
    },
  • "toolset": {
    }
}

Response samples

Content type
application/problem+json
Example
{}

Bulk update existing notes

[Since iObeya v4.11]

Bulk update existing notes

Authorizations:
bearerAuth
Request Body schema: application/json
required
Array
value
string [ 0 .. 1024 ] characters

The note main textual content

object (Style)

Create or update an element based only on style, the element will not be linked to an existing tool in the board.

If an existing toolset is set, style is ignored.

object (Toolset)

Link an element to an existing tool in the board, if the toolset doesn't exist, the style is applied (default style if none defined)

id
required
string <uuid>

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
Example
{}

Profile

Profile information (your own or one you have permissions to access to)

Get my profile information

[Since iObeya v4.11]

Retrieve my profile information

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "id": "a6b7120e-ae76-4baf-97f4-6d4057644918",
  • "displayName": "John Smith",
  • "firstName": "John",
  • "lastName": "Smith",
  • "email": "jsmith@iobeya.com",
  • "login": "jsmith",
  • "language": "en",
  • "avatar": {},
  • "createdAt": "2024-02-04T11:58:17.702",
  • "lastConnection": "2024-02-05T11:58:17.702",
  • "color": "#547841cc",
  • "colorToken": "collaborative-18"
}

Update my profile information

[Since iObeya v4.33]

Update the information of the current user

Authorizations:
bearerAuth
Request Body schema: application/json
required
firstName
string [ 1 .. 250 ] characters
lastName
string [ 1 .. 250 ] characters

Responses

Request samples

Content type
application/json
{
  • "firstName": "Jane",
  • "lastName": "Doe"
}

Response samples

Content type
application/problem+json
Example
{}

Update my language

[Since iObeya v4.8]

Update the language of the current user

Authorizations:
bearerAuth
Request Body schema: application/json
required
language
required
string
Enum: "en" "en-US" "fr" "de" "es" "nl" "ru" "pl" "ja" "zh" "pt" "pt-BR"

Responses

Request samples

Content type
application/json
{
  • "language": "en"
}

Response samples

Content type
application/problem+json
Example
{}

Add avatar

[Since iObeya v4.8]

Add the avatar of the current user

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/problem+json
Example
{}

Remove avatar

[Since iObeya v4.8]

Remove the avatar of the current user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/problem+json
Example
{}

QCD

Related to QCD

Get a QCD action

[Since QCD v4.8]

Retrieve details of a QCD action

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{
  • "kind": "Action",
  • "id": "c0a7d58e-8813-4527-b121-fa76623ccbb7",
  • "actionId": "NPQ-21-5521",
  • "createdAt": "2022-03-22T08:47:15.649",
  • "updatedAt": "2022-03-22T08:47:15.738",
  • "letter": {
    },
  • "indicators": [
    ],
  • "ring": "outer",
  • "wedge": 1,
  • "problem": "string",
  • "cause": "string",
  • "solution": "string",
  • "priority": 0,
  • "criticality": 0,
  • "ownerId": "string",
  • "authorId": "274665b6-4bf6-49ee-a5f4-40be38b4a02d",
  • "category": "string",
  • "reference": "string",
  • "hyperlink": {}
}

Create a QCD action on a letter

[Since iObeya v4.8]

Create a QCD action attached to a specific QCD letter on a board

Authorizations:
bearerAuth
Request Body schema: application/json
required
boardId
required
string <uuid>
required
object or object
problem
string or null
cause
string or null
solution
string or null
object or null
required
object or object
indicators
Array of strings or null
targetDate
required
string <date>

ISO 8601 format: YYYY-MM-DD
Set this date to indicate to which wedge in the letter ring this action refers to.
The target date must be between the current startDate & endDate of the QCD board.

ring
required
string (Ring)
Enum: "outer" "middle" "inner"
category
string or null
criticality
integer or null
Default: -1
Enum: -1 1 2 3 4 5
priority
integer or null
Default: -1
Enum: -1 1 2 3
status
integer or null
Default: 1
Enum: 1 2 3 4
reference
string or null
dueDate
string or null <date>

ISO 8601 format: YYYY-MM-DD
Set this date to indicate the action deadline.

object (Hyperlink)

Responses

Request samples

Content type
application/json
Example
{
  • "boardId": "bc4f1834-dc88-4aa6-90f9-588424dc8436",
  • "letter": {
    },
  • "ring": "middle",
  • "targetDate": "2023-08-03",
  • "owner": {
    }
}

Response samples

Content type
application/json
{}

Not yet implemented Deprecated

Not yet implemented

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Bulk update indicators values

[Since iObeya v4.11]

Bulk update of indicators values for several letters on a board

Authorizations:
bearerAuth
Request Body schema: application/json
required
boardId
required
string <uuid>
required
Array of objects

Responses

Request samples

Content type
application/json
Example
{
  • "boardId": "9AE15A23-53C3-1B18-193F-DA39A718BE16",
  • "letters": [
    ]
}

Response samples

Content type
application/json
Example
{}

Update QCD board period

[Since QCD v4.8]

Change the current period on a QCD board

Authorizations:
bearerAuth
Request Body schema: application/json
required
boardId
required
string <uuid>
durationType
required
string
Enum: "day" "week" "month" "quarter" "halfYear" "year"
preserveWedgeLabels
required
boolean
Default: false

When letters are custom cutted you can define custom wedge labels.
Set this option to true will keep the current labels to the new historical if it's not already created.

required
object

Responses

Request samples

Content type
application/json
{
  • "boardId": "9447d273-a911-45f4-bbdb-444b96e2e408",
  • "durationType": "day",
  • "preserveWedgeLabels": false,
  • "durationParameters": {
    }
}

Get all QCD letters on board

[Since iObeya v4.15]

Retrieve a collection of QCD Letters

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Import Excel/CSV file to QCD indicators

Excel to QCD
This endpoint allow you to send an Excel or CSV File to update your QCD Indicators. More informations in this article.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required

A form-data object with all details for your import.

file
required
string <binary>

File to upload. .xlsx or .csv. You must follow the format described in this article format.

canChangePeriod
boolean

Allow to change period automatically (default: false)

roomId
string

Room ID to update (will override the parameter roomName if specified the file)

boardId
string

Board ID to update (will override the parameter boardName if specified the file)

roomColName
string

Name of the column with the room name or the room id (default: roomName)

boardColName
string

Name of the column with the board name or the board id (default: boardName)

letterColName
string

Name of the column with the letter name or the letter id(default: letterName)

circleColName
string

Name of the column with the circle name (default: circleName)

indicatorColName
string

Name of the column with the indicator name (default: indicatorName)

dateColName
string

Name of the column with the date (default: date)

valueColName
string

Name of the column with the the value of the indicator (default: value). Can be the string null to force resetting the QCD cell. All empty values will be ignored

Responses

Response samples

Content type
application/json
Example
{}

Import multiple data entries into the QCD system

This endpoint is used to import multiple data entries into the QCD (Quality Control Dashboard) system. It takes a POST request with a list of QCD rows, with standard columns (roomName, boardName, etc.).

Authorizations:
bearerAuth
Request Body schema: application/json
required

A JSON body with the list of data entries to import.

required
Array of objects
canChangePeriod
boolean

Allow to change period automatically (default: false)

Responses

Request samples

Content type
application/json
{
  • "data": [
    ],
  • "canChangePeriod": true
}

Response samples

Content type
application/json
Example
{}

Retrieve the list of QCD indicators structure

Retrieves the list of QCD indicators for a specified board or room, in the format expected by the importQCDData endpoint.

Authorizations:
bearerAuth
query Parameters
roomId
string

The ID or name of the room. Can also be a comma-separated list of IDs or names. If not specified, a default format will be returned.

boardId
string

The ID or name of the board. If not specified, all boards within the given room (or globally if no room is specified) will be considered.

withIds
boolean
Default: false

Determines whether to include IDs in the output.

exportFormat
string
Default: "csv"

The format of the export. Options are 'csv' or 'json'. Default is 'csv'.

delimiter
string
Default: "\\t"

The delimiter to use in the CSV output. Default is a tab character.

withAll
boolean
Default: false

Will output a special file for indicators mapping, with all IDs and names included. This file is not to be used directly for import.

Responses

Response samples

Content type
[
  • {
    }
]

QCD Extract

Related to QCD data extraction
[Since iObeya v4.14] - For platform admin only
[Since iObeya v4.19] - Available for room admin
[Since iObeya v4.27] - /v0 DEPRECATED please use /v1

Extract QCD actions Deprecated

Retrieve a paginated list of all accessible QCD actions from the platform or from a given room

Authorizations:
bearerAuth
query Parameters
roomId
string <uuid>
Example: roomId=1792cf93-c57d-4f96-8b11-82e63dd93c98
since
string or null <date>
Example: since=2023-06-20

[Since QCD v4.21]
ISO 8601 format: YYYY-MM-DD
Set this parameter to export only actions updated after this date

page
integer >= 1
Default: 1
Example: page=1
size
integer [ 0 .. 1000 ]
Default: 10
Example: size=10

Max size for QCD Extract is 1000

Responses

Response samples

Content type
application/json
{
  • "totalCount": 500,
  • "data": [
    ]
}

Extract QCD letters Deprecated

Retrieve a paginated list of all accessible QCD letters from the platform or from a given room

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1
Example: page=1
size
integer [ 0 .. 1000 ]
Default: 10
Example: size=10

Max size for QCD Extract is 1000

Responses

Response samples

Content type
application/json
{}

Extract QCD indicators from room Deprecated

Retrieve a paginated list of all accessible QCD indicators from a given room during a period

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1
Example: page=1
size
integer [ 0 .. 1000 ]
Default: 10
Example: size=10

Max size for QCD Extract is 1000

year
required
integer
Example: year=2022
period
required
string
Enum: "current" "historicals"
roomId
required
string <uuid>
Example: roomId=0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Extract QCD actions

Retrieve a paginated list of all accessible QCD actions from the platform or from a given room

Authorizations:
bearerAuth
query Parameters
roomId
string <uuid>
Example: roomId=1792cf93-c57d-4f96-8b11-82e63dd93c98
since
string or null <date>
Example: since=2023-06-20

[Since QCD v4.21]
ISO 8601 format: YYYY-MM-DD
Set this parameter to export only actions updated after this date

page
integer >= 1
Default: 1
Example: page=1
size
integer [ 0 .. 1000 ]
Default: 10
Example: size=10

Max size for QCD Extract is 1000

Responses

Response samples

Content type
application/json
{}

Extract QCD letters

Retrieve a paginated list of all accessible QCD letters from the platform or from a given room

Authorizations:
bearerAuth
query Parameters
roomId
string <uuid>
Example: roomId=1792cf93-c57d-4f96-8b11-82e63dd93c98
page
integer >= 1
Default: 1
Example: page=1
size
integer [ 0 .. 1000 ]
Default: 10
Example: size=10

Max size for QCD Extract is 1000

Responses

Response samples

Content type
application/json
{}

Extract QCD indicators from room or board

Retrieve a paginated list of all accessible QCD indicators from a given room or given board during a period
Either a roomId or a boardId is required.

Authorizations:
bearerAuth
query Parameters
roomId
string <uuid>
Example: roomId=1792cf93-c57d-4f96-8b11-82e63dd93c98
boardId
string <uuid>
Example: boardId=db69ed17-33a5-47d9-90b6-ea5407b0b0c5
page
integer >= 1
Default: 1
Example: page=1
size
integer [ 0 .. 1000 ]
Default: 10
Example: size=10

Max size for QCD Extract is 1000

year
required
integer
Example: year=2022
period
required
string
Enum: "current" "historicals"

Responses

Response samples

Content type
application/json
{
  • "totalCount": 500,
  • "data": [
    ]
}

Rooms

Related to Rooms resources

Get all accessible rooms

[Since iObeya v4.8]

Retrieve a paginated list of all accessible rooms for the current user

Authorizations:
bearerAuth
query Parameters
search
string

Search rooms by name

sortColumn
string
Enum: "name" "modificationDate" "creator"

[Since iObeya v4.32]
For older versions the default sort column is name

sortDirection
string
Enum: "asc" "desc"
type
string
Enum: "all" "public" "private" "trial"

[Since iObeya v4.36]

status
string
Enum: "all" "archived" "not_archived"

[Since iObeya v4.36]

page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Create a Room in identified Domain with provided details.

[Since iObeya v4.12]

Create a room in the specified domain

Authorizations:
bearerAuth
Request Body schema: application/json
required

Mandatory fields are domainId or domainName, name

domainId
string <uuid>

Required if no domainName provided.

domainName
string

Required if no domainId provided.

name
required
string [ 1 .. 118 ] characters
administrator
string
closingDate
string <date>
maximumBoards
integer >= 1
maximumUsers
integer >= 1
modelId
string <uuid>
description
string
category
string
type
string
Enum: "StandardRoom" "SelfServiceRoom" "WhiteboardingRoom"

[Since iObeya v4.36] The room type to create, if not present StandardRoom is set by default.

Responses

Request samples

Content type
application/json
Example
{
  • "domainId": "9b521af2-1ca4-4175-a93d-b3f6b877a5ef",
  • "name": "My Room Name"
}

Response samples

Content type
application/json
{}

Get room details by id

[Since iObeya v4.8]

Retrieve details of a room

Authorizations:
bearerAuth
path Parameters
roomId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Get all accessible boards in a room

[Since iObeya v4.11]

Retrieve a paginated list of all boards in a room

Authorizations:
bearerAuth
path Parameters
roomId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Search Room Data contexts by tags

Get all Room Data contexts matching given tags

query Parameters
tags
required
Array of strings
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get Data context for a given Room

Get Data context for the Room identified by its id, if there is one

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/json
{
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "tags": [
    ]
}

Create a Data context for a given Room

Create a Data context for the Room identified by its id, or override the previous one if there was already one existing

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
Request Body schema: application/json
required

Room context creation request object. The roomId is retrieved directly from path parameter

tags
Array of strings (Tags) = 1 items

A list of Tags

Responses

Request samples

Content type
application/json
{
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "tags": [
    ]
}

Delete a Data context for a given Room

Delete a Data context for the Room identified by its id, if there is one

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Your request parameters didn't validate",
  • "invalidRequest": [
    ]
}

Search Board Data contexts by roomId

Get all Board Data contexts matching given roomId

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Users

Related to Users resources

Retrieve a paginated list of users informations

Authorizations:
bearerAuth
query Parameters
search
string

Search users by firstname, lastname

page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get a user by its id (username)

[Since iObeya v4.11]

Retrieve a user by its id

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c

Responses

Response samples

Content type
application/json
{}

Get users that have access to the board

[Since iObeya v4.11]

Retrieve a paginated list of all users that have access to this board.

Note: since there is no permission on a board level, this is actually the users that can access the room of this board"

Authorizations:
bearerAuth
path Parameters
boardId
required
string <uuid>
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
query Parameters
search
string

Search users by their first name, last name or display name

sortColumn
string
Enum: "id" "firstName" "lastName" "displayName"
sortDirection
string
Enum: "asc" "desc"
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Configuration

Related to Configuration resources

Get the current configuration

Retrieve the current iObeya server configuration

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{}

Get all Configuration for Data Contexts

Get all Configuration for Data Contexts for any supported entity

Responses

Response samples

Content type
application/json
{
  • "boardTags": [
    ],
  • "roomTags": [
    ],
  • "elementTags": [
    ]
}

Create the Configuration for Data Contexts

Create the Configuration for Data Contexts, defining eligible tags by entities

Request Body schema: application/json
required

Configuration Data Context creation request object.

boardTags
Array of strings
roomTags
Array of strings
elementTags
Array of strings

Responses

Request samples

Content type
application/json
{
  • "boardTags": [
    ],
  • "roomTags": [
    ],
  • "elementTags": [
    ]
}

Response samples

Content type
application/json
{
  • "boardTags": [
    ],
  • "roomTags": [
    ],
  • "elementTags": [
    ]
}

Get Configuration for Board

Get the Configuration for Board Data Contexts, returning eligible tags for a Board

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get Configuration for Room

Get the Configuration for Room Data Contexts, returning eligible tags for a Room

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get Configuration for Element

Get the Configuration for Element Data Contexts, returning eligible tags for a Element

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get help link details by id

[Since iObeya v4.33]

Retrieve details of a help link

Authorizations:
bearerAuth
path Parameters
linkId
required
number <double>
Example: 11

Responses

Response samples

Content type
application/json
{}

WelcomePopup

Related to welcome popup resources

Get welcome popup configuration

[Since iObeya v4.11]

Retrieve configuration details of the welcome popup

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{}

Elements

Data contexts related to Elements resources

Get a Data context for an orphan Element (i.e. with no boardId)

Get a Data context for an orphan Element (i.e. from the Exchange Zone, with no boardId)

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "elementId": "b5d9c91c-c298-4444-a0a1-6f939e033644",
  • "elementClass": "com.iobeya.dto.BoardCardDTO",
  • "tags": [
    ]
}

Create a Data context for an orphan Element (i.e. with no boardId)

Create a Data context for an orphan Element (i.e. from the Exchange Zone, with no boardId)

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
Request Body schema: application/json
required

Element context creation request object.The elementId is retrieved directly from path parameter

elementClass
string
tags
Array of strings (Tags) = 1 items

A list of Tags

Responses

Request samples

Content type
application/json
{
  • "elementClass": "com.iobeya.dto.BoardCardDTO",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "elementId": "b5d9c91c-c298-4444-a0a1-6f939e033644",
  • "elementClass": "com.iobeya.dto.BoardCardDTO",
  • "tags": [
    ]
}

Delete an orphan Data context for a given Element (i.e. with no boardId)

Delete an orphan Data context for the Element identified by its id and with no boardId, if there is one

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Your request parameters didn't validate",
  • "invalidRequest": [
    ]
}

Get all Elements Data contexts for a given Board

Get all Elements Data contexts for the Board identified by its id, if there are some

path Parameters
boardId
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
query Parameters
page
integer <int32> >= 1
Default: 1
size
integer <int32> [ 1 .. 200 ]
Default: 50

Responses

Response samples

Content type
application/json
{}

Get an Element Data context for a given Board

Get an Element Data context for the Board identified by its id, if there are some

path Parameters
boardId
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Data context for a given Board

Create a Data context for the Board identified by its id, or override the previous one if there was already one existing

path Parameters
boardId
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
Request Body schema: application/json
required

Element context creation request object. The boardId and the elementId are retrieved directly from path parameters

roomId
string <uuid>
elementClass
string
tags
Array of strings (Tags) = 1 items

A list of Tags

Responses

Request samples

Content type
application/json
{
  • "roomId": "a6b7120e-ae76-4baf-97f4-6d4057644917",
  • "elementClass": "com.iobeya.dto.BoardCardDTO",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "elementId": "b5d9c91c-c298-4444-a0a1-6f939e033644",
  • "elementClass": "com.iobeya.dto.BoardCardDTO",
  • "tags": [
    ]
}

Delete a Data context for a given Element

Delete a Data context for the Element identified by its id, and for a given Board also identified by its id, if there is one

path Parameters
boardId
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Your request parameters didn't validate",
  • "invalidRequest": [
    ]
}

Clone a Data context from source Element to target Element

Clone a Data context from source Element to target Element. There is no control on entity classes compatibility.

Request Body schema: application/json
required

Element context cloning request object, when boardId is not provided element is handled as an orphan

from
required
string <uuid>
fromBoardId
string or null <uuid>

null when source object is orphan element

to
required
string <uuid>
toBoardId
string or null <uuid>

null when target object is an orphan element

Responses

Request samples

Content type
application/json
{
  • "from": "b5d9c91c-c298-4444-a0a1-6f939e033644",
  • "fromBoardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "to": "a118ec20-8994-4c2e-81fc-2d4d2361594e",
  • "toBoardId": "7ce3b221-b647-4d14-9e1a-8f84f58f89bf"
}

Response samples

Content type
application/json
{
  • "boardId": "04629bdc-afc9-4834-ac29-55814ae31cb6",
  • "elementId": "b5d9c91c-c298-4444-a0a1-6f939e033644",
  • "elementClass": "com.iobeya.dto.BoardCardDTO",
  • "tags": [
    ]
}

Delete a Data context for a given Element when board is not known

Delete a Data context for the Element identified by its id

path Parameters
id
required
string <uuid>
Example: 04629bdc-afc9-4834-ac29-55814ae31cb6

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Your request parameters didn't validate",
  • "invalidRequest": [
    ]
}

Services

End-Users API that aggregates multiple API calls

Import Excel/CSV file to QCD indicators

Excel to QCD
This endpoint allow you to send an Excel or CSV File to update your QCD Indicators. More informations in this article.

Authorizations:
bearerAuth
Request Body schema: multipart/form-data
required

A form-data object with all details for your import.

file
required
string <binary>

File to upload. .xlsx or .csv. You must follow the format described in this article format.

canChangePeriod
boolean

Allow to change period automatically (default: false)

roomId
string

Room ID to update (will override the parameter roomName if specified the file)

boardId
string

Board ID to update (will override the parameter boardName if specified the file)

roomColName
string

Name of the column with the room name or the room id (default: roomName)

boardColName
string

Name of the column with the board name or the board id (default: boardName)

letterColName
string

Name of the column with the letter name or the letter id(default: letterName)

circleColName
string

Name of the column with the circle name (default: circleName)

indicatorColName
string

Name of the column with the indicator name (default: indicatorName)

dateColName
string

Name of the column with the date (default: date)

valueColName
string

Name of the column with the the value of the indicator (default: value). Can be the string null to force resetting the QCD cell. All empty values will be ignored

Responses

Response samples

Content type
application/json
Example
{}

Import multiple data entries into the QCD system

This endpoint is used to import multiple data entries into the QCD (Quality Control Dashboard) system. It takes a POST request with a list of QCD rows, with standard columns (roomName, boardName, etc.).

Authorizations:
bearerAuth
Request Body schema: application/json
required

A JSON body with the list of data entries to import.

required
Array of objects
canChangePeriod
boolean

Allow to change period automatically (default: false)

Responses

Request samples

Content type
application/json
{
  • "data": [
    ],
  • "canChangePeriod": true
}

Response samples

Content type
application/json
Example
{}

Retrieve the list of QCD indicators structure

Retrieves the list of QCD indicators for a specified board or room, in the format expected by the importQCDData endpoint.

Authorizations:
bearerAuth
query Parameters
roomId
string

The ID or name of the room. Can also be a comma-separated list of IDs or names. If not specified, a default format will be returned.

boardId
string

The ID or name of the board. If not specified, all boards within the given room (or globally if no room is specified) will be considered.

withIds
boolean
Default: false

Determines whether to include IDs in the output.

exportFormat
string
Default: "csv"

The format of the export. Options are 'csv' or 'json'. Default is 'csv'.

delimiter
string
Default: "\\t"

The delimiter to use in the CSV output. Default is a tab character.

withAll
boolean
Default: false

Will output a special file for indicators mapping, with all IDs and names included. This file is not to be used directly for import.

Responses

Response samples

Content type
[
  • {
    }
]

Export board data as CSV

Handles the processing of exporting board data as CSV (UTF-16, tab setparated). If the board is a DCM board and the if parameter dcm_xls is set to true, then the board will be exported from a DCM XLS file rather than the regular CSV data.

Authorizations:
bearerAuth
path Parameters
boardId
required
string

ID of the board to export

query Parameters
dcm_xls
boolean
Default: false

Indicates if the board (which should be of DCM type) must be exported from a DCM XLS file rather than the regular CSV data. The default is to export the regular CSV data.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "message": "string"
}

Export DCM tasks as CSV

Handles the export of DCM tasks through the export XLS. Returns a CSV file that contains the DCM tasks in that same data format.

Authorizations:
bearerAuth
path Parameters
boardId
required
string

ID of the board to export

query Parameters
separator
string
Default: "\\t"

Separator used in the CSV file

fileName
string
Default: "dcm_board.txt"

Name of the CSV file

Responses

Response samples

Content type
application/json
{
  • "status": 400,
  • "error_type": "error",
  • "detail": "Invalid board ID."
}

Labels

Bulk update existing labels

[Since iObeya v4.11]

Bulk update existing labels

Authorizations:
bearerAuth
Request Body schema: application/json
required
Array
label
string

Text of the Label.

backgroundColor
string <hexadecimal>

Color of the background of the label.

fontColor
string <hexadecimal>

Color of the font of the label.

id
required
string <uuid>

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/problem+json
Example
{}

Update an existing label

[Since iObeya v4.8]

Update an existing label

Authorizations:
bearerAuth
path Parameters
id
required
string
Example: 0137e60d-8a4a-e10e-dfc8-0b5622fbff3c
Request Body schema: application/json
required
label
string

Text of the Label.

backgroundColor
string <hexadecimal>

Color of the background of the label.

fontColor
string <hexadecimal>

Color of the font of the label.

Responses

Request samples

Content type
application/json
{
  • "label": "My Label",
  • "backgroundColor": "#000000",
  • "fontColor": "#ffffff"
}

Response samples

Content type
application/problem+json
Example
{}