Appearance
Device Data
Get all Devices
GET /v1/devicesHeaders
Accept: application/json
Authorization: Bearer {YOUR_ACCESS_TOKEN}- Results are paginated.
- Max. 15 devices per page.
- Navigation meta is provided.
Response 200
json
{
"data": [
{
"type": "device",
"id": 2,
"attributes": {
"sku": "APPIPHONE15PROMAX1TB",
"model": "iPhone 15 Pro Max 1TB",
"brandModel": "Apple iPhone 15 Pro Max 1TB",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Mobile",
"deviceTypeId": 1,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-08-22T13:19:45.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/2",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
},
{
"type": "device",
"id": 4,
"attributes": {
"sku": "SAMGALTABS7FE5G256GB",
"model": "Galaxy Tab S7 FE WiFi + Cellular 256GB",
"brandModel": "Samsung Galaxy Tab S7 FE WiFi + Cellular 256GB",
"brandName": "Samsung",
"brandId": 5,
"deviceType": "Tablet",
"deviceTypeId": 2,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-07-26T13:31:54.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/4",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/5",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/5/devices"
}
}
],
"links": {
"first": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices?page=1",
"last": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices",
"per_page": 15,
"to": 2,
"total": 2
}
}Get all Devices - Filter By Type
GET /v1/devices?type={deviceTypeId}Parameters
| Name | Type | Description | Example |
|---|---|---|---|
deviceTypeId | int | Device type ID | 3 (Watches) |
Headers
Accept: application/json
Authorization: Bearer {YOUR_ACCESS_TOKEN}- Results are paginated.
- Max. 15 devices per page.
- Navigation meta is provided.
Filter [type]
Field: 'deviceTypeId' - Mobiles (1), Tablets (2) or Watches (3).
Examples:
- /devices?type=1
- /devices?type=1&brand=5
As you can see above, you are able to combine several filters.
Response 200
json
{
"data": [
{
"type": "device",
"id": 5,
"attributes": {
"sku": "APPWATCHS8AL41MMG",
"model": "Watch Series 8 GPS Aluminium 41mm",
"brandModel": "Apple Watch Series 8 GPS Aluminium 41mm",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Watch",
"deviceTypeId": 3,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-07-26T13:31:54.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/5",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
}
],
"links": {
"first": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"last": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://appx-api.mysticky.co.uk/api/v1/devices",
"per_page": 15,
"to": 1,
"total": 1
}
}Get all Devices - Filter By Brand
GET /v1/devices?brand={brandId}Parameters
| Name | Type | Description | Example |
|---|---|---|---|
brandId | int | Brand ID | 1 (Apple) |
Headers
Accept: application/json
Authorization: Bearer {YOUR_ACCESS_TOKEN}- Results are paginated.
- Max. 15 devices per page.
- Navigation meta is provided.
Filter [brand]
Field: 'brandId' - Apple (1), Samsung (5), Google (2), etc.
Use the /brands endpoint to get a full list of valid {brandId}.
Examples:
- /devices?brand=2
- /devices?type=1&brand=2
As you can see above, you are able to combine several filters.
Response 200
json
{
"data": [
{
"type": "device",
"id": 2,
"attributes": {
"sku": "APPIPHONE15PROMAX1TB",
"model": "iPhone 15 Pro Max 1TB",
"brandModel": "Apple iPhone 15 Pro Max 1TB",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Mobile",
"deviceTypeId": 1,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-08-22T13:19:45.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/2",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
},
{
"type": "device",
"id": 5,
"attributes": {
"sku": "APPWATCHS8AL41MMG",
"model": "Watch Series 8 GPS Aluminium 41mm",
"brandModel": "Apple Watch Series 8 GPS Aluminium 41mm",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Watch",
"deviceTypeId": 3,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-07-26T13:31:54.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/5",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
}
],
"links": {
"first": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"last": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://appx-api.mysticky.co.uk/api/v1/devices",
"per_page": 15,
"to": 1,
"total": 1
}
}Get all Devices - Filter By SKU
GET /v1/devices?sku={sku}Parameters
| Name | Type | Description | Example |
|---|---|---|---|
sku | string | SKU (supports wildcard) | APPIPHONE15* |
Headers
Accept: application/json
Authorization: Bearer {YOUR_ACCESS_TOKEN}- Results are paginated.
- Max. 15 devices per page.
- Navigation meta is provided.
Filter [sku]
Field: 'sku' - Use a complete sku for a single device or a wildcard for a partial match if you need to get a range of devices.
Examples:
- /devices?sku=GOOPIXEL8PRO512GB
- /devices?sku=APPIPHONE15*
Response 200
json
{
"data": [
{
"type": "device",
"id": 2,
"attributes": {
"sku": "APPIPHONE15PROMAX1TB",
"model": "iPhone 15 Pro Max 1TB",
"brandModel": "Apple iPhone 15 Pro Max 1TB",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Mobile",
"deviceTypeId": 1,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-08-22T13:19:45.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/2",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
}
],
"links": {
"first": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"last": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://appx-api.mysticky.co.uk/api/v1/devices?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://appx-api.mysticky.co.uk/api/v1/devices",
"per_page": 15,
"to": 1,
"total": 1
}
}Get all Devices - Sort By 'id' or 'sku'
GET /v1/devices?sort={sortField}Parameters
| Name | Type | Description | Example |
|---|---|---|---|
sortField | string | Sort field (id or sku) | -id or -sku |
Headers
Accept: application/json
Authorization: Bearer {YOUR_ACCESS_TOKEN}- Results are paginated.
- Max. 15 devices per page.
- Navigation meta is provided.
SortField [ id | sku ]
Fields to sort by are 'id' or 'sku'. Denote a DESC sort with a minus sign prefix.
As you can see below, you are able to combine several filters and the sort if required.
Examples:
- /devices?sort=-sku
- /devices?sort=-id
- /devices?brand=1&sort=-sku
Note: default sorting is ASC so 'sort' only needs to be used if you require descending results.
Response 200
json
{
"data": [
{
"type": "device",
"id": 4,
"attributes": {
"sku": "SAMGALTABS7FE5G256GB",
"model": "Galaxy Tab S7 FE WiFi + Cellular 256GB",
"brandModel": "Samsung Galaxy Tab S7 FE WiFi + Cellular 256GB",
"brandName": "Samsung",
"brandId": 5,
"deviceType": "Tablet",
"deviceTypeId": 2,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-07-26T13:31:54.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/4",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/5",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/5/devices"
}
},
{
"type": "device",
"id": 2,
"attributes": {
"sku": "APPIPHONE15PROMAX1TB",
"model": "iPhone 15 Pro Max 1TB",
"brandModel": "Apple iPhone 15 Pro Max 1TB",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Mobile",
"deviceTypeId": 1,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-08-22T13:19:45.000000Z"
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/2",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
}
],
"links": {
"first": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices?page=1",
"last": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices",
"per_page": 15,
"to": 2,
"total": 2
}
}Get a Device
GET /devices/{id}Parameters
| Name | Type | Description | Example |
|---|---|---|---|
id | int | Device ID | 7861 |
Headers
Accept: application/json
Authorization: Bearer {YOUR_ACCESS_TOKEN}This includes pricing and image information.
Response 200
json
{
"data": {
"type": "device",
"id": 2,
"attributes": {
"sku": "APPIPHONE15PROMAX1TB",
"model": "iPhone 15 Pro Max 1TB",
"brandModel": "Apple iPhone 15 Pro Max 1TB",
"brandName": "Apple",
"brandId": 1,
"deviceType": "Mobile",
"deviceTypeId": 1,
"createdAt": "2024-07-26T13:31:54.000000Z",
"updatedAt": "2024-08-22T13:19:45.000000Z"
},
"relationships": {
"price": [
{
"data": [
{
"type": "price",
"attributes": {
"grade": "Excellent",
"value": "555.00",
"currency": "GBP"
}
},
{
"type": "price",
"attributes": {
"grade": "Good",
"value": "455.00",
"currency": "GBP"
}
},
{
"type": "price",
"attributes": {
"grade": "Faulty",
"value": "155.00",
"currency": "GBP"
}
}
]
}
],
"image TODO": {
"data TODO": [
{
"type": "image",
"id": "TODO",
"thumb": "IMAGE_TODO.png"
},
{
"type": "image",
"id": "TODO",
"small": "IMAGE_TODO.png"
},
{
"type": "image",
"id": "TODO",
"medium": "IMAGE_TODO.png"
},
{
"type": "image",
"id": "TODO",
"large": "IMAGE_TODO.png"
}
]
}
},
"links": {
"self": "https://appx-api.mysticky.co.uk/api/v1/devices/2",
"brand": "https://appx-api.mysticky.co.uk/api/v1/brands/1",
"devices": "https://appx-api.mysticky.co.uk/api/v1/brands/1/devices"
}
}
}