Endpoints
Updated over a week ago

IMPORTANT
Our API is continuously in development. You will be notified of upcoming changes ahead of time so keep a look out for any updates.

Developers have access to the Kickflip API to retrieve designs and orders data. This section will help you understand which parts of Kickflip you can access and how to work with them.

API access

In order to access orders information within Kickflip Rest API, you must generate an API key. The key should be used following JWT specification.

CAUTION
Do not share the tokens with anyone outside your organization.

Pagination

We use pagination to allow you to fetch orders or designs. To fetch the first result, do not include or set lastIndex parameter to 0. To fetch the subsequent results, use the lastIndex number from your previous request, in the pagination section. You will reach the last result page when the collectionSize is equal as the lastIndex, or when the resultSize is 0.


Orders

Get all orders

https://api.mycustomizer.com/brands/{companyname}/orders

This endpoint allows you to get your brand's orders.
Example : GET https://api.mycustomizer.com/brands/myamazingbrand/orders

Request

Path Parameters

companyname
(REQUIRED)

string

Your company / brand name.

Headers

Authorization

(REQUIRED)

string

API access token (JWT). The header should resemble this : Authorization: Bearer <token>

Query Parameters

lastIndex

(OPTIONAL)

number


Define the pagination. See pagination description. Will return the remaining results after result #. Cannot be 0 or exceed "collectionSize" (collectionSize is given in the response body).

sortOrder

(OPTIONAL)

string

Sort your results by "ascending" or "descending" order. By default it will be "descending"

count

(OPTIONAL)

number

Amount of orders. By default, 25 orders will be returned. Cannot be 0.

sortKey

(OPTIONAL)

string

Sorts your results by either "orderId" or by "date". By default, it will be the orderId.

Response

200: OK
Orders successfully retrieved.

{
"pagination": {
"collectionSize": 2,
"resultSize": 1,
"lastIndex": 0,
"sortOrder": "ascending",
"sortKey": "orderId"
},
"results": [
{
"currency": "CAD",
"status": "pending",
"paymentStatus": "paid",
"statusHistory": [
{
"status": "pending",
"date": "2019-02-23T17:52:35.202Z"
}
],
"exchangeRateAtCreation": 0.7276461903834083,
"transactionFeePercentage": 1.9,
"trial": false,
"_id": "5e69254b714841168b8d9825",
"eCommerceOrderId": "1014154653754",
"eCommerceOrderName": "#1001",
"store": "5e55926a61f7b78c20f298f6",
"items": [
{
"quantity": 1,
"design": "5e692525714841158b8d9825"
}
],
"totalPrice": 234,
"date": "2019-02-11T17:52:11.776Z",
"orderId": 2,
"__v": 0,
"id": "5e69254b714841168b8d9825"
}
]
}

401: Unauthorized

Wrong or absent Authorization header

Invalid credentials


500: Internal Server Error

Bad request param

Invalid sort value: { orderId: dsfdsdf }

Get order by id

https://api.mycustomizer.com/brands/{companyname}/orders/:id

Get a specific order by its id

Request

Path Parameters

id

(REQUIRED)

string

The requested order id.

companyname

(REQUIRED)

string

Your company / brand name.

Headers

Authorization

(REQUIRED)

string

API access token (JWT). The header should resemble this : Authorization: Bearer <token>

Response

200: OK

{
"currency": "CAD",
"status": "pending",
"paymentStatus": "paid",
"statusHistory": [
{
"status": "pending",
"date": "2019-02-23T17:52:35.202Z"
}
],
"exchangeRateAtCreation": 0.7276461903834083,
"transactionFeePercentage": 1.9,
"trial": false,
"_id": "5e69254b714841168b8d9825",
"eCommerceOrderId": "1014154653754",
"eCommerceOrderName": "#1001",
"store": "5e55926a61f7b78c20f298f6",
"items": [
{
"quantity": 1,
"design": "5e692525714841158b8d9825"
}
],
"totalPrice": 234,
"date": "2019-02-11T17:52:11.776Z",
"orderId": 2,
"__v": 0,
"id": "5e69254b714841168b8d9825"
}


404: Not Found
Order does not exist

Not Found


Designs

Get Designs

https://api.mycustomizer.com/brands/{companyname}/designs

This endpoint allows you to get your brand's designs.

