Skip to main content

nBold Collaboration Process API (1.3.0)

Download OpenAPI specification:Download

The nBold API provides a unified programmability model that you can use to manage your collaboration environment such as Microsoft Teams and build powerful apps easily.

Teams

Manage teams from your Microsoft Teams environment.

Create a new team based on a template.

Create a new Microsoft Teams team based on a template from your catalog.

Team name limits

Team name length should be less than 256 characters long.
If you're using a naming convention for the team name, this limit applies to the generated team name.

⚠️ N.B: If you're using emojis in your team name, each emoji may count for more than one character.

Team description limits

Team description length should be less than 1024 characters long.
If you're using a naming convention for the team description, this limit applies to the generated team deascription.

⚠️ N.B: If you're using emojis in your team description, each emoji may count for more than one character.

Team mail nickname limits

Team mail nickname length should be less than 64 characters long.
If you're using a naming convention for the team mail nickname, this limit applies to the generated team mail nickname after sanitization.

💡 This operation tries to automatically sanitize the group mailNickname property accordingly to the RFC 5321 and RFC 6530 specifications by applying the following steps (sensitive to order):

  1. Trimming (removing leading and trailing whitespaces)
  2. Switch to lower case
  3. Replace any of these charecters ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđßÆa·/_,:; respectively with AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------
  4. Remove any non alpha-numeric character (except for "-" and space)
  5. Collapse multiple whitespaces and replace them by a single one
  6. Collapse multiple dashes and replace them by a single one

Monitoring a provisioning job

⚠️ As the provisioning process is a long-running job, to avoid timeouts, this operation returns a job object that you can use to monitor the execution of the operation.
To monitor the progress and result of this job, you can either:

  • Monitor the job state using the GetJob operation
  • Create a webhook subscription to receive specific events during and/or at the end of the job run, using the CreateWebhook operation
nbold-rate-limit: tier-1
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TeamProvisioningRequest object describing the job to execute.

object (Team template)

The template to be applied to the created team

object (Team request)

Characteristics of the team to be created

metadata
object (Artifact metadata)

Metadata associated with an artifact.

on_behalf_of
string (User ID)

An Azure Active Directory user ID, that will be treated as the requester when the request is actually sent by a service account or an app.

Responses

Request samples

Content type
application/json
Example
{
  • "template": {
    },
  • "team": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "string",
  • "state": "completed",
  • "progress": 100,
  • "data": { }
}

Get a team

Get detailed information about a team.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "id": "string",
  • "createdDateTime": "string",
  • "displayName": "string",
  • "description": "string",
  • "internalId": "string",
  • "classification": "string",
  • "specialization": "string",
  • "visibility": "string",
  • "webUrl": "string",
  • "isArchived": true,
  • "isMembershipLimitedToOwners": true,
  • "discoverySettings": {
    },
  • "memberSettings": {
    },
  • "guestSettings": {
    },
  • "messagingSettings": {
    },
  • "funSettings": {
    }
}

Update a team

Update a team.

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Request Body schema: application/json

Supply a JSON representation of team object.

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}

Delete a team

Delete a team.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}

Archive a team

Archive a team.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Request Body schema: application/json

In the request, you may optionally include the shouldSetSpoSiteReadOnlyForMembers parameter in a JSON body. This optional parameter defines whether to set permissions for team members to read-only on the SharePoint Online site associated with the team. Setting it to false or omitting the body altogether will result in this step being skipped.

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}

Unarchive a team

Unarchive a team.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}

Get team members

Get team members.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Responses

Response samples

Content type
application/json
[
  • { }
]

Add a team member

Add a team member.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Request Body schema: application/json

TeamMembershipPayload.

object (User)

User

role
required
string (Team Membership Role)

Team Membership Role (member/owner)

Responses

Request samples

Content type
application/json
{
  • "user": {
    },
  • "role": "string"
}

Response samples

Content type
application/json
{ }

