Cross-Platform Gadget Brands & Updated Items API (Android, iOS, Windows, macOS, Linux)
# Cross-Platform Gadget Brands & Updated Items API
This document details the REAL implemented endpoints for Gadget Brands and Recently Updated Items. Please follow these exact endpoints for your Android, iOS, and Web clients.
All endpoints require authentication (API key) either via header `X-API-KEY` or Bearer Token.
---
## 1. Unified Brands Directory
Fetch all active brands.
- **Method**: `GET`
- **Endpoint**: `/api/apps/v1/gadget/brands`
- **Query Parameters**:
- `brand` *(optional, string)*: Filter by brand slug or name.
### Sample Request
```http
GET /api/apps/v1/gadget/brands HTTP/1.1
Host: pixahunt.com
Accept: application/json
X-API-KEY: your_api_key
```
---
## 2. Brand Profile (Info) API
Fetch detailed corporate information for a specific brand.
- **Method**: `GET`
- **Endpoint**: `/api/apps/v1/gadget/brands/info`
- **Query Parameters**:
- `brand` *(required, string)*: The unique slug or name of the brand (e.g., `intel`, `amd`).
### Sample Request
```http
GET /api/apps/v1/gadget/brands/info?brand=intel HTTP/1.1
Host: pixahunt.com
Accept: application/json
```
---
## 3. Brand Branches API
Fetch all branches, headquarters, and service centers for a brand.
- **Method**: `GET`
- **Endpoint**: `/api/apps/v1/gadget/brands/branches`
- **Query Parameters**:
- `brand` *(required, string)*: Brand slug.
---
## 4. Brand CEOs API
Fetch CEO and executive leadership information for a brand.
- **Method**: `GET`
- **Endpoint**: `/api/apps/v1/gadget/brands/ceos`
- **Query Parameters**:
- `brand` *(required, string)*: Brand slug.
- `current` *(optional, boolean)*: Set to `1` to fetch only current CEOs.
---
## 5. Gadget Products & Updated Items API
We use a **Unified Products API** endpoint to fetch products, sort them, and filter them by "Recently Updated" or by "Brand".
- **Method**: `GET`
- **Endpoint**: `/api/apps/v1/gadgets/products`
- **Query Parameters**:
- `brand` *(optional, string)*: Filter by brand slug (e.g. `intel`).
- `category` *(optional, string)*: Filter by category slug (e.g. `processor`).
- `sort` *(optional, string)*: Set to `updated` to get the most recently updated items first. Other options: `latest`, `price_low`, `price_high`, `name_asc`, `name_desc`.
- `days` *(optional, int)*: Only return items updated in the last X days (e.g., `7` for last 7 days).
- `since` *(optional, string)*: Only return items updated since this timestamp (e.g., `2026-10-01`).
- `limit` *(optional, int)*: Items per page (default 20).
### Fetching Recently Updated Items (Delta Sync)
To get products updated in the last 7 days for a specific brand:
```http
GET /api/apps/v1/gadgets/products?brand=intel&sort=updated&days=7 HTTP/1.1
Host: pixahunt.com
Accept: application/json
```
To get global recently updated products across ALL brands:
```http
GET /api/apps/v1/gadgets/products?sort=updated&days=30 HTTP/1.1
Host: pixahunt.com
Accept: application/json
```
---
## Client Integration Examples
### Android (Retrofit / Kotlin)
```kotlin
interface GadgetApi {
@GET("api/v1/gadgets/products")
suspend fun getUpdatedProducts(
@Query("brand") brand: String?,
@Query("sort") sort: String = "updated",
@Query("days") days: Int? = null,
@Header("X-API-KEY") apiKey: String
): Response
@GET("api/v1/brands/info")
suspend fun getBrandInfo(
@Query("brand") brand: String,
@Header("X-API-KEY") apiKey: String
): Response
}
```
### Flutter / Dart
```dart
import 'dart:convert';
import 'package:http/http.dart' as http;
Future fetchUpdatedProducts() async {
final url = Uri.parse('https://pixahunt.com/api/apps/v1/gadgets/products?sort=updated&days=7');
final response = await http.get(url, headers: {
'Accept': 'application/json',
'X-API-KEY': 'your_api_key'
});
if (response.statusCode == 200) {
return json.decode(response.body);
} else {
throw Exception('Failed to load products');
}
}
```