NAV
shell

Introduction

Welcome to the CheckMaxx Check API !

You can use our API to access endpoints, which gives read/write to CheckMaxx checklists.

Endpoints description, method, url, request/response schema and their description are presented on the left. The right side contains example requests (via curl) and responses (in JSON).

For more information on types and possible value, refer to the Models and Enumeration section.

In the future, more endpoints will be added in order to provide complete access to CheckMaxx database.

If this is your first time reading the docs, check out the Authentication section for obtaining and using API keys.

Changelog section contains all updates related to this API.

Authentication

To authorize, use this code:

# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
  -H "Authorization: $your_api_key"

CheckMaxx API uses API keys to allow access to the API... You can receive a new API key by logging in, and it will be provided as a session token.

Check Service CheckMaxx Controller

CheckMaxx controller for creating and retrieving checklists.

The Check Service CheckMaxx Controller API provides endpoints for managing CheckMaxx checklists. It allows seamless creation and retrieval of checklists, enabling efficient checklist management.

Creates a Checkmaxx

curl "API_BASE/v1/checkmaxxs/create"
    -H "Authorization: $your_api_key"

This endpoint create a Checkmaxx and send the PDF to the user.

HTTP Request

POST /v1/checkmaxxs/create

The request Body payload is:

{
    "checkmaxx": {
        "created_on": "0001-01-01T00:00:00Z",
        "id": 0,
        "checkable_id": 0,
        "checked_id": 0,
        "shop_id": 0,
        "created_by": 0,
        "shop": null,
        "checked": null,
        "items": null
    }
}

The request JSON response is:

{
    "id": 0
}

Request schema

Parameter Type Required Description
checkmaxx CheckMaxx[interface {}] true The checkmaxx to be created, with the checked object and checked items embedded

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
id CheckMaxxID

Upload a checked photo

curl "API_BASE/v1/checkmaxxs/upload_checked_photo"

This endpoint upload a picture and return it's URL to be used as checked.photo_url.

HTTP MultiPart Request

POST /v1/checkmaxxs/upload_checked_photo

The request parts are:

--XXX
Content-Disposition: form-data; name=

...
--XXX
Content-Disposition: form-data; name=

...--XXX--

The request JSON response is:

{
    "photo_url": "",
    "thumbnail_url": ""
}

This request must be a multipart/form-data content-type with valid boundary for each part

Request parts schema

Parameter Type Required Description
photo http.FormFile true The photo to be uploaded.
thumbnail http.FormFile true The thumbnail to be uploaded

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
photo_url string
thumbnail_url string

Upload an item photo

curl "API_BASE/v1/checkmaxxs/upload_item_photo"

This endpoint upload a picture and return it's URL to be used as item.photo_url.

HTTP MultiPart Request

POST /v1/checkmaxxs/upload_item_photo

The request parts are:

--XXX
Content-Disposition: form-data; name=

...
--XXX
Content-Disposition: form-data; name=

...--XXX--

The request JSON response is:

{
    "photo_url": "",
    "thumbnail_url": ""
}

This request must be a multipart/form-data content-type with valid boundary for each part

Request parts schema

Parameter Type Required Description
photo http.FormFile true The photo to be uploaded.
thumbnail http.FormFile true The thumbnail to be uploaded

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
photo_url string
thumbnail_url string

Read a Checkmaxx

curl "API_BASE/v1/checkmaxxs/read"
    -H "Authorization: $your_api_key"

This endpoint return a created CheckMaxx via a private key.

HTTP Request

POST /v1/checkmaxxs/read

The request Body payload is:

{
    "key": ""
}

The request JSON response is:

{
    "checkmaxx": null
}

Request schema

Parameter Type Required Description
key string true The private key that identify the Checkmaxx to read

Response schema

This endpoint return an object with the following fields, please refer to the JSON response column on the right for an example.

Parameter Type
checkmaxx model.CheckMaxx[interface {}]

Models and Enumeration

Checkable Enumeration

Value Description
1 Car
2 Truck
3 Bicycle
4 Motorcycle
5 Tractor
6 Moped

ItemCategory Enumeration

Value Description
1 On the top of the vehicle
2 Electrical installation
3 Under the hood of the vehicle
4 Related to the Axle
5 Underneath the vehicle
6 On the interior of the vehicle
7 Miscellaneous or with no specific categorization
8 Related to Tires
9 On the body of the vehicle

ItemType Enumeration

Value Description
1 For recording remarks on the item
2 A 2D image to mark areas corresponding to a remark
3 Detailed overview of a vehicles' tyres

ShopTier Enumeration

Value Description
1 Basic shop, limited to 4 checkmaxx a day. Default option when creating a Shop.

CheckMaxx[interface {}] Model

Field Type Description
ID CheckMaxxID Identifier of the CheckMaxx
CheckableID Checkable Type of the checked object
CheckedID CheckedID Identifier of the checked object
ShopID ShopID Identifier of the Shop linked to the user when creating the CheckMaxx
CreatedBy UserID Identifier of the User who created this
Shop Shop Shop linked to the User when the CheckMaxx was created
Checked Checked[interface {}] The object checked
Items Item[interface {}] The items founds on the object checked

Checked[interface {}] Model

Field Type Description
ID CheckedID
CheckableID Checkable Identifier for the type of child that inherits this Checked
ShopID ShopID Identifier of the Shop to which this Checked belongs
PhotoURL string URL of the checked object's photo
ThumbnailURL string URL of the checked object's thumbail
CreatedBy UserID Identifier of the User who created this Checked
Extra interface {}

FormFile Model

Field Type Description

Item[interface {}] Model

Field Type Description
ID ItemID
ItemTypeID ItemType Identifier of the Item Type
ItemCategoryID ItemCategory Identifier of the Item Category
ItemCategoryOrder int Order to display each Category of the Item
ItemOrder int Order to display each Item
PhotoURL string URL of the item photo
ThumbnailURL string URL of the item thumbail
CheckMaxxID CheckMaxxID Identifier of the CheckMaxx to which this Item belongs
CheckableID Checkable Identifier of the Checkable to which this Item belongs
ShopID ShopID Identifier of the Shop to which this Item belongs
CreatedBy UserID Identifier of the User who created this Item
Extra interface {} Contains the child object corresponding to the Item Type

Shop Model

Field Type Description
ID ShopID
PhotoURL string URL of the shop photo
ThumbnailURL string URL of the shop thumbail
Name string Name or title
Address string Physical address or location
Phone string Contact phone number
Email string Email address
CheckableID Checkable What is the shop checking
ShopTierID ShopTier Which feature the shop has access to
CreatedByID UserID ID of the user that created the shop
UpdatedByID UserID ID of the last user who updated the shop

Changelog

This section contains changes related to the API service. Changes will be included if:

Initial release - 08.06.2023.

The following endpoints are included with initial release:

Errors

CheckMaxx APIs uses the following error codes:

Error Code Meaning
400 Bad Request : Your request is invalid.
401 Unauthorized : Your API key is wrong.
404 Not Found : The specified endpoint could not be found.
405 Method Not Allowed : You tried to access server with an invalid method.
429 Too Many Requests : You're making too many requests.
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.