NAV Navbar
shell python

Buster API v1 Documentation

Welcome to the Buster API!

We're excited that you are looking at connecting to Buster. This API is utlized by companies all over the world to interact with their data over standard HTTP requests.

This API will allow developers to pull data out of the system, push data into the system, or trigger actions/events.

You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

Introduction

Authentication

Passing the authorization token with each request

$ curl "https://bustererp.com/api/v1/endpoint"
  --header "Authorization: Basic mysamplekey"
import requests

requests.get('https://bustererp.com/api/v1/endpoint', headers={
    'Authorization': 'Basic mysamplekey',
})

The Buster API authenticates every request with an integration token generated for your team. This token can be found in your teams Integration Settings. The token will be passed into the application via the Authorization header.

Replace mysamplekey with your API key.

Requests

HTTP requests are used to interact with the Buster API. Any tool, library, or programming language that has the ability to make an HTTP request will be able to work with this API.

All requests will be processed over HTTPS so that information is encrypted.

Every request made to the Buster API required an Authorization header. See Authentication above for more information about this.

$ curl -X GET https://bustererp.com/api/v1/endpoint
$ curl -X POST https://bustererp.com/api/v1/endpoint
$ curl -X DELETE https://bustererp.com/api/v1/endpoint
$ curl -X PUT https://bustererp.com/api/v1/endpoint
import requests

requests.get('https://bustererp.com/api/v1/endpoint')
requests.post('https://bustererp.com/api/v1/endpoint')
requests.delete('https://bustererp.com/api/v1/endpoint')
requests.put('https://bustererp.com/api/v1/endpoint')

Request methods

Each request will be associated with a request method, which are described below, depending on the required action.

Method Usage
GET For pulling information out of the system for external use, you will use the GET method. Information will be returned in a JSON format (See the Responses section for more information). GET requests will never create, update, or delete information.
POST For creating new records in the system or triggering events/actions, you will use the POST method. The Sending Data section below will explain how data is sent to the API for creating new records. POST requests will always read from the JSON request body. POST requests have the ability to create a single record or create multiple records in bulk.
DELETE For removing records in the system, you will use the DELETE method. The Sending Data section below will explain how URL parameters are utilized to remove specific records. Primary keys are inserted directly into the URL for reference. DELETE requests will only be able to remove a single record per request.
PUT For updating records in the system, you will use the PUT method. The Sending Data section below will explain how URL parameters are utilized to update specific records. Primary keys are inserted directly into the URL for reference. PUT requests will only be able to update a single record per request.

Sending data

When making requests to the API, there are multiple methods of passing data to the API. Each method of sending data is utilized for a different purpose.

Method Purpose
URL Parameters URL Parameters are used typically for passing primary keys to the API to lookup a record. These records are then either pulled for a GET request, updating via a PUT request, or removed via a DELETE request. In the endpoint references throughout this documentation, you will see the syntax https://bustererp.com/api/v1/sale-order/<id> which means that a primary key for a specific sale order is expected to be inserted into the URL when making a request.
Query Parameters Query Parameters are utilized to send generic information to the API to alter the processing or response of the request. These parameters are typically unanimous across request types. For example, every GET request will offer parameters for page and limit to control how many records are returned from a single request and which page of results the request is for.
JSON Body When creating new records in the system via a POST, the information for the record is passed in via a JSON Body. This means that all data should be formatted as JSON and passed in the body of the HTTP request. Each request will be unique depending on what you are trying to create.

Example URL Parameters

# Certain endpoints have dynamic information included in the URL. For example,
# below we are making a request to get information about a single sale order
# with the ID of 1.
#
# https://bustererp.com/api/v1/sale-order/<id>

$ curl -X GET https://bustererp.com/api/v1/sale-order/1
import requests

# Certain endpoints have dynamic information included in the URL. For example,
# below we are making a request to get information about a single sale order
# with the ID of 1.
#
# https://bustererp.com/api/v1/sale-order/<id>

requests.get('https://bustererp.com/api/v1/sale-order/1')

URL Parameters

URL Parameters are used typically for passing primary keys to the API to lookup a record. These records are then either pulled for a GET request, updated via a PUT request, or removed via a DELETE request.

In the endpoint references throughout this documentation, you will see the syntax https://bustererp.com/api/v1/sale-order/<id> which means that a primary key for a specific sale order is expected to be inserted into the URL when making a request.





Example Query Parameters

# Query parameters are used for passing general information across to the API
# via the URL. Theses are added to the end of the URL in the format:
#
# ?key1=value1&key2=value2&key3=value3

$ curl -X GET https://bustererp.com/api/v1/sale-orders?page=2
import requests

# Query parameters are used for passing general information across to the API
# via the URL. Theses are added to the end of the URL in the format:
#
# ?key1=value1&key2=value2&key3=value3

requests.post('https://bustererp.com/api/v1/sale-orders?page=2')

Query Parameters

Query Parameters are utilized to send generic information to the API to alter the processing or response of the request. These are another method of passing information to the API via the URL, except in a slightly different format.

Instead of being embedded directly in the URL, they are added to the end. Think of these like additional information, meta data, or general data.