Channels

Manage channels from your Microsoft Teams environment.

Get team channels

Get team channels.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new team channel

Create a new Microsoft Teams team channel.

Team channel limits

A team channel length should be less than 50 characters long.

⚠️ N.B: If you're using emojis in your channel name, each emoji may count for more than one character.

💡 This operation tries to automatically sanitize the channel displayName property accordingly to the Microsoft Teans limits specification by applying the following steps (sensitive to order):

  1. Trimming (removing leading and trailing whitespaces)
  2. Remove forbidden words
  3. Remove invalid characters
  4. Collapse multiple whitespaces and replace them by a single one
  5. Collapse multiple dashes and replace them by a single one
nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Request Body schema: application/json

A TeamChannelPayload object describing the channel to create.

object (Team Channel Payload)

Payload of a Microsoft Teams team channel to be created/updated.

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdDateTime": "string",
  • "displayName": "string",
  • "description": "string",
  • "membershipType": "string"
}

Get the primary channel of a team

Get the primary channel of a team.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdDateTime": "string",
  • "displayName": "string",
  • "description": "string",
  • "membershipType": "string"
}

Messages

Manage messages from your Microsoft Teams environment.

send message

send a message to the specified channel

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

Request Body schema: application/json

Supply a JSON representation of your message from and body field required.

messageType
string
subject
string
summary
string
chatId
string
importance
string
locale
string
policyViolation
string
object
object
object
attachments
Array of any
mentions
Array of any
reactions
Array of any

Responses

Request samples

Content type
application/json
{
  • "messageType": "string",
  • "subject": "string",
  • "summary": "string",
  • "chatId": "string",
  • "importance": "string",
  • "locale": "string",
  • "policyViolation": "string",
  • "from": {
    },
  • "body": {
    },
  • "channelIdentity": {
    },
  • "attachments": [
    ],
  • "mentions": [
    ],
  • "reactions": [
    ]
}

Response samples

Content type
application/json
{
  • "odata.context": "string",
  • "id": "string",
  • "replyToId": "string",
  • "etag": "string",
  • "messageType": "string",
  • "createdDateTime": "string",
  • "lastModifiedDateTime": "string",
  • "lastEditedDateTime": "string",
  • "deletedDateTime": "string",
  • "subject": "string",
  • "summary": "string",
  • "chatId": "string",
  • "importance": "string",
  • "locale": "string",
  • "webUrl": "string",
  • "policyViolation": "string",
  • "eventDetail": "string",
  • "from": {
    },
  • "body": {
    },
  • "channelIdentity": {
    },
  • "attachments": [
    ],
  • "mentions": [
    ],
  • "reactions": [
    ]
}

Tabs

Manage tabs from your Microsoft Teams environment.

Get team channel tabs

Get team channel tabs.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The team channel ID.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new team channel tab

Create a new team channel tab.

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The team channel ID.

Request Body schema: application/json

A TeamChannelTabPayload object describing the tab to create.

object (Team Channel Tab Payload)

Payload of a Microsoft Teams team channel tab to be created/updated.

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": "string",
  • "displayName": "string",
  • "configuration": {
    },
  • "teamsApp": {
    },
  • "sortOrderIndex": "string",
  • "webUrl": "string"
}

Users

Manage users from your Microsoft 365 environment.

Retreive users from your Microsoft 365 environment

Retreive users from your Microsoft 365 environment.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Sensitivity Labels

Manage your Microsoft 365 sensitivity labels.

Get my sensitivity labels

Get my Microsoft 365 sensitivity labels.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHENTICATED_USER"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Templates catalog

Manage your corporate catalog of templates and governance policies for your collaboration platform.

Get teams templates

Get all the teams templates accessible in your organization.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","CATALOG_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Get a Microsoft Teams team template

Get a Microsoft Teams team template by its ID

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The Microsoft Teams team template ID

Responses

Response samples

