Workspace Shared API
The Workspace Shared API provides access to shared Workspace resources, including assignments, users, user groups, and Workspace metadata. It allows authenticated users to retrieve and manage data within Workspace using RESTful endpoints.
Configuration
To work with the Workspace Swagger API documentation, use the following link:
https://workspace.host/workspace/swagger-ui/index.html
All requests, except Information API, use the following base URL:
https://workspace.host/workspace/api/v1
API security
For authentication details, see WorkFusion REST API | API security.
Assignment API
POST /shared/assignments/{assignmentId}/answers/draft
Creates or updates draft answers for the specified assignment.
Path parameter
assignmentId(string, UUID, required): assignment identifier, for example,a739cc08-e63a-43eb-a2ff-acb861f068f0
Request body parameter
The request body is required and should include the following parameter:
additionalProp(string): additional property
Request body example
{
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
Request example
curl -X 'POST' \
'https://workspace.host/workspace/api/v1/shared/assignments/a739cc08-e63a-43eb-a2ff-acb861f068f0/answers/draft' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}'
Successful response example
"string"
Failed response example
The assignment with the provided ID has been deleted.
{
"details": [
{
"field": "string",
"value": {},
"code": "string"
}
],
"timestamp": "2026-01-30T14:48:13.351Z",
"path": "string",
"message": "string",
"error": "string",
"status": 0
}The assignment with the provided ID has already been accepted by another user.
{
"details": [
{
"field": "string",
"value": {},
"code": "string"
}
],
"timestamp": "2026-01-30T14:48:13.352Z",
"path": "string",
"message": "string",
"error": "string",
"status": 0
}
GET /shared/assignments/{assignmentId}/answers/draft
Retrieves draft answers for the specified assignment.
Path parameter
assignmentId(string, UUID, required): assignment identifier, for example,a739cc08-e63a-43eb-a2ff-acb861f068f0
Request example
curl -X 'GET' \
'https://workspace.host/workspace/api/v1/shared/assignments/a739cc08-e63a-43eb-a2ff-acb861f068f0/answers/draft' \
-H 'accept: application/json'
Request URL
Successful response example
"string"
Failed response example
Error: response status 404.
{
"details": [
{
"field": "assignment_id",
"value": "a7391108-e63a-43eb-a2ff-acb861f068f0",
"code": "error.assignment_not_found"
}
],
"timestamp": "2026-01-30T14:52:37.272103085",
"path": "/api/v1/shared/assignments/a739cc08-e63a-43eb-a2ff-acb861f068f0/answers/draft",
"message": "Assignment with id: a739cc08-e63a-43eb-a2ff-acb861f068f0 is not found",
"error": "Not Found",
"status": 404
}The assignment with the provided ID has been deleted.
{
"details": [
{
"field": "string",
"value": {},
"code": "string"
}
],
"timestamp": "2026-01-30T14:52:37.297Z",
"path": "string",
"message": "string",
"error": "string",
"status": 0
}The assignment with the provided ID has already been accepted by another user.
{
"details": [
{
"field": "string",
"value": {},
"code": "string"
}
],
"timestamp": "2026-01-30T14:52:37.299Z",
"path": "string",
"message": "string",
"error": "string",
"status": 0
}
GET /shared/assignments/{assignmentId}/users
Retrieves the list of users who are eligible to work on the specified assignment.
Path parameter
assignmentId(string, UUID, required): assignment identifier, for example,a739cc08-e63a-43eb-a2ff-acb861f068f0
Request example
curl -X 'GET' \
'https://workspace.host/workspace/api/v1/shared/assignments/97012d5d-6e10-43b6-966f-a613be3d21f0/users' \
-H 'accept: application/json'
Successful response example
"string"
Failed response example
{
"details": [
{
"field": "assignment_id",
"value": "97012d5d-6e10-43b6-966f-a613be3d21f0",
"code": "error.assignment_not_found"
}
],
"timestamp": "2026-01-30T13:26:47.89716498",
"path": "/api/v1/shared/assignments/97012d5d-6e10-43b6-966f-a613be3d21f0/users",
"message": "Assignment with id: 97012d5d-6e10-43b6-966f-a613be3d21f0 is not found",
"error": "Not Found",
"status": 404
}
DELETE /shared/assignments/{assignmentId}/answers/draft
Deletes draft answers for the specified assignment.
Path parameter
assignmentId(string, UUID, required): assignment identifier, for example,a739cc08-e63a-43eb-a2ff-acb861f068f0
Request example
curl -X 'DELETE' \
'https://workspace.host/workspace/api/v1/shared/assignments/97012d5d-6e10-43b6-966f-a613be3d21f0/answers/draft' \
-H 'accept: application/json'
Successful response example
"string"
Failed response example
Error: response status 403.
{
"details": [],
"timestamp": "2026-01-30T13:32:22.288323647",
"path": "/workspace/api/v1/shared/assignments/97012d5d-6e10-43b6-966f-a613be3d21f0/answers/draft",
"message": "Forbidden",
"error": "Forbidden",
"status": 403
}The assignment with the provided ID has been deleted.
{
"details": [
{
"field": "string",
"value": {},
"code": "string"
}
],
"timestamp": "2026-01-30T13:32:22.316Z",
"path": "string",
"message": "string",
"error": "string",
"status": 0
}The assignment with the provided ID has already been accepted by another user.
{
"details": [
{
"field": "string",
"value": {},
"code": "string"
}
],
"timestamp": "2026-01-30T13:32:22.317Z",
"path": "string",
"message": "string",
"error": "string",
"status": 0
}
User API
GET /shared/users
Retrieves information about all users.
Parameters
No parameters are required for this API method.
Request example
curl -X 'GET' \
'https://workspace.host/workspace/api/v1/shared/users' \
-H 'accept: application/json'
Successful response example
[
{
"id": "1f9bf9bd-49cc-40fb-a14a-99585ed966b0",
"username": "user01",
"firstName": "user01_firstname",
"lastName": "user01_lastname",
"email": "user01@domain.com",
"ssoUserId": "1f9bf9bd-49cc-40fb-a14a-99585ed966b0"
},
{
"id": "85355073-cfe1-4aef-a0a7-8d83400f47cd",
"username": "user04",
"firstName": "user04_firstname",
"lastName": "user04_lastname",
"email": "user04@domain.com",
"ssoUserId": "85355073-cfe1-4aef-a0a7-8d83400f47cd"
}
]
Failed response example
{
"code": "NOT_ACCEPTABLE",
"message": "The requested media type is not supported.",
"errors": [
{
"message": "The 'Accept' header must be set to 'application/json'."
}
]
}
User group API
GET /shared/user-groups
Retrieves information about all user groups.
Parameters
No parameters are required for this API method.
Request example
curl -X 'GET' \
'https://workspace.host/workspace/api/v1/shared/user-groups' \
-H 'accept: application/json'
Successful response example
[
{
"id": "97012d5d-6e10-43b6-966f-a613be3d21f0",
"name": "FirstGroup",
"path": "/FirstGroup",
"subgroups": []
},
{
"id": "6f2e7e90-43e4-4572-b1ec-ee08df13bbb8",
"name": "SecondGroup",
"path": "/SecondGroup",
"subgroups": []
},
{
"id": "3f3e6c48-b3b6-4d4f-bf33-48c392918053",
"name": "ThirdGroup",
"path": "/ThirdGroup",
"subgroups": []
}
]
Failed response example
{
"code": "NOT_ACCEPTABLE",
"message": "Requested media type is not supported. Supported media type: application/json.",
"errors": [
{
"message": "The 'Accept' header value is not acceptable."
}
]
}
Information API
Use the following base URL for requests:
https://workspace.host/workspace/api
GET /shared/{tenant}/info
Gets information about Workspace.
Path parameter
tenant: the ID of the tenant for which you want to get information. A tenant is a logically separated environment that allows you to isolate users, data, and configurations for different customers or organizational units.
Request example
curl -X 'GET' \ 'https://workspace.host/workspace/api/shared/{tenant}/info' \
-H 'accept: application/json'
Successful response example
{
"host": "string"
}
Failed response example
<html><body><h1>403 Forbidden</h1>
Request forbidden by administrative rules.
</body></html>