https://bustererp.com/api/v1/endpoint?key1=value1&key2=value2

These parameters are typically unanimous across request types. For example, every GET request will offer parameters for page and limit to control how many records are returned from a single request and which page of results the request is for.



Example JSON Body

$ curl https://bustererp.com/api/v1/endpoint -X POST -d '{"data": {...}}'
import json
import requests

json_data = json.dumps({
    # This could be a single object like below if we only want to create a
    # single record, or an array of objects if trying to create multiple.
    "data": {
        "field_a": "value",
        "field_b": "value",
    },
})

requests.post('https://bustererp.com/api/v1/endpoint', data=data)

JSON Body

When creating new records in the system via a POST, the information for the record is passed in via a JSON Body. This means that all data should be formatted as JSON and passed in the body of the HTTP request.

Each request body will be unique depending on what you are trying to create. The data will look similar to the JSON formatted in responses, except there should always be a data key in the root of the body that is either an array or a single object.

Responses

Every request that you make will return a response naturally. All responses will include a bundle of information, but most importantly will be the status code, the format, and the body.

All request bodies will be formated as JSON for consistency.

The body will contain information depending on the type of the request that was sent and the results of the process. Below we define a table of what to expect depending on the request:

Request Type Response Code Response Body
GET 200 Either a Single Record Response or a Multi Record Response depending on what you are requesting (a single record or a list of records).
POST 200 A Single Record Response for the newly created record.
PUT 200 Typically a 201 response, with no body information.
DELETE 200 Typically a 201 response, with no body information.

Single Object Response

{
    // A count of the `records`.
    "count": 1,

    // The requested records. When `count` is 1, this will be an object instead
    // of a list/array.
    "data": {...},

    // Pagination information explaining the current page that you are on, the
    // total number of pages, a link to the previous page, and a link to the next
    // page. This will always exist even if current=1 and total=1. The `next` and
    // `prev` variables will be null if they are not relevant.
    "pages": {
        "current": 1,
        "total": 1,
        "next": null,
        "prev": null
    }
}

Single Record Response

A single record response returns a single record back. This is common for endpoints that include a URL Parameter for primary database keys or for search endpoints that only find a single record.

Every single record response will include the same key information:













Multi Object Response

{
    // A count of the `records` list
    "count": 2,

    // The requested records
    "data": [{...}],

    // Pagination information explaining the current page that you are on, the
    // total number of pages, a link to the previous page, and a link to the next
    // page. This will always exist even if current=1 and total=1. The `next` and
    // `prev` variables will be null if they are not relevant.
    "pages": {
        "current": 2,
        "total": 10,
        "next": "https://bustererp.com/api/v1/...?page=3",
        "prev": "https://bustererp.com/api/v1/...?page=1"
    }
}

Multi Record Response

The multi record response is very similar to the single record response.

A multi record response returns a multiple records back. This is common for endpoints that make general GET requests or for search endpoints that find multiple records.

Every multi record response will include the same key information:









Error Response

// All error responses will return an empty object in the body.
{}

Error Response

Some requests return errors for different reasons. If you're request has a problem then you will see a status code greater than 400. Each error code has a specific problem associated with it, so the response body is always empty in this case.

For more information about error codes, make sure to review the Error Code Reference section.

Pagination

import json
import requests

# A list of bill of materials
boms = []

# The first request will fetch the first 500 bills. This would also return a
# pages object that looks like:
#
# {
#     "pages": {
#         "current": 1,
#         "total": 2,
#         "next": "https://bustererp.com/api/v1/boms?page=2",
#         "prev": null
#     }
# }
#
boms += json.loads(requests.get('https://bustererp.com/api/v1/boms?page=1').content.records)

# So then we need to load bills 501 - 1000. So we make another request and
# increment the page up.
boms += json.loads(requests.get('https://bustererp.com/api/v1/boms?page=2').content.records)

Pagination is used to limit the amount of data that comes across in a single request. For example, if need to fetch all bill of materials and you currently have 1000 bill of materials stored then the API will not send a single response with all 1000 records. The max limit per page is 500 records.

Pagination is handled the same way across all GET requests that returns information in the response.

Every request will include an object labeled pages which contains:

A note about limit

You can always let limit default to 500 for each request, but if you need to specifically define a smaller limit then you can use a Query Parameter.

https://bustererp.com/api/v1/boms?page=1&limit=200

Be aware that as you change the limit the pages will shift because the entire dataset is chunked into limit sized pages. For example, if you have 750 sale orders and you do not define a limit for your GET request then it will be chunked into 2 pages. The first page will contain 500 records and the second page will contain the remaining 250 records. If you then define a limit of 100, then the system will generate 7 pages in chunks of 100 records.

Rate Limiting

There is not any strict rate limiting at the moment. We will monitor and flag over-usage of the interface and deal with cases individually at the moment.

If you are receieving failed requests and you think it's because of rate limiting then check the response codes. You will receieve a 429 response code if your requests are being rejected.

Reach out to us if your requests are being rejected and you do not know why.

Fields