Content type
application/json
{
  • "templateConfiguration": {
    },
  • "clonedTeam": {
    },
  • "newTeam": {
    }
}

Set a Microsoft Teams team template

Set a Microsoft Teams team template by its ID

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","CATALOG_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The Microsoft Teams team template ID

Request Body schema: application/json

A JSON representation of a Microsoft Teams team template.

object

Information about the template and its related policies

object

Properties of the source team that should be cloned.

object

Properties of the new team that will be created by the provisioning job.

Responses

Request samples

Content type
application/json
{
  • "templateConfiguration": {
    },
  • "clonedTeam": {
    },
  • "newTeam": {
    }
}

Response samples

Content type
application/json
{
  • "templateConfiguration": {
    },
  • "clonedTeam": {
    },
  • "newTeam": {
    }
}

Get permanent members and owners of a Microsoft Teams team template

Get permanent members and owners of a Microsoft Teams team template

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The Microsoft Teams team template ID

Responses

Response samples

Content type
application/json
{
  • "members": [
    ],
  • "owners": [
    ]
}

Set permanent members and owners of a Microsoft Teams team template

Set permanent members and owners of a Microsoft Teams team template

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","CATALOG_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The Microsoft Teams team template ID

Request Body schema: application/json

A JSON representation of a Microsoft Teams team template permanent membership settings.

Array of objects (Permanent Members)

Members of a permanent membership team, as an array of PermanentMember.

Array of objects (Permanent Members)

Members of a permanent membership team, as an array of PermanentMember.

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "owners": [
    ]
}

Response samples

Content type
application/json
{
  • "members": [
    ],
  • "owners": [
    ]
}

Get permanent members and owners of a Microsoft Teams team template

Get permanent members or owners of a Microsoft Teams team template

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The Microsoft Teams team template ID

role
required
string

The Microsoft Teams ownership role (owners / members)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set permanent members and owners of a Microsoft Teams team template

Set permanent members or owners of a Microsoft Teams team template

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","CATALOG_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The Microsoft Teams team template ID

role
required
string

The Microsoft Teams ownership role (owners / members)

Request Body schema: application/json

A JSON representation of a Microsoft Teams team template permanent members.

Array
id
string (ID)

User ID (From Active Directory)

name
string (Name)

User Display Name (From Active Directory)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Get my teams templates

Get teams templates accessible to the connected user filtered by the audience targeting rules.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHENTICATED_USER"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Connected Apps

Connected apps automation solutions

Get all solution instances

Get all solution instances by externalUserId

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

Supply a JSON with an external user id.

externalUserId
string

Connected Apps external user ID

Responses

Request samples

