{"openapi":"3.1.0","info":{"title":"EdgeGigs API","version":"1.0.0","description":"Public API for the EdgeGigs marketplace (freelance services, digital products, API resellers, cloud-infra rentals). Catalog endpoints are public; account endpoints require a per-user API key sent as `Authorization: Bearer egk_live_…`. Create/reissue/revoke a key from the signed-in settings page at /settings/api-keys."},"servers":[{"url":"https://edgegigs.com/api"}],"components":{"securitySchemes":{"ApiKeyBearer":{"type":"http","scheme":"bearer","bearerFormat":"egk_live_*","description":"Personal API key. Get one at https://edgegigs.com/settings/api-keys (sign-in required). Reissuing the key invalidates the previous one."}}},"paths":{"/health":{"get":{"summary":"Service health + active gig count","security":[],"responses":{"200":{"description":"OK"}}}},"/categories":{"get":{"summary":"Category list (key + label), filtered by visibility","security":[],"responses":{"200":{"description":"OK"}}}},"/gigs":{"get":{"summary":"List / search active gigs (Fiverr-style ranked)","security":[],"parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Category key"},{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text title search"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["best","selling","newest","rating"]}}],"responses":{"200":{"description":"OK"}}}},"/gigs/{id}":{"get":{"summary":"Single gig detail","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Not found"}}}},"/sellers":{"get":{"summary":"Sellers with at least one active gig","security":[],"responses":{"200":{"description":"OK"}}}},"/sellers/{id}":{"get":{"summary":"Seller profile + their active gigs","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Not found"}}}},"/endpoints":{"get":{"summary":"Priced API endpoints for an API-type gig","security":[],"parameters":[{"name":"gig","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/orders":{"get":{"summary":"The authenticated user's orders (newest first)","security":[{"ApiKeyBearer":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Not authenticated"}}}},"/favorites":{"get":{"summary":"The authenticated user's saved gigs","security":[{"ApiKeyBearer":[]}],"parameters":[{"name":"ids","in":"query","required":false,"schema":{"type":"string","enum":["1"]},"description":"ids=1 returns just saved gig ids"}],"responses":{"200":{"description":"OK"},"401":{"description":"Not authenticated"}}},"post":{"summary":"Save a gig to the wishlist","security":[{"ApiKeyBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["gigId"],"properties":{"gigId":{"type":"string"}}}}}},"responses":{"200":{"description":"OK"},"401":{"description":"Not authenticated"},"404":{"description":"Gig not found"}}},"delete":{"summary":"Remove a gig from the wishlist","security":[{"ApiKeyBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["gigId"],"properties":{"gigId":{"type":"string"}}}}}},"responses":{"200":{"description":"OK"},"401":{"description":"Not authenticated"}}}},"/credits/balance":{"get":{"summary":"The authenticated user's prepaid API-credit balance","security":[{"ApiKeyBearer":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Not authenticated"}}}}}}