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'); } } ```