Getting started with the API
To get the link to create API keys, reach out to your Kotis contact. Note that API keys should be saved securely and shared with the minimum number of people possible to reduce unauthorized access.
Creating an API key
"Live" checkbox - Checking this box will create a live API key. If you want to generate a test key that won't impact anything in production, leave this box unchecked. Test keys can be marked as live later when you're ready to use them. Please note that once a key is switched to Live mode, it cannot be reverted to a test key.
"Notes" - This is an optional field best used to track the purpose of each key, helping you maintain your list of keys and remove inactive ones.
Check inventory
Create an order
Check order status (including tracking)
#GET https://kwf.kotisdesign.com/api/v1/orders/status?order_numbers=12345,23719201
#set 'Authorization' header to api key
#success response
{
"data": [
{
"id": "12345",
"type": "orders",
"attributes": { "status": "shipped" },
"relationships": {
"shipments": {
"data": [
{
"type": "shipments",
"id": "543416"
},
{
"type": "shipments",
"id": "544568"
}
]
}
}
},
{
"id": "23719201",
"type": "orders",
"relationships": {
"shipments": {
"data": [
{
"type": "shipments",
"id": "767586"
}
]
}
}
}
],
"included": [
{
"id": "543416",
"type": "shipments",
"attributes": {
"tracking_numbers": "1Z8424330419842539",
"shipment_date": "2018-10-02T14:50:24-07:00",
"delivery_status": "delivered"
}
},
{
"id": "544568",
"type": "shipments",
"attributes": {
"tracking_numbers": "1Z8424330402599594",
"shipment_date": "2018-10-05T15:18:28-07:00",
"delivery_status": "out_for_delivery"
}
},
{
"id": "767586",
"type": "shipments",
"attributes": {
"tracking_numbers": "9405537897842130146579",
"shipment_date": "2019-11-12T07:48:06-08:00",
"status": "in_transit"
}
}
],
"jsonapi": {
"version": "1.0"
}
}
#response with invalid orders
{
"data": [],
"jsonapi": {
"version": "1.0"
}
}
#invalid key
{
"errors": [
{
"title": "Invalid Api Key",
"detail": ""
}
]
}
#possible shipment 'delivery_status' values are:
# "unknown", "pre_transit", "in_transit", "out_for_delivery", "delivered",
# "available_for_pickup", "return_to_sender", "failure", "cancelled" or "error"
#possible order status values are:
# "pending", "partially_shipped", "shipped", "delivered", "cancelled"
Create redemption codes
All keys are required. If the API_KEY is not associated with an active Portal the API will return an error. This API endpoint incorporates a daily_limit of 5,000 and yearly_limit of 50,000. When a portal is near its daily / yearly limit and the value of number_to_create key is greater than the limit, a message is returned with the allowed number to create.