Skip to main content

API documentation

Updated yesterday

Introduction

This article contains the API documentation of Workspace 365.

For a further explanation of the use of APIs, click here.

For the provisioning script, click here.


Activity Feed

/{EnvironmentName}/api/activities

POST

/{EnvironmentName}/api/activities

Creates new activity for given user

Name

Located in

Description

Required

Schema

Environment Name

Path

Name of the Environment

Yes

string

Activity

Body

Activity to create

Yes

Activity

Responses

Code

Description

Schema

200

The Activity is created

{ id: integer The id of the activity which is created user: { id: integer The id of the user upn: string The upn of the activity which is createdNote: Either id or upn should be specified (not both) } }

400

Array of Validation Results

ApiErrorResponse

401, 403

Authentication issue

500

Internal server error

Example request

POST https://workspace365instance.url/{EnvironmentName}/api/activities HTTP/1.1 
Accept: application/json
Content-Length: 228
Content-Type: application/json
Host: yourworkspace365instance.url
Authorization: Workspace365 00000000-0000-0000-0000-000000000000

{
"User": {
"Upn": "userone@example.com"
},
"Icon": {
"Name": "Phone"
}, "Title": "Test activity",
"Url": "https://workspace365instance.url",
"Tag": "Proposals",
"Color": {
"Kind": "1",
"Value": "#00ff00"
},
"Actions": [
{
"Kind": "1",
"Title": "Accept proposal",
"Url": "https://workspace365instance.url/proposal/accept"
}
]
}

Example response

HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8
Content-Length: 66{
"id": 916,
"user": { "id": 1,
"upn": "userone@example.com"
}
}

/{EnvironmentName}/api/activities-batch

POST

/{EnvironmentName}/api/activities-batch

Creates new activity for a certain scope of users

Name

Located in

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Batch Activity

Body

Batch Activity to create

Yes

Batch Activit

Responses

Code

Description

Schema

200

The Activity is created

[{
id:
integer
The id of the activity which is created user: {
id:
integer
The id of the user upn:
string
The upn of the activity which is created
}
}
,

]

400

Array of Validation Results

ApiErrorResponse

401, 403

Authentication issue

500

Internal server error

Example request

POST https://workspace365instance.url/{EnvironmentName}/api/activities-batch HTTP/1.1
Accept: application/json
Content-Length: 258
Content-Type: application/json
Host: yourworkspace365instance.url
Authorization: Workspace365 00000000-0000-0000-0000-000000000000{ "Scope": {
"Kind": 0
},
"Data": {
"Title": "test",
"Url": "https://workspace365instance.url",
"Tag": "Proposals",
"Icon": {
"Name": "Phone"
},
"Color": {
"Kind": 1,
"Value": "#00ff00"
},
"Actions": [
{
"Kind": 1
"Title": "Accept Proposal",
"Url": "https://workspace365instance.url/proposal/accept"
}
]
}
}

Example response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 628[
{
"id": 962,
"user": {
"id": 1,
"upn": "userone@example.com"
}
},

]

Activity Schema

NONE

Activity schema

{
"User": UserLookup,
"Icon": Icon,
"Title": "Test activity",
"Url": "https://workspace365instance.url",
"Tag": "Proposals",
"Color": Color,
"Actions": [
Action
]
}

Property

Type

Optional/Required

Description

User

UserLookup

Required

Specifies the user for the activity.

Icon

Icon

Optional

Specifies the icon which is displayed in the activity. The default icon is displayed when no icon is specified.

Title

String

Required

The title which is displayed in the activity feed.

Url

String

Optional

A url to a page which shows more details about this activity. If a url is specified the activity feed shows ‘View details’.

Tag

String

Optional

A way to indicate what group the activity belongs to. If one is specified, the activity is grouped with other activities with the same tag. If none is specified, the activity will put in the "Other" group.

Color

Color Object

Optional

The default color is used when not specified.

Actions

Array of Action

Optional

Specifies a list of actions. The maximum number of actions is 2.

User Schema

NONE

User Schema

{
"User": {
"id": 1,
"upn": "userone@example.com"
}
}

Property

Type

Optional/Required

Description

id

Integer

Optional

Specifies the id of the user. Note: id or upn should be specified.

upn

String

Optional