Request

Path Parameters

companyname

(REQUIRED)

string

Your company / brand name.

Headers

Authentication

(REQUIRED)

string

API access token (JWT). The header should resemble this : Authorization: Bearer <token>

Query Parameters

lastIndex

(OPTIONAL)

number

Define the pagination. See pagination description in Endpoints page. Will return the remaining results after result #<lastIndex>. Cannot be 0 or exceed "collectionSize" (collectionSize is given in the response body).

count

(OPTIONAL)

number

Amount of designs. By default, 25 designs will be returned. Cannot be 0.

backwards

(OPTIONAL)

boolean

Sort in ascending order (false) or in descending order (true). Default value is false.

sortKey

(OPTIONAL)

boolean

Whether the cake should be gluten-free or not.

Response

200: OK

Designs successfully retrieved.

{
"pagination": {
"collectionSize": 2,
"resultSize": 1,
"lastIndex": 1,
"sortOrder": "descending",
"sortKey": "designId"
},
"results": [
{
"productionData": [
{
"key": "Body material",
"value": "Bright Red",
"ref": {
"optionId": "OPTION-3yvzws",
"choiceId": "CHOICE-3z0yrg"
}
},
{
"key": "Pickguard material",
"value": "White",
"ref": {
"optionId": "OPTION-3yy27g",
"choiceId": "CHOICE-3zjli5"
}
},
{
"key": "Controls material",
"value": "Black",
"ref": {
"optionId": "OPTION-3z1sy4",
"choiceId": "CHOICE-3gkyxt"
}
},
{
"key": "Pickups material",
"value": "White",
"ref": {
"optionId": "OPTION-3z59m4",
"choiceId": "CHOICE-3z4m5p"
}
},
{
"key": "Logo logo",
"value": "https://cdn1.mczr.co/companyname/5ba28ac92f99bd001016621c.png",
"ref": {
"optionId": "OPTION-3zepsg",
"choiceId": "CHOICE-670j8j"
}
},
{
"key": "Sticker image",
"value": "Red heart",
"ref": {
"optionId": "OPTION-2rhdgx",
"choiceId": "CHOICE-2rkgpd"
}
},
{
"key": "Name font",
"value": "Bodoni",
"ref": {
"optionId": "OPTION-1xxzli",
"choiceId": "CHOICE-1xniva"
}
},
{
"key": "Name color",
"value": "Red",
"ref": {
"optionId": "OPTION-1xyd12",
"choiceId": "CHOICE-1xsnli"
}
}
],
"summary": [
{
"key": "Body",
"value": "Bright Red"
},
{
"key": "Pickguard",
"value": "White"
},
{
"key": "Controls",
"value": "Black"
},
{
"key": "Pickups",
"value": "White"
},
{
"key": "Your name"
},
{
"key": "Sticker",
"value": "Red heart"
}
],
"designImages": [
{
"_id": "5e74283608310f001714de62",
"originalFilename": "topnotchdesignname-1.png",
"size": 586761,
"date": "2020-03-20T02:19:34.739Z",
"filename": "5e74283608310f001714de62.png",
"url": "https://cdnv2.mycustomizer.com/companyname/5e74283608310f001714de62.png",
"__v": 0
}
],
"_id": "5e74283608310f001714de63",
"price": 123,
"configuration": {
"OPTION-3yt018": "CHOICE-3ytdoc",
"OPTION-3yvwjw": "CHOICE-3ywa70",
"OPTION-3yvzws": "CHOICE-3z0yrg",
"OPTION-3yxyuk": "CHOICE-3z0drw",
"OPTION-3yy27g": "CHOICE-3zjli5",
"OPTION-3z1pl8": "CHOICE-3z2db0",
"OPTION-3z1sy4": "CHOICE-3gkyxt",
"OPTION-3z5698": "CHOICE-3ycmbg",
"OPTION-3z59m4": "CHOICE-3z4m5p",
"OPTION-3zemfk": "CHOICE-3zeccw",
"OPTION-3zepsg": {
"id": "CHOICE-670j8j",
"name": "Custom logo",
"code": "",
"description": "",
"thumbnail": null,
"type": "logo",
"views": [
{
"type": "logo",
"logo": {
"_id": "5ba28ac92f99bd001016621c",
"originalFilename": "yourlogo.png",
"size": 9539,
"date": "2018-09-19T17:43:37.742Z",
"filename": "5ba28ac92f99bd001016621c.png",
"url": "https://cdn1.mczr.co/companyname/5ba28ac92f99bd001016621c.png",
"id": "5ba28ac92f99bd001016621c"
}
}
]
},
"OPTION-3zet5c": "CHOICE-3zej2o",
"OPTION-3zewi8": "CHOICE-3zefps",
"OPTION-2rhdgx": "CHOICE-2rkgpd",
"OPTION-1xxzli": "CHOICE-1xniva",
"OPTION-1xy2ye": "CHOICE-1xhsdy",
"OPTION-1xy6ba": {
"id": "CHOICE-1xxsvq",
"type": "text",
"name": "Default text",
"views": [
{
"type": "text",
"text": "Your text"
}
]
},
"OPTION-1xy9o6": "CHOICE-1xxw8m",
"OPTION-1xyd12": "CHOICE-1xsnli",
"OPTION-1yhniv": "CHOICE-1yiedz",
"OPTION-3fwg80": "CHOICE-3fx734"
},
"productId": "5e2a0142c56085001093615b",
"productName": "Custom Guitar",
"customizerProductId": "5e2a0142c56085001093615a",
"designImage": {
"_id": "5e74283608310f001714de62",
"originalFilename": "topnotchdesignname-1.png",
"size": 586761,
"date": "2020-03-20T02:19:34.739Z",
"filename": "5e74283608310f001714de62.png",
"url": "https://cdnv2.mycustomizer.com/companyname/5e74283608310f001714de62.png",
"__v": 0
},
"store": "5e2a0143db252ec325e011f2",
"createdAt": "2020-03-20T02:19:34.964Z",
"updatedAt": "2020-03-20T02:19:34.964Z",
"designId": 2,
"__v": 0,
"id": "5e74283608310f001714de63"
}
]
}

