HumHub - Space API (1.0.0)

Download OpenAPI specification:Download

E-mail: info@humhub.com License: AGPLv2

Welcome to the HumHub space module API reference.

Authentication

Bearer

Security scheme type: JWT

BasicAuth

Security scheme type: HTTP
HTTP Authorization Scheme basic

Space

API to access and manage space information.

Find all spaces

query Parameters
page
string >= 0

The number of page of the result set.

limit
string [ 1 .. 50 ]
Default: 20

The numbers of items to return per page.

Responses

200

Success

get /space
/api/v1/space

Response samples

Copy
Expand all Collapse all
{
  • "total": 76,
  • "page": 1,
  • "pages": 8,
  • "links":
    {
    },
  • "results":
    [
    ]
}

Create new space

Request Body schema: application/json

Space base info and visibility settings

name
required
string
description
string
visibility
required
integer <int64>
join_policy
required
integer <int64>

Responses

200

Success

401

Unauthorized

422

Validation failed

500

Internal server error

post /space
/api/v1/space

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "Welcome space",
  • "description": "Your first sample space to discover the platform.",
  • "visibility": 1,
  • "join_policy": 1
}

Response samples

Copy
Expand all Collapse all
{
  • "id": 1,
  • "guid": "cd081891-d2e2-40d5-84a4-b47309e71c80",
  • "name": "Welcome Space",
  • "description": "Your first sample space to discover the platform.",
  • "visibility": 1,
  • "join_policy": 1,
  • "status": 1,
  • "tags": "first tag, second tag",
  • "owner":
    {}
}

Get space by id

path Parameters
id
required
integer

The id of space

Responses

200

Success

400

Bad request

404

Not found

get /space/{id}
/api/v1/space/{id}

Response samples

Copy
Expand all Collapse all
{
  • "id": 1,
  • "guid": "cd081891-d2e2-40d5-84a4-b47309e71c80",
  • "name": "Welcome Space",
  • "description": "Your first sample space to discover the platform.",
  • "visibility": 1,
  • "join_policy": 1,
  • "status": 1,
  • "tags": "first tag, second tag",
  • "owner":
    {}
}

Update existing space

path Parameters
id
required
integer

The id of space

Request Body schema: application/json

Space base info and settings

name
string
description
string
tags
string
color
string
url
string
indexUrl
string
indexGuestUrl
string
visibility
integer <int64>
join_policy
integer <int64>
default_content_visibility
integer <int64>

Responses

200

Success

401

Unauthorized

404

Not found

422

Validation failed

500

Internal server error

put /space/{id}
/api/v1/space/{id}

Request samples

application/json
Copy
Expand all Collapse all
{
  • "name": "Welcome space",
  • "description": "Your first sample space to discover the platform.",
  • "tags": "First tag, Second tag",
  • "color": "#eeeeee",
  • "url": "welcome-space",
  • "indexUrl": "/s/welcome-space/space/space/home",
  • "indexGuestUrl": "/s/welcome-space/space/space/home",
  • "visibility": 1,
  • "join_policy": 1,
  • "default_content_visibility": 1
}

Response samples

Copy
Expand all Collapse all
{
  • "id": 1,
  • "guid": "cd081891-d2e2-40d5-84a4-b47309e71c80",
  • "name": "Welcome Space",
  • "description": "Your first sample space to discover the platform.",
  • "visibility": 1,
  • "join_policy": 1,
  • "status": 1,
  • "tags": "first tag, second tag",
  • "owner":
    {}
}

Delete space by id

path Parameters
id
required
integer

The id of space

Responses

200

Success

401

Unauthorized

404

Not found

500

Internal server error

delete /space/{id}
/api/v1/space/{id}

Response samples

Copy
Expand all Collapse all
{
  • "code": 200,
  • "message": "Space successfully deleted!"
}

Archive space

API to archive or unarchive the space.

Archive the space by id

path Parameters
id
required
integer

The id of space

Responses

200

Success

400

Bad request

401

Unauthorized

404

Not found

patch /space/{id}/archive
/api/v1/space/{id}/archive

Response samples

Copy
Expand all Collapse all
{
  • "code": 200,
  • "message": "Space successfully archived!"
}

Unarchive the space by id

path Parameters
id
required
integer

The id of space

Responses

200

Success

400

Bad request

401

Unauthorized

404

Not found

patch /space/{id}/unarchive
/api/v1/space/{id}/unarchive

Response samples

Copy
Expand all Collapse all
{
  • "code": 200,
  • "message": "Space successfully unarchived!"
}

Membership

List all memberships by given space id

path Parameters
id
required
integer

The id of space

Responses

200

Successful operation

400

Bad request

404

Not found

get /space/{id}/membership
/api/v1/space/{id}/membership

Response samples

Copy
Expand all Collapse all
{
  • "total": 76,
  • "page": 1,
  • "results":
    [
    ]
}

Add a new user to the space

path Parameters
id
required
integer

The id of space

userId
required
integer

The id of user

query Parameters
silent
boolean
Default: false

Send added notification to the user

Responses

default

Successful operation

post /space/{id}/membership/{userId}
/api/v1/space/{id}/membership/{userId}

Delete a space membership of a user

path Parameters
id
required
integer

The id of space

userId
required
integer

The id of user

Responses

default

Successful operation

delete /space/{id}/membership/{userId}
/api/v1/space/{id}/membership/{userId}

Set the user membership role

path Parameters
id
required
integer

The id of space

userId
required
integer

The id of user

query Parameters
role
required
string

admin, member or moderator

Responses

default

Successful operation

patch /space/{id}/membership/{userId}/role
/api/v1/space/{id}/membership/{userId}/role