Clustermarket API (0.1.5)

Download OpenAPI specification:Download

Important Concepts

Account

An account in Clustermarket represents an organisation, department or a lab. We have a hierarchical strucure following these rules:

  • An organisation can have many departments and many labs.
  • A department may only have labs.
  • A lab can exist by itself, without a department or an organisation. We refer to these as independent labs.
graph TD
    org[Organisation]
    org-->lab0[Lab]
    dep1[Department]
    dep2[Department]
    org-->dep1
    dep1-->lab1[Lab]
    dep1-->lab2[Lab]
    org-->dep2
    dep2-->lab3[Lab]
    il[Independent Lab]

accounts

Accounts represent Organisations, Departments or Labs

List Accounts

Lists all accounts accessilbe through the integration. The application scope must include read_accounts.

Authorizations:
oauth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Account Details

Get the full details of a specific account. The application scope must include read_accounts.

Authorizations:
oauth
path Parameters
id
required
integer

Account ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "Cambridge Graphene Center",
  • "account_type": "lab",
  • "sector": "academia",
  • "description": "string",
  • "timezone": "Europe/London",
  • "department": {
    },
  • "organisation": {
    },
  • "labs": [
    ],
  • "departments": [
    ]
}

bookings

A booking made on an equipment.

List Bookings

Return lists of bookings accessible to the user, optionally scopable to the providing lab account. The application scope must include read_bookings.

Authorizations:
oauth
query Parameters
provider_account
number

The parent lab account ID.

Responses

Response samples

Content type
application/json
No sample

Booking Details

Return the details about a particular booking as defined by the database identifier. The application scope must include read_bookings.

Authorizations:
oauth
path Parameters
id
required
integer

Booking ID

Responses

Response samples

Content type
application/json
No sample

equipment

A piece of equipment. Ex: Microscope.

List Equipment

Lists all equipment under the specified lab. Requires read_equipment scope.

Authorizations:
oauth
query Parameters
account
number

The target lab account ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Equipment Details

Returns details about a particular piece of equipment. Requires the equipment ID, and the application scope must include read_equipment.

Authorizations:
oauth
path Parameters
id
required
integer

Equipment ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "room": "string",
  • "manufacturer": "string",
  • "model": "string",
  • "city": "string",
  • "country": "string",
  • "currency": "string",
  • "charging_type": "string",
  • "description": "string",
  • "category": {
    },
  • "lab": {
    },
  • "manufacturing_year": "string",
  • "serial_number": "string"
}

Equipment Bookings

Returns bookings about a particular piece of equipment. Requires the equipment ID, and the application scope must include read_equipment.

Authorizations:
oauth
path Parameters
id
required
integer

Unique ID of the equipment

Responses

Response samples

Content type
application/json
[
  • {
    }
]

user

A registered user on the platform

User Resource Owner

Outputs user information when the credential resource owner is a user.

Authorizations:
oauth

Responses

Response samples

Content type
{
  • "id": 0,
  • "first_name": "string",
  • "last_name": "string"
}

groups

List Groups

Lists all groups under the specified lab. Requires read_accounts scope.

Authorizations:
oauth
query Parameters
account
number

The target lab account ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Group Details

Get the full details of a specific group. The application scope must include read_accounts.

Authorizations:
oauth
path Parameters
id
required
integer

Group ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "equipment": [
    ]
}