Specifies the upn of the user. Note: id or upn should be specified.

Icon Schema

NONE

Icon Schema

{
"Name": "my icon"
}

Property

Type

Optional/Required

Description

Name

String

Optional

Specifies the name of the icon. The default icon is displayed when no name is specified.

Color Schema

NONE

Color Schema

{
"Kind": "1",
"Value": "#00ff00"
}

Property

Type

Optional/Required

Description

Kind

Int

Required

Options are 1 (custom), 2 (primary), 3 (header).

Value

String

Required when Kind is 1

The Value property specifies a html color. The field is required when the Kind is 1.

Action Schema

NONE

Action Schema

{
"Kind": 1,
"Title": "Accept proposal",
"Url": “https://workspace365instance.url/propasal/accept"
}

Property

Type

Optional/Required

Description

Kind

Int

Required

This property determines which icon is shown next to the action title.

Options are: 1 (check), 2 (cancel), 3 (add), 4 (open), 5 (edit), 6 (manage), 7 (delete), 8 (forward), 9 (backward).

Title

String

Required

Specifies the title of the action. Maximum length is 32 characters.

Url

String

Required

The url the user is redirected to when invoking the action.

Batch Activity Schema

NONE

Batch Activity Schema

{
"Scope": Scope,
"Data": ActivityWithoutUser
}

Property

Type

Optional/Required

Description

Scope

Scope

Required

Specifies the scope of users.

Data

ActivityWithoutUser

Required

Specifies the upn of the user. Note: id Specifies activity data.

Scope Schema

NONE

Scope Schema

{
"Kind": 0,
"Users": [
UserLookup
],
"Groups": [
GroupLookup
]
}

Property

Type

Optional/Required

Description

Kind

Int

Required

Specifies the scope kind. Possible values: 0 (all users), 1 (users), 2 (groups).

Users

Array of UserLookup

Required when Kind is 1

his property is required when the scope kind is set to 1. The array should contain at least one user.

Groups

Array of GroupLookup

Required when Kind is 2

This property is required when the scope kind is set to 2. The array should contain at least one group.

User Lookup Schema

NONE

User Lookup Schema

{
"id": 1,
"upn": "johndoe@ndawdev.onmicrosoft.com"
}

Property

Type

Optional/Required

Description

Id

Int

Required when upn is not specified

Specifies the user by Id. The Id or the upn should be specified. If both are specified, the Id is used.

Upn

String

Required when Id is not specified

Specifies the user by upn. The Id or the upn should be specified. If both are specified, the Id is used.

Group Lookup Schema

NONE

Group Lookup Schema

{
"id": 1,
"name": "test-group"
}

Property

Type

Optional/Required

Description

Id

Int

Required when Name is not specified

Specifies the group by Id. The Id or the Name should be specified. If both are specified, the Id is used.

Name

String

Required when Id is not specified

Specifies the group by Name. The Id or the Name should be specified. If both are specified, the Id is used.

ActivityWithoutUser Schema

NONE

ActivityWithoutUser Schema

{
"Icon": Icon,
"Title": "Test activity",
"Url": "https://workspace365instance.url",
"Color": Color,
"Actions": [
Action
]
}

Property

Type

Optional/Required

Description

Icon

Icon

Optional

Specifies the icon which is displayed in the activity. The default icon is displayed when no icon is specified.

Title

String

Required

The title which is displayed in the activity feed.

Url

String

Optional

A url to a page which shows more details about this activity. If a url is specified, the activity feed shows ‘View details’.

Tag

String

Optional

A way to indicate what group the activity belongs to. If one is specified, the activity is grouped with other activities with the same tag. If none is specified, the activity will put in the "Other" group.

Color

Color

Optional

The default color is used when not specified.

Actions

Array of Action

Optional

Specifies a list of actions. The maximum number of actions is 2.


Available user apps

/{EnvironmentName}/api/users/{upn}/apps

GET

/{EnvironmentName}/api/users/{upn}/apps

Gets all the available apps for the given user upn

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

string

UPN

Path

User upn

Yes

string

Code

Description

Schema

200

The available apps are returned