For every data model, the API will provide a list of fields available. These are the fields that you have access to as a developer. Every field available for reading is not inherently editable via the API.

Common Types

Here are types that you will see in the API. These fields will come across as JSON and are restricted by the available types in JSON, but we provide type references for all fields in the documentation to allow developers to handle the data properly when receiving or sending.

A Note About Nested Fields

Certain fields are considered Nested. This mean that they are a relational field to another data model. For example, a Sales Order has a Nested field referencing a Customer.

When receiving this data, you will see the full relational data nested such as:

{
    "quote_number": "0001",
    "order_number": "0001",
    "customer_id": {
        "name": "My Customer",

        ...
    }
}

When sending data back to the API, via a POST or PUT endpoint, you will always reference the primary key of the nested record:

import requests

requests.put("https://bustererp.com/sale_order/1", json={
    "order_number": "0002",
    "customer_id": 55  # Always reference the primary database key for Nested fields
})

Status Codes

List of response statuses.

Status Code Meaning
400
Bad Request

Your request is invalid

401
Unauthorized

Your API key is invalid or incorrect. If you are having issues authenticating with the API then double check your API key. If you are still having issues afterwards then reach out to us for help.

403
Forbidden

You do not have permission to view the requested record.

404
Not Found

The specified record or endpoint could not be found.

405
Method Not Allowed

You tried to access a record with an invalid method.

406
Not Acceptable

You requested a format that isn't json.

410
Gone

The record requested has been removed from our servers.

429
Too Many Requests

You're requesting too many things! Slow down!

500
Internal Server Error

We had a problem with our server. Try again later.

503
Service Unavailable

We're temporarily offline for maintenance. Please try again later.

Resources

Bill of Material

Bill of Materials are components lists for parts or finished goods. They define details about what you need to build a specific part or finished good.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
lines Nested Optional The bill of material lines, which contain the details about the components that this bill of material consists of.
product Nested Optional The product record that this bill of material describes/is assigned to.
reference String Required A user defined reference number that identifies the bill of material.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Bill of Materials

Get all Bill of Materials

To get a list of all bill of materials, send a GET request to the /api/v1/bom endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/bom"
import requests

