Skip to main content
Version: 10.3.1

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>