[{   appId:     integer      The app id   type:     integer      The app type   icon: {        name:      string       The name of the icon      }   appName:     string      The name of the app   url:     string      The URL of the app     NOTE: The URL can be null   color: {        kind:      integer       The type of color used     value:      string       The hex value for the color.      NOTE: This field is present only          when the color kind is       custom.(Kind=1)     }  }  ,    …  ]                

401, 403

Authentication failure

404

Validation issue

ApiErrorResponse

500

Internal server error

Example Request

GET https://workspace365instance.url/example/api/users/userone@example.com/apps
Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example response

HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 66[ {    "appId": 34,   "type": 21,   "icon": {     "name": "Computer Desktop"   },   "appName": "TestClientlessRDP",   "url": "https://workspace365instance.url/example/AppLink/Go/00000000-0000-0000-0000-000000000000",   "color": {     "kind": 1,     "value": "#ff0000"   }  }]

App Kind Mapping

NONE

App Kind Mapping

App Kind Integer Value

Color Kind Integer Value

0

Shortcut

1

Email

2

Document

15

Citrix App

20

Azure App

35

Local App

36

Windows Virtual desktop

Color Kind Mapping

NONE

Color Kind Mapping

Color Kind Integer Value

Color Kind Integer Value

1

Custom

2

Primary

3

Header


Announcements

Get Announcements

GET

/{EnvironmentName}/api/announcements

Gets the information about announcements.

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

String

Announcement category scope

Path

Announcements to retrieve.

Yes

Announcement category

Authentication response codes

The API responds with the following HTTP status codes in case of authentication failure:

Code

Description

Schema

200

The list has been retrieved

400

Validation issue

ApiErrorResponse

401

Authentication failure

ApiErrorResponse

403

The "Announcements API" scope is not configured for the provided authentication token or the environment is inactive

ApiErrorResponse

500

Internal server error

ApiErrorResponse

Example request that retrieves all the announcements

GET

HTTP/1.1

Accept: application/json

Content-Length: 9082

Content-Type: application/json

Host: workspace365instance.url

Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example response that shows all the announcements

{
"items": [
{
"id": 7322,
"title": "Test Announcement",
"media": null,
"descriptionPreview": "This is an example",
"category": {
"id": 1026,
"name": " Workspace 365"
},
"publicationStart": "2024-11-05T16:09:32.4153805+00:00",
"publicationEnd": null,
"author": null,
"pinDate": null,
"statistics": null
},
{
"id": 7321,
"title": " Test Announcement ",
"media": {
"kind": 1,
"name": "Workspace.png",
"blobId": "6c4442d6-29b7-4f6f-8a0d-b9a238b4ab17_Workspace.png"
},
"descriptionPreview": " This is an example ",
"category": {
"id": 1026,
"name": "Workspace 365"
},
"publicationStart": "2024-11-05T15:48:15.1808344+00:00",
"publicationEnd": null,
"author": null,
"pinDate": null,
"statistics": null
}
],
"nextPageToken": "eyJpZCI6MjI2Miwic3RhcnRUaW1lIjoiMjAyMy0xMC0yNFQwOTozNTozMS42MyswMDowMCJ9"
}

Example request that shows the announcement for a specific category and has all the optional parameters.

GET

Accept: application/json

Content-Length: 9082

Content-Type: application/json

Host: workspace365instance.url

Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example output that shows the announcement for a specific category and has all the optional parameters.

{
"items": [
{
"id": 5312,
"title": " Test Announcement",
"media": {
"kind": 1,
"name": "8000x4500default.jpg",
"blobId": "c3c7ee1c-12bc-422b-89e8-75a10ebf7cb7_8000x4500default.jpg"
},
"descriptionPreview": "This is a test",
"category": {
"id": 1024,
"name": "Workspace 365"
},
"publicationStart": "2024-07-11T12:36:41.477+00:00",
"publicationEnd": null,
"author": {
"id": 22,
"name": "Example user",
"upn": "exampleuser@workspace365.net"
},
"pinDate": null,
"statistics": {
"viewsCount": 1,
"reactionsCount": 0,
"commentsCount": 0
}
}
],
"nextPageToken": null
}

Parameters

Announcement category scope

Property

Type

Optional/Required

Description

pageSize

Query

Optional

The max amount of items to return.

minimum: 1

maximum: 100

default: 25

example: 10

pageToken

Query

Optional

The token of the page to retrieve.