requests.get("https://bustererp.com/api/v1/bom", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"lines": "Nested",
"product": "Nested",
"reference": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Bill of Material by id

Get one Bill of Material by id

To get one bill of material, send a GET request to the /api/v1/bom/<id> endpoint where id is the primary key for the bill of material that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/bom/1"
import requests

requests.get("https://bustererp.com/api/v1/bom/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"lines": "Nested",
"product": "Nested",
"reference": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Bill of Materials

Search for Bill of Materials

To search for a specific subset of bill of materials, send a GET request to the /api/v1/bom/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/bom/search"
import requests

requests.get("https://bustererp.com/api/v1/bom/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"lines": "Nested",
"product": "Nested",
"reference": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new Bill of Material

Create a new Bill of Material

To create a bill of material, send a POST request to the /api/v1/bom endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new bill of material.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/bom"
import requests

requests.post("https://bustererp.com/api/v1/bom", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"lines": "Nested",
"product": "Nested",
"reference": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing Bill of Material

Delete an existing Bill of Material

To delete an existing bill of material, send a DELETE request to the /api/v1/bom/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/bom/1"
import requests

requests.delete("https://bustererp.com/api/v1/bom/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Bill of Material

Update an existing Bill of Material

To update an existing bill of material, send a PUT request to the /api/v1/bom/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/bom/1"
import requests

requests.put("https://bustererp.com/api/v1/bom/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Customer

Customers represent the companies that you sell to or that you are hoping to sell to. You have the ability to keep a customer list that you can then reference later.

Name Type Condition Description
account_number String Optional The account reference number of the customer.
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
email String Optional The primary email address for the customer.
fax String Optional The fax number for the customer.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
industry_id Integer Optional The id of the industry that the customer belongs to.
name String Required The name of the customer.
phone String Optional The primary phone number for the customer.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.
website String Optional The primary website for the customer.

Get all Customers

Get all Customers

To get a list of all customers, send a GET request to the /api/v1/customer endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/customer"
import requests

requests.get("https://bustererp.com/api/v1/customer", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"account_number": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"email": "String",
"fax": "String",
"id": "Integer",
"industry_id": "Integer",
"name": "String",
"phone": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"website": "String"
}

Get one Customer by id

Get one Customer by id

To get one customer, send a GET request to the /api/v1/customer/<id> endpoint where id is the primary key for the customer that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/customer/1"
import requests

requests.get("https://bustererp.com/api/v1/customer/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"account_number": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"email": "String",
"fax": "String",
"id": "Integer",
"industry_id": "Integer",
"name": "String",
"phone": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"website": "String"
}

Search for Customers

Search for Customers

To search for a specific subset of customers, send a GET request to the /api/v1/customer/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/customer/search"
import requests

requests.get("https://bustererp.com/api/v1/customer/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"account_number": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"email": "String",
"fax": "String",
"id": "Integer",
"industry_id": "Integer",
"name": "String",
"phone": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"website": "String"
}

Create a new Customer

Create a new Customer

To create a customer, send a POST request to the /api/v1/customer endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new customer.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/customer"
import requests

requests.post("https://bustererp.com/api/v1/customer", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"account_number": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"email": "String",
"fax": "String",
"id": "Integer",
"industry_id": "Integer",
"name": "String",
"phone": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"website": "String"
}

Delete an existing Customer

Delete an existing Customer

To delete an existing customer, send a DELETE request to the /api/v1/customer/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/customer/1"
import requests

requests.delete("https://bustererp.com/api/v1/customer/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Customer

Update an existing Customer

To update an existing customer, send a PUT request to the /api/v1/customer/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/customer/1"
import requests

requests.put("https://bustererp.com/api/v1/customer/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Country

Represents a Country in the world. The system keeps a list of as many countries as possible for you to reference in addresses.

Name Type Condition Description
abbreviation String Optional The abbreviation or short code for the country.
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the country
regions Nested Optional The regions (states or provinces) for the country.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Countries

Get all Countries

To get a list of all countries, send a GET request to the /api/v1/country endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/country"
import requests

requests.get("https://bustererp.com/api/v1/country", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"abbreviation": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"regions": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Country by id

Get one Country by id

To get one country, send a GET request to the /api/v1/country/<id> endpoint where id is the primary key for the country that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/country/1"
import requests

requests.get("https://bustererp.com/api/v1/country/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"abbreviation": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"regions": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Countries

Search for Countries

To search for a specific subset of countries, send a GET request to the /api/v1/country/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/country/search"
import requests

requests.get("https://bustererp.com/api/v1/country/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"abbreviation": "String",
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"regions": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Department

Represents departments in the business. These are primarily used for manufacturing shop departments, but can represent any type of department that needs to be tracked.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the shop department.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Departments

Get all Departments

To get a list of all departments, send a GET request to the /api/v1/department endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/department"
import requests

requests.get("https://bustererp.com/api/v1/department", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Department by id

Get one Department by id

To get one department, send a GET request to the /api/v1/department/<id> endpoint where id is the primary key for the department that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/department/1"
import requests

requests.get("https://bustererp.com/api/v1/department/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Departments

Search for Departments

To search for a specific subset of departments, send a GET request to the /api/v1/department/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/department/search"
import requests

requests.get("https://bustererp.com/api/v1/department/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new Department

Create a new Department

To create a department, send a POST request to the /api/v1/department endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new department.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/department"
import requests

requests.post("https://bustererp.com/api/v1/department", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing Department

Delete an existing Department

To delete an existing department, send a DELETE request to the /api/v1/department/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/department/1"
import requests

requests.delete("https://bustererp.com/api/v1/department/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Department

Update an existing Department

To update an existing department, send a PUT request to the /api/v1/department/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/department/1"
import requests

requests.put("https://bustererp.com/api/v1/department/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Facility

A facility is a phyisical building owned by the business. This is typically a place where some sort of manufacturing operations go on, but can represent any physical address.

Name Type Condition Description
address_line_1 String Optional The first address line for this records address.
address_line_2 String Optional The second address line for this records address.
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
city String Optional The name of the city for this records address.
country_id Nested Optional The country for this records address.
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the facility.
postal_code String Optional The postal code for this records address.
region_id Nested Optional The state or region for this records address.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Facilities

Get all Facilities

To get a list of all facilities, send a GET request to the /api/v1/facility endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/facility"
import requests

requests.get("https://bustererp.com/api/v1/facility", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"address_line_1": "String",
"address_line_2": "String",
"belongs_to_sandbox": "Boolean",
"city": "String",
"country_id": "Nested",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"postal_code": "String",
"region_id": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Facility by id

Get one Facility by id

To get one facility, send a GET request to the /api/v1/facility/<id> endpoint where id is the primary key for the facility that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/facility/1"
import requests

requests.get("https://bustererp.com/api/v1/facility/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"address_line_1": "String",
"address_line_2": "String",
"belongs_to_sandbox": "Boolean",
"city": "String",
"country_id": "Nested",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"postal_code": "String",
"region_id": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Facilities

Search for Facilities

To search for a specific subset of facilities, send a GET request to the /api/v1/facility/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/facility/search"
import requests

requests.get("https://bustererp.com/api/v1/facility/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"address_line_1": "String",
"address_line_2": "String",
"belongs_to_sandbox": "Boolean",
"city": "String",
"country_id": "Nested",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"postal_code": "String",
"region_id": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new Facility

Create a new Facility

To create a facility, send a POST request to the /api/v1/facility endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new facility.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/facility"
import requests

requests.post("https://bustererp.com/api/v1/facility", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"address_line_1": "String",
"address_line_2": "String",
"belongs_to_sandbox": "Boolean",
"city": "String",
"country_id": "Nested",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"postal_code": "String",
"region_id": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing Facility

Delete an existing Facility

To delete an existing facility, send a DELETE request to the /api/v1/facility/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/facility/1"
import requests

requests.delete("https://bustererp.com/api/v1/facility/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Facility

Update an existing Facility

To update an existing facility, send a PUT request to the /api/v1/facility/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/facility/1"
import requests

requests.put("https://bustererp.com/api/v1/facility/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Industry

An industry is a sector that a business operates in. You have the ability to assign industries to your customer list to better organize and search. The application keeps a comprehensive list of industries for you to use.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
code String Optional The unique, short code for this industry.
color String Required The color code for this industry.
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
customers Nested Optional All of the customers that belong to this industry.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the industry.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Industries

Get all Industries

To get a list of all industries, send a GET request to the /api/v1/industry endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/industry"
import requests

requests.get("https://bustererp.com/api/v1/industry", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"color": "String",
"created_at": "DateTime",
"created_by": "Nested",
"customers": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Industry by id

Get one Industry by id

To get one industry, send a GET request to the /api/v1/industry/<id> endpoint where id is the primary key for the industry that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/industry/1"
import requests

requests.get("https://bustererp.com/api/v1/industry/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"color": "String",
"created_at": "DateTime",
"created_by": "Nested",
"customers": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Industries

Search for Industries

To search for a specific subset of industries, send a GET request to the /api/v1/industry/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/industry/search"
import requests

requests.get("https://bustererp.com/api/v1/industry/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"color": "String",
"created_at": "DateTime",
"created_by": "Nested",
"customers": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Location

A location is a stock location. This represents a space in your warehouse where you track a certain product.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the warehouse location.
team_id Integer Optional The primary key for the team that this record belongs to.
type String Optional The internal type of the warehouse location.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Locations

Get all Locations

To get a list of all locations, send a GET request to the /api/v1/location endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/location"
import requests

requests.get("https://bustererp.com/api/v1/location", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"type": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Location by id

Get one Location by id

To get one location, send a GET request to the /api/v1/location/<id> endpoint where id is the primary key for the location that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/location/1"
import requests

requests.get("https://bustererp.com/api/v1/location/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"type": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Locations

Search for Locations

To search for a specific subset of locations, send a GET request to the /api/v1/location/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/location/search"
import requests

requests.get("https://bustererp.com/api/v1/location/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"type": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new Location

Create a new Location

To create a location, send a POST request to the /api/v1/location endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new location.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/location"
import requests

requests.post("https://bustererp.com/api/v1/location", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"type": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing Location

Delete an existing Location

To delete an existing location, send a DELETE request to the /api/v1/location/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/location/1"
import requests

requests.delete("https://bustererp.com/api/v1/location/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Location

Update an existing Location

To update an existing location, send a PUT request to the /api/v1/location/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/location/1"
import requests

requests.put("https://bustererp.com/api/v1/location/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Machine

Machines represent physical manufacturing machines in your facilities.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
code String Optional A reference number or identifier for this machine.
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the shop department.
operator Nested Optional The team member that primarily operates this machine.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.
work_center Nested Optional The work center that this machine is assigned to.

Get all Machines

Get all Machines

To get a list of all machines, send a GET request to the /api/v1/machine endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/machine"
import requests

requests.get("https://bustererp.com/api/v1/machine", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"operator": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"work_center": "Nested"
}

Get one Machine by id

Get one Machine by id

To get one machine, send a GET request to the /api/v1/machine/<id> endpoint where id is the primary key for the machine that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/machine/1"
import requests

requests.get("https://bustererp.com/api/v1/machine/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"operator": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"work_center": "Nested"
}

Search for Machines

Search for Machines

To search for a specific subset of machines, send a GET request to the /api/v1/machine/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/machine/search"
import requests

requests.get("https://bustererp.com/api/v1/machine/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"operator": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"work_center": "Nested"
}

Create a new Machine

Create a new Machine

To create a machine, send a POST request to the /api/v1/machine endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new machine.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/machine"
import requests

requests.post("https://bustererp.com/api/v1/machine", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"operator": "Nested",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested",
"work_center": "Nested"
}

Delete an existing Machine

Delete an existing Machine

To delete an existing machine, send a DELETE request to the /api/v1/machine/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/machine/1"
import requests

requests.delete("https://bustererp.com/api/v1/machine/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Machine

Update an existing Machine

To update an existing machine, send a PUT request to the /api/v1/machine/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/machine/1"
import requests

requests.put("https://bustererp.com/api/v1/machine/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Product

A product is a definition for a part, sub assembly, finished good, or service that you buy, move, sell, or track.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
cost Float Required The list cost for the product.
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
list_price Float Required The list price for the product.
location Nested Optional The inventory location where this part lives.
mpn String Optional The manufacturing part number for the product.
name String Required The display name of the product.
sku String Optional The SKU number for the product.
team_id Integer Optional The primary key for the team that this record belongs to.
upc String Optional The product code for the product.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Products

Get all Products

To get a list of all products, send a GET request to the /api/v1/product endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/product"
import requests

requests.get("https://bustererp.com/api/v1/product", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"cost": "Float",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"list_price": "Float",
"location": "Nested",
"mpn": "String",
"name": "String",
"sku": "String",
"team_id": "Integer",
"upc": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Product by id

Get one Product by id

To get one product, send a GET request to the /api/v1/product/<id> endpoint where id is the primary key for the product that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/product/1"
import requests

requests.get("https://bustererp.com/api/v1/product/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"cost": "Float",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"list_price": "Float",
"location": "Nested",
"mpn": "String",
"name": "String",
"sku": "String",
"team_id": "Integer",
"upc": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Products

Search for Products

To search for a specific subset of products, send a GET request to the /api/v1/product/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/product/search"
import requests

requests.get("https://bustererp.com/api/v1/product/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"cost": "Float",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"list_price": "Float",
"location": "Nested",
"mpn": "String",
"name": "String",
"sku": "String",
"team_id": "Integer",
"upc": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new Product

Create a new Product

To create a product, send a POST request to the /api/v1/product endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new product.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/product"
import requests

requests.post("https://bustererp.com/api/v1/product", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"cost": "Float",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"list_price": "Float",
"location": "Nested",
"mpn": "String",
"name": "String",
"sku": "String",
"team_id": "Integer",
"upc": "String",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing Product

Delete an existing Product

To delete an existing product, send a DELETE request to the /api/v1/product/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/product/1"
import requests

requests.delete("https://bustererp.com/api/v1/product/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Product

Update an existing Product

To update an existing product, send a PUT request to the /api/v1/product/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/product/1"
import requests

requests.put("https://bustererp.com/api/v1/product/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Region

Regions are specific area within a country. Depending on the country these are going to be called different things. In the United States, the regions will be states.

Name Type Condition Description
abbreviation String Optional The unique abbreviation for the region.
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
country_id Integer Required The unique id for the country where this region belongs.
country_name String Optional The name of the country where this region belongs.
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
name String Required The name of the region (state or province).
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Regions

Get all Regions

To get a list of all regions, send a GET request to the /api/v1/region endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/region"
import requests

requests.get("https://bustererp.com/api/v1/region", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"abbreviation": "String",
"belongs_to_sandbox": "Boolean",
"country_id": "Integer",
"country_name": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Region by id

Get one Region by id

To get one region, send a GET request to the /api/v1/region/<id> endpoint where id is the primary key for the region that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/region/1"
import requests

requests.get("https://bustererp.com/api/v1/region/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"abbreviation": "String",
"belongs_to_sandbox": "Boolean",
"country_id": "Integer",
"country_name": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Regions

Search for Regions

To search for a specific subset of regions, send a GET request to the /api/v1/region/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/region/search"
import requests

requests.get("https://bustererp.com/api/v1/region/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"abbreviation": "String",
"belongs_to_sandbox": "Boolean",
"country_id": "Integer",
"country_name": "String",
"created_at": "DateTime",
"created_by": "Nested",
"id": "Integer",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Sale Order

Represents an order to purchase a set of goods or services from your business.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
customer Nested Required The customer purchasing the goods on this sales order.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
margin Float Optional
margin_percent Float Optional
order_date Date Required The date that the sales order was sold on.
order_lines Nested Optional The sale order lines, holding the information about products, quanties, and prices sold.
order_number String Optional The confirmed sales order number.
payment_terms String Optional The payment terms for the sales order.
quote_number String Optional The quote number related to the sales order.
reference String Optional An internal reference number or PO number.
salesperson Nested Optional The salesperson who created or was responsible for this sales order.
status String Optional The current status for the order (Draft, In Progress, or Done).
subtotal Float Optional
taxes Float Optional
team_id Integer Optional The primary key for the team that this record belongs to.
total Float Optional
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all Sale Orders

Get all Sale Orders

To get a list of all sale orders, send a GET request to the /api/v1/sale_order endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/sale_order"
import requests

requests.get("https://bustererp.com/api/v1/sale_order", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"customer": "Nested",
"id": "Integer",
"margin": "Float",
"margin_percent": "Float",
"order_date": "Date",
"order_lines": "Nested",
"order_number": "String",
"payment_terms": "String",
"quote_number": "String",
"reference": "String",
"salesperson": "Nested",
"status": "String",
"subtotal": "Float",
"taxes": "Float",
"team_id": "Integer",
"total": "Float",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one Sale Order by id

Get one Sale Order by id

To get one sale order, send a GET request to the /api/v1/sale_order/<id> endpoint where id is the primary key for the sale order that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/sale_order/1"
import requests

requests.get("https://bustererp.com/api/v1/sale_order/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"customer": "Nested",
"id": "Integer",
"margin": "Float",
"margin_percent": "Float",
"order_date": "Date",
"order_lines": "Nested",
"order_number": "String",
"payment_terms": "String",
"quote_number": "String",
"reference": "String",
"salesperson": "Nested",
"status": "String",
"subtotal": "Float",
"taxes": "Float",
"team_id": "Integer",
"total": "Float",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for Sale Orders

Search for Sale Orders

To search for a specific subset of sale orders, send a GET request to the /api/v1/sale_order/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/sale_order/search"
import requests

requests.get("https://bustererp.com/api/v1/sale_order/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"customer": "Nested",
"id": "Integer",
"margin": "Float",
"margin_percent": "Float",
"order_date": "Date",
"order_lines": "Nested",
"order_number": "String",
"payment_terms": "String",
"quote_number": "String",
"reference": "String",
"salesperson": "Nested",
"status": "String",
"subtotal": "Float",
"taxes": "Float",
"team_id": "Integer",
"total": "Float",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new Sale Order

Create a new Sale Order

To create a sale order, send a POST request to the /api/v1/sale_order endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new sale order.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/sale_order"
import requests

requests.post("https://bustererp.com/api/v1/sale_order", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"created_at": "DateTime",
"created_by": "Nested",
"customer": "Nested",
"id": "Integer",
"margin": "Float",
"margin_percent": "Float",
"order_date": "Date",
"order_lines": "Nested",
"order_number": "String",
"payment_terms": "String",
"quote_number": "String",
"reference": "String",
"salesperson": "Nested",
"status": "String",
"subtotal": "Float",
"taxes": "Float",
"team_id": "Integer",
"total": "Float",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing Sale Order

Delete an existing Sale Order

To delete an existing sale order, send a DELETE request to the /api/v1/sale_order/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/sale_order/1"
import requests

requests.delete("https://bustererp.com/api/v1/sale_order/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing Sale Order

Update an existing Sale Order

To update an existing sale order, send a PUT request to the /api/v1/sale_order/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/sale_order/1"
import requests

requests.put("https://bustererp.com/api/v1/sale_order/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

WorkCenter

A work center represents a manufacturing area where a certain operation or set of operations are performed. A work center may consist of a single or multiple workers and/or machines to perform those operations.

Name Type Condition Description
belongs_to_sandbox Boolean Optional A true/false value defining if this record is part of the sandbox environment (true) or part of the production environment (false).
code String Optional A reference number or identifier for this work center.
created_at DateTime Optional The date and time that this record was created.
created_by Nested Optional The team member from your team who originally created this record.
department_id Nested Optional The department that this work center belongs to.
facility_id Nested Required The facility where this work center is located.
id Integer Optional The primary key for the record, which is use for reference when interacting with the API.
machines Nested Optional The machines that are in this work center.
manager_id Nested Optional The manager in charge of this work center.
name String Required The name of the shop department.
team_id Integer Optional The primary key for the team that this record belongs to.
updated_at DateTime Optional The date and time that this record was last updated at.
updated_by Nested Optional The team member from your team who last updated this record.

Get all WorkCenters

Get all WorkCenters

To get a list of all workcenters, send a GET request to the /api/v1/work_center endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/work_center"
import requests

requests.get("https://bustererp.com/api/v1/work_center", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"department_id": "Nested",
"facility_id": "Nested",
"id": "Integer",
"machines": "Nested",
"manager_id": "Nested",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Get one WorkCenter by id

Get one WorkCenter by id

To get one workcenter, send a GET request to the /api/v1/work_center/<id> endpoint where id is the primary key for the workcenter that you are trying to fetch.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/work_center/1"
import requests

requests.get("https://bustererp.com/api/v1/work_center/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"department_id": "Nested",
"facility_id": "Nested",
"id": "Integer",
"machines": "Nested",
"manager_id": "Nested",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Search for WorkCenters

Search for WorkCenters

To search for a specific subset of workcenters, send a GET request to the /api/v1/work_center/search endpoint. Endpoints such as this, which could potentially return larger sets of data, will always be paginated. There are multiple ways to work with search functions depending on what exactly you are trying to do. Read through the Search Functions section in this documentation.

Example Request

curl -X GET --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/work_center/search"
import requests

requests.get("https://bustererp.com/api/v1/work_center/search", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 200 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"department_id": "Nested",
"facility_id": "Nested",
"id": "Integer",
"machines": "Nested",
"manager_id": "Nested",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Create a new WorkCenter

Create a new WorkCenter

To create a workcenter, send a POST request to the /api/v1/work_center endpoint. When creating any record in the system via a POST create requests, the data to create the record should be passed through the request body as JSON. Read through the JSON Data and Requests section in this documentation for more details. Check the fields table above for details about which fields can/must be passed in to create a new workcenter.

Example Request

curl -X POST --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/work_center"
import requests

requests.post("https://bustererp.com/api/v1/work_center", json={ ... }, headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 201 OK

Response Body

{
"belongs_to_sandbox": "Boolean",
"code": "String",
"created_at": "DateTime",
"created_by": "Nested",
"department_id": "Nested",
"facility_id": "Nested",
"id": "Integer",
"machines": "Nested",
"manager_id": "Nested",
"name": "String",
"team_id": "Integer",
"updated_at": "DateTime",
"updated_by": "Nested"
}

Delete an existing WorkCenter

Delete an existing WorkCenter

To delete an existing workcenter, send a DELETE request to the /api/v1/work_center/<id> endpoint. Delete requests will return an empty response with a 204 status code if successful.

Example Request

curl -X DELETE --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/work_center/1"
import requests

requests.delete("https://bustererp.com/api/v1/work_center/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Update an existing WorkCenter

Update an existing WorkCenter

To update an existing workcenter, send a PUT request to the /api/v1/work_center/<id> endpoint. Similar to create requests, when updating requests via a PUT request, the data to update the record should be passed through the request body as JSON. Update requests will return an empty response with a 204 status code if successful.

Example Request

curl -X PUT --data '"{ ... }"' --header "Authorization: Basic MYTOKEN" "https://bustererp.com/api/v1/work_center/1"
import requests

requests.put("https://bustererp.com/api/v1/work_center/1", headers={"Authorization": "Basic MYTOKEN"})

Response Headers

content-type: application/json
status: 204 OK

Response Body

{}

Endpoint Reference

Reference of all endpoints offered in the API. For details, see individual, relevant section above for the specific endpoint.

Endpoint Method Description
/api/v1/bom GET Retrieve all of the bill of materials (paginated).
/api/v1/bom/<id> GET Retrieve a single bill of material by primary key.
/api/v1/bom/search GET Search for a specific set of bill of materials (paginated).
/api/v1/bom POST Create a new bill of material.
/api/v1/bom/<id> DELETE Delete a single bill of material by primary key.
/api/v1/bom/<id> PUT Update a single bill of material by primary key.
/api/v1/customer GET Retrieve all of the customers (paginated).
/api/v1/customer/<id> GET Retrieve a single customer by primary key.
/api/v1/customer/search GET Search for a specific set of customers (paginated).
/api/v1/customer POST Create a new customer.
/api/v1/customer/<id> DELETE Delete a single customer by primary key.
/api/v1/customer/<id> PUT Update a single customer by primary key.
/api/v1/country GET Retrieve all of the countries (paginated).
/api/v1/country/<id> GET Retrieve a single country by primary key.
/api/v1/country/search GET Search for a specific set of countries (paginated).
/api/v1/department GET Retrieve all of the departments (paginated).
/api/v1/department/<id> GET Retrieve a single department by primary key.
/api/v1/department/search GET Search for a specific set of departments (paginated).
/api/v1/department POST Create a new department.
/api/v1/department/<id> DELETE Delete a single department by primary key.
/api/v1/department/<id> PUT Update a single department by primary key.
/api/v1/facility GET Retrieve all of the facilities (paginated).
/api/v1/facility/<id> GET Retrieve a single facility by primary key.
/api/v1/facility/search GET Search for a specific set of facilities (paginated).
/api/v1/facility POST Create a new facility.
/api/v1/facility/<id> DELETE Delete a single facility by primary key.
/api/v1/facility/<id> PUT Update a single facility by primary key.
/api/v1/industry GET Retrieve all of the industries (paginated).
/api/v1/industry/<id> GET Retrieve a single industry by primary key.
/api/v1/industry/search GET Search for a specific set of industries (paginated).
/api/v1/location GET Retrieve all of the locations (paginated).
/api/v1/location/<id> GET Retrieve a single location by primary key.
/api/v1/location/search GET Search for a specific set of locations (paginated).
/api/v1/location POST Create a new location.
/api/v1/location/<id> DELETE Delete a single location by primary key.
/api/v1/location/<id> PUT Update a single location by primary key.
/api/v1/machine GET Retrieve all of the machines (paginated).
/api/v1/machine/<id> GET Retrieve a single machine by primary key.
/api/v1/machine/search GET Search for a specific set of machines (paginated).
/api/v1/machine POST Create a new machine.
/api/v1/machine/<id> DELETE Delete a single machine by primary key.
/api/v1/machine/<id> PUT Update a single machine by primary key.
/api/v1/product GET Retrieve all of the products (paginated).
/api/v1/product/<id> GET Retrieve a single product by primary key.
/api/v1/product/search GET Search for a specific set of products (paginated).
/api/v1/product POST Create a new product.
/api/v1/product/<id> DELETE Delete a single product by primary key.
/api/v1/product/<id> PUT Update a single product by primary key.
/api/v1/region GET Retrieve all of the regions (paginated).
/api/v1/region/<id> GET Retrieve a single region by primary key.
/api/v1/region/search GET Search for a specific set of regions (paginated).
/api/v1/sale_order GET Retrieve all of the sale orders (paginated).
/api/v1/sale_order/<id> GET Retrieve a single sale order by primary key.
/api/v1/sale_order/search GET Search for a specific set of sale orders (paginated).
/api/v1/sale_order POST Create a new sale order.
/api/v1/sale_order/<id> DELETE Delete a single sale order by primary key.
/api/v1/sale_order/<id> PUT Update a single sale order by primary key.
/api/v1/work_center GET Retrieve all of the workcenters (paginated).
/api/v1/work_center/<id> GET Retrieve a single workcenter by primary key.
/api/v1/work_center/search GET Search for a specific set of workcenters (paginated).
/api/v1/work_center POST Create a new workcenter.
/api/v1/work_center/<id> DELETE Delete a single workcenter by primary key.
/api/v1/work_center/<id> PUT Update a single workcenter by primary key.

Error Codes

The Buster API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is invalid or incorrect.
403 Forbidden -- You do not have permission to view the requested record.
404 Not Found -- The specified record or endpoint could not be found.
405 Method Not Allowed -- You tried to access a record with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The record requested has been removed from our servers.
429 Too Many Requests -- You're requesting too many things! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.