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
/{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
/{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 | [{ |
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
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
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
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
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
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
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
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
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
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
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
/{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
App Kind Mapping
NONE
App Kind Mapping
App Kind Integer Value | Color Kind Integer Value |
0 | Shortcut |
1 | |
2 | Document |
15 | Citrix App |
20 | Azure App |
35 | Local App |
36 | Windows Virtual desktop |
Color Kind Mapping
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 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 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 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 | { |
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
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
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
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
Category Schema
NONE
Category schema
{
"Id": 1,
"Name": “Company"
}
| 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
/{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:
GET https://workspace365instance.url/example/api/events 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 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}
/{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}
/{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 | [{ |
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}
/{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 | { |
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
/{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
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}/
/{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}/
/{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 |
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
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 | { |
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
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
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 | { |
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
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 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 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 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 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 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 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