The token of the page to retrieve NOTE: the previous page response includes this as the "nextPageToken" field

categories

Query

Optional

For what categories you want to list announcement.

This must be done by category ID. The ID can be found in the URL of the category.

include

String

Optional

What additional references need to be included.

At the moment this only includes “statistics”

Get Announcements Blob

GET

/{EnvironmentName}/api/announcement-blobs/{blobId}/content

Gets the picture from a specific announcement.

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

String

blobId

Body

Blob/picture to retieve from a specific announcement.

This ID can be found using the GET Announcements API.

Yes

String

Authentication response codes

The API responds with the following HTTP status codes in case of authentication failure:

Code

Description

Schema

200

The list has been retrieved

400

Validation issue

ApiErrorResponse

401

Authentication failure

ApiErrorResponse

403

The "Announcements API" scope is not configured for the provided authentication token or the environment is inactive

ApiErrorResponse

500

Internal server error

ApiErrorResponse

Example request that retrieves all the announcements

The response should show a picture of the desired announcement. If this is not the case check your GET request and resolve and problems.

GET

HTTP/1.1

Accept: application/json

Content-Length: 9082

Content-Type: application/json

Host: workspace365instance.url

Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Post announcement

POST

/{EnvironmentName}/api/announcements?version=4.0

Creates new Announcement

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

string

Announcement

Body

Announcement to create

Yes

Announcement

Authentication response codes

The API responds with the following HTTP status codes in case of authentication failure:

Responses

Code

Description

Schema

200

The list has been retrieved

 {
id:
integerThe id of the announcement which is created
}

400

Validation issue

ApiErrorResponse

401

Authentication failure

ApiErrorResponse

403

The "Announcements API" scope is not configured for the provided authentication token or the environment is inactive

ApiErrorResponse

500

Internal server error

ApiErrorResponse

Error response

When an action cannot be performed because of incorrect input data, the response will be an HTTP status code 400 containing an JSON object having a “globalError” and “fieldErrors” property.

Property “globalError” will be set to a non-null object in case of a validation error which is not connected to a single specific field. It is a JSON object with a “message” property containing potentially human-readable error description.

Property “fieldErrors” will be set if some field values failed the validation. For every such a field there would be a property named the same as in the input, containing a JSON object with a “message” property containing potentially human-readable error description.

Human readable messages can be given in one of the languages supported by Workspace 365 if the request contains a corresponding Accept-Language header.

Example request

POST https://workspace365instance.url/example/api/announcements HTTP/1.1
Accept: application/json
Content-Length: 9082
Content-Type: application/json
Host: workspace365instance.url
Authorization: Workspace365 00000000-0000-0000-0000-000000000000

{
"Title": "My announcement",
"Description": "This is my <b>announcement</b>",
"Media":
{
"MediaKind": 1,
"Image":
{
"Filename": "Minions.jpg",
"Uri": "data:image/jpeg;base64,/--base 64 image data here --"
}
},
"Category":
{
"Id": 2
},
"ShowPopupDirectlyToUser": true,
"AllowComments": true,
"StartTime": "2021-04-15T00:00Z",
"EndTime": "2021-04-18T00:00Z"
}

Example response

OKContent-Type: application/json; charset=utf-8Content-Length: 66{ "id": 916}

Announcement Schema

NONE

Announcement schema

{
"Title": "My announcement",
"Description": "This is my announcement",
"Media": Media,
"Category": Category,
"ShowPopupDirectlyToUser": true,
"AllowComments": true,
"StartTime": "2021-04-15T00:00Z",
"EndTime": "2021-04-18T00:00Z"
}

Property

Type

Optional/Required

Description

Title

String

Required

Specifies the title of the announcement.

Description

String

Optional

Specifies the description of the announcement.

Media

Media

Optional

Specifies the media to be added to the announcement.

Category

Category

Required

Specifies the category of the announcement.

ShowPopupDirectlyToUser

Boolean

Optional

Specifies whether to show the announcement as a popup. The default value is false.

AllowComments

Boolean

Optional

Specifies whether comments are enabled for the announcement. The default value is true.

StartTime

DateTimeOffset

Optional

Specifies the start date and time for the announcement.

EndTime

DateTimeOffset

Optional

Specifies the end date and time for the announcement.

Media Schema

NONE

Media schema

