Cabinetry.Online API

Overview

Cabinetry.Online API v1.0 helps in viewing your job lists page and also helps you download specific job in a particular format.

Authentication

The Cabinetry.Online API uses API keys to authenticate requests. You can view and manage your API keys in the Cabinetry.Online Settings page.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Requests

Host

The host for Cabinetry.Online API v1.0 requests is always https://cabinetry.online/api/

Authorization Header

To authenticate, add an X-GC-API-KEY header to your API request that contains an API key.

Example Header

GET https://cabinetry.online/api/jobs/{status}
X-GC-API-KEY: Your.API.Key-HERE

HTTP Verbs

Verb Description
GET Retrieve a resource or group of resources
POST Create a resource or perform an action

Pagination

Most GET resources allow for retrieval of information in batches and this will be noted in their documentation.

A few endpoints do not support pagination. These endpoints will silently ignore the pagination parameters.

Pagination parameters are specified as query parameters in the request URL:

 GET https://cabinetry.online/api/{endpoint}?page={page}&limit={limit}

Parameters

Parameter Type Description Default
page integer The page number to return 1
limit integer The number of records to return 1000

The limit parameter cannot exceed 1000.

For example, a request with limit set to 20 and page set to 8 will return records 141-160.

Response Data

Endpoints that support pagniation return the total number of records in a separate field in the response data.

{
    "success": 1,
    "data": [],
    "total": {total}
}
Field Type Description
total integer Total number of records available

Note: that if records are added to the data returned between subsequent requests, the total may change.

Example

GET https://cabinetry.online/api/jobs/{status}?page=1&limit=25
{
    "success": 1,
    "data": /* ... */,
    "total": "46"
}

Responses

With the exception of a couple of endpoints where files of a specific data type are returned, all endpoints return a JSON object with a "success" key.

Returned Fields

Field Type Description
status integer 1 if the request was successful, 0 otherwise
error string Error message. Omitted if the request was successful

Different endpoints will return data in different fields, however mostly data is returned in the data field and is an array of objects representing each row of data.

Common HTTP Status Codes

HTTP status code Meaning
200 Success, request was performed successfully
400 Invalid request, invalid or missing data in your request
401 Unauthorized access, invalid Api key
403 Forbidden, attempted to access or modify a resource you don't have access to
404 Not found, attempted to access or modify a resource that doesn't exist

Examples

Successful Request

GET https://cabinetry.online/api/jobs/{status}?page=1&limit=25
{
    "success": 1,
    "data": /* ... */,
    "total": "46"
}

Unsuccessful Request

GET https://cabinetry.online/api/jobs/{status}?page=1&limit=25
{
    "success": 0,
    "error": "Missing parameter"
}

Examples

Postman collection

A Postman v2.1 collection is available with example requests for manufacturer authentication, job listing, estimated completion dates, and job status transitions:

Download GoCabinets Manufacturer API collection

Import

  1. Open Postman.
  2. Choose ImportFile.
  3. Select the GoCabinets_Manufacturer_API.postman_collection.v0.2.json file you downloaded using the link above.

Collection variables

Set these variables on the collection (or in an environment):

Variable Example value Description
baseUrl https://cabinetry.online/api API base URL including the /api prefix
jobId 12345 A job ID that belongs to your manufacturer account
apiKey (your key) Manufacturer API key from Settings in the manufacturer portal

Do not commit real API keys. The JSON file in the repository leaves apiKey empty on purpose; set it only in your local Postman workspace or a private environment.

Webhooks

See Webhooks.

Endpoints

PDFs