{"openapi":"3.1.0","info":{"title":"runClear API","version":"1.0.0","description":"Public API for catalog, service offering, and team integrations. All endpoints are served by the canonical Next.js App Router handlers."},"servers":[{"url":"https://go.runclear.app","description":"Production"}],"tags":[{"name":"Catalog","description":"Catalog models, categories, add-ons, and inventory."},{"name":"Services","description":"Service categories and offerings."},{"name":"Teams","description":"Organization teams."}],"security":[{"bearerAuth":[]}],"paths":{"/api/v1/catalog":{"get":{"operationId":"getCatalogSnapshot","summary":"Get the catalog snapshot","description":"Required scopes: `catalog.models:read`, `catalog.inventory:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:read","catalog.inventory:read"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getCatalogSnapshotSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/categories":{"get":{"operationId":"listCatalogCategories","summary":"List catalog categories","description":"Required scope: `catalog.categories:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.categories:read"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listCatalogCategoriesSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"operationId":"createCatalogCategory","summary":"Create a catalog category","description":"Required scope: `catalog.categories:create`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.categories:create"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalogCategoryBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCatalogCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/categories/{id}":{"get":{"operationId":"getCatalogCategory","summary":"Get a catalog category","description":"Required scope: `catalog.categories:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.categories:read"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getCatalogCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"operationId":"updateCatalogCategory","summary":"Update a catalog category","description":"Required scope: `catalog.categories:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.categories:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCatalogCategoryBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateCatalogCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"delete":{"operationId":"archiveCatalogCategory","summary":"Archive a catalog category","description":"Required scope: `catalog.categories:delete`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.categories:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/archiveCatalogCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/models":{"get":{"operationId":"listCatalogModels","summary":"List catalog models","description":"Required scope: `catalog.models:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:read"],"parameters":[{"in":"query","name":"categoryId","schema":{"description":"Filter by category ID","type":"string","minLength":1},"description":"Filter by category ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listCatalogModelsSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"operationId":"createCatalogModel","summary":"Create a catalog model","description":"Required scope: `catalog.models:create`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:create"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalogModelBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCatalogModelSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/models/{id}":{"get":{"operationId":"getCatalogModel","summary":"Get a catalog model","description":"Required scope: `catalog.models:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:read"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getCatalogModelSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"operationId":"updateCatalogModel","summary":"Update a catalog model","description":"Required scope: `catalog.models:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCatalogModelBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateCatalogModelSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"delete":{"operationId":"archiveCatalogModel","summary":"Archive a catalog model","description":"Required scope: `catalog.models:delete`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/archiveCatalogModelSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/models/{id}/dimensions":{"post":{"operationId":"createCatalogDimension","summary":"Add a dimension to a catalog model","description":"Required scope: `catalog.models:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.models:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalogDimensionBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCatalogDimensionSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/addons":{"get":{"operationId":"listCatalogAddons","summary":"List catalog add-ons","description":"Required scope: `catalog.addons:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.addons:read"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listCatalogAddonsSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"operationId":"createCatalogAddon","summary":"Create a catalog add-on","description":"Required scope: `catalog.addons:create`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.addons:create"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalogAddonBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCatalogAddonSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/addons/{id}":{"get":{"operationId":"getCatalogAddon","summary":"Get a catalog add-on","description":"Required scope: `catalog.addons:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.addons:read"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getCatalogAddonSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"operationId":"updateCatalogAddon","summary":"Update a catalog add-on","description":"Required scope: `catalog.addons:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.addons:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCatalogAddonBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateCatalogAddonSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"delete":{"operationId":"archiveCatalogAddon","summary":"Archive a catalog add-on","description":"Required scope: `catalog.addons:delete`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.addons:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/archiveCatalogAddonSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/inventory":{"get":{"operationId":"listCatalogInventory","summary":"List catalog inventory","description":"Required scope: `catalog.inventory:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:read"],"parameters":[{"in":"query","name":"modelId","schema":{"description":"Filter by model ID","type":"string","minLength":1},"description":"Filter by model ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listCatalogInventorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"operationId":"createCatalogInventoryItem","summary":"Create an inventory item","description":"Required scope: `catalog.inventory:create`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:create"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalogInventoryItemBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCatalogInventoryItemSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/inventory/{id}":{"get":{"operationId":"getCatalogInventoryItem","summary":"Get an inventory item","description":"Required scope: `catalog.inventory:read`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:read"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getCatalogInventoryItemSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"operationId":"updateCatalogInventoryItem","summary":"Update an inventory item","description":"Required scope: `catalog.inventory:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCatalogInventoryItemBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateCatalogInventoryItemSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"delete":{"operationId":"deleteCatalogInventoryItem","summary":"Archive or delete an inventory item","description":"Required scope: `catalog.inventory:delete`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"},{"in":"query","name":"permanent","schema":{"description":"Permanently delete instead of archiving. Defaults to false.","type":"string","enum":["true","false"]},"description":"Permanently delete instead of archiving. Defaults to false."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/deleteCatalogInventoryItemSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/inventory/{id}/features":{"post":{"operationId":"createCatalogInventoryFeature","summary":"Add a feature to an inventory item","description":"Required scope: `catalog.inventory:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalogItemFeatureBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCatalogInventoryFeatureSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/catalog/inventory/{id}/restore":{"post":{"operationId":"restoreCatalogInventoryItem","summary":"Restore an inventory item","description":"Required scope: `catalog.inventory:update`.","tags":["Catalog"],"security":[{"bearerAuth":[]}],"x-required-scopes":["catalog.inventory:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/restoreCatalogInventoryItemSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/services/categories":{"get":{"operationId":"listServiceCategories","summary":"List service categories","description":"Required scope: `services.categories:read`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.categories:read"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listServiceCategoriesSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"operationId":"createServiceCategory","summary":"Create a service category","description":"Required scope: `services.categories:create`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.categories:create"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceCategoryBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createServiceCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/services/categories/{id}":{"get":{"operationId":"getServiceCategory","summary":"Get a service category","description":"Required scope: `services.categories:read`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.categories:read"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getServiceCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"operationId":"updateServiceCategory","summary":"Update a service category","description":"Required scope: `services.categories:update`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.categories:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceCategoryBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateServiceCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"delete":{"operationId":"archiveServiceCategory","summary":"Archive a service category","description":"Required scope: `services.categories:delete`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.categories:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/archiveServiceCategorySuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/services/offerings":{"get":{"operationId":"listServiceOfferings","summary":"List service offerings","description":"Required scope: `services.offerings:read`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.offerings:read"],"parameters":[{"in":"query","name":"categoryId","schema":{"description":"Filter by category ID","type":"string","minLength":1},"description":"Filter by category ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listServiceOfferingsSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"post":{"operationId":"createServiceOffering","summary":"Create a service offering","description":"Required scope: `services.offerings:create`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.offerings:create"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceOfferingBody"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/createServiceOfferingSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/services/offerings/{id}":{"get":{"operationId":"getServiceOffering","summary":"Get a service offering","description":"Required scope: `services.offerings:read`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.offerings:read"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/getServiceOfferingSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"patch":{"operationId":"updateServiceOffering","summary":"Update a service offering","description":"Required scope: `services.offerings:update`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.offerings:update"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateServiceOfferingBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateServiceOfferingSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}},"delete":{"operationId":"archiveServiceOffering","summary":"Archive a service offering","description":"Required scope: `services.offerings:delete`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.offerings:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/archiveServiceOfferingSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/services/offerings/{id}/restore":{"post":{"operationId":"restoreServiceOffering","summary":"Restore a service offering","description":"Required scope: `services.offerings:delete`.","tags":["Services"],"security":[{"bearerAuth":[]}],"x-required-scopes":["services.offerings:delete"],"parameters":[{"in":"path","name":"id","schema":{"type":"string","minLength":1,"description":"Resource ID"},"required":true,"description":"Resource ID"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/restoreServiceOfferingSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/api/v1/teams":{"get":{"operationId":"listTeams","summary":"List teams","description":"Required scope: `teams:read`.","tags":["Teams"],"security":[{"bearerAuth":[]}],"x-required-scopes":["teams:read"],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/listTeamsSuccess"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"403":{"description":"API key lacks a required scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}},"components":{"schemas":{"CreateCatalogCategoryBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"active":{"type":"boolean"},"isParent":{"type":"boolean"},"parentId":{"type":"string","minLength":1},"discountBps":{"anyOf":[{"type":"number","minimum":0,"maximum":10000},{"type":"null"}]},"showOnEcommerce":{"type":"boolean"}},"required":["name"]},"UpdateCatalogCategoryBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"parentId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"discountBps":{"anyOf":[{"type":"number","minimum":0,"maximum":10000},{"type":"null"}]},"showOnEcommerce":{"type":"boolean"}}},"CreateCatalogModelBody":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"modelCode":{"type":"string","minLength":1},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}]},"active":{"type":"boolean"},"discountBps":{"anyOf":[{"type":"number","minimum":0,"maximum":10000},{"type":"null"}]},"showOnEcommerce":{"type":"boolean"},"shortDescription":{"type":"string","maxLength":280},"fullDescription":{"type":"string","maxLength":5000}},"required":["categoryId","name","slug"]},"Money":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Amount in the currency's smallest unit.","example":12500},"currency":{"type":"string","enum":["USD","CAD"],"example":"CAD"}},"required":["amountCents","currency"]},"UpdateCatalogModelBody":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"modelCode":{"type":"string","minLength":1},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}]},"discountBps":{"anyOf":[{"type":"number","minimum":0,"maximum":10000},{"type":"null"}]},"showOnEcommerce":{"type":"boolean"},"shortDescription":{"type":"string","maxLength":280},"fullDescription":{"type":"string","maxLength":5000}}},"CreateCatalogDimensionBody":{"type":"object","properties":{"width":{"type":"number","exclusiveMinimum":0},"length":{"type":"number","exclusiveMinimum":0},"height":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}]},"modifier":{"type":"string","minLength":1,"maxLength":60},"basePrice":{"$ref":"#/components/schemas/Money"}},"required":["width","length"]},"CreateCatalogAddonBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"price":{"$ref":"#/components/schemas/Money"},"pricingMethod":{"type":"string","enum":["fixed","per_linear_foot","per_square_foot"]},"measurementBasis":{"type":"string","enum":["floor_area","wall_area"]},"multiplier":{"type":"number","exclusiveMinimum":0},"active":{"type":"boolean"},"showOnEcommerce":{"type":"boolean"}},"required":["name","price","pricingMethod"]},"UpdateCatalogAddonBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"price":{"$ref":"#/components/schemas/Money"},"pricingMethod":{"type":"string","enum":["fixed","per_linear_foot","per_square_foot"]},"measurementBasis":{"type":"string","enum":["floor_area","wall_area"]},"multiplier":{"type":"number","exclusiveMinimum":0},"showOnEcommerce":{"type":"boolean"}}},"CreateCatalogInventoryItemBody":{"type":"object","properties":{"modelId":{"type":"string","minLength":1},"dimensionId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"serialNumber":{"type":"string","minLength":1},"status":{"type":"string","enum":["ordered","available","reserved","unavailable","delivered"]},"teamId":{"type":"string","minLength":1},"isGlobal":{"type":"boolean"},"description":{"type":"string","maxLength":5000}},"required":["modelId","dimensionId","status","isGlobal"]},"UpdateCatalogInventoryItemBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"serialNumber":{"type":"string","minLength":1},"dimensionId":{"type":"string","minLength":1},"status":{"type":"string","enum":["ordered","available","reserved","unavailable","delivered"]},"teamId":{"type":"string","minLength":1},"isGlobal":{"type":"boolean"},"description":{"type":"string","maxLength":5000}}},"CreateCatalogItemFeatureBody":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":280}},"required":["label"]},"CreateServiceCategoryBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"isParent":{"type":"boolean"},"parentId":{"type":"string","minLength":1},"showOnEcommerce":{"type":"boolean"}},"required":["name"]},"UpdateServiceCategoryBody":{"type":"object","properties":{"name":{"type":"string","minLength":1},"parentId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"showOnEcommerce":{"type":"boolean"}}},"CreateServiceOfferingBody":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"code":{"type":"string","minLength":1},"description":{"type":"string"},"shortDescription":{"type":"string"},"pricingMethod":{"type":"string","enum":["fixed","hourly","quote_only"]},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}]},"defaultDurationMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"isGlobal":{"type":"boolean"},"showOnEcommerce":{"type":"boolean"}},"required":["categoryId","name","slug","pricingMethod"]},"UpdateServiceOfferingBody":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"code":{"type":"string","minLength":1},"description":{"type":"string"},"shortDescription":{"type":"string"},"pricingMethod":{"type":"string","enum":["fixed","hourly","quote_only"]},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/Money"},{"type":"null"}]},"defaultDurationMinutes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"showOnEcommerce":{"type":"boolean"}}},"getCatalogSnapshotSuccess":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CatalogSnapshot"}},"required":["data"],"additionalProperties":false},"CatalogSnapshot":{"type":"object","properties":{"categories":{"type":"array","items":{"$ref":"#/components/schemas/EnrichedCatalogCategory"}},"models":{"type":"array","items":{"$ref":"#/components/schemas/EcommerceCatalogModel"}},"items":{"type":"array","items":{"$ref":"#/components/schemas/EcommerceInventoryItem"}},"addons":{"type":"array","items":{"$ref":"#/components/schemas/CatalogAddon"}},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["categories","models","items","addons","generatedAt"],"additionalProperties":false},"EnrichedCatalogCategory":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"name":{"type":"string","example":"Portable Buildings"},"active":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"isParent":{"type":"boolean"},"parentId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"discountBps":{"example":500,"anyOf":[{"type":"number"},{"type":"null"}]},"showOnEcommerce":{"example":true,"type":"boolean"},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogCategoryImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogCategoryImage"},{"type":"null"}]},"effectiveDiscountBps":{"anyOf":[{"type":"number"},{"type":"null"}],"example":500},"effectiveDiscountSource":{"anyOf":[{"type":"string","enum":["model","category","global"]},{"type":"null"}]}},"required":["_id","_creationTime","orgId","name","active","sortOrder","images","imageCount","primaryImage","effectiveDiscountBps","effectiveDiscountSource"],"additionalProperties":false},"CatalogCategoryImage":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"storageId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"label":{"example":"Exterior view","type":"string"},"sortOrder":{"type":"string","example":"a0"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"example":"https://example.com/category.jpg"}},"required":["_id","_creationTime","orgId","categoryId","storageId","sortOrder","url"],"additionalProperties":false},"EcommerceCatalogModel":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"type":"string","example":"Utility Shed"},"slug":{"type":"string","example":"utility-shed"},"modelCode":{"example":"UTIL-1012","type":"string"},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"active":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"discountBps":{"example":500,"anyOf":[{"type":"number"},{"type":"null"}]},"showOnEcommerce":{"example":true,"type":"boolean"},"shortDescription":{"example":"A durable utility shed.","type":"string"},"fullDescription":{"type":"string"},"category":{"anyOf":[{"$ref":"#/components/schemas/CatalogCategorySummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelImage"},{"type":"null"}]},"videos":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelVideo"}},"videoCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"effectiveDiscountBps":{"anyOf":[{"type":"number"},{"type":"null"}],"example":500},"effectiveDiscountSource":{"anyOf":[{"type":"string","enum":["model","category","global"]},{"type":"null"}]},"dimensions":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelDimension"}},"features":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelFeature"}},"addons":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"addonId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"kind":{"type":"string","enum":["included","optional"]}},"required":["_id","addonId","kind"],"additionalProperties":false}}},"required":["_id","_creationTime","orgId","categoryId","name","slug","active","sortOrder","category","images","imageCount","primaryImage","videos","videoCount","effectiveDiscountBps","effectiveDiscountSource","dimensions","features","addons"],"additionalProperties":false},"CatalogCategorySummary":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"type":"string","example":"Portable Buildings"},"active":{"type":"boolean","example":true},"showOnEcommerce":{"example":true,"type":"boolean"}},"required":["_id","name","active"],"additionalProperties":false},"CatalogModelImage":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"storageId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"label":{"example":"Front elevation","type":"string"},"sortOrder":{"type":"string","example":"a0"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"example":"https://example.com/model.jpg"}},"required":["_id","_creationTime","orgId","modelId","storageId","sortOrder","url"],"additionalProperties":false},"CatalogModelVideo":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"url":{"type":"string","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},"provider":{"type":"string","const":"youtube"},"videoId":{"type":"string","example":"dQw4w9WgXcQ"},"label":{"example":"Walkthrough","type":"string"},"sortOrder":{"type":"string","example":"a0"}},"required":["_id","_creationTime","orgId","modelId","url","provider","videoId","sortOrder"],"additionalProperties":false},"CatalogModelDimension":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"width":{"type":"number","example":10},"length":{"type":"number","example":12},"height":{"example":8,"anyOf":[{"type":"number"},{"type":"null"}]},"modifier":{"example":"10x12","type":"string"},"basePrice":{"$ref":"#/components/schemas/MoneyOutput"}},"required":["_id","_creationTime","orgId","modelId","width","length"],"additionalProperties":false},"CatalogModelFeature":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"label":{"type":"string","example":"Pressure-treated floor"},"sortOrder":{"type":"string","example":"a0"}},"required":["_id","_creationTime","orgId","modelId","label","sortOrder"],"additionalProperties":false},"EcommerceInventoryItem":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"example":"Display Utility Shed","type":"string"},"serialNumber":{"example":"RC-000124","type":"string"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"isGlobal":{"type":"boolean","example":false},"dimensionId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"dimension":{"type":"object","properties":{"width":{"type":"number","example":10},"length":{"type":"number","example":12},"height":{"example":8,"type":"number"},"modifier":{"example":"10x12","type":"string"}},"required":["width","length"],"additionalProperties":false},"status":{"type":"string","enum":["ordered","available","reserved","unavailable","delivered"]},"archivedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"showOnEcommerce":{"example":true,"type":"boolean"},"includeModelMedia":{"example":true,"type":"boolean"},"description":{"type":"string"},"basePriceOverride":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"model":{"anyOf":[{"$ref":"#/components/schemas/CatalogItemModelSummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogItemImage"},{"type":"null"}]},"videos":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemVideo"}},"videoCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":0},"effectiveImages":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelImage"},{"$ref":"#/components/schemas/CatalogItemImage"}]}},"effectiveVideos":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelVideo"},{"$ref":"#/components/schemas/CatalogItemVideo"}]}},"hasOwnImages":{"type":"boolean","example":true},"hasOwnVideos":{"type":"boolean","example":false},"features":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemFeature"}},"soldInvoice":{"anyOf":[{"$ref":"#/components/schemas/SoldInvoiceSummary"},{"type":"null"}]},"basePrice":{"$ref":"#/components/schemas/MoneyOutput"},"addonLines":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Extra window"},"qty":{"type":"number","example":2},"unitPrice":{"$ref":"#/components/schemas/MoneyOutput"},"lineTotal":{"$ref":"#/components/schemas/MoneyOutput"},"pricingMethod":{"type":"string","enum":["fixed","per_linear_foot","per_square_foot"]},"measurementBasis":{"type":"string","enum":["floor_area","wall_area"]}},"required":["name","qty","unitPrice","lineTotal","pricingMethod"],"additionalProperties":false}},"addonTotal":{"$ref":"#/components/schemas/MoneyOutput"},"fullPriceSubtotal":{"$ref":"#/components/schemas/MoneyOutput"},"effectiveDiscountBps":{"anyOf":[{"type":"number"},{"type":"null"}],"example":500},"effectiveDiscountSource":{"anyOf":[{"type":"string","enum":["model","category","global"]},{"type":"null"}]},"salePrice":{"$ref":"#/components/schemas/MoneyOutput"}},"required":["_id","_creationTime","orgId","modelId","isGlobal","dimension","status","basePriceOverride","model","images","imageCount","primaryImage","videos","videoCount","effectiveImages","effectiveVideos","hasOwnImages","hasOwnVideos","features","soldInvoice"],"additionalProperties":false},"CatalogItemModelSummary":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"type":"string","example":"Utility Shed"},"slug":{"type":"string","example":"utility-shed"},"active":{"type":"boolean","example":true},"showOnEcommerce":{"example":true,"type":"boolean"},"category":{"anyOf":[{"type":"object","properties":{"active":{"type":"boolean","example":true},"showOnEcommerce":{"example":true,"type":"boolean"}},"required":["active"],"additionalProperties":false},{"type":"null"}]}},"required":["_id","name","slug","active","category"],"additionalProperties":false},"CatalogItemImage":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"storageId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"label":{"example":"Available unit","type":"string"},"sortOrder":{"type":"string","example":"a0"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"example":"https://example.com/item.jpg"}},"required":["_id","_creationTime","orgId","itemId","storageId","sortOrder","url"],"additionalProperties":false},"CatalogItemVideo":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"url":{"type":"string","example":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"},"provider":{"type":"string","const":"youtube"},"videoId":{"type":"string","example":"dQw4w9WgXcQ"},"label":{"example":"Unit walkthrough","type":"string"},"sortOrder":{"type":"string","example":"a0"}},"required":["_id","_creationTime","orgId","itemId","url","provider","videoId","sortOrder"],"additionalProperties":false},"CatalogItemFeature":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"label":{"type":"string","example":"Upgraded flooring"},"sortOrder":{"type":"string","example":"a0"}},"required":["_id","_creationTime","orgId","itemId","label","sortOrder"],"additionalProperties":false},"SoldInvoiceSummary":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"invoiceNo":{"type":"string","example":"INV-1042"},"status":{"type":"string","example":"sent"}},"required":["_id","invoiceNo","status"],"additionalProperties":false},"CatalogAddon":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"name":{"type":"string","example":"Extra window"},"price":{"$ref":"#/components/schemas/MoneyOutput"},"pricingMethod":{"type":"string","enum":["fixed","per_linear_foot","per_square_foot"]},"measurementBasis":{"type":"string","enum":["floor_area","wall_area"]},"multiplier":{"example":1,"type":"number"},"active":{"type":"boolean","example":true},"showOnEcommerce":{"example":true,"type":"boolean"}},"required":["_id","_creationTime","orgId","name","price","pricingMethod","active"],"additionalProperties":false},"ErrorEnvelope":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["error"],"additionalProperties":false},"listCatalogCategoriesSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"categories":{"type":"array","items":{"$ref":"#/components/schemas/CatalogCategory"}},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["categories","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"CatalogCategory":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"name":{"type":"string","example":"Portable Buildings"},"active":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"isParent":{"type":"boolean"},"parentId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"discountBps":{"example":500,"anyOf":[{"type":"number"},{"type":"null"}]},"showOnEcommerce":{"example":true,"type":"boolean"}},"required":["_id","_creationTime","orgId","name","active","sortOrder"],"additionalProperties":false},"createCatalogCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["categoryId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"getCatalogCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"category":{"$ref":"#/components/schemas/CatalogCategory"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["category","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"updateCatalogCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["categoryId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"archiveCatalogCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"archived":{"type":"boolean","example":true},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["categoryId","archived","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"listCatalogModelsSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"models":{"type":"array","items":{"$ref":"#/components/schemas/EnrichedCatalogModel"}},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["models","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"EnrichedCatalogModel":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"type":"string","example":"Utility Shed"},"slug":{"type":"string","example":"utility-shed"},"modelCode":{"example":"UTIL-1012","type":"string"},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"active":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"discountBps":{"example":500,"anyOf":[{"type":"number"},{"type":"null"}]},"showOnEcommerce":{"example":true,"type":"boolean"},"shortDescription":{"example":"A durable utility shed.","type":"string"},"fullDescription":{"type":"string"},"category":{"anyOf":[{"$ref":"#/components/schemas/CatalogCategorySummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelImage"},{"type":"null"}]},"videos":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelVideo"}},"videoCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"effectiveDiscountBps":{"anyOf":[{"type":"number"},{"type":"null"}],"example":500},"effectiveDiscountSource":{"anyOf":[{"type":"string","enum":["model","category","global"]},{"type":"null"}]}},"required":["_id","_creationTime","orgId","categoryId","name","slug","active","sortOrder","category","images","imageCount","primaryImage","videos","videoCount","effectiveDiscountBps","effectiveDiscountSource"],"additionalProperties":false},"createCatalogModelSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["modelId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"getCatalogModelSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/CatalogModelWithDetails"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["model","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"CatalogModelWithDetails":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"type":"string","example":"Utility Shed"},"slug":{"type":"string","example":"utility-shed"},"modelCode":{"example":"UTIL-1012","type":"string"},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"active":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"discountBps":{"example":500,"anyOf":[{"type":"number"},{"type":"null"}]},"showOnEcommerce":{"example":true,"type":"boolean"},"shortDescription":{"example":"A durable utility shed.","type":"string"},"fullDescription":{"type":"string"},"category":{"anyOf":[{"$ref":"#/components/schemas/CatalogCategorySummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelImage"},{"type":"null"}]},"videos":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelVideo"}},"videoCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"effectiveDiscountBps":{"anyOf":[{"type":"number"},{"type":"null"}],"example":500},"effectiveDiscountSource":{"anyOf":[{"type":"string","enum":["model","category","global"]},{"type":"null"}]},"dimensions":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelDimension"}},"features":{"type":"array","items":{"$ref":"#/components/schemas/CatalogModelFeature"}},"modelAddons":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"addonId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"kind":{"type":"string","enum":["included","optional"]},"addon":{"anyOf":[{"$ref":"#/components/schemas/CatalogAddon"},{"type":"null"}]}},"required":["_id","_creationTime","orgId","modelId","addonId","kind","addon"],"additionalProperties":false}}},"required":["_id","_creationTime","orgId","categoryId","name","slug","active","sortOrder","category","images","imageCount","primaryImage","videos","videoCount","effectiveDiscountBps","effectiveDiscountSource","dimensions","features","modelAddons"],"additionalProperties":false},"updateCatalogModelSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["modelId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"archiveCatalogModelSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"archived":{"type":"boolean","example":true},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["modelId","archived","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"createCatalogDimensionSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"dimensionId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["dimensionId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"listCatalogAddonsSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"addons":{"type":"array","items":{"$ref":"#/components/schemas/CatalogAddon"}},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["addons","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"createCatalogAddonSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"addonId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["addonId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"getCatalogAddonSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"addon":{"$ref":"#/components/schemas/CatalogAddon"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["addon","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"updateCatalogAddonSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"addonId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["addonId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"archiveCatalogAddonSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"addonId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"archived":{"type":"boolean","example":true},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["addonId","archived","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"listCatalogInventorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PricedInventoryItem"}},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["items","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PricedInventoryItem":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"example":"Display Utility Shed","type":"string"},"serialNumber":{"example":"RC-000124","type":"string"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"isGlobal":{"type":"boolean","example":false},"dimensionId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"dimension":{"type":"object","properties":{"width":{"type":"number","example":10},"length":{"type":"number","example":12},"height":{"example":8,"type":"number"},"modifier":{"example":"10x12","type":"string"}},"required":["width","length"],"additionalProperties":false},"status":{"type":"string","enum":["ordered","available","reserved","unavailable","delivered"]},"archivedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"showOnEcommerce":{"example":true,"type":"boolean"},"includeModelMedia":{"example":true,"type":"boolean"},"description":{"type":"string"},"basePriceOverride":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"model":{"anyOf":[{"$ref":"#/components/schemas/CatalogItemModelSummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogItemImage"},{"type":"null"}]},"videos":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemVideo"}},"videoCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":0},"effectiveImages":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelImage"},{"$ref":"#/components/schemas/CatalogItemImage"}]}},"effectiveVideos":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelVideo"},{"$ref":"#/components/schemas/CatalogItemVideo"}]}},"hasOwnImages":{"type":"boolean","example":true},"hasOwnVideos":{"type":"boolean","example":false},"features":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemFeature"}},"soldInvoice":{"anyOf":[{"$ref":"#/components/schemas/SoldInvoiceSummary"},{"type":"null"}]},"basePrice":{"$ref":"#/components/schemas/MoneyOutput"},"addonLines":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Extra window"},"qty":{"type":"number","example":2},"unitPrice":{"$ref":"#/components/schemas/MoneyOutput"},"lineTotal":{"$ref":"#/components/schemas/MoneyOutput"},"pricingMethod":{"type":"string","enum":["fixed","per_linear_foot","per_square_foot"]},"measurementBasis":{"type":"string","enum":["floor_area","wall_area"]}},"required":["name","qty","unitPrice","lineTotal","pricingMethod"],"additionalProperties":false}},"addonTotal":{"$ref":"#/components/schemas/MoneyOutput"},"fullPriceSubtotal":{"$ref":"#/components/schemas/MoneyOutput"},"effectiveDiscountBps":{"anyOf":[{"type":"number"},{"type":"null"}],"example":500},"effectiveDiscountSource":{"anyOf":[{"type":"string","enum":["model","category","global"]},{"type":"null"}]},"salePrice":{"$ref":"#/components/schemas/MoneyOutput"}},"required":["_id","_creationTime","orgId","modelId","isGlobal","dimension","status","basePriceOverride","model","images","imageCount","primaryImage","videos","videoCount","effectiveImages","effectiveVideos","hasOwnImages","hasOwnVideos","features","soldInvoice","basePrice","addonLines","addonTotal","fullPriceSubtotal","effectiveDiscountBps","effectiveDiscountSource","salePrice"],"additionalProperties":false},"createCatalogInventoryItemSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["itemId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"getCatalogInventoryItemSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"item":{"$ref":"#/components/schemas/InventoryItemDetails"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["item","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"InventoryItemDetails":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"modelId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"example":"Display Utility Shed","type":"string"},"serialNumber":{"example":"RC-000124","type":"string"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"isGlobal":{"type":"boolean","example":false},"dimensionId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"dimension":{"type":"object","properties":{"width":{"type":"number","example":10},"length":{"type":"number","example":12},"height":{"example":8,"type":"number"},"modifier":{"example":"10x12","type":"string"}},"required":["width","length"],"additionalProperties":false},"status":{"type":"string","enum":["ordered","available","reserved","unavailable","delivered"]},"archivedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"showOnEcommerce":{"example":true,"type":"boolean"},"includeModelMedia":{"example":true,"type":"boolean"},"description":{"type":"string"},"basePriceOverride":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"model":{"anyOf":[{"$ref":"#/components/schemas/CatalogItemModelSummary"},{"type":"null"}]},"images":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemImage"}},"imageCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":1},"primaryImage":{"anyOf":[{"$ref":"#/components/schemas/CatalogItemImage"},{"type":"null"}]},"videos":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemVideo"}},"videoCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"example":0},"effectiveImages":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelImage"},{"$ref":"#/components/schemas/CatalogItemImage"}]}},"effectiveVideos":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/CatalogModelVideo"},{"$ref":"#/components/schemas/CatalogItemVideo"}]}},"hasOwnImages":{"type":"boolean","example":true},"hasOwnVideos":{"type":"boolean","example":false},"features":{"type":"array","items":{"$ref":"#/components/schemas/CatalogItemFeature"}},"soldInvoice":{"anyOf":[{"$ref":"#/components/schemas/SoldInvoiceSummary"},{"type":"null"}]}},"required":["_id","_creationTime","orgId","modelId","isGlobal","dimension","status","basePriceOverride","model","images","imageCount","primaryImage","videos","videoCount","effectiveImages","effectiveVideos","hasOwnImages","hasOwnVideos","features","soldInvoice"],"additionalProperties":false},"updateCatalogInventoryItemSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["itemId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"deleteCatalogInventoryItemSuccess":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"archived":{"type":"boolean","example":true},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["itemId","archived","generatedAt"],"additionalProperties":false},{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"deleted":{"type":"boolean","example":true},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["itemId","deleted","generatedAt"],"additionalProperties":false}]}},"required":["data"],"additionalProperties":false},"createCatalogInventoryFeatureSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"featureId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["featureId","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"restoreCatalogInventoryItemSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"restored":{"type":"boolean","example":true},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["itemId","restored","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"listServiceCategoriesSuccess":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCategory"}}},"required":["data"],"additionalProperties":false},"ServiceCategory":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"name":{"type":"string","example":"Installation"},"active":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"isParent":{"type":"boolean"},"parentId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"showOnEcommerce":{"example":true,"type":"boolean"}},"required":["_id","_creationTime","orgId","name","active","sortOrder"],"additionalProperties":false},"createServiceCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["id","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"getServiceCategorySuccess":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ServiceCategory"}},"required":["data"],"additionalProperties":false},"updateServiceCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["id","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"archiveServiceCategorySuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"archived":{"type":"boolean","example":true}},"required":["id","generatedAt","archived"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"listServiceOfferingsSuccess":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceOffering"}}},"required":["data"],"additionalProperties":false},"ServiceOffering":{"type":"object","properties":{"_id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"_creationTime":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"orgId":{"type":"string","minLength":1,"description":"Organization ID","example":"org_2f8a7c1d"},"teamId":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"isGlobal":{"type":"boolean","example":true},"categoryId":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"name":{"type":"string","example":"Standard delivery"},"slug":{"type":"string","example":"standard-delivery"},"code":{"example":"DELIVERY-STD","type":"string"},"description":{"type":"string"},"shortDescription":{"type":"string"},"pricingMethod":{"type":"string","enum":["fixed","hourly","quote_only"]},"basePrice":{"anyOf":[{"$ref":"#/components/schemas/MoneyOutput"},{"type":"null"}]},"defaultDurationMinutes":{"example":120,"type":"number"},"isActive":{"type":"boolean","example":true},"sortOrder":{"type":"string","example":"a0"},"showOnEcommerce":{"example":true,"type":"boolean"}},"required":["_id","_creationTime","orgId","isGlobal","categoryId","name","slug","pricingMethod","isActive","sortOrder"],"additionalProperties":false},"createServiceOfferingSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["id","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"getServiceOfferingSuccess":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ServiceOffering"}},"required":["data"],"additionalProperties":false},"updateServiceOfferingSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["id","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"archiveServiceOfferingSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"archived":{"type":"boolean","example":true}},"required":["id","generatedAt","archived"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"restoreServiceOfferingSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Resource ID","example":"resource_2f8a7c1d"},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000},"restored":{"type":"boolean","example":true}},"required":["id","generatedAt","restored"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"listTeamsSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"teams":{"type":"array","items":{"$ref":"#/components/schemas/PublicTeam"}},"generatedAt":{"type":"number","description":"Unix timestamp in milliseconds.","example":1772899200000}},"required":["teams","generatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"PublicTeam":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Team ID","example":"team_2f8a7c1d"},"slug":{"type":"string","example":"winnipeg"},"name":{"type":"string","example":"Winnipeg"},"email":{"example":"winnipeg@example.com","type":"string"},"phone":{"example":"+1 204 555 0100","type":"string"},"description":{"type":"string"},"address":{"$ref":"#/components/schemas/Address"},"lat":{"example":49.8951,"type":"number"},"lng":{"example":-97.1384,"type":"number"},"googleMapsUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"pfpUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"images":{"type":"array","items":{"type":"object","properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"caption":{"type":"string"}},"required":["url"],"additionalProperties":false}},"videos":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"caption":{"type":"string"},"videoId":{"type":"string"},"thumbnailUrl":{"type":"string"}},"required":["url","videoId","thumbnailUrl"],"additionalProperties":false}}},"required":["id","slug","name","googleMapsUrl","pfpUrl","images","videos"],"additionalProperties":false},"Address":{"type":"object","properties":{"line1":{"example":"123 Main Street","type":"string"},"line2":{"example":"Unit 4","type":"string"},"city":{"example":"Winnipeg","type":"string"},"regionCode":{"example":"MB","type":"string"},"postalCode":{"example":"R3C 0V8","type":"string"},"countryCode":{"example":"CA","type":"string"}},"additionalProperties":false},"MoneyOutput":{"type":"object","properties":{"amountCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Amount in the currency's smallest unit.","example":12500},"currency":{"type":"string","enum":["USD","CAD"],"example":"CAD"}},"required":["amountCents","currency"],"additionalProperties":false}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Use an organization API key as the bearer token."}}}}