Skip to main content
Version: 10.3

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>