Download OpenAPI specification:Download
Organisations may use the Peerdom's RESTful API as an additional way to interact with their organisational data managed within Peerdom.
The endpoints of the API always operate within the context of a single organisation. The organisation's context is determined by a presented API key.
For this reason, most if not all API endpoints are protected and require an API key to be accessed successfully.
When querying the API, the API key is to be presented in the request header, using the header name X-Api-Key
.
Please contact our team to request an API key for your organisation.
The API encodes its data for JSON. No further encoding/sanitizing is applied.
Please note: It is the responsability of the consumer to apply further encoding depending on the context (e.g. encode HTML-tags in a web context etc.)
Gets a lists of all peers within the organization's namespace.
limit | integer Pagination: Limit list by |
offset | integer Pagination: Retrieval offset. |
with | string Use |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "nickName": "string",
- "slug": "string",
- "avatarUrl": "string",
- "birthdate": "2019-08-24T14:15:22Z",
- "contribution": 0,
- "contributionUnit": "string",
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
]
}
]
Create a new peer within the organization's namespace.
Create a new peer
firstName required | string |
lastName | string |
nickName | string |
birthdate | string <date-time> |
percentage | integer Contribution App needs to be enabled for this attribute. |
{- "firstName": "string",
- "lastName": "string",
- "nickName": "string",
- "birthdate": "2019-08-24T14:15:22Z",
- "percentage": 0
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "nickName": "string",
- "slug": "string",
- "avatarUrl": "string",
- "birthdate": "2019-08-24T14:15:22Z",
- "contribution": 0,
- "contributionUnit": "string",
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
]
}
Gets a single peer based on their single ID.
id required | string <uuid> ID of peer to fetch |
with | string Use |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "nickName": "string",
- "slug": "string",
- "avatarUrl": "string",
- "birthdate": "2019-08-24T14:15:22Z",
- "contribution": 0,
- "contributionUnit": "string",
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
]
}
Update a single peer based on the ID supplied.
id required | string <uuid> ID of peer to update |
Update a peer
firstName | string |
lastName | string |
nickName | string |
birthdate | string <date-time> |
percentage | integer Contribution App needs to be enabled for this attribute. |
{- "firstName": "string",
- "lastName": "string",
- "nickName": "string",
- "birthdate": "2019-08-24T14:15:22Z",
- "percentage": 0
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "nickName": "string",
- "slug": "string",
- "avatarUrl": "string",
- "birthdate": "2019-08-24T14:15:22Z",
- "contribution": 0,
- "contributionUnit": "string",
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
]
}
Create a new role within the organtization
Create a new role. You can create a role inside the organization or it can be an external role.
name required | string |
mapId required | string |
parentId required | string The Id should be a valid circle ID. In order to find the circles on your map, please check these routes Get a list of circles. For roles, kindly visit this route Get a list of roles |
electable | boolean |
external | boolean Set external to true if node is outside of the organization. |
color | string The choice of color for the node in hexa decimal string format. |
customFields | object The custom fields for a circle/role. You can add the properties from the predefined custom fields. Please refer to the example in the sample request. |
Array of objects (Goals) | |
representing | string Id of the circle, the new role needs to represent. |
{- "name": "string",
- "mapId": "string",
- "parentId": "string",
- "electable": true,
- "external": true,
- "color": "string",
- "customFields": {
- "Notes": "String",
- "Responsibilties": [
- "Res 1",
- "Res 2"
]
}, - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
], - "representing": "string"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "electable": true,
- "salaryLevel": "string",
- "mirrored": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "holders": [
- {
- "peerId": "60a07d40-746d-414c-b70b-908ca16e7459",
- "contribution": 0,
- "contributionUnit": "string"
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Get a list of all roles within the organization's namespace.
Optionally filterable to only include roles held by a given peer or that belong to a given circle. The result may optionally be extended by showing a list of peers holding the roles.
peer | string <uuid> Peer ID to filter roles by. If set, this parameter overrides the |
circle | string <uuid> Circle ID to filter roles by. |
with | string Use |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "electable": true,
- "salaryLevel": "string",
- "mirrored": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "holders": [
- {
- "peerId": "60a07d40-746d-414c-b70b-908ca16e7459",
- "contribution": 0,
- "contributionUnit": "string"
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
]
Get a single role based on the ID supplied.
id required | string <uuid> ID of role to fetch |
with | string Use |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "electable": true,
- "salaryLevel": "string",
- "mirrored": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "holders": [
- {
- "peerId": "60a07d40-746d-414c-b70b-908ca16e7459",
- "contribution": 0,
- "contributionUnit": "string"
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Update an existing role based on the ID supplied.
id required | string <uuid> ID of role to update |
Update the following fields of an existing role
name | string |
parentId | string The Id should be a valid circle/role ID. In order to find the circles on your map, please check these routes Get a list of circles. For roles, kindly visit this route Get a list of roles |
external | boolean Set external to true if node is outside of the organization. |
customFields | object The custom fields for a circle/role. You can add the properties from the predefined custom fields. Please refer to the example in the sample request. |
Array of objects (Goals) | |
representing | string The Id of the circle, the role is representing |
representingAll | boolean If true, the change to the above field "representing" will be copied to all the mirrored nodes. |
electable | boolean Set the value to true, if the role is electable. |
{- "name": "string",
- "parentId": "string",
- "external": true,
- "customFields": {
- "Notes": "String",
- "Responsibilties": [
- "Res 1",
- "Res 2"
]
}, - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
], - "representing": "string",
- "representingAll": true,
- "electable": true
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "electable": true,
- "salaryLevel": "string",
- "mirrored": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "holders": [
- {
- "peerId": "60a07d40-746d-414c-b70b-908ca16e7459",
- "contribution": 0,
- "contributionUnit": "string"
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Delete a single role based on the ID supplied.
id required | string <uuid> ID of role to delete |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "color": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "electable": true,
- "salaryLevel": "string",
- "mirrored": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "holders": [
- {
- "peerId": "60a07d40-746d-414c-b70b-908ca16e7459",
- "contribution": 0,
- "contributionUnit": "string"
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Assign existing role to a peer
roleId required | string <uuid> ID of role to that needs to be assigned to the peer |
Assign peer to a existing role
peerId required | string |
percentage | number |
focus | string |
electedUntil | string <date> |
{- "peerId": "string",
- "percentage": 0,
- "focus": "string",
- "electedUntil": "2022-06-09"
}
{- "peerId": "string",
- "roleId": "string",
- "focus": "string",
- "percentage": "string"
}
Unassign existing role from a peer
roleId required | string <uuid> ID of role that needs to be unassigned from the peer |
peerId required | string <uuid> ID of peer that needs to be removed from the given role |
{- "message": "Role Unassinged successfully"
}
Create a new circle. You can create a circle inside the organization map or it can be an external circle.
Create a new circle
name required | string |
mapId required | string |
parentId required | string The Id should be a valid circle ID. In order to find the circles on your map, please check these routes Get a list of circles. For roles, kindly visit this route Get a list of roles |
electable | boolean |
external | boolean Set external to true if node is outside of the organization. |
color | string The choice of color for the node in hexa decimal string format. |
customFields | object The custom fields for a circle/role. You can add the properties from the predefined custom fields. Please refer to the example in the sample request. |
Array of objects (Goals) |
{- "name": "string",
- "mapId": "string",
- "parentId": "string",
- "electable": true,
- "external": true,
- "color": "string",
- "customFields": {
- "Notes": "String",
- "Responsibilties": [
- "Res 1",
- "Res 2"
]
}, - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Get a list of circles within the organization's namespace.
with | string Use |
peer | string <uuid> Peer ID to filter circles by. |
mapId | string <uuid> Filter the circle nodes on the basis of map ID. If there is no map Id provided, the circle nodes of the live map will be returned. |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
]
Get a single circle based on the supplied ID.
id required | string <uuid> ID of circle to fetch |
with | string Use |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Delete a single circle based on the ID supplied.
id required | string <uuid> ID of circle to delete |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Update a single circle based on the ID supplied.
id required | string <uuid> ID of circle to update |
Update an existing circle
name | string |
parentId | string The Id should be a valid circle/role ID. In order to find the circles on your map, please check these routes Get a list of circles. For roles, kindly visit this route Get a list of roles |
external | boolean Set external to true if node is outside of the organization. |
customFields | object The custom fields for a circle/role. You can add the properties from the predefined custom fields. Please refer to the example in the sample request. |
Array of objects (Goals) |
{- "name": "string",
- "parentId": "string",
- "external": true,
- "customFields": {
- "Notes": "String",
- "Responsibilties": [
- "Res 1",
- "Res 2"
]
}, - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "parentId": "70850378-7d3c-4f45-91b7-942d4dfbbd43",
- "slug": "string",
- "external": true,
- "customFields": [
- {
- "name": "string",
- "values": [
- "string"
]
}
], - "goals": [
- {
- "endedAt": "2019-05-17",
- "startedAt": "2019-05-17",
- "archived": true,
- "data": {
- "order": "string",
- "name": "string",
- "isComplete": true,
- "subgoals": [
- {
- "name": "string",
- "percentComplete": 0,
- "isComplete": true,
- "amountComplete": 0,
- "targetAmount": 0
}
]
}
}
]
}
Get a list of projects within the organization's namespace.
Optionally filterable to only include projects that belong to a given peer.
peer | string <uuid> Peer ID to filter projects by. |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "description": "string",
- "notes": "string",
- "externalUrl": "string",
- "archived": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "archviedAt": "2019-08-24T14:15:22Z",
- "group": true
}
]
Get a single project based on the supplied ID.
id required | string <uuid> ID of project to fetch |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "description": "string",
- "notes": "string",
- "externalUrl": "string",
- "archived": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "archviedAt": "2019-08-24T14:15:22Z",
- "group": true
}
Gets a lists of all Maps within the organization's namespace.
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "draft": true,
- "layout": {
- "enclose": "string",
- "connectingLines": true
}, - "private": true,
- "archived": true,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]