API
Login Sign Up

Knowledge base Public API

Note: The API endpoints below are public and do not require authentication. If your knowledge base is password or IP address protected, the requests below will fail with 404 Not Found status.

Searching categories

GET https://api.groovehq.com/v1/kb/:knowledge_base_id/categories/search

Parameters

Name Type Required Default Notes
keyword string Yes The keyword to search the categories by. Use "*" for all.
page intger No 1 The page number of the search results.
per_page integer No 25 The number of search results per page.

Example Request

curl -i -X GET https://api.groovehq.com/v1/kb/public/7023641925/categories/search?keyword=manage+users \
    -H "Content-Type: application/json"

Example Response

Status: 200 OK

{
    "categories": [
        {
            "featured": false,
            "description": "How to manage users and groups in your Groove account.",
            "articles_count": 9,
            "title": "Users & Groups",
            "position": 7,
            "id": "5941928360"
        }
    ]
}

Searching articles

GET https://api.groovehq.com/v1/kb/public/:knowledge_base_id/articles/search

Parameters

Name Type Required Default Notes
keyword string Yes The keyword to search the articles by. Use "*" for all.
category_id string No The category ID to filter search results by.
featured boolean No Whether to filter search results by featured articles only.
ids array No The array of article IDs to filter search results by.
page intger No 1 The page number of the search results.
per_page integer No 25 The number of search results per page.
tag string No The tag name to filter search results by.

Example Request

curl -i -X GET http://api.groovehq.com/v1/kb/public/7023641925/articles/search?keyword=Custom+domain \
    -H "Content-Type: application/json"

Example Response

Status: 200 OK

{
    "articles": [
        {
            "author_name": "Agent Smith",
            "featured": false,
            "category_id": "1100983224",
            "updated_at": "2019-12-10T13:17:22Z",
            "description": "Customize the URL of your Knowledge Base to match your website",
            "related_ids": [
                "4517239960"
            ],
            "body": "Really long boy",
            "author_avatar_url": "https://s3.amazonaws.com/groovehq/uploaded/yPBAwqX1YwTUA7DsH5yk",
            "tags": [
                "Onboarding",
                "new user",
                "new user guide",
                "guide"
            ],
            "title": "New User Guide",
            "position": 273,
            "slug": "new-user-guide",
            "id": "2269150328"
        }
    ]
}

Searching articles (deprecated)

You can also run search requests against your knowledge base's default base URL (see "Settings" of your knowledge base).

GET https://help.groovehq.com/help/search.json

Parameters

Name Type Required Default Notes
keyword string Yes The keyword to search articles by.

Example Request

curl -i -X GET https://help.groovehq.com/help/search.json?keyword=Custom+Domain \
    -H "Content-Type: application/json"

Example Response

Status: 200 OK

[
    {
        "title": "Adding a custom domain to your Knowledge Base",
        "url": "https://help.groovehq.com/help/adding-a-custom-domain-to-your-knowledge-base"
    },
    {
        "title": "Using your own SSL for a custom domain",
        "url": "https://help.groovehq.com/help/using-your-own-ssl-for-a-custom-domain"
    },
    {
        "title": "Groove Knowledge Base Overview",
        "url": "https://help.groovehq.com/help/groove-knowledge-base-overview"
    },
    {
        "title": "Shopify Integration",
        "url": "https://help.groovehq.com/help/shopify-integration"
    }
]

Rating articles

POST https://help.groovehq.com/help/:slug/ratings.json

Parameters

Name Type Required Default Notes
value integer Yes The rating value, either: 0, 3, 7, or 10 for ratings_type emoji or 0 or 10 for ratings_type upvote.

Example Request

curl -i -X POST https://help.groovehq.com/help/does-groove-have-an-api-2d8af3fa/ratings.json \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d 'value=10'

Example Response

Status: 201 Created

{
    "article": {
        "helpful_ratings_count": 12,
        "total_ratings_count": 88
    }
}