Content type
application/json
{
  • "externalUserId": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a solution instance by solutionInstanceId

Delete a solution instance by solutionInstanceId

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

Supply a JSON with an Solution instance id and a user access token.

solutionInstanceId
string

solution instance id

userAccessToken
string

user access token

Responses

Request samples

Content type
application/json
{
  • "solutionInstanceId": "string",
  • "userAccessToken": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a solution instance

Update a solution instance by solutionInstanceId

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

Supply a JSON with solutionInstanceId, userAccessToken, instanceName.

solutionInstanceId
string

solution instance id

userAccessToken
string

user access token

instanceName
string
enabled
boolean
Array of objects
Array of objects

Responses

Request samples

Content type
application/json
{
  • "solutionInstanceId": "string",
  • "userAccessToken": "string",
  • "instanceName": "string",
  • "enabled": true,
  • "configValues": [
    ],
  • "authValues": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Upgrade a solution instance

Upgrade a solution instance by solutionInstanceId

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

Supply a JSON with solutionInstanceId, userAccessToken, instanceName.

solutionInstanceId
string

solution instance id

userAccessToken
string

user access token

Responses

Request samples

Content type
application/json
{
  • "solutionInstanceId": "string",
  • "userAccessToken": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Remote Objects

Remote objects from your connected apps

Send a remote object updated event

Send an event when a remote object is updated.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

Supply a JSON representation of your query.

remote_system
string

Remote system owning the remote object, such as salesforce_sales_cloud or hubspot

update_type
string
Enum: "created" "updated" "deleted"

Type of event that triggered the remote object update

object_type
string

Type of object from the remote system, such as account or opportunity

object_properties
object

Properties of the object from the remote system. Should especially include its id

Array of objects (Linked artifact)

Array of linked artifacts from the collaboration platform

Responses

Request samples

Content type
application/json
Example
{
  • "remote_system": "salesforce",
  • "update_type": "updated",
  • "object_type": "opportunity",
  • "object_properties": {
    }
}

Response samples

Content type
application/json
{ }

Templating

Templating utilities used for dynamic naming conventions, adaptive cards generation, based on EJS templates. In addition to standard Javascript operations, the templating engine can use Moment.js for advanced operations on dates and times.

Execute a template against data

Execute an arbitrary EJS template against some provided data.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
Request Body schema: application/json

Supply an EJS template string and a data payload.

template
string

Template to execute

data
object

Data to use during templating

Responses

Request samples

Content type
application/json
Example

Basic string interpolation

{
  • "template": "Hello <%= firstName %>!",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "result": {
    }
}

Execute a template by its ID against data

Execute a template against some provided data.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
template_id
required
string

The template ID

Request Body schema: application/json

Supply a template ID and a data payload.

data
object

Data to use during templating

Responses

Request samples

Content type
application/json
{
  • "data": { }
}

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "result": {
    }
}

Metadata

Associate rich metadata to your collaboration platform artifacts such as teams, channels, messages...

Query metadata

Query metadata for a specific namespace.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your query.

object

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
[
  • {
    }
]

Get a team metadata

Get metadata for a team for a specific namespace.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

namespace
required
string

The metadata namespace.

Responses

Response samples

Content type
application/json
{ }

Set team metadata

Set team metadata for a specific namespace. N.B Using the PUT method will replace all pre-existing metadata.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your metadata.

object (Namespace Metadata)

Namespace metadata for collaboration process artifact.

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
{ }

Update a team metadata

Update a team metadata for a specific namespace. N.B Using the PATCH method will merge supplied body with pre-existing metadata.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your metadata.

object (Namespace Metadata)

Namespace metadata for collaboration process artifact.

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
{ }

Get a channel metadata

Get metadata for a channel for a specific namespace.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

namespace
required
string

The metadata namespace.

Responses

Response samples

Content type
application/json
{ }

Set channel metadata

Set channel metadata for a specific namespace. N.B Using the POST method will replace all pre-existing metadata.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your metadata.

object (Namespace Metadata)

Namespace metadata for collaboration process artifact.

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
{ }

Update a channel metadata

Update a channel metadata for a specific namespace. N.B Using the PATCH method will merge supplied body with pre-existing metadata.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your metadata.

object (Namespace Metadata)

Namespace metadata for collaboration process artifact.

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
{ }

Get a message metadata

Get metadata for a message for a specific namespace.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

message_id
required
string

The message ID.

namespace
required
string

The metadata namespace.

Responses

Response samples

Content type
application/json
{ }

Set message metadata

Set message metadata for a specific namespace. N.B Using the POST method will replace all pre-existing metadata.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

message_id
required
string

The message ID.

namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your metadata.

object (Namespace Metadata)

Namespace metadata for collaboration process artifact.

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
{ }

Update a message metadata

Update a message metadata for a specific namespace. N.B Using the PATCH method will merge supplied body with pre-existing metadata.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GOVERNANCE_MANAGER","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
team_id
required
string

The team ID.

channel_id
required
string

The channel ID.

message_id
required
string

The message ID.

namespace
required
string

The metadata namespace.

Request Body schema: application/json

Supply a JSON representation of your metadata.

object (Namespace Metadata)

Namespace metadata for collaboration process artifact.

Responses

Request samples

Content type
application/json
Example
{
  • "crm_opportunity_id": 123
}

Response samples

Content type
application/json
{ }

Approvals

Manage your team creation requests approvals workflows.

Approve a team creation request

Approve a team creation request.

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
oauth2_auth
path Parameters
request_id
required
string

The approval request ID.

Request Body schema: application/json

An ApprovedApprovalResponsePayload object.

object

Approver of the request

message
string

Message to be sent to the requester.

object

Updates made by the approver

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}

Reject a Team Creation Request

Reject a team creation request.

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
oauth2_auth
path Parameters
request_id
required
string

The ID of the approval request you want to reject.

Request Body schema: application/json

An RejectTeamCreationRequestBody object.

object

Approver of the request

message
string

Message to be sent to the requester.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}

Webhooks

Webhooks enable organizations to trigger automated operations outside of the nBold platform, such as in a custom application, or in an automation tool such as Microsoft Power Automate, Azure Logic Apps or Zapier.

Get webhooks events

Get webhooks events.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Delete a webhook subscription

Delete a webhook subscription.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
webhook_id
required
string

ID of the webhook to be deleted.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Generate a signature from a secret and a webhook payload

Generate a signature from a secret and a webhook payload.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A HookSignatureRequest object comprised of the secret and payload.

secret
required
string

Webhook secret

payload
required
object

Webhook payload

Responses

Request samples

Content type
application/json
{
  • "secret": "string",
  • "payload": { }
}

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "signature": "string"
}

