openapi: 3.0.3 info: title: Zuper REST Assets Teams API description: The Zuper REST API provides programmatic access to the Zuper field service management platform. It covers jobs, scheduling, route optimization, customers, organizations, assets, inventory, purchase orders, invoices, proposals, quotes, timesheets, projects, properties, service tasks, service contracts, webhooks, and communications. Authentication uses API keys passed via the x-api-key header. Region-specific base URLs are discovered by POSTing to the accounts endpoint. version: 1.0.0 contact: name: Zuper Developer Support url: https://developers.zuper.co/discuss x-api-evangelist-ratings: design: 7 consistency: 7 documentation: 8 servers: - url: https://{dc_region}.zuperpro.com/api description: Region-specific API server (dc_region obtained from accounts endpoint) variables: dc_region: default: us1 description: Data-center region identifier returned by the config endpoint - url: https://accounts.zuperpro.com/api description: Accounts / configuration endpoint security: - ApiKeyAuth: [] tags: - name: Teams description: Field team management and assignments paths: /teams: get: summary: Get All Teams operationId: getAllTeams description: Retrieve a paginated list of teams. tags: - Teams parameters: - $ref: '#/components/parameters/PageParam' - $ref: '#/components/parameters/CountParam' responses: '200': description: Paginated list of teams content: application/json: schema: $ref: '#/components/schemas/PaginatedResponse' post: summary: Create Team operationId: createTeam description: Create a new team. tags: - Teams requestBody: required: true content: application/json: schema: type: object properties: team_name: type: string responses: '200': description: Team created successfully /teams/{team_uid}: get: summary: Get Team Details operationId: getTeamDetails description: Retrieve details for a specific team. tags: - Teams parameters: - name: team_uid in: path required: true schema: type: string format: uuid responses: '200': description: Team details '404': description: Not found put: summary: Update Team Details operationId: updateTeamDetails description: Update an existing team. tags: - Teams parameters: - name: team_uid in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object responses: '200': description: Team updated successfully delete: summary: Delete Team operationId: deleteTeam description: Delete a team. tags: - Teams parameters: - name: team_uid in: path required: true schema: type: string format: uuid responses: '200': description: Team deleted successfully components: parameters: CountParam: name: count in: query description: Number of records per page (max 1000) schema: type: integer default: 10 maximum: 1000 PageParam: name: page in: query description: Page number (1-based) schema: type: integer default: 1 schemas: PaginatedResponse: type: object properties: type: type: string total_records: type: integer current_page: type: integer total_pages: type: integer securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-api-key description: API key generated from Zuper Settings > Developer Hub > API Keys