{"openapi":"3.1.0","info":{"title":"PUT /api/v1/businesses/nav-preferences","version":"1.0.0","description":"Update sidebar navigation preferences"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/businesses/nav-preferences":{"put":{"tags":["businesses"],"summary":"Update sidebar navigation preferences","description":"Replace the per-business hidden nav set. Send an empty list to show everything.","operationId":"update_nav_preferences_api_v1_businesses_nav_preferences_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-business-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Business-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NavPreferencesUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessEnvelope_NavPreferencesResponse_"}}}},"400":{"description":"Bad Request - Invalid input","content":{"application/json":{"example":{"detail":"Invalid request parameters"}}}},"401":{"description":"Unauthorized - Authentication required","content":{"application/json":{"example":{"detail":"Not authenticated"}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}},"404":{"description":"Not Found - Resource does not exist","content":{"application/json":{"example":{"detail":"Resource not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NavPreferencesProfile":{"properties":{"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary","description":"Short business profile, e.g. 'Service business, no inventory'"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source","description":"How the config was set: 'manual' or 'ai'"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At","description":"ISO 8601 timestamp of the last change"}},"type":"object","title":"NavPreferencesProfile","description":"Optional context describing how the hidden set was chosen."},"NavPreferencesResponse":{"properties":{"hidden":{"items":{"type":"string"},"type":"array","title":"Hidden","description":"Hidden nav item ids (e.g. 'workspace:inventory', 'books-section:Planning')"},"profile":{"anyOf":[{"$ref":"#/components/schemas/NavPreferencesProfile"},{"type":"null"}],"description":"Optional profile describing the chosen config"},"version":{"type":"integer","title":"Version","description":"Schema version of the stored blob","default":1}},"type":"object","title":"NavPreferencesResponse","description":"Per-business sidebar customization."},"NavPreferencesUpdateRequest":{"properties":{"hidden":{"items":{"type":"string"},"type":"array","title":"Hidden","description":"Full list of hidden nav item ids. Send [] to show everything."},"profile":{"anyOf":[{"$ref":"#/components/schemas/NavPreferencesProfile"},{"type":"null"}],"description":"Optional profile describing the chosen config"}},"type":"object","title":"NavPreferencesUpdateRequest","description":"Replace the business's hidden nav set (full replace, not merge)."},"SuccessEnvelope_NavPreferencesResponse_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"data":{"anyOf":[{"$ref":"#/components/schemas/NavPreferencesResponse"},{"type":"null"}]}},"additionalProperties":true,"type":"object","title":"SuccessEnvelope[NavPreferencesResponse]"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}