Get webhook subscriptions

Get webhook subscriptions.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Create a new webhook subscription

Create a new webhook subscription.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A HookPayload object.

name
string

Webhook name

description
string

Webhook description

events
required
Array of strings (Webhook events)
Items Enum: "team_creation_approval_requested" "team_creation_approved" "team_creation_rejected" "team_created" "team_provisioning_completed" "remote_object_updated" "trello_tab_cloned" "miro_tab_cloned"

Webhook events

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "events": [
    ],
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
Content type
application/json
{
  • "tenant": {
    },
  • "requester": {
    },
  • "approval": {
    },
  • "template": {
    },
  • "request": {
    },
  • "provisioning": {
    }
}

Subscriptions

Subscribe to events from your collaboration platform and connected apps

When a Team Creation Approval is Requested

When a team creation approval is requested.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TeamCreationApprovalRequestedRequestBody object.

name
required
string
Default: "When a Team Creation Approval is Requested"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Team Creation Approval is Requested",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: team_creation_approval_requested
Content type
application/json
{
  • "tenant": {
    },
  • "requester": {
    },
  • "approval": {
    },
  • "template": {
    },
  • "request": {
    }
}

When a Team Creation is Approved

When a team creation is approved.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TeamCreationApprovalApprovedRequestBody object.

name
required
string
Default: "When a Team Creation is Approved"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Team Creation is Approved",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: team_creation_approved
Content type
application/json
{
  • "tenant": {
    },
  • "requester": {
    },
  • "approval": {
    },
  • "template": {
    },
  • "request": {
    },
  • "provisioning": {
    }
}

When a Team Creation is rejected

When a team creation is rejected.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TeamCreationApprovalApprovedRequestBody object.

name
required
string
Default: "When a Team Creation is rejected"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Team Creation is rejected",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: team_creation_rejected
Content type
application/json
{
  • "tenant": {
    },
  • "requester": {
    },
  • "approval": {
    },
  • "template": {
    },
  • "request": {
    }
}

When a Team is created

When a team is created.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TeamCreatedRequestBody object.

name
required
string
Default: "When a Team is created"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Team is created",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: team_created
Content type
application/json
{
  • "tenant": {
    },
  • "team": {
    }
}

When a Team provisioning is completed

When a team provisioning is completed.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TeamProvisioningCompleted object.