{
"MediaKind": 1,
"Image": Image
}

OR{
"MediaKind": 2,
"VideoEmbedCode": "<iframe width=\"424\" height=\"238\" src=\"https://www.youtube.com/embed/1uDQQVnrDqI\" title=\"YouTube video player\"
frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"
allowfullscreen></iframe>"
}

Property

Type

Optional/Required

Description

MediaKind

Integer

Optional

Specifies the type of media to be attached. Can be 0 (none), 1 (image), 2 (embed) or 3 (video).

Image

Image

Required when MediaKind=1

Specifies the details of the image to be added. To be provided only if MediaKind = 1.

EmbedCode

String

Required when MediaKind=2

Specifies the embed code to be added. To be provided only if MediaKind = 2.

VideoUrl

String

Required when MediaKind=3

Specifies the video url to be added. Can be either YouTube or Vimeo video url. To be provided only if MediaKind = 3.

Image Schema

NONE

Image schema

{
"Filename": "Minions.jpg",
"Uri": "data:image/jpeg;base64,/--base 64 image data here --"
}

Property

Type

Optional/Required

Description

Filename

String

Required

Specifies the name of the image.

Uri

String

Required

Specifies the base 64 URI of the image.

Category Schema

NONE

Category schema

{
"Id": 1,
"Name": “Company"
}


Property

Type

Optional/Required

Description

Id

Integer

Optional*

Specifies the id of the category.

Name

String

Optional*

Specifies the name of the category.

* Only one of the options should be passed. If none are passed, then the announcement is added to “Uncategorized” by default.


Events

