WorkBoard API v1.0

Overview

WorkBoard's API allows developers to write out-of-the-box applications to interact with WorkBoard in more complex ways than are available with our other built-in integrations.

For instance, you could use the API to automatically update Sales metrics from a CRM. Update user profile data from a central HR system. Pull data on goal progress into your organization's business reporting software to easily share results.

The WorkBoard API is organized around REST and provides programmatic access to much of your data in the system. Our API is designed to have predictable, resource-oriented URLs. We use built-in HTTP features to receive commands and return responses, and the API returns JSON content in all responses, including errors.

To facilitate your development process, your account will include both test-mode and live-mode API keys. These keys can be active at the same time.

All resources must be called using HTTPS and must include an access_token for authentication.

If you need to make API calls on all objects that belong to your organization on WorkBoard, please contact us to request data admin API access for your organization.

In addition to the API, you can also use Webhooks to dynamically update WorkBoard metric data from cron, Excel or Google spreadsheets, and your other business applications.

Authentication

Each call you make to the API must be authenticated with an access token. WorkBoard offers two methods for requesting an access token: instant tokens, and OAuth 2.0 authentication.

If you are testing the API or are developing a single-user application, you can get an access token with a single click using Instant Token Authentication.

However, if you are developing an app for multiple users, we recommend using OAuth 2.0 for authentication. This will allow WorkBoard to dynamically authenticate any of your app users to give them access.

Errors

Sometimes requests to the API are not successful. Failures can occur for a wide range of reasons.

Every response from WorkBoard's API will include success and message parameters. The success parameter indicates whether or not the request was successfully made, while the message parameter can help you debug problems.

Error Description
invalid_client_id The client id is invalid. Check the Client ID you received when you registered your app.
invalid_client_hash The client hash doesn't exist or is invalid. Check the client hash you received when you registered your app.
invalid_auth_code The authorization code doesn't exist or is invalid. Check the code you received during the oAuth 2.0 authentication process. Note that your authorization code is valid for 5 minutes and will expire if not exchanged for an access token within that time.
invalid_access_token The access token is invalid. Check the access token you received during either the oAuth 2.0 or instant token authentication process.
auth_code_expired The authorization token has expired. Your authentication token is valid for 1 year.
invalid_redirect_uri The redirect URI is missing or does not match the one you provided when registering your app.
invalid_resource_id The resource id doesn't exist or is invalid.
insufficient_access You don't have access to the requested resource. Check the resource id.
missing_required_parameters Your request did not pass all of the required parameters for the resource.
invalid_webhook_url The webhook URL is missing or does not match any valid webhook.
invalid_webhook_action The webhook action doesn't exist or is invalid for the request.
invalid_webhook_secret The webhook signature doesn't match or is invalid for the subscribed webhook.
# Sample Success Response
{
    "success" : true,
    "message" : "Goal was created successfully",
    "data" : [
        "totalCount" : 10,
        "goal" : [
            {
              "Goal_id" : 123,
              "goal_name" : "test goal",
              ..
            },
        ..
        ]
    ]
}
# Sample Error Response
{
    "success" : false,
    "message" : " Verify goal id",
    "error" : "invalid_goal_id",
    "error_description" : "The resource doesn\'t belong to any goal that you have access to"
}

API Reference

You are viewing the improved API Reference documentation.
To view the legacy API Reference documentation click here.