name
required
string
Default: "When a Team provisioning is completed"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Team provisioning is completed",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: team_provisioning_completed
Content type
application/json
{
  • "tenant": {
    },
  • "team": {
    },
  • "requester": {
    },
  • "template": {
    },
  • "metadata": { }
}

When a remote object is updated

When a remote object is updated.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A RemoteObjectUpdatedSubscriptionRequestBody object.

name
required
string
Default: "When a remote object is updated"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a remote object is updated",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: remote_object_updated
Content type
application/json
{
  • "remote_system": "string",
  • "update_type": "created",
  • "object_type": "string",
  • "object_properties": { },
  • "linked_artifacts": [
    ]
}

When a Trello tab is cloned by the provisioning process

When a Trello tab is cloned by the provisioning process.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A TrelloTabClonedSubscriptionRequestBody object.

name
required
string
Default: "When a Trello tab is cloned"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Trello tab is cloned",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: trello_tab_cloned
Content type
application/json
{
  • "tenant": {
    },
  • "team": {
    },
  • "channel": {
    },
  • "tab": {
    }
}

When a Miro tab is cloned by the provisioning process

When a Miro tab is cloned by the provisioning process.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
Request Body schema: application/json

A MiroTabClonedSubscriptionRequestBody object.

name
required
string
Default: "When a Miro tab is cloned"

Name

description
required
string
Default: "Created from Power Automate / Logic Apps"

Webhook description

required
object

Webhook configuration

Responses

Callbacks

Request samples

Content type
application/json
{
  • "name": "When a Miro tab is cloned",
  • "description": "Created from Power Automate / Logic Apps",
  • "config": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "active": true,
  • "events": [
    ],
  • "config": {
    }
}

Callback payload samples

Callback
POST: miro_tab_cloned
Content type
application/json
{
  • "tenant": {
    },
  • "team": {
    },
  • "channel": {
    },
  • "tab": {
    }
}

Reports

Access reports from your collaboration platform.

Get reports categories

Get reports categories

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","GOVERNANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get reports

Get reports

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","GOVERNANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get report secure URL

Get report secure URL

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","GOVERNANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
resource_type
required
string

The resource type (dashboard / question).

resource_id
required
string

The resource id.

Responses

Response samples

Content type
application/json
{
  • "url": "string"
}

Audit Trails

Access audit trails from your collaboration platform.

Get audit trails

Get all the audit trails accessible in your organization. TIER 3 | ROLES - AUTHORIZED_APP, COMPLIANCE_MANAGER, TEAMS_SERVICE_ADMIN, GLOBAL_ADMIN.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Get all the records from an audit trail

Get all the records from an audit trail.

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","COMPLIANCE_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
bearer_auth
path Parameters
code
required
string

The audit trail code.

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Jobs

Manage jobs that performs governance operations in your collaboration platform.

Get information about a job

Get detailed information about a job, including its status, progress, logs...

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
job_id
required
string

The job ID.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "type": "string",
  • "state": "completed",
  • "progress": 100,
  • "data": { }
}

Get logs from a job

Get logs from a job, as an array of JobLogsEntry

nbold-rate-limit: tier-2
nbold-required-roles: ["AUTHORIZED_APP","AUTHENTICATED_USER"]
Authorizations:
bearer_auth
path Parameters
job_id
required
string

The job ID.

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "@odata.count": 0,
  • "value": [
    ]
}

Connectivity

Connectivity endpoints.

Test Connection to the nBold API

Test connection to the nBold API. Used by automation platforms such as Microsoft Azure Logic Apps and Microsoft Power Automate.

nbold-rate-limit: tier-3
nbold-required-roles: ["AUTHORIZED_APP","INTEGRATION_MANAGER","TEAMS_SERVICE_ADMIN","GLOBAL_ADMIN"]
Authorizations:
oauth2_auth

Responses

Response samples

Content type
application/json
{
  • "@odata.context": "string",
  • "error": {
    }
}