404: Not Found

Could not find your company name

Trying to launch invalid tenant.

Get Design by id

https://api.mycustomizer.com/brands/{companyname}

/designs/:id

Request

Path Parameters

id

(REQUIRED)

string

The requested design id.

companyname

(REQUIRED)

string

Your company / brand name.

Headers

Authorization

(REQUIRED)

API access token (JWT). The header should resemble this :

Authorization: Bearer <token>

Response


200: OK

Successfully retrieved the design

{
"productionData": [
{
"key": "Body material",
"value": "Bright Red",
"ref": {
"optionId": "OPTION-3yvzws",
"choiceId": "CHOICE-3z0yrg"
}
},
{
"key": "Pickguard material",
"value": "White",
"ref": {
"optionId": "OPTION-3yy27g",
"choiceId": "CHOICE-3zjli5"
}
},
{
"key": "Controls material",
"value": "Black",
"ref": {
"optionId": "OPTION-3z1sy4",
"choiceId": "CHOICE-3gkyxt"
}
},
{
"key": "Pickups material",
"value": "White",
"ref": {
"optionId": "OPTION-3z59m4",
"choiceId": "CHOICE-3z4m5p"
}
},
{
"key": "Logo logo",
"value": "https://cdn1.mczr.co/companyname/5ba28ac92f99bd001016621c.png",
"ref": {
"optionId": "OPTION-3zepsg",
"choiceId": "CHOICE-670j8j"
}
},
{
"key": "Sticker image",
"value": "Red heart",
"ref": {
"optionId": "OPTION-2rhdgx",
"choiceId": "CHOICE-2rkgpd"
}
},
{
"key": "Name font",
"value": "Bodoni",
"ref": {
"optionId": "OPTION-1xxzli",
"choiceId": "CHOICE-1xniva"
}
},
{
"key": "Name color",
"value": "Red",
"ref": {
"optionId": "OPTION-1xyd12",
"choiceId": "CHOICE-1xsnli"
}
}
],
"summary": [
{
"key": "Body",
"value": "Bright Red"
},
{
"key": "Pickguard",
"value": "White"
},
{
"key": "Controls",
"value": "Black"
},
{
"key": "Pickups",
"value": "White"
},
{
"key": "Your name"
},
{
"key": "Sticker",
"value": "Red heart"
}
],
"designImages": [
{
"_id": "5e74283608310f001714de62",
"originalFilename": "topnotchdesignname-1.png",
"size": 586761,
"date": "2020-03-20T02:19:34.739Z",
"filename": "5e74283608310f001714de62.png",
"url": "https://cdnv2.mycustomizer.com/companyname/5e74283608310f001714de62.png",
"__v": 0
}
],
"_id": "5e74283608310f001714de63",
"price": 123,
"configuration": {
"OPTION-3yt018": "CHOICE-3ytdoc",
"OPTION-3yvwjw": "CHOICE-3ywa70",
"OPTION-3yvzws": "CHOICE-3z0yrg",
"OPTION-3yxyuk": "CHOICE-3z0drw",
"OPTION-3yy27g": "CHOICE-3zjli5",
"OPTION-3z1pl8": "CHOICE-3z2db0",
"OPTION-3z1sy4": "CHOICE-3gkyxt",
"OPTION-3z5698": "CHOICE-3ycmbg",
"OPTION-3z59m4": "CHOICE-3z4m5p",
"OPTION-3zemfk": "CHOICE-3zeccw",
"OPTION-3zepsg": {
"id": "CHOICE-670j8j",
"name": "Custom logo",
"code": "",
"description": "",
"thumbnail": null,
"type": "logo",
"views": [
{
"type": "logo",
"logo": {
"_id": "5ba28ac92f99bd001016621c",
"originalFilename": "yourlogo.png",
"size": 9539,
"date": "2018-09-19T17:43:37.742Z",
"filename": "5ba28ac92f99bd001016621c.png",
"url": "https://cdn1.mczr.co/companyname/5ba28ac92f99bd001016621c.png",
"id": "5ba28ac92f99bd001016621c"
}
}
]
},
"OPTION-3zet5c": "CHOICE-3zej2o",
"OPTION-3zewi8": "CHOICE-3zefps",
"OPTION-2rhdgx": "CHOICE-2rkgpd",
"OPTION-1xxzli": "CHOICE-1xniva",
"OPTION-1xy2ye": "CHOICE-1xhsdy",
"OPTION-1xy6ba": {
"id": "CHOICE-1xxsvq",
"type": "text",
"name": "Default text",
"views": [
{
"type": "text",
"text": "Your text"
}
]
},
"OPTION-1xy9o6": "CHOICE-1xxw8m",
"OPTION-1xyd12": "CHOICE-1xsnli",
"OPTION-1yhniv": "CHOICE-1yiedz",
"OPTION-3fwg80": "CHOICE-3fx734"
},
"productId": "5e2a0142c56085001093615b",
"productName": "Custom Guitar",
"customizerProductId": "5e2a0142c56085001093615a",
"designImage": {
"_id": "5e74283608310f001714de62",
"originalFilename": "topnotchdesignname-1.png",
"size": 586761,
"date": "2020-03-20T02:19:34.739Z",
"filename": "5e74283608310f001714de62.png",
"url": "https://cdnv2.Kickflip.com/companyname/5e74283608310f001714de62.png",
"__v": 0
},
"store": "5e2a0143db252ec325e011f2",
"createdAt": "2020-03-20T02:19:34.964Z",
"updatedAt": "2020-03-20T02:19:34.964Z",
"designId": 2,
"__v": 0,
"id": "5e74283608310f001714de63"
}

Get bad words list

https://api.mycustomizer.com/brands/{companyname}/wordfilter

Request

Path Parameters

companyname

(REQUIRED)

string

Your company / brand name.

Headers

Authorization

(REQUIRED)

API access token (JWT). The header should resemble this :

Authorization: Bearer <token>

Response


200: OK

Successfully retrieved the wordfilter

{
isActive: true,
words: ["bad-word-1", "bad word 2", "badWord3"]
}

Post bad words list

https://api.mycustomizer.com/brands/{companyname}/wordfilter

Request

Path Parameters

companyname

(REQUIRED)

string

Your company / brand name.

Headers

Authorization

(REQUIRED)

API access token (JWT). The header should resemble this :

Authorization: Bearer <token>

Body

isActive (OPTIONAL)

boolean

words (OPTIONAL)

string[]

the full list of bad words as an array of strings

Response


200: OK

Successfully retrieved the wordfilter

["bad-word-1", "bad word 2", "badWord3"]

404: Not Found

Not Found
Did this answer your question?