/{EnvironmentName /api/events

GET

/{EnvironmentName /api/events

Gets the information about events.

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

String

Events category scope

Path

Events to retrieve.

Yes

Events category

Authentication response codes

The API responds with the following HTTP status codes in case of authentication failure:

Code

Description

Schema

200

The list has been retrieved

400

Validation issue

ApiErrorResponse

401

Authentication failure

ApiErrorResponse

403

The " Events API" scope is not configured for the provided authentication token or the environment is inactive

ApiErrorResponse

500

Internal server error

ApiErrorResponse

Example request that retrieves all the events:

Accept: application/json

Content-Length: 9082

Content-Type: application/json

Host: workspace365instance.url

Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example response that shows all the events:

{ 
"items": [
{
"id": 1945,
"title": "Event",
"media": null,
"descriptionPreview": null,
"category": {
"id": 1019,
"name": "Events Online"
}, "startDate": "2023-08-09T22:00:00+00:00",
"endDate": "2023-08-30T22:00:00+00:00",
"author": {
"id": 1,
"name": "Example user",
"upn": "exampleuser@workspace365.net"
},
"eventType": 1,
"location": null
},
{
"id": 2274,
"title": "Testing Events",
"media": {
"kind": 1,
"name": "116abda59844a4565d84fbdbd1a86f357778bc111267152e63ce758113981e35.png", "blobId": "ed9be29b-4b0c-46bd-978b-07118cfe95b5_116abda59844a4565d84fbdbd1a86f357778bc111267152e63ce758113981e35.png" },
"descriptionPreview": "Testing this event",
"category": {
"id": 1019,
"name": "Events Online"
},
"startDate": "2023-12-23T23:00:00+00:00",
"endDate": "2023-12-24T13:30:00+00:00",
"author": {
"id": 1,
"name": "Example user",
"upn": "exampleuser@workspace365.net"
},
"eventType": 3,
"location": "Online"
}
], "nextPageToken": null
}

Example request that shows the events for a specific category and has all the optional parameters:

GET https://workspace365instance.url/example /api/events?&startDate=2024-11-05T12%3A00%3A00.000Z..2026-11-07T12%3A00%3A00.000Z&endDate=2024-11-09T12%3A00%3A00.000Z..2026-11-10T12%3A00%3A00.000Z HTTP/1.1

Accept: application/json

Content-Length: 9082

Content-Type: application/json

Host: workspace365instance.url

Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example output that shows the events for a specific category and has all the optional parameters:

{
"items": [
{
"id": 7323,
"title": "Nieuwe event",
"media": {
"kind": 1,
"name": "Workspace-365-named-logo (128x128).png",
"blobId": "9c4a7c40-e8bf-437f-85f2-bf1dda38258e_Workspace365namedlogo 128x128.png"
},
"descriptionPreview": "Dit is een test Dit is een test Dit is een test Dit is een test Dit is een test Dit is een test Dit is een test Dit is een test Dit is een test Dit i…",
"category": {
"id": 1022,
"name": "Events Hybrid"
},
"startDate": "2025-04-15T22:00:00+00:00",
"endDate": "2025-06-27T22:00:00+00:00",
"author": {
"id": 1,
"name": "Admin van de Geest",
"upn": "Administrator@p4bm.onmicrosoft.com"
},
"eventType": 3,
"location": "Hybrid location"
}
],
"nextPageToken": null
}

Parameters

Events category scope

Property

Type

Optional/Required

Description

pageSize

Query

Optional

The max amount of items to return.

minimum: 1

maximum: 100

default: 25

example: 10

pageToken

Query

Optional

The token of the page to retrieve.

The token of the page to retrieve NOTE: the previous page response includes this as the "nextPageToken" field

categories

Query

Optional

For what categories you want to list announcement.

This must be done by category ID. The ID can be found in the URL of the category.

startDate

String

Optional

For what start date range you want to list events

Format: 2024-11-08T12:00:00.000Z..2024- 2024-11-09T12:00:00.000Z

endDate

String

Optional

For what end date range you want to list events

Format: 2024-11-08T12:00:00.000Z..2024- 2024-11-09T12:00:00.000Z

/{EnvironmentName}/api/event -blobs/{blobId}

GET

/{EnvironmentName}/api/event -blobs/{blobId}

Gets the picture from a specific event.

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

String

blobId

Path

Blob/picture to retieve from a specific event.

This ID can be found using the GET Announcements API.

Yes

String

Authentication response codes

The API responds with the following HTTP status codes in case of authentication failure:

Code

Description

Schema

200

The list has been retrieved

400

Validation issue

ApiErrorResponse

401

Authentication failure

ApiErrorResponse

403

The "Event API" scope is not configured for the provided authentication token or the environment is inactive

ApiErrorResponse

500

Internal server error

ApiErrorResponse

Example request that retrieves all the events

GET https://workspace365instance.url/example / api/event-blobs/9c4a7c40-e8bf-437f-85f2-bf1dda38258e_Workspace365namedlogo%20128x128.png/content HTTP/1.1

Accept: application/json

Content-Length: 9082

Content-Type: application/json

Host: workspace365instance.url

Authorization: Workspace365 00000000-0000-0000-0000-000000000000

The response should show a picture of the desired event. If this is not the case check your GET request and resolve and problems.


App icons

/{EnvironmentName}/api/appicons/{Source}

This endpoint for images is an extension to the User available apps API.

GET

/{EnvironmentName}/api/appicons/{Source}

Gets a list of all the global app icons

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

string

Source

Path

Source of the icon. Possible values are global or environment

Yes

String

Code

Description

Schema

200

The available icons are returned

[{
id:
integer
The app icon id
kind:
integer
The icon kind
name:
string
The name of the app icon
}
,
...
]

400

The requested app icon is not found, check error response data format

ApiErrorResponse

401, 403

Authentication failure

500

Internal server error

Example request

GET https://workspace365instance.url/example/api/appicons/global
Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example response

HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 171[  {   "id": 1,   "kind":0,   "name":"Box" }, {   "id": 36,   "kind":2,   "name":"Computer Desktop"  }]

/{EnvironmentName}/api/appicons/{Source}/{Id}

GET

/{EnvironmentName}/api/appicons/{Source}/{Id}

Gets information about a specific app icon

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

string

Source

Path

Source of the icon. Possible values are global or environment

Yes

String

Id

path

Id app icon

Yes

Integer

Code

Description

Schema

200

The app icon info is returned

{
id:
integer
The app icon id
kind:
integer
The icon kind
name:
string
The name of the app icon
}

400

The requested app icon is not found, check error response data format

ApiErrorResponse

401, 403

Authentication failure

500

Internal server error

Example request

GET https://workspace365instance.url/example/api/appicons/global/36
Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example response

HTTP/1.1 200 OKContent-Type: application/json; charset=utf-8Content-Length: 69{ "id": 36, "kind":2, "name":"Computer Desktop"

/{EnvironmentName}/api/appicons/{Source}/{Id}/content

GET

/{EnvironmentName}/api/appicons/{Source}/{Id}/content

Gets the content of a specific app icon

Name

Located in

Description

Required

Schema

Environment name

Path

Name of the environment

Yes

string

Source

Path

Source of the icon. Possible values are global or environment

Yes

String

Id

path

Id app icon

Yes

Integer

Code

Description

Schema

200

The available icons are returned

The content of the response contains the app icon data

400

The requested app icon is not found, check error response data format

ApiErrorResponse

401, 403

Authentication failure

500

Internal server error

Example request

GET https://workspace365instance.url/example/api/appicons/global/36/content
Authorization: Workspace365 00000000-0000-0000-0000-000000000000

Example response

HTTP/1.1 200 OKContent-Type: image/svg+xmlContent-Length: 211<svg fill="#fff"  xmlns="http://www.w3.org/2000/svg" viewBox="0 0 76 76"> <path d="M6 57.126h64v6.742H6zm18.628-7.03h26.744v4.306H24.628zM10.444 15.99v30.588h55.112V15.99zm-4.026-3.858H69.58v37.666H6.418z"/></svg>

Icon kind

NONE

Icon kind

Icon Kind Integer Value

Meaning

0

Png image

1

Svg image

2

Svg image


Integration credentials

/{EnvironmentName}/IntegrationCredentialsApi/User/{Upn}/

POST

/{EnvironmentName}/IntegrationCredentialsApi/User/{Upn}/

Creates new Integration credentials for given user

Name

Located in

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Upn

Path

User principal name of the user to create the Integration credentials for

Yes

string

Integration credentials

Body

Integration credentials to create

Yes

{                  username:         string (email)         Username of the Integration credentials        password: string         Password of the Integration credentials           }

Responses

Code

Description

Schema

200

The Integration credentials were created

{         id:             integer          The id of the Integration credentials which were created }

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

404

The user was not found

Example request

POST https://workspace365instance.url/{EnvironmentName}/IntegrationCredentialsApi/User/userone@example.com/ HTTP/1.1 
Accept: application/json
Content-Length: 68
Content-Type: application/json Host: yourworkspace365instance.url Authorization: Workspace365 4613e4c6-aa59-45d0-88c9-c99feddf3959
{
"username": "userone@example.com",
"password": "qwerty"
}

Example response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 8

{"id":8}

/{EnvironmentName}/IntegrationCredentialsApi/{Id}/

PUT

/{EnvironmentName}/IntegrationCredentialsApi/{Id}/

Updates the credentialset

Parameters

Name

Located in

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Id

Path

Id of the Integration credentials to update

Yes

integer

Integration credentials

Body

New properties of the Integration credentials

Yes

{         username:          string (email)         Username of the Integration credentials        password:          string         Password 
of the Integration credentials}

Responses

Code

Description

Schema

200

The Integration credentials were updated

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

404

The Integration credentials were not found

Example request

PUT https://workspace365instance.url/{EnvironmentName}/IntegrationCredentialsApi/8/ HTTP/1.1 
Accept: application/json
Content-Length: 68
Content-Type: application/json
Host: yourworkspace365instance.url
Authorization: Workspace365 4613e4c6-aa59-45d0-88c9-c99feddf3959

{
"username": "userone@example.com",
"password": "qwerty_updated"
}

Example response

HTTP/1.1 200 OK
Content-Length: 0

ActiveDirectorySync

Creates new user

PUT

/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectId}/

Creates new user

Name

Located in

Description

Schema

EnvironmentName

Path

Name of the Environment

string

ObjectId

Path

ObjectId of the user

Guid

User Info

Body

User Info to create

{

"FirstName": "Sarah",
"LastName": "de Vries",
"UserPrincipalName": "sarah@w365support.onmicrosoft.com",
"Email": "sarah@365support.onmicrosoft.com",
"SecondaryEmail": "anthony@w365support.onmicrosoft.com",
"IsAdmin": "false",
"IsActive": "true",
"JobTitle": "",
"MobilePhone": ""

}

Responses

Code

Description

Schema

200

The user is created

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==                  {

"FirstName": "Sarah",
"LastName": "de Vries",
"UserPrincipalName": "sarah@w365support.onmicrosoft.com",
"Email": "sarah@365support.onmicrosoft.com",
"SecondaryEmail": "anthony@w365support.onmicrosoft.com",
"IsAdmin": "false",
"IsActive": "true",
"JobTitle": "",
"MobilePhone": ""

}

Example response

HTTP/1.1 200 OK 
Content-Type: application/json; charset=utf-8

Deletes the given user

DELETE

/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectId}/

Deletes the given user

Name

Located

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

ObjectId

Path

ObjectId of the user

Yes

Guid

Responses

Code

Description

Schema

200

The user is deleted

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==

Example response

HTTP/1.1 200 OK

Creates new group

PUT

/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectId}/

Creates new group

Name

Located in

Description

Schema

EnvironmentName

Path

Name of the Environment

string

ObjectId

Path

ObjectId of the group

Guid

Group info

Body

Group info to create

{

"Name": "Finance",
"Description": "Everyone from Finance"

}

Responses

Code

Description

Schema

200

The group is created

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/9acasd74-0599-45ac-b0fe-a0aa0b9a00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==
{

"Name": "Finance",
"Description": "Everyone from Finance"

}

Example response

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

Deletes the given group

DELETE

/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectId}/

Deletes the given group

Name

Located

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

ObjectId

Path

ObjectId of the group

Yes

Guid

Responses

Code

Description

Schema

200

The group is deleted

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==

Example response

HTTP/1.1 200 OK

Put user in the given group

PUT

/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectID}/Users/{ObjectID}

Put user in the given group

Name

Located

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Group ObjectId

Path

ObjectId of the group

Yes

Guid

User ObjectId

Path

ObjectId of the user

Yes

Guid

Responses

Code

Description

Schema

200

The membership is created

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==

Example response

HTTP/1.1 200 OK

Delete user in the given group

DELETE

/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/{ObjectID}/Users/{ObjectID}

Delete user in the given group

Name

Located

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Group ObjectId

Path

ObjectId of the group

Yes

Guid

User ObjectId

Path

ObjectId of the user

Yes

Guid

Responses

Code

Description

Schema

200

The membership is deleted

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Users/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==

Example response

 HTTP/1.1 200 OK

Put group in the given group

PUT

/{EnvironmentName}/ActiveDirectorySyncAPI/{ObjectID}/Groups/{ObjectID}

Put group in the given group

Name

Located

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Target Group ObjectId

Path

ObjectId of the target group

Yes

Guid

Group ObjectId

Path

ObjectId of the group

Yes

Guid

Responses

Code

Description

Schema

200

The membership is created

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

PUT https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/ HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==

Example response

HTTP/1.1 200 OK

Delete group in the given group

DELETE

/{EnvironmentName}/ActiveDirectorySyncAPI/{ObjectID}/Groups/{ObjectID}

Delete group in the given group

Name

Located

Description

Required

Schema

EnvironmentName

Path

Name of the Environment

Yes

string

Target Group ObjectId

Path

ObjectId of the target group

Yes

Guid

Group ObjectId

Path

ObjectId of the group

Yes

Guid

Responses

Code

Description

Schema

200

The membership is deleted

400

Validation issue

ApiErrorResponse

401, 403

Authentication issue

Example request

DELETE https://workspace365instance.url/{EnvironmentName}/ActiveDirectorySyncAPI/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a/Groups/4dcvcd74-9103-45ac-b0fe-a0aa0b1d00a HTTP/1.1 Content-Type: application/json Host: yourworkspace365instance.url Authorization: Basic NDYxM2U0YzYtYWE1OS00NWQwLTg4YzktYzk5ZmVkZGYzOTU5Og==

Example response

HTTP/1.1 200 OK

Put the pofile picture of the user

PUT

/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture

Put the profile picture of the user

Note: User Profile Picture is not tested/documented yet.

Multipart form

PUT https://{WorkspaceUrl}/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture

Delete the profile picture of the user

DELETE

/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture

Delete the profile picture of the user

Note: User Profile Picture is not tested/documented yet.

Multipart form

DELETE https://{WorkspaceUrl}/{EnvironmentName}/ActiveDirectorySyncAPI/Users/{ObjectID}/ProfilePicture

Did this answer your question?