# Article Collections
Manage knowledgebase article collections. Available for admin and agents who have appropriate permissions.
# Collection Object
| Name | Type | Comment |
|---|---|---|
| id | integer | Unique collection identifier. |
| category_id | integer | The ID of the category to which the collection belongs to. |
| name | string | Collection name. |
| order | integer | Order number that can be used to sort collections. |
| visibility | integer | The collection visibility. |
| created_at | datetime | Collection creation timestamp. |
| updated_at | datetime | Collection update timestamp. |
A visibility attribute can have one of the following values:
| Visibility | Value |
|---|---|
| Public | 1 |
| Logged In Users | 2 |
| Valid Envato Purchase Code | 3 |
| Valid Envato Support | 4 |
# Paginate Collections
/article-collections# Request
curl --location --request GET 'https://yoursubdomain.support-hub.io/api/article-collections' \
--header 'Accept: aplication/json'# Example Response
{
"data": [
{
"id": 1,
"category_id": 12,
"name": "My Collection",
"order": 1,
"visibility": 1,
"created_at": "2019-09-30 12:09:10",
"updated_at": "2019-09-30 12:09:10",
},
//...
],
"links": {
//...
},
"meta": {
//...
}
}
# Available includes
If provided, the available includes will be part of the response for each article collection object.
articles-countA number of articles within the collection.
categoryA category object for the category to which the collection belongs to.
# Sortable Fields
order (default), created_at
# View a Collection
/article-collections/{id}# Request
curl --location --request GET 'https://yoursubdomain.support-hub.io/api/article-collections/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'# Example Response
{
"data": {
"id": 1,
"category_id": 12,
"name": "My Collection",
"order": 1,
"visibility": 1,
"created_at": "2019-09-30 12:09:10",
"updated_at": "2019-09-30 12:09:10"
}
}
# Available includes
Same as for when paginating the collections.
# Create a Collection
/article-collections# Parameters
| Parameter | Type | Required | Validation | |
|---|---|---|---|---|
| category_id | number | Yes | An existing category id. | |
| name | string | Yes | Any string with length shorter or equal to 250 characters. | |
| visibility | number | Yes | Valid collection visibility. |
# Request
curl --location --request POST 'https://yoursubdomain.support-hub.io/api/article-collections' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Random Article Collection",
"visibility": 1,
"category_id": 37
}'# Example Response
Status: 201 Created
{
"data": {
"id": 123,
"category_id": 37,
"name": "Random Article Collection",
"order": 1,
"visibility": 1,
"created_at": "2019-09-30 12:09:10",
"updated_at": "2019-09-30 12:09:10"
}
}
# Update a Collection
/article-collections/{id}# Parameters
| Parameter | Type | Required | Validation | |
|---|---|---|---|---|
| category_id | number | Yes | An existing category id. | |
| name | string | Yes | Any string with length shorter or equal to 250 characters. | |
| visibility | number | Yes | Valid collection visibility. |
# Request
curl --location --request POST 'https://yoursubdomain.support-hub.io/api/article-collections/123' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Foo"
}'# Example Response
Status: 200 OK
{
"data": {
"id": 123,
"category_id": 37,
"name": "Foo",
"order": 1,
"visibility": 1,
"created_at": "2019-09-30 12:09:10",
"updated_at": "2019-09-30 12:09:10"
}
}
# Delete a Collection
/article-collections/{id}# Request
curl --location --request DELETE 'https://yoursubdomain.support-hub.io/api/article-collections/123' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'# Example Response
Status: 200 OK
{
"success": true
}
# Update Order
Update order for the provided article collections.
/article-collections/order| Parameter | Type | Required | Validation | Example |
|---|---|---|---|---|
| order | array | yes | An associative array of order => article_collection_id elements. | [0 => 1100, 1 => 1344, 2 => 3211] |
TIP
If you want you can omit the index inside the associative array and the order property will be updated according to the position
of the article_collection_id within the received order array.
# Request
curl --location --request POST 'https://yoursubdomain.support-hub.io/api/article-collections/order' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"order": [
1100,
1344,
3211
]
}'# Example Response
Status: 200 OK
{
"success": true
}
# Update Visibility
Update the visibility for all provided article collections.
/article-collections/visibility| Parameter | Type | Required | Validation |
|---|---|---|---|
| collections | array | yes | A valid array with article collection ids. |
| visibility | integer | yes | Valid collection visibility enum. |
# Request
curl --location --request POST 'https://yoursubdomain.support-hub.io/api/article-collections/visibility' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"collections": [
1100,
1344,
3211
],
"visibility": 1
}'# Example Response
Status: 200 OK
{
"success": true
}
# Update Category
Update the category for all provided article collections.
/article-collections/category| Parameter | Type | Required | Validation |
|---|---|---|---|
| collections | array | yes | A valid array with article collection ids. |
| category | integer | yes | Valid category id. |
# Request
curl --location --request POST 'https://yoursubdomain.support-hub.io/api/article-collections/category' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"collections": [
1100,
1344,
3211
],
"category": 1
}'# Example Response
Status: 200 OK
{
"success": true
}
← Categories Articles →