{"openapi":"3.1.0","info":{"title":"Weltmodell API","description":"The vendor-neutral world model that powers FieldBots — robots, teams, environments, schedules, task reports and events — behind one consistent, authenticated HTTP surface. Served on the weltmodell.ai hosts; authenticate with an OpenID Connect bearer token.","version":"3.1.0"},"servers":[{"url":"http://eu.rest.weltmodell.ai","description":"Generated server url"}],"tags":[{"name":"Identity & Users","description":"Who you are, and the users of a team."},{"name":"Teams","description":"Teams, their defaults and licence subscriptions."},{"name":"Bots","description":"The robots themselves: read, update, pair, status, telemetry, logs, consumables, battery, firmware."},{"name":"Commands & Actions","description":"What a robot can do, and telling it to do it."},{"name":"Delegations","description":"Lend robots to other teams and take them back."},{"name":"Environment","description":"Environment nodes (buildings, floors, rooms) and the objects placed in them."},{"name":"Schedules & Goals","description":"Recurring tasks and per-robot cleaning goals."},{"name":"Maps & Task Reports","description":"Historical maps, task runs and downloadable task reports."},{"name":"Reports","description":"Fleet reports aggregated over a date range, e.g. the Delivery Report."},{"name":"Events","description":"The timeline: events on robots and environment nodes."},{"name":"Tickets & Documents","description":"Tickets, comments, attachments and metadata."},{"name":"Forms","description":"Form templates behind a robot's Add button, and the forms filled in on a robot."},{"name":"Connections","description":"Vendor cloud accounts connected to a team."},{"name":"Tools","description":"Manual tools tracked next to the robots."}],"paths":{"/v1/users/me":{"get":{"tags":["Identity & Users"],"operationId":"getMyself","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}},"put":{"tags":["Identity & Users"],"operationId":"updateMyself","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}}},"/v1/tools/{id}":{"get":{"tags":["Tools"],"operationId":"getById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ToolV2"}}}}}},"put":{"tags":["Tools"],"operationId":"update","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ToolV2"}}}}}},"delete":{"tags":["Tools"],"operationId":"remove","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/tickets/{id}":{"get":{"tags":["Tickets & Documents"],"operationId":"getTicket","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TicketV2"}}}}}},"put":{"tags":["Tickets & Documents"],"operationId":"updateTicket","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TicketV2"}}}}}}},"/v1/teams/{teamId}":{"get":{"tags":["Teams"],"operationId":"byId","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TeamV2"}}}}}},"put":{"tags":["Teams"],"operationId":"update_1","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TeamV2"}}}}}},"delete":{"tags":["Teams"],"operationId":"remove_1","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/teams/{teamId}/users/{userId}/mfa":{"get":{"tags":["Identity & Users"],"summary":"Whether two-factor authentication is enabled for a member of the team","description":"Team lead of the team, or administrator. `enabled` is the member's effective state (composite roles and the admin scope included); `enforced` says it is mandated and cannot be turned off here. 404 when the user is not a member of the team.","operationId":"get","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserMfa"}}}}}},"put":{"tags":["Identity & Users"],"summary":"Enable or disable two-factor authentication for a member of the team","description":"Team lead of the team, or administrator. Idempotent. Enabling assigns the Keycloak realm role `2fa`; the member is asked to set up an authenticator app at their next login. 409 when the member's MFA is enforced (administrators, or a role they cannot change) and `enabled=false` is requested. 404 when the user is not a member of the team.","operationId":"set","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMfa"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserMfa"}}}}}}},"/v1/teams/{teamId}/users/{id}":{"put":{"tags":["Identity & Users"],"operationId":"updateInTeam","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}},"delete":{"tags":["Identity & Users"],"operationId":"removeInTeam","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/teams/{teamId}/members/{userId}/places":{"get":{"tags":["Teams"],"operationId":"memberPlaces","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WmRef"}}}}}}},"put":{"tags":["Teams"],"operationId":"replaceMemberPlaces","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberPlacesV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WmRef"}}}}}}}},"/v1/teams/{teamId}/config-defaults/{bucket}":{"put":{"tags":["Teams"],"operationId":"put","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"bucket","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigDefaultsV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConfigDefaultsV2"}}}}}}},"/v1/teams/{teamId}/bots/{botId}/goals/{id}":{"put":{"tags":["Schedules & Goals"],"operationId":"update_2","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GoalV2"}}}}}},"delete":{"tags":["Schedules & Goals"],"operationId":"remove_2","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/teams/{teamId}/bots/{botId}/delegations/{id}":{"put":{"tags":["Delegations"],"operationId":"update_3","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegationV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DelegationV2"}}}}}},"delete":{"tags":["Delegations"],"operationId":"revoke","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/scheduled-tasks/{id}":{"put":{"tags":["Schedules & Goals"],"operationId":"update_4","parameters":[{"name":"additionalPlaceIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledTaskV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ScheduledTaskV2"}}}}}},"delete":{"tags":["Schedules & Goals"],"operationId":"remove_3","parameters":[{"name":"additionalPlaceIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Schedules & Goals"],"operationId":"setEnabled","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledTaskV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ScheduledTaskV2"}}}}}}},"/v1/metadatas/{id}":{"put":{"tags":["Tickets & Documents"],"operationId":"updateMetadata","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/document.Metadata"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/document.Metadata"}}}}}},"delete":{"tags":["Tickets & Documents"],"operationId":"removeMetadata","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/me/preferences":{"get":{"tags":["Identity & Users"],"summary":"The caller's preferences (defaults while never written)","operationId":"get_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserPreferencesV2"}}}}}},"put":{"tags":["Identity & Users"],"summary":"Replace the caller's preferences with this document","operationId":"put_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferencesV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserPreferencesV2"}}}}}}},"/v1/me/mfa":{"get":{"tags":["Identity & Users"],"summary":"Whether two-factor authentication is enabled for the caller","description":"`enabled` is the effective state (composite roles and the admin scope included); `enforced` says it is mandated and cannot be turned off here.","operationId":"get_2","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserMfa"}}}}}},"put":{"tags":["Identity & Users"],"summary":"Enable or disable two-factor authentication for the caller","description":"Idempotent. Enabling assigns the Keycloak realm role `2fa`; the user is asked to set up an authenticator app at their next login. 409 when the caller's MFA is enforced (administrators, or a role they cannot change) and `enabled=false` is requested. 502 when the realm does not define the role.","operationId":"set_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMfa"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserMfa"}}}}}}},"/v1/maps/{id}":{"put":{"tags":["Maps & Task Reports"],"operationId":"update_5","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MapV2"}}}}}},"delete":{"tags":["Maps & Task Reports"],"operationId":"remove_4","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/v1/events/{id}":{"put":{"tags":["Events"],"operationId":"update_6","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventV2"}}}}}},"delete":{"tags":["Events"],"operationId":"remove_5","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/environment-nodes/{id}":{"put":{"tags":["Environment"],"operationId":"update_7","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentNodeV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EnvironmentNodeV2"}}}}}},"delete":{"tags":["Environment"],"operationId":"remove_6","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/environment-nodes/{id}/preview":{"put":{"tags":["Environment"],"operationId":"updatePreview","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"file","in":"query","required":true,"schema":{"$ref":"#/components/schemas/Part"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EnvironmentNodeV2"}}}}}}},"/v1/connections/{id}":{"put":{"tags":["Connections"],"operationId":"update_8","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionV2Request"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectionV2"}}}}}},"delete":{"tags":["Connections"],"operationId":"remove_7","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/bots/{id}":{"get":{"tags":["Bots"],"operationId":"byId_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotV2"}}}}}},"put":{"tags":["Bots"],"operationId":"update_9","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotUpdateV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotV2"}}}}}},"delete":{"tags":["Bots"],"operationId":"delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/bots/{id}/status":{"put":{"tags":["Bots"],"operationId":"update_10","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusWriteV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TelemetryV2"}}}}}}},"/v1/bots/{id}/missing":{"put":{"tags":["Bots"],"operationId":"markMissing","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/v1/bots/{id}/config":{"get":{"tags":["Bots"],"operationId":"config","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotConfigV2"}}}}}},"put":{"tags":["Bots"],"operationId":"putConfig","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotConfigWriteV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotConfigV2"}}}}}},"delete":{"tags":["Bots"],"operationId":"deleteConfig","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/bots/{id}/config/firmware-map-pin":{"put":{"tags":["Bots"],"operationId":"putFirmwareMapPin","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirmwareMapPinV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotConfigV2"}}}}}}},"/v1/admin/translation-glossary/{id}":{"put":{"tags":["Bots"],"summary":"Change a glossary rule (admin); cached translations containing the old or new term are re-translated","operationId":"update_11","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslationGlossaryEntryV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TranslationGlossaryEntryV2"}}}}}},"delete":{"tags":["Bots"],"summary":"Delete a glossary rule (admin); cached translations containing the term are re-translated","operationId":"delete_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/users/{id}/temporary-password":{"post":{"tags":["Identity & Users"],"operationId":"setTemporaryPassword","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}}},"/v1/users/me/reset-password":{"post":{"tags":["Identity & Users"],"operationId":"resetMyPassword","responses":{"200":{"description":"OK"}}}},"/v1/tools":{"post":{"tags":["Tools"],"operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ToolV2"}}}}}}},"/v1/tools/{id}/image":{"post":{"tags":["Tools"],"operationId":"updateImage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"image":{"$ref":"#/components/schemas/Part"}},"required":["image"]}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ToolV2"}}}}}}},"/v1/tickets/{ticketId}/comments":{"get":{"tags":["Tickets & Documents"],"operationId":"getCommentsByTicket","parameters":[{"name":"ticketId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"maxResults","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/document.Comment"}}}}}}},"post":{"tags":["Tickets & Documents"],"operationId":"createComment","parameters":[{"name":"ticketId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/document.Comment"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/document.Comment"}}}}}}},"/v1/teams":{"get":{"tags":["Teams"],"operationId":"list","parameters":[{"name":"dealers","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"legacyTeamId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2TeamV2"}}}}}},"post":{"tags":["Teams"],"operationId":"create_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TeamV2"}}}}}}},"/v1/teams/{teamId}/users":{"get":{"tags":["Identity & Users"],"operationId":"getByTeam","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2UserV2"}}}}}},"post":{"tags":["Identity & Users"],"operationId":"createUser","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}}},"/v1/teams/{teamId}/users/{userId}/resend-invite":{"post":{"tags":["Identity & Users"],"operationId":"resendInvite","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/teams/{teamId}/users/{id}/reset-password":{"post":{"tags":["Identity & Users"],"operationId":"resetPasswordInTeam","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/teams/{teamId}/task-reports":{"post":{"tags":["Maps & Task Reports"],"operationId":"getAll","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"nodes","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"sortAscending","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"timeZone","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2TaskReportV2"}}}}}}},"/v1/teams/{teamId}/task-reports/download":{"post":{"tags":["Maps & Task Reports"],"operationId":"download","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"nodes","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"timeZone","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","default":"xlsx"}},{"name":"title","in":"query","required":false,"schema":{"type":"string"}},{"name":"includeTasks","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"images":{"type":"array","items":{"$ref":"#/components/schemas/Part"}}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/v1/teams/{teamId}/reports/utilization":{"post":{"tags":["Reports"],"summary":"Utilization Report: area and runtime per day, active days per robot, utilization rate, ROI, manufacturers, amortization","operationId":"utilization","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"nodes","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"timeZone","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}},{"name":"currency","in":"query","description":"FBOT-4816 part 3: the currency of the Return on Investment amounts (the team's; default EUR).","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UtilizationReportV2"}}}}}}},"/v1/teams/{teamId}/reports/sustainability":{"post":{"tags":["Reports"],"summary":"Sustainability Report: water, energy, CO₂, consumables","operationId":"sustainability","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"nodes","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"timeZone","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SustainabilityReportV2"}}}}}}},"/v1/teams/{teamId}/reports/delivery":{"post":{"tags":["Reports"],"summary":"Delivery Report aggregates for a robot selection over a date range","operationId":"delivery","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"start","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"end","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"nodes","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"timeZone","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliveryReportV2"}}}}}}},"/v1/teams/{teamId}/members":{"post":{"tags":["Teams"],"operationId":"addMember","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}},"delete":{"tags":["Teams"],"operationId":"removeMember","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}}},"/v1/teams/{teamId}/licenses/mass-assign":{"post":{"tags":["Teams"],"summary":"Assign one licence type to the unlicensed robots of a place from the team's free seats (no purchase); a dry run unless dryRun=false","operationId":"massAssign","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MassAssignLicensesRequestV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MassAssignLicensesResultV2"}}}}}}},"/v1/teams/{teamId}/environment-nodes":{"get":{"tags":["Environment"],"operationId":"list_1","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2EnvironmentNodeV2"}}}}}},"post":{"tags":["Environment"],"operationId":"create_2","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentNodeV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EnvironmentNodeV2"}}}}}}},"/v1/teams/{teamId}/delegations/bulk":{"post":{"tags":["Delegations"],"operationId":"delegateBots","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDelegationV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DelegationV2"}}}}}}}},"/v1/teams/{teamId}/consumables/usage":{"post":{"tags":["Reports"],"operationId":"usage","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"startDate","in":"query","required":true,"schema":{"type":"string","format":"date"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/performance.Consumable"}}}}}}}},"/v1/teams/{teamId}/consumables/performance":{"post":{"tags":["Reports"],"operationId":"performance","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"startDate","in":"query","required":true,"schema":{"type":"string","format":"date"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/performance.Consumable"}}}}}}}},"/v1/teams/{teamId}/bots":{"get":{"tags":["Bots"],"operationId":"list_2","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}},{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2BotV2"}}}}}},"post":{"tags":["Bots"],"operationId":"create_3","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotCreateV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotV2"}}}}}}},"/v1/teams/{teamId}/bots/{botId}/goals":{"get":{"tags":["Schedules & Goals"],"operationId":"getByBot","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2GoalV2"}}}}}},"post":{"tags":["Schedules & Goals"],"operationId":"create_4","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"multiple","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GoalV2"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GoalV2"}}}}}}}},"/v1/teams/{teamId}/bots/{botId}/delegations":{"get":{"tags":["Delegations"],"operationId":"list_3","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DelegationV2"}}}}}}},"post":{"tags":["Delegations"],"operationId":"delegate","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegationV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DelegationV2"}}}}}}},"/v1/teams/{teamId}/bots/{botId}/delegations/return":{"post":{"tags":["Delegations"],"operationId":"returnDelegation","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DelegationV2"}}}}}}},"/v1/teams/{teamId}/bots/pair":{"post":{"tags":["Bots"],"operationId":"pair","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PairV2Request"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotV2"}}}}}}},"/v1/scheduled-tasks":{"post":{"tags":["Schedules & Goals"],"operationId":"create_5","parameters":[{"name":"additionalPlaceIds","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledTaskV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledTaskV2"}}}}}}}},"/v1/form-templates":{"get":{"tags":["Forms"],"summary":"Every stored form template, standard and team-specific (admin)","operationId":"list_4","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormTemplateV2"}}}}}}},"post":{"tags":["Forms"],"summary":"Upload an mdform template file (admin); the file name <standard|teamId>_<type>_<lang>.md is its key","operationId":"upload","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/Part"}},"required":["file"]}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FormTemplateV2"}}}}}}},"/v1/environment-nodes/{id}/action":{"post":{"tags":["Environment"],"operationId":"performAction","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"action","in":"query","required":true,"schema":{"type":"string"}},{"name":"additional","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/v1/demo-team/session":{"post":{"tags":["Teams"],"summary":"Anonymous session of the shared demo account (no login; 404 when no demo team is configured)","operationId":"session","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DemoSessionV2"}}}}}}},"/v1/demo-team/session/refresh":{"post":{"tags":["Teams"],"summary":"Renew an anonymous demo-account session","operationId":"refresh","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoSessionRefreshV2"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DemoSessionV2"}}}}}}},"/v1/demo-team/join":{"post":{"tags":["Teams"],"summary":"Join the official demo team as a team lead (any account; 404 when no demo team is configured)","operationId":"join","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TeamMembership"}}}}}}},"/v1/connections":{"post":{"tags":["Connections"],"operationId":"create_6","parameters":[{"name":"timeZone","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionV2Request"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectionV2"}}}}}}},"/v1/connections/preview":{"post":{"tags":["Connections"],"operationId":"previewAccount","parameters":[{"name":"timeZone","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionV2Request"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectionV2"}}}}}}},"/v1/bots/{id}/sim":{"get":{"tags":["Bots"],"operationId":"info","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WmSimInfo"}}}}}},"post":{"tags":["Bots"],"operationId":"create_7","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimV2Request"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SimV2"}}}}}},"delete":{"tags":["Bots"],"operationId":"remove_8","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}},"/v1/bots/{id}/commands":{"get":{"tags":["Commands & Actions"],"operationId":"commands","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2CommandV2"}}}}}},"post":{"tags":["Commands & Actions"],"operationId":"dispatch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandDispatchV2"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CommandV2"}}}}}}},"/v1/bots/{botId}/tickets":{"get":{"tags":["Tickets & Documents"],"operationId":"getTicketsByBot","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2TicketV2"}}}}}},"post":{"tags":["Tickets & Documents"],"operationId":"createTicket","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TicketV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TicketV2"}}}}}}},"/v1/bots/{botId}/maps/{id}/restore":{"post":{"tags":["Maps & Task Reports"],"operationId":"restoreMap","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/v1/bots/{botId}/maps/{id}/pin":{"post":{"tags":["Maps & Task Reports"],"operationId":"pin","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{}}}},"delete":{"tags":["Maps & Task Reports"],"operationId":"unpin","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/v1/bots/{botId}/form-submissions":{"get":{"tags":["Forms"],"summary":"The forms filled in on a robot, newest first","operationId":"list_5","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormSubmissionV2"}}}}}}},"post":{"tags":["Forms"],"summary":"Fill in a form on a robot; it also lands on the robot's timeline","operationId":"submit","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormSubmissionRequestV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FormSubmissionV2"}}}}}}},"/v1/bots/{botId}/events":{"post":{"tags":["Events"],"operationId":"create_8","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EventV2"}}}}}}},"/v1/attachments":{"post":{"tags":["Tickets & Documents"],"operationId":"createAttachment","parameters":[{"name":"commentId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"ticketId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"$ref":"#/components/schemas/Part"},"metadata":{"$ref":"#/components/schemas/document.Metadata"}},"required":["file"]}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/document.Attachment"}}}}}}},"/v1/admin/translation-glossary":{"get":{"tags":["Bots"],"summary":"Every glossary rule (admin)","operationId":"list_6","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TranslationGlossaryEntryV2"}}}}}}},"post":{"tags":["Bots"],"summary":"Add a glossary rule (admin); cached translations containing the term are re-translated","operationId":"create_9","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TranslationGlossaryEntryV2"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TranslationGlossaryEntryV2"}}}}}}},"/v1/admin/demo-team/snapshot":{"get":{"tags":["Teams"],"summary":"Admin: the golden snapshot the daily reset restores (FBOT-4806)","operationId":"latestSnapshot","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SnapshotSummary"}}}}}},"post":{"tags":["Teams"],"summary":"Admin: capture the demo team's current state as the golden snapshot the daily reset restores (FBOT-4806)","operationId":"captureSnapshot","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SnapshotSummary"}}}}}}},"/v1/admin/demo-team/reset":{"post":{"tags":["Teams"],"summary":"Admin: run the demo-team reset now — a dry run unless dryRun=false (FBOT-4806)","operationId":"resetNow","parameters":[{"name":"dryRun","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Result"}}}}}}},"/v1/whoami":{"get":{"tags":["Identity & Users"],"operationId":"whoami","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WhoAmIResponse"}}}}}}},"/v1/users":{"get":{"tags":["Identity & Users"],"operationId":"getAll_1","parameters":[{"name":"maxResults","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserV2"}}}}}}}},"/v1/tickets/{ticketId}/attachments":{"get":{"tags":["Tickets & Documents"],"operationId":"getAttachmentsByTicket","parameters":[{"name":"ticketId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"maxResults","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/document.Attachment"}}}}}}}},"/v1/teams/{teamId}/users/by-mail":{"get":{"tags":["Identity & Users"],"operationId":"getByMail","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"mail","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserV2"}}}}}}},"/v1/teams/{teamId}/tools":{"get":{"tags":["Tools"],"operationId":"list_7","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"botId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2ToolV2"}}}}}}},"/v1/teams/{teamId}/tickets":{"get":{"tags":["Tickets & Documents"],"operationId":"getTicketsByTeam","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"status","in":"query","required":false,"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2TicketV2"}}}}}}},"/v1/teams/{teamId}/scheduled-tasks":{"get":{"tags":["Schedules & Goals"],"operationId":"getByTeam_1","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledTaskV2"}}}}}}}},"/v1/teams/{teamId}/reports/behavior-watch":{"get":{"tags":["Reports"],"summary":"Behavior Watch (goal) violations of the team's robots over the last 30 days","operationId":"summary","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"timeZone","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}},{"name":"botId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BehaviorWatchSummaryV2"}}}}}}},"/v1/teams/{teamId}/members/places":{"get":{"tags":["Teams"],"operationId":"allMemberPlaces","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberPlaces"}}}}}}}},"/v1/teams/{teamId}/forms":{"get":{"tags":["Forms"],"summary":"The forms a team sees behind the robot page's Add button, localised (English fallback)","operationId":"teamForms","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"language","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormTemplateV2"}}}}}}}},"/v1/teams/{teamId}/firmware-releases":{"get":{"tags":["Bots"],"operationId":"list_8","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FirmwareReleaseV2"}}}}}}}},"/v1/teams/{teamId}/connections":{"get":{"tags":["Connections"],"operationId":"getByTeam_2","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"type","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","enum":["ROOMBA","IMOW","FIELDBOTS","RA660","GAUSIUM","ALIYUN","LIONSBOT","TENCENT","CUSTOM","KEENON","KAERCHER","ICECOBOTICS","NILFISK","NEXARO","CENOBOTS"]}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2ConnectionV2"}}}}}}},"/v1/teams/{teamId}/connections/fieldbots":{"get":{"tags":["Connections"],"operationId":"getMyFieldbotsAccount","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"timeZoneId","in":"query","required":false,"schema":{"type":"string","default":"Europe/Berlin"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PairingChannelV2"}}}}}}},"/v1/teams/{teamId}/connections/fieldbots/device":{"get":{"tags":["Connections"],"operationId":"getPairedDevice","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"latitude","in":"query","required":false,"schema":{"type":"number"}},{"name":"longitude","in":"query","required":false,"schema":{"type":"number"}},{"name":"token","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BotV2"}}}}}}},"/v1/teams/{teamId}/config-defaults":{"get":{"tags":["Teams"],"operationId":"list_9","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ConfigDefaultsV2"}}}}}}}},"/v1/teams/{teamId}/bots/{botId}/subscriptions":{"get":{"tags":["Teams"],"operationId":"list_10","parameters":[{"name":"teamId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionV2"}}}}}}}},"/v1/task-reports/{id}":{"get":{"tags":["Maps & Task Reports"],"operationId":"getById_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TaskReportV2"}}}}}}},"/v1/metadatas":{"get":{"tags":["Tickets & Documents"],"operationId":"getMetadata","parameters":[{"name":"maxResults","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/document.Metadata"}}}}}}}},"/v1/maps/{mapId}/areas":{"get":{"tags":["Maps & Task Reports"],"operationId":"areasOfMap","parameters":[{"name":"mapId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MapAreaV2"}}}}}}}},"/v1/environment-nodes/{placeId}/virtual-objects":{"get":{"tags":["Environment"],"operationId":"virtualObjects","parameters":[{"name":"placeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VirtualObjectV2"}}}}}}}},"/v1/environment-nodes/{placeId}/physical-objects":{"get":{"tags":["Environment"],"operationId":"physicalObjects","parameters":[{"name":"placeId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhysicalObjectV2"}}}}}}}},"/v1/environment-nodes/{id}/scheduled-tasks":{"get":{"tags":["Schedules & Goals"],"operationId":"getByPlace","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"maxResults","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledTaskV2"}}}}}}}},"/v1/environment-nodes/{id}/events":{"get":{"tags":["Events"],"operationId":"getByNode","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"types","in":"query","required":false,"schema":{"type":"string"}},{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2EventV2"}}}}}}},"/v1/catalog/models":{"get":{"tags":["Bots"],"summary":"Every catalogued robot model with its capability profile id (published or not: lot 1 / -1)","operationId":"models","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/marketplace.Product"}}}}}}}},"/v1/catalog/models/pairable":{"get":{"tags":["Bots"],"summary":"The models the team can pair (legacy /products/pairable/), with capability profile ids","operationId":"pairable","parameters":[{"name":"teamId","in":"query","description":"WM team id the catalog is priced / licensed for","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/marketplace.Product"}}}}}}}},"/v1/catalog/manufacturers":{"get":{"tags":["Bots"],"summary":"The add-a-robot manufacturers (legacy /manufacturers/), products with capability profile ids","operationId":"manufacturers","parameters":[{"name":"teamId","in":"query","description":"WM team id whose team-scoped manufacturers are included; none = Channels only","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/marketplace.Manufacturer"}}}}}}}},"/v1/capability-profiles/{id}":{"get":{"tags":["Bots"],"operationId":"get_3","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CapabilityProfileV2"}}}}}}},"/v1/bots/{id}/telemetry":{"get":{"tags":["Bots"],"operationId":"telemetry","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2TelemetryV2"}}}}}}},"/v1/bots/{id}/scheduled-tasks":{"get":{"tags":["Schedules & Goals"],"operationId":"getByBot_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"maxResults","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledTaskV2"}}}}}}}},"/v1/bots/{id}/pairing":{"get":{"tags":["Bots"],"operationId":"pairing","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PairingV2"}}}}}}},"/v1/bots/{id}/map":{"get":{"tags":["Bots"],"operationId":"map","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"asImage","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"externalId","in":"query","required":false,"schema":{"type":"string"}},{"name":"forEditing","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"performanceId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"objects","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/v1/bots/{id}/logs":{"get":{"tags":["Bots"],"operationId":"logs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/v1/bots/{id}/incidents":{"get":{"tags":["Bots"],"operationId":"incidents","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"open","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IncidentV2"}}}}}}}},"/v1/bots/{id}/events":{"get":{"tags":["Events"],"operationId":"events","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"types","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"Accept-Language","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2EventV2"}}}}}}},"/v1/bots/{id}/consumables":{"get":{"tags":["Bots"],"operationId":"consumables","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConsumableV2"}}}}}}}},"/v1/bots/{id}/battery":{"get":{"tags":["Bots"],"operationId":"battery","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2BotBatteryV2"}}}}}}},"/v1/bots/{id}/actions":{"get":{"tags":["Commands & Actions"],"operationId":"actions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2ActionV2"}}}}}}},"/v1/bots/{botId}/tasks":{"get":{"tags":["Maps & Task Reports"],"operationId":"getTasksByBot","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2BotTaskV2"}}}}}}},"/v1/bots/{botId}/status/history":{"get":{"tags":["Bots"],"operationId":"history","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"startDate","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2TelemetryV2"}}}}}}},"/v1/bots/{botId}/maps":{"get":{"tags":["Maps & Task Reports"],"operationId":"getAllByBot","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":100}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageV2MapV2"}}}}}}},"/v1/bots/{botId}/maps/heatmap":{"get":{"tags":["Maps & Task Reports"],"operationId":"heatmap","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"month","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/HeatmapV2"}}}}}}},"/v1/bots/{botId}/maps/current":{"get":{"tags":["Maps & Task Reports"],"operationId":"currentMap","parameters":[{"name":"botId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MapV2"}}}}}}},"/v1/admin/demo-team":{"get":{"tags":["Teams"],"summary":"Admin: the configured demo team (fieldbots.demoTeamId) and whether it resolves","operationId":"status","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DemoTeamStatusV2"}}}}}}},"/v1/admin/demo-team/resolve":{"get":{"tags":["Teams"],"summary":"Admin: find the WM team id of a legacy team id, to set fieldbots.demoTeamId per environment","operationId":"resolve","parameters":[{"name":"legacyTeamId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DemoTeamCandidateV2"}}}}}}},"/v1/form-templates/{id}":{"delete":{"tags":["Forms"],"summary":"Delete a form template (admin); submissions filled from it keep their snapshot","operationId":"delete_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"UserV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"externalUserId":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"enabled":{"type":"boolean"},"permission":{"type":"string"}}},"ToolV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"teamId":{"type":"integer","format":"int64"},"botId":{"type":"integer","format":"int64"},"name":{"type":"string"},"category":{"type":"string"},"disciplines":{"type":"array","items":{"type":"integer","format":"int32"}},"image":{"type":"string"},"servicePartner":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"TicketV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"team":{"$ref":"#/components/schemas/WmRef"},"assignee":{"$ref":"#/components/schemas/WmRef"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"integer","format":"int32","description":"Available values for Owner:\n1 = OPERATE\n2 = MAINTAIN\n3 = ADMIN\n4 = DISTRIBUTOR","enum":[1,2,3,4]},"status":{"type":"integer","format":"int32","description":"Available values for Status:\n1 = OPEN\n2 = CLOSED","enum":[1,2]},"createdAt":{"type":"string","format":"date-time"},"botState":{"type":"integer","format":"int32"},"rrule":{"type":"string"},"startDate":{"type":"string","format":"date"},"additionalBotIds":{"type":"array","items":{"type":"integer","format":"int64"}},"baseId":{"type":"integer","format":"int64"},"user":{"$ref":"#/components/schemas/user.Reference"}}},"WmRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}},"required":["id"]},"bot.Bot":{"type":"object","description":"Represents a robot which can communicate with a server via internet or via local network.","properties":{"id":{"type":"integer","format":"int64","title":"id"},"name":{"type":"string","description":"Name of the bot given when the bot is created or registered with field bot system.","title":"name"},"serialNumber":{"type":"string","description":"Serial number of the bot. Usually provided by the manufacturing company.","title":"serialNumber"},"type":{"type":"integer","format":"int32","default":4,"description":"Represents the type of the robot. Field bot should support different kind of robots.\nEx: Cleaning, Mowing, Vacuuming or even a drone.\n\n\n1 = ROOMBA\n\n2 = IMOW\n\n4 = FIELDBOTS\n\n5 = RA660\n\n6 = GAUSIUM\n\n7 = ALIYUN\n\n8 = LIONSBOT\n\n9 = TENCENT\n\n10 = CUSTOM\n\n11 = KEENON\n\n12 = KAERCHER\n\n13 = ICECOBOTICS","enum":[1,10,11,12,13,14,15,16,2,4,5,6,7,8,9],"title":"type"},"timeZone":{"type":"string","default":"UTC","description":"Timezone of the bot. This can be crucial in making time based calculations or actions.","title":"timeZone"},"firmwareVersion":{"type":"string","description":"Firmware version of the bot. Required when doing version specific logic.","title":"firmwareVersion"},"isEnabled":{"type":"boolean","default":false,"description":"If the bot is enabled or not.","title":"isEnabled"},"externalId":{"type":"string","description":"External identifier, used for e.g. QR Code","title":"externalId"},"deviceId":{"type":"string","title":"deviceId"},"model":{"type":"integer","format":"int32","default":1,"description":"\n\n\n0 = ROOMBA\n\n1 = CLEANFIX\n\n2 = ROBOT_SWEEPER\n\n3 = PHILON\n\n4 = CLEANFIX_RA660XL\n\n5 = CLEANFIX_RA660M\n\n6 = GAUSIUM_40\n\n7 = ITEAM_1700\n\n8 = GAUSIUM_P\n\n9 = GAUSIUM_50\n\n10 = GAUSIUM_75\n\n11 = GAUSIUM_111\n\n12 = ROBOT_SCRUBBER\n\n13 = NAVI_XL\n\n14 = ZACO_1000XPRO\n\n15 = LIONSBOT_R3SCRUB\n\n16 = LIONSBOT_R3VAC\n\n17 = LIONSBOT_REX\n\n18 = LIONSBOT_LEO\n\n19 = PUDU_CC1\n\n20 = M9\n\n21 = CUSTOM\n\n22 = KEENON_S100\n\n23 = KEENON_C30\n\n24 = PUDU_MT1\n\n25 = KAERCHER_B50\n\n26 = KAERCHER_B200\n\n27 = KAERCHER_CV50\n\n28 = GENIUS_SWIFT\n\n29 = ITEAM_1700B\n\n30 = KEENON_W3\n\n31 = KEENON_S300\n\n32 = KEENON_S500\n\n33 = GAUSIUM_TASKI_50\n\n34 = GAUSIUM_TASKI_P\n\n35 = GAUSIUM_TASKI_40\n\n36 = ICE_COBI18","enum":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,4,5,6,7,8,9],"example":0,"title":"model"},"uuid":{"type":"string","description":"unique identifier, e.g. additional serial number","title":"uuid"},"mapRotation":{"type":"integer","format":"int32","default":0,"description":"Rotation for the robots map","example":90,"title":"mapRotation"},"warranty":{"type":"boolean","title":"warranty"},"connectionType":{"type":"string","description":"Connection type: sim or wifi","title":"connectionType"},"pinnedMap":{"type":"integer","format":"int64","description":"Pinned Map","title":"pinnedMap"},"isVirtual":{"type":"boolean","default":false,"description":"Whether the bot is a virtual (simulated) robot, not a physical device.","example":false,"title":"isVirtual"},"hasCustomScheduling":{"type":"boolean","default":false,"description":"Overwrite default scheduling from its place","title":"hasCustomScheduling"},"custom":{"$ref":"#/components/schemas/bot.Custom"},"status":{"$ref":"#/components/schemas/bot.Status"},"delegation":{"$ref":"#/components/schemas/bot.Delegation","description":"The delegation for the current user's team"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["hasCustomScheduling","isEnabled","mapRotation","model","name","serialNumber","type","warranty"],"title":"Bot"},"bot.Custom":{"type":"object","description":"Additional information for bots with type CUSTOM","properties":{"id":{"type":"integer","format":"int64","title":"id"},"headline":{"type":"integer","format":"int32","description":"Bot category type\n\n\n2 = CONVENTIONAL\n\n5 = ELEVATOR\n\n3 = MICROBOT\n\n4 = OTHER\n\n1 = ROBOT","enum":[1,2,3,4,5],"title":"headline"},"discipline":{"type":"array","description":"Disciplines of robot","items":{"type":"integer","format":"int32"},"title":"discipline"},"image":{"type":"string","description":"Picture of the device","title":"image"},"servicePartner":{"type":"string","description":"Service partner for device","title":"servicePartner"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["discipline","headline"],"title":"Custom"},"bot.Delegation":{"type":"object","description":"Represents a delegation of a bot to a team with a specific permission level and subscription.","properties":{"id":{"type":"integer","format":"int64","title":"id"},"bot":{"description":"Represents a robot which can communicate with a server via internet or via local network.","required":["hasCustomScheduling","isEnabled","mapRotation","model","name","serialNumber","type","warranty"],"title":"Bot"},"team":{"$ref":"#/components/schemas/team.Team"},"place":{"required":["name","nodeType"],"title":"Place"},"subscription":{"type":"integer","format":"int32","description":"subscription type\n\n1 = NONE\n2 = CLOUD\n3 = CLOUD_AND_CONNECT_PLUS\n4 = CONNECT_PLUS","enum":[1,2,3,4],"title":"subscription"},"delegationType":{"type":"integer","format":"int32","default":2,"description":"delegation type\n\n1 = READ\n2 = READ_WRITE","enum":[1,2],"title":"delegationType"},"isArchived":{"type":"boolean","default":false,"description":"whether this delegation is archived","title":"isArchived"},"dataWindowStart":{"type":"string","format":"date-time","description":"Start of data window for filtering log entries/performances","title":"dataWindowStart"},"dataWindowEnd":{"type":"string","format":"date-time","description":"End of data window for filtering log entries/performances","title":"dataWindowEnd"},"goalInactivityDays":{"type":"integer","format":"int32","description":"Number of days after which a ticket should be created due to inactivity","title":"goalInactivityDays"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["delegationType"],"title":"Delegation"},"bot.Goal":{"type":"object","description":"Bot performance goals","properties":{"id":{"type":"integer","format":"int64","title":"id"},"minArea":{"type":"integer","format":"int32","description":"minimal area to clean","title":"minArea"},"maxBattery":{"type":"integer","format":"int32","description":"maximum battery consumption","title":"maxBattery"},"minWater":{"type":"number","description":"minimal water usage","title":"minWater"},"maxWater":{"type":"number","description":"max water usage","title":"maxWater"},"task":{"type":"string","description":"Task reference for machines that do not support scheduling","title":"task"},"bot":{"deprecated":true,"description":"Represents a robot which can communicate with a server via internet or via local network.","required":["hasCustomScheduling","isEnabled","mapRotation","model","name","serialNumber","type","warranty"],"title":"Bot"},"delegation":{"$ref":"#/components/schemas/bot.Delegation"},"schedule":{"$ref":"#/components/schemas/place.Schedule"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"title":"Goal"},"bot.Status":{"type":"object","description":"Status information of the bots.","properties":{"id":{"type":"integer","format":"int64","title":"id"},"mainStatus":{"type":"integer","format":"int32","description":"Main status of the bot. \nEx: Cleaning, Going home Charging, Stuck, Lost etc.\n\n\n11 = BIN_FULL\n\n15 = CANT_ACCESS_AREA\n\n2 = CHARGING\n\n34 = CHARGING_ERROR\n\n25 = CLEAN_FALL_SENSORS\n\n22 = CLEAN_FILTER_BIN\n\n17 = CLEAN_FRONT_SENSOR\n\n39 = DELIVERING\n\n1 = DISCONNECTED\n\n3 = DOCKED\n\n33 = DUST_BAG_MISPLACED\n\n21 = DUST_BIN_ISSUE\n\n10 = DUST_EXPEL\n\n14 = EMPTY_BATTERY\n\n9 = ERROR\n\n23 = FLOOR\n\n29 = INTERMEDIATE_CHARGING\n\n18 = MAIN_BRUSH_BLOCKED\n\n8 = MOWING\n\n38 = NOT_LICENSED\n\n12 = NOT_REACHABLE\n\n13 = QR_MISSING\n\n35 = RECHARGE_FAILED\n\n26 = REPLACE_BATTERY\n\n28 = REPLACE_LIDAR\n\n27 = REPLACE_WHEEL\n\n24 = RESTRICTED_AREA\n\n37 = SCANNING_AREA\n\n32 = SENSOR_FILTER\n\n31 = SENSOR_MAIN_BRUSH\n\n30 = SENSOR_SIDE_BRUSH\n\n19 = SIDE_BRUSH_BLOCKED\n\n36 = STOLEN\n\n6 = STOP\n\n5 = STUCK\n\n20 = SUCTION_MOTOR\n\n16 = TILTED\n\n7 = TO_DOCKING\n\n4 = VACUUMING","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,5,6,7,8,9],"title":"mainStatus"},"ledStatus":{"type":"integer","format":"int32","description":"LED status of the bot. Ex: Red- Error, Yellow-Warning, Green-OK etc.\n\n\n1 = RED\n\n2 = YELLOW\n\n3 = GREEN\n\n4 = GREY","enum":[1,2,3,4],"title":"ledStatus"},"batteryLevel":{"type":"integer","format":"int32","default":0,"description":"Battery Level of the bot. Can be in percentage or the charge level.","title":"batteryLevel"},"lastStatusUpdate":{"type":"string","format":"date-time","default":"2020-01-01","description":"DateTime when the last time the status was updated.","title":"lastStatusUpdate"},"area":{"type":"integer","format":"int32","default":0,"description":"the cleaned area in m2","title":"area"},"requiredAction":{"type":"integer","format":"int32","description":"\n\n\n4 = ACTION_ADD_QR\n\n6 = ACTION_CANT_ACCESS_AREA\n\n8 = ACTION_DUST_BAG_FULL\n\n5 = ACTION_DUST_BAG_MISPLACED\n\n7 = ACTION_INTERMEDIATE_CHARGING\n\n10 = ACTION_LOW_AREA\n\n13 = ACTION_LOW_WATERUSAGE\n\n12 = ACTION_NEW_MAP\n\n9 = ACTION_PLACE_AREA\n\n11 = ACTION_RE_PAIR\n\n1 = ACTION_REPLACE_FILTER\n\n3 = ACTION_REPLACE_MAIN_BRUSH\n\n2 = ACTION_REPLACE_SIDE_BRUSH","enum":[1,10,11,12,13,2,3,4,5,6,7,8,9],"title":"requiredAction"},"waterLevel":{"type":"integer","format":"int32","description":"Water level of the bot. Can be in percentage.","title":"waterLevel"},"runtime":{"type":"integer","format":"int32","default":0,"description":"Total runtime","title":"runtime"},"lastPerformance":{"$ref":"#/components/schemas/history.Performance"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["area","lastStatusUpdate","ledStatus","mainStatus","runtime"],"title":"Status"},"history.Performance":{"type":"object","description":"Historical bot performance data.","properties":{"id":{"type":"integer","format":"int64","title":"id"},"durationInSeconds":{"type":"integer","format":"int32","default":0,"description":"The duration of the performance by the bot.","title":"durationInSeconds"},"type":{"type":"integer","format":"int32","description":"The type of performance is being stored.\nEx: Vacuuming for a Roomba, Mowing for iMow.\n\n\n5 = DELIVERING\n\n2 = MOPPING\n\n4 = SCRUBBING\n\n1 = VACUUMING\n\n3 = VACUUMING_MOPPING\n\n6 = SWEEPING","enum":[1,2,3,4,5,6],"title":"type"},"occurrenceDateTime":{"type":"string","format":"date-time","description":"The date when the performance was recorded.","title":"occurrenceDateTime"},"area":{"type":"integer","format":"int32","description":"Cleaned area in m^2","example":6,"title":"area"},"hour":{"type":"integer","format":"int32","description":"The hour of this history entry","example":4,"title":"hour"},"weekday":{"type":"integer","format":"int32","description":"Weekday, 1 = Monday, 7 = Sunday","example":1,"title":"weekday"},"externalId":{"type":"string","description":"External identifier of the performance, if applicable","title":"externalId"},"initiator":{"type":"integer","format":"int32","description":"Initiator of the performance, e.g. via app, manually or by schedule\n\n\n1 = SCHEDULE\n\n2 = MANUAL\n\n3 = APP\n\n4 = APP_IOS\n\n5 = APP_ANDROID\n\n6 = APP_WEB","enum":[1,2,3,4,5,6],"title":"initiator"},"path":{"type":"string","description":"URL to performance image","title":"path"},"mapDataPath":{"type":"string","description":"URL to the structured map data (SnailHolder JSON: environment, room polygons, dock, robot path, zones), if available","title":"mapDataPath"},"areaType":{"type":"integer","format":"int32","default":1,"description":"Area type of the performance, e.g. only a certain place, everything\n\n\n1 = EVERYTHING\n\n2 = AREA\n\n3 = PLACE","enum":[1,2,3],"title":"areaType"},"batteryStart":{"type":"integer","format":"int32","description":"battery percentage at start","title":"batteryStart"},"batteryEnd":{"type":"integer","format":"int32","description":"battery percentage at end","title":"batteryEnd"},"suctionPower":{"type":"integer","format":"int32","description":"Suction power used","title":"suctionPower"},"acceleration":{"type":"boolean","title":"acceleration"},"task":{"type":"string","description":"the tasks name","title":"task"},"completion":{"type":"integer","format":"int32","description":"Completion percentage","title":"completion"},"endTime":{"type":"string","format":"date-time","description":"End time of the performance run","title":"endTime"},"isSynthetic":{"type":"boolean","default":false,"description":"true when generated by VirtualCloudConnect; used by Draxlr to filter out demo rows","example":false,"title":"isSynthetic"},"user":{"required":["familyName","firstName","isPowerUser","locale","mailNotify","primaryMail","pushNotify","userId"],"title":"Reference"},"water":{"$ref":"#/components/schemas/performance.Water"},"goal":{"$ref":"#/components/schemas/bot.Goal"},"bot":{"description":"Represents a robot which can communicate with a server via internet or via local network.","required":["hasCustomScheduling","isEnabled","mapRotation","model","name","serialNumber","type","warranty"],"title":"Bot"},"place":{"required":["name","nodeType"],"title":"Place"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["area","durationInSeconds","endTime","hour","occurrenceDateTime","type","weekday"],"title":"Performance"},"performance.Water":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"task":{"type":"string","title":"task"},"completion":{"type":"integer","format":"int32","title":"completion"},"efficiency":{"type":"integer","format":"int32","title":"efficiency"},"batteryStart":{"type":"integer","format":"int32","title":"batteryStart"},"batteryEnd":{"type":"integer","format":"int32","title":"batteryEnd"},"waterUsage":{"type":"number","title":"waterUsage"},"performance":{"$ref":"#/components/schemas/history.Performance"}},"title":"Water"},"place.Place":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"nodeType":{"type":"integer","format":"int32","default":3,"description":"Default device type","title":"nodeType"},"name":{"type":"string","description":"Place name","title":"name"},"area":{"type":"integer","format":"int32","description":"Area in qm for this room","title":"area"},"doNotDisturbUntil":{"type":"string","format":"date-time","description":"Do not disturb for this place and all its sub places","title":"doNotDisturbUntil"},"preview":{"type":"string","description":"Multigrid preview image path","title":"preview"},"rate":{"type":"number","description":"Rate per square meter for ROI calculation, in Euro","title":"rate"},"schedules":{"type":"array","items":{"$ref":"#/components/schemas/place.Schedule"}},"team":{"$ref":"#/components/schemas/team.Team"},"address":{"$ref":"#/components/schemas/team.Address"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"},"level":{"type":"integer","format":"int32","default":1,"title":"level"},"parentNode":{"$ref":"#/components/schemas/place.Place"}},"required":["level","name","nodeType"],"title":"Place"},"place.Schedule":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"rrule":{"type":"string","description":"The rules of this schedule in RRULE format","example":"FREQ=WEEKLY;BYDAY=SU,TH,FR,SA;BYHOUR=13;BYMINUTE=37;BYSETPOS=2","title":"rrule"},"externalMapId":{"type":"string","description":"if applicable this is the identifier from an iRobot map to provide regions for the schedule","title":"externalMapId"},"externalRegionIds":{"type":"array","items":{"type":"integer","format":"int32"},"title":"externalRegionIds"},"isDoNotDisturb":{"type":"boolean","default":false,"description":"Is a do not disturb schedule","title":"isDoNotDisturb"},"area":{"type":"string","description":"Area coordinates to clean, e.g. [{&quot;x&quot;:13,&quot;y&quot;:40}, ...]\nonly for supported robots","title":"area"},"bot":{"$ref":"#/components/schemas/bot.Bot"},"place":{"required":["name","nodeType"],"title":"Place"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["isDoNotDisturb","rrule"],"title":"Schedule"},"team.Address":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"companyName":{"type":"string","description":"Company name","title":"companyName"},"street":{"type":"string","description":"Street + Housenumber","title":"street"},"zipCode":{"type":"string","description":"Zip code of this address","title":"zipCode"},"city":{"type":"string","description":"City","title":"city"},"countryCode":{"type":"string","description":"Country code, e.g. DE or AT","example":"DE","title":"countryCode"},"invoice":{"type":"boolean","default":false,"description":"true if this address should be used as invoice address","title":"invoice"},"latitude":{"type":"number","description":"Coordinates at geographic coordinate system.","title":"latitude"},"longitude":{"type":"number","description":"Coordinates at geographic coordinate system.","title":"longitude"},"team":{"required":["allowIoTData","botCount","color1","color2","colorAccent","countryCode","dealerManaged","intelligenceFirmwareUpdate","intelligenceStuckTickets","intelligenceSuggestMaintenance","isBiggestFleet","isDealer","lightMode","metric","name","poNrRequired","qrEnabled","userCount"],"title":"Team"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["city","companyName","countryCode","invoice","street","zipCode"],"title":"Address"},"team.Team":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"colorAccent":{"type":"string","default":"#1657D9","description":"Accent / highlight color","example":"#1657D9","title":"colorAccent"},"color1":{"type":"string","default":"#152A3F","description":"Main color 1","example":"#152A3F","title":"color1"},"color2":{"type":"string","default":"#152A3F","description":"Main color 2","example":"#152A3F","title":"color2"},"botCount":{"type":"integer","format":"int32","default":0,"title":"botCount"},"userCount":{"type":"integer","format":"int32","title":"userCount"},"name":{"type":"string","description":"Team name","title":"name"},"contractorId":{"type":"integer","format":"int64","description":"Contractor ID from PropOps API","title":"contractorId"},"customerId":{"type":"string","title":"customerId"},"countryCode":{"type":"string","default":"DE","example":"DE","title":"countryCode"},"mail":{"type":"string","title":"mail"},"wifiName":{"type":"string","description":"Name of the default team wifi","title":"wifiName"},"wifiPassword":{"type":"string","description":"Password of the default teams wifi","title":"wifiPassword"},"qrEnabled":{"type":"boolean","default":false,"description":"QR Code checks enabled","title":"qrEnabled"},"lightMode":{"type":"boolean","default":false,"description":"If a team is in light mode, e.g. has bots but does not have any subscriptions","example":false,"title":"lightMode"},"isDealer":{"type":"boolean","default":false,"description":"this team is a merchant team","example":false,"title":"isDealer"},"isBiggestFleet":{"type":"boolean","default":false,"description":"Indicates if this team participates in Biggest Fleet","title":"isBiggestFleet"},"dealerManaged":{"type":"boolean","default":false,"description":"Team subscriptions are handled by his dealer","title":"dealerManaged"},"shopLink":{"type":"string","title":"shopLink"},"supportLink":{"type":"string","title":"supportLink"},"companyName":{"type":"string","title":"companyName"},"metric":{"type":"boolean","default":true,"description":"Show units in metric system","title":"metric"},"poNrRequired":{"type":"boolean","default":false,"description":"PO Number is required for orders or not","title":"poNrRequired"},"allowIoTData":{"type":"boolean","default":true,"description":"Allow FieldBots IoT Data","title":"allowIoTData"},"intelligenceStuckTickets":{"type":"boolean","default":false,"description":"FieldBots Intelligence: Create tickets when robot is stuck","title":"intelligenceStuckTickets"},"intelligenceSuggestMaintenance":{"type":"boolean","default":false,"description":"FieldBots Intelligence: Suggest Whats Next for Maintenance","title":"intelligenceSuggestMaintenance"},"intelligenceFirmwareUpdate":{"type":"boolean","default":false,"description":"FieldBots Intelligence: Auto-Update Robot Firmwares","title":"intelligenceFirmwareUpdate"},"useVirtualRobotsByDefault":{"type":"boolean","default":false,"description":"drives the pairing UX to create virtual bots","example":false,"title":"useVirtualRobotsByDefault"},"merchant":{"$ref":"#/components/schemas/team.Team"},"users":{"type":"array","items":{"$ref":"#/components/schemas/user.Reference"}},"places":{"type":"array","items":{"$ref":"#/components/schemas/place.Place"}},"addresses":{"type":"array","items":{"$ref":"#/components/schemas/team.Address"}},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["allowIoTData","botCount","color1","color2","colorAccent","countryCode","dealerManaged","intelligenceFirmwareUpdate","intelligenceStuckTickets","intelligenceSuggestMaintenance","isBiggestFleet","isDealer","lightMode","metric","name","poNrRequired","qrEnabled","userCount"],"title":"Team"},"user.Permission":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"permission":{"type":"integer","format":"int32","description":"Permission type, e.g. 1 for teamlead, 2 for member\n\n\n1 = TEAMLEAD\n\n2 = READ_WRITE\n\n3 = READ\n\n4 = MERCHANT\n\n5 = ADMIN","enum":[1,2,3,4,5],"title":"permission"},"maintain":{"type":"boolean","default":true,"description":"allow accessing maintenance view","title":"maintain"},"operate":{"type":"boolean","default":true,"description":"Operate your robots daily, schedule them, get reports.","title":"operate"},"place":{"$ref":"#/components/schemas/place.Place"},"places":{"type":"array","items":{"$ref":"#/components/schemas/place.Place"}},"user":{"required":["familyName","firstName","isPowerUser","locale","mailNotify","primaryMail","pushNotify","userId"],"title":"Reference"},"team":{"$ref":"#/components/schemas/team.Team"}},"required":["maintain","operate","permission"],"title":"Permission"},"user.Reference":{"type":"object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"userId":{"type":"string","description":"User identifier from the authentication provider","title":"userId"},"firstName":{"type":"string","title":"firstName"},"familyName":{"type":"string","title":"familyName"},"primaryMail":{"type":"string","title":"primaryMail"},"isPowerUser":{"type":"boolean","title":"isPowerUser"},"mailNotify":{"type":"integer","format":"int32","default":2,"description":"\n\n\n1 = DAILY\n\n4 = LIVE\n\n3 = NONE\n\n2 = WEEKLY","enum":[1,2,3,4],"title":"mailNotify"},"locale":{"type":"string","default":"en","title":"locale"},"pushNotify":{"type":"integer","format":"int32","default":3,"description":"Push notification interval","title":"pushNotify"},"permissions":{"$ref":"#/components/schemas/user.Permission"},"selectedTeam":{"$ref":"#/components/schemas/team.Team"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["familyName","firstName","isPowerUser","locale","mailNotify","primaryMail","pushNotify","userId"],"title":"Reference"},"TeamV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"region":{"type":"string"},"parent":{"$ref":"#/components/schemas/WmRef"},"mail":{"type":"string"},"metric":{"type":"boolean"},"creationDate":{"type":"string","format":"date-time"},"legacyTeamId":{"type":"integer","format":"int64"},"hasSubscriptions":{"type":"boolean"},"isDealer":{"type":"boolean"},"companyName":{"type":"string"},"dealerManaged":{"type":"boolean"},"colorAccent":{"type":"string"}}},"UserMfa":{"type":"object","description":"Whether two-factor authentication (OTP) is required for the caller.","properties":{"enabled":{"type":"boolean","description":"true when the caller must use an authenticator app at login"},"enforced":{"type":"boolean","description":"true when MFA is mandated for the caller (administrators, or a role they cannot change) and therefore cannot be turned off here; ignored on PUT"}},"required":["enabled","enforced"]},"MemberPlacesV2":{"type":"object","properties":{"nodeIds":{"type":"array","items":{"type":"integer","format":"int64"}}},"required":["nodeIds"]},"ConfigDefaultsV2":{"type":"object","properties":{"remoteControl":{"type":"boolean"},"returnStartPoint":{"type":"boolean"},"acceleration":{"type":"boolean"},"defaultSuctionPower":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH","MAX"]},"volume":{"type":"string","enum":["MUTE","LOW","MEDIUM","HIGH"]},"waterFlow":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH"]},"language":{"type":"string"},"aiRecognition":{"type":"boolean"},"deepCleaning":{"type":"boolean"}}},"GoalV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"node":{"$ref":"#/components/schemas/WmRef"},"delegation":{"$ref":"#/components/schemas/WmRef"},"scheduleId":{"type":"integer","format":"int64"},"minArea":{"type":"integer","format":"int32"},"minCompletionPct":{"type":"integer","format":"int32"},"maxBattery":{"type":"integer","format":"int32"},"minWater":{"type":"number"},"maxWater":{"type":"number"},"task":{"type":"string"},"taskRef":{"$ref":"#/components/schemas/WmRef"}}},"DelegationTeamRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"colorAccent":{"type":"string"}},"required":["id"]},"DelegationV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"node":{"$ref":"#/components/schemas/WmRef"},"team":{"$ref":"#/components/schemas/DelegationTeamRef"},"accountTeam":{"$ref":"#/components/schemas/WmRef"},"delegationType":{"type":"integer","format":"int32","description":"Available values for DelegationType:\n1 = READ\n2 = READ_WRITE","enum":[1,2]},"plans":{"type":"array","items":{"type":"integer","format":"int32","description":"Available values for Subscription:\n1 = NONE\n2 = CLOUD\n3 = CLOUD_AND_CONNECT_PLUS\n4 = CONNECT_PLUS","enum":[1,2,3,4]}},"dataWindowStart":{"type":"string","format":"date-time"},"dataWindowEnd":{"type":"string","format":"date-time"},"isArchived":{"type":"boolean"},"goalInactivityDays":{"type":"integer","format":"int32"}},"required":["isArchived"]},"ScheduledTaskV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"node":{"$ref":"#/components/schemas/WmRef"},"task":{"$ref":"#/components/schemas/WmRef"},"map":{"$ref":"#/components/schemas/WmRef"},"recurrence":{"type":"string"},"enabled":{"type":"boolean"},"isDoNotDisturb":{"type":"boolean"},"timezone":{"type":"string"},"externalMapId":{"type":"string"},"externalRegions":{"type":"string"},"area":{"type":"string"},"nextRunAt":{"type":"string","format":"date-time"},"toleranceWindow":{"type":"integer","format":"int32"},"repeatCleanTime":{"type":"integer","format":"int32"},"preCleanWait":{"type":"integer","format":"int32"},"taskTemplate":{"type":"string"},"vendorSyncError":{"type":"string"}}},"document.Attachment":{"type":"object","description":"Attachment information","properties":{"id":{"type":"integer","format":"int64","title":"id"},"thumbnail":{"type":"string","description":"URL to the preview picture of the attachment.","title":"thumbnail"},"fileType":{"type":"integer","format":"int32","description":"The file type of the attachment - image, document, or video\n\n\n3 = VIDEO\n\n2 = DOCUMENT\n\n1 = IMAGE","enum":[1,2,3],"title":"fileType"},"name":{"type":"string","description":"Filename of the attachment.","title":"name"},"path":{"type":"string","description":"URL of the saved file.","title":"path"},"user":{"$ref":"#/components/schemas/user.Reference"},"comment":{"$ref":"#/components/schemas/document.Comment"},"ticket":{"$ref":"#/components/schemas/document.Ticket"},"metadata":{"$ref":"#/components/schemas/document.Metadata"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["fileType","name","path"],"title":"Attachment"},"document.Comment":{"type":"object","description":"Comment object","properties":{"id":{"type":"integer","format":"int64","title":"id"},"comment":{"type":"string","title":"comment"},"user":{"$ref":"#/components/schemas/user.Reference"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/document.Attachment"}},"ticket":{"$ref":"#/components/schemas/document.Ticket"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["comment"],"title":"Comment"},"document.Metadata":{"type":"object","description":"Attachment metadata","properties":{"id":{"type":"integer","format":"int64","title":"id"},"model":{"type":"integer","format":"int32","description":"Attachment is tied to a certain model\n\n\n0 = ROOMBA\n\n1 = CLEANFIX\n\n2 = ROBOT_SWEEPER\n\n3 = PHILON\n\n4 = CLEANFIX_RA660XL\n\n5 = CLEANFIX_RA660M\n\n6 = GAUSIUM_40\n\n7 = ITEAM_1700\n\n8 = GAUSIUM_P\n\n9 = GAUSIUM_50\n\n10 = GAUSIUM_75\n\n11 = GAUSIUM_111\n\n12 = ROBOT_SCRUBBER\n\n13 = NAVI_XL\n\n14 = ZACO_1000XPRO\n\n15 = LIONSBOT_R3SCRUB\n\n16 = LIONSBOT_R3VAC\n\n17 = LIONSBOT_REX\n\n18 = LIONSBOT_LEO\n\n19 = PUDU_CC1\n\n20 = M9\n\n21 = CUSTOM\n\n22 = KEENON_S100\n\n23 = KEENON_C30\n\n24 = PUDU_MT1\n\n25 = KAERCHER_B50\n\n26 = KAERCHER_B200\n\n27 = KAERCHER_CV50\n\n28 = GENIUS_SWIFT\n\n29 = ITEAM_1700B\n\n30 = KEENON_W3\n\n31 = KEENON_S300\n\n32 = KEENON_S500\n\n33 = GAUSIUM_TASKI_50\n\n34 = GAUSIUM_TASKI_P\n\n35 = GAUSIUM_TASKI_40\n\n36 = ICE_COBI18","enum":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,4,5,6,7,8,9],"title":"model"},"type":{"type":"integer","format":"int32","description":"Attachment is tied to a certain type\n\n\n1 = ROOMBA\n\n2 = IMOW\n\n4 = FIELDBOTS\n\n5 = RA660\n\n6 = GAUSIUM\n\n7 = ALIYUN\n\n8 = LIONSBOT\n\n9 = TENCENT\n\n10 = CUSTOM\n\n11 = KEENON\n\n12 = KAERCHER\n\n13 = ICECOBOTICS","enum":[1,10,11,12,13,14,15,16,2,4,5,6,7,8,9],"title":"type"},"deleted":{"type":"boolean","default":false,"title":"deleted"},"manufacturer":{"type":"string","description":"Manufacturer related","title":"manufacturer"},"bot":{"$ref":"#/components/schemas/bot.Bot"},"team":{"$ref":"#/components/schemas/team.Team"},"attachment":{"$ref":"#/components/schemas/document.Attachment"}},"required":["deleted"],"title":"Metadata"},"document.Ticket":{"type":"object","description":"Ticket information","properties":{"id":{"type":"integer","format":"int64","title":"id"},"status":{"type":"integer","format":"int32","default":1,"description":"Ticket status\n\n\n2 = CLOSED\n\n1 = OPEN","enum":[1,2],"title":"status"},"name":{"type":"string","description":"Ticket name","title":"name"},"owner":{"type":"integer","format":"int32","description":"Ticket owner\n\n\n3 = ADMIN\n\n4 = DISTRIBUTOR\n\n2 = MAINTAIN\n\n1 = OPERATE","enum":[1,2,3,4],"title":"owner"},"description":{"type":"string","description":"Ticket description","title":"description"},"botState":{"type":"integer","format":"int32","description":"Bot status indication, optional","title":"botState"},"rrule":{"type":"string","description":"Recurrence Rule, used for repeating tickets","title":"rrule"},"startDate":{"type":"string","format":"date","description":"Start date for repeating tickets","title":"startDate"},"additionalBotIds":{"type":"array","description":"additional Bot IDs for repeating tickets","items":{"type":"integer","format":"int64"},"title":"additionalBotIds"},"base":{"$ref":"#/components/schemas/document.Ticket"},"bot":{"$ref":"#/components/schemas/bot.Bot"},"distributor":{"$ref":"#/components/schemas/team.Team"},"attachments":{},"comments":{"type":"array","items":{"$ref":"#/components/schemas/document.Comment"}},"user":{"$ref":"#/components/schemas/user.Reference"},"modificationDate":{"type":"string","format":"date-time","title":"modificationDate"},"modifierId":{"type":"string","title":"modifierId"},"creatorId":{"type":"string","title":"creatorId"},"creationDate":{"type":"string","format":"date-time","title":"creationDate"}},"required":["description","name","owner","status"],"title":"Ticket"},"BotsFilterV2":{"type":"object","properties":{"term":{"type":"string","description":"Free-text search term; absent when empty.","maxLength":255},"manufacturers":{"type":"array","description":"Selected manufacturer display names; absent when not narrowed by manufacturer.","items":{"type":"string"}},"statuses":{"type":"array","description":"Selected status chips. Omitted in a PUT: the view's default (every chip on robots and licensing; red, yellow, alert on maintenance).","items":{"type":"string","enum":["green","yellow","red","grey","alert"]}},"view":{"type":"string","description":"FBOT-5047: the view's card (grid) / list / map selection, stored per team in teamBotsFilters only (ignored in botsFilters). Absent in a response while never chosen in that team. Omitted in a PUT: the stored value is kept.","enum":["list","grid","map"]}}},"BotsFiltersV2":{"type":"object","properties":{"robots":{"$ref":"#/components/schemas/BotsFilterV2"},"maintenance":{"$ref":"#/components/schemas/BotsFilterV2"},"licensing":{"$ref":"#/components/schemas/BotsFilterV2"}},"required":["licensing","maintenance","robots"]},"MapLayersV2":{"type":"object","properties":{"obstacles":{"type":"boolean"},"lastRun":{"type":"boolean"},"monthlyCoverage":{"type":"boolean"},"objects":{"type":"boolean","description":"The \"Map objects\" switch: virtual walls, no-go zones, path, dock and robot on the live map (default on). Omitted in a PUT: the stored value is kept (apps before FBOT-5133 do not send it)."},"expanded":{"type":"boolean","description":"Whether the robot-map box is expanded, kept across detail pages and a re-login (default off, FBOT-5143). Omitted in a PUT: the stored value is kept (apps before FBOT-5143 do not send it)."}},"required":["lastRun","monthlyCoverage","obstacles"]},"PerformanceChartV2":{"type":"object","properties":{"runtime":{"type":"boolean"},"area":{"type":"boolean"},"coverage":{"type":"boolean"},"delivered":{"type":"boolean"}}},"UserPreferencesV2":{"type":"object","description":"The caller's client preferences, fully typed; a PUT replaces the whole document.","properties":{"botsFilters":{"$ref":"#/components/schemas/BotsFiltersV2","description":"The pre-FBOT-5047 user-level bots-view filters (FBOT-5009), kept for older apps. Always present in a response. Omitted in a PUT: the defaults when the PUT carries no teamBotsFilters (an old app), otherwise the stored value is kept."},"teamBotsFilters":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BotsFiltersV2"},"description":"FBOT-5047: the bots-view filters per WM team id (the key). Always present in a response (empty while none are saved). In a PUT: each named team's filters are replaced, every other team's are kept; omitted, no team's filters change."},"mapLayers":{"$ref":"#/components/schemas/MapLayersV2","description":"The robot-map layer toggles, global per user (FBOT-4979)."},"performanceChart":{"$ref":"#/components/schemas/PerformanceChartV2","description":"FBOT-5004: the Performance widget's series switches, global per user. Always present in a response. Omitted in a PUT (an app before FBOT-5004), or a switch omitted inside it: the stored value is kept."},"updatedAt":{"type":"string","format":"date-time","description":"When the document was last written; absent while the caller has never written it.","readOnly":true}},"required":["mapLayers"]},"MapV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"floorNode":{"$ref":"#/components/schemas/WmRef"},"name":{"type":"string"},"imageUrl":{"type":"string"},"externalId":{"type":"string"},"archiveDate":{"type":"string","format":"date-time"},"creationDate":{"type":"string","format":"date-time"},"thumbnail":{"type":"string"},"isPinned":{"type":"boolean"},"isCurrent":{"type":"boolean"},"version":{"type":"string"},"width":{"type":"integer","format":"int32"},"height":{"type":"integer","format":"int32"},"mapRotation":{"type":"integer","format":"int32"}},"required":["isCurrent","isPinned"]},"EventV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"type":{"type":"string","enum":["COMMENT","STATUS_CHANGE","PERFORMANCE","ACTION","MAP","TICKET","ATTACHMENT","BOT_CHANGE","DELEGATION_CHANGE","SETTING_FIELD","SETTING_SCRUBBER","SETTING_ZACO","SETTING_GENERAL","CONSUMABLE","INCIDENT","FIRMWARE_AVAILABLE","REQUIRED_ACTION","LICENSE_CHANGE","FIRMWARE_UPDATED"]},"category":{"type":"integer","format":"int32","description":"Available values for Category:\n1 = BOT_CLEANED\n10 = MOP_BRUSH_REPLACED\n11 = RUBBER_LIPS_REPLACED\n12 = WATER_FILTER_REPLACED\n13 = DUST_BAG_REPLACED\n14 = DISK_BRUSH_REPLACED\n15 = FILTER_BAG_REPLACED\n16 = SCRUBBING_BRUSH_REPLACED\n17 = WET_RUBBER_LIPS_REPLACED\n18 = FIRMWARE_UPDATE\n19 = LOCATED\n2 = BOT_CHECKED\n20 = DUST_BAG_EMPTIED\n21 = MAP_RESET\n22 = MARKED_STOLEN\n23 = MARKED_RECOVERED\n3 = FILTER_REPLACED\n4 = SIDE_BRUSH_REPLACED\n5 = MAIN_BRUSH_REPLACED\n6 = MAP_ADJUSTED\n7 = SCHEDULE_ADJUSTED\n8 = MAP_RESTORED\n9 = PLACE_AREA","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,3,4,5,6,7,8,9]},"message":{"type":"string"},"occurredAt":{"type":"string","format":"date-time"},"actorId":{"type":"string"},"fromStatus":{"type":"integer","format":"int32","description":"Available values for Mainstatus:\n1 = DISCONNECTED\n10 = DUST_EXPEL\n11 = BIN_FULL\n12 = NOT_REACHABLE\n13 = QR_MISSING\n14 = EMPTY_BATTERY\n15 = CANT_ACCESS_AREA\n16 = TILTED\n17 = CLEAN_FRONT_SENSOR\n18 = MAIN_BRUSH_BLOCKED\n19 = SIDE_BRUSH_BLOCKED\n2 = CHARGING\n20 = SUCTION_MOTOR\n21 = DUST_BIN_ISSUE\n22 = CLEAN_FILTER_BIN\n23 = FLOOR\n24 = RESTRICTED_AREA\n25 = CLEAN_FALL_SENSORS\n26 = REPLACE_BATTERY\n27 = REPLACE_WHEEL\n28 = REPLACE_LIDAR\n29 = INTERMEDIATE_CHARGING\n3 = DOCKED\n30 = SENSOR_SIDE_BRUSH\n31 = SENSOR_MAIN_BRUSH\n32 = SENSOR_FILTER\n33 = DUST_BAG_MISPLACED\n34 = CHARGING_ERROR\n35 = RECHARGE_FAILED\n36 = STOLEN\n37 = SCANNING_AREA\n38 = NOT_LICENSED\n39 = DELIVERING\n4 = VACUUMING\n5 = STUCK\n6 = STOP\n7 = TO_DOCKING\n8 = MOWING\n9 = ERROR","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,5,6,7,8,9]},"toStatus":{"type":"integer","format":"int32","description":"Available values for Mainstatus:\n1 = DISCONNECTED\n10 = DUST_EXPEL\n11 = BIN_FULL\n12 = NOT_REACHABLE\n13 = QR_MISSING\n14 = EMPTY_BATTERY\n15 = CANT_ACCESS_AREA\n16 = TILTED\n17 = CLEAN_FRONT_SENSOR\n18 = MAIN_BRUSH_BLOCKED\n19 = SIDE_BRUSH_BLOCKED\n2 = CHARGING\n20 = SUCTION_MOTOR\n21 = DUST_BIN_ISSUE\n22 = CLEAN_FILTER_BIN\n23 = FLOOR\n24 = RESTRICTED_AREA\n25 = CLEAN_FALL_SENSORS\n26 = REPLACE_BATTERY\n27 = REPLACE_WHEEL\n28 = REPLACE_LIDAR\n29 = INTERMEDIATE_CHARGING\n3 = DOCKED\n30 = SENSOR_SIDE_BRUSH\n31 = SENSOR_MAIN_BRUSH\n32 = SENSOR_FILTER\n33 = DUST_BAG_MISPLACED\n34 = CHARGING_ERROR\n35 = RECHARGE_FAILED\n36 = STOLEN\n37 = SCANNING_AREA\n38 = NOT_LICENSED\n39 = DELIVERING\n4 = VACUUMING\n5 = STUCK\n6 = STOP\n7 = TO_DOCKING\n8 = MOWING\n9 = ERROR","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,5,6,7,8,9]},"batteryLevel":{"type":"integer","format":"int32"},"preview":{"type":"string"},"refId":{"type":"integer","format":"int64"},"refUrl":{"type":"string"},"revisionType":{"type":"string"},"taskReport":{"$ref":"#/components/schemas/TaskReportV2"},"actorName":{"type":"string"},"vendorMessage":{"type":"string"},"vendorCode":{"type":"string"},"vendorSeverity":{"type":"string"},"resolvedAt":{"type":"string","format":"date-time"},"vendorMessageTranslated":{"type":"string"},"vendorMessageLanguage":{"type":"string"},"mapCreatedAt":{"type":"string","format":"date-time"},"mapPin":{"$ref":"#/components/schemas/MapPinV2"},"form":{"$ref":"#/components/schemas/FormEntryV2"}},"required":["type"]},"FormEntryV2":{"type":"object","properties":{"submissionId":{"type":"integer","format":"int64"},"formType":{"type":"string"},"title":{"type":"string"},"icon":{"type":"string"},"values":{"type":"array","items":{"$ref":"#/components/schemas/FormFieldValueV2"}}},"required":["formType","submissionId","title","values"]},"FormFieldValueV2":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"kind":{"type":"string","enum":["TEXT","EMAIL","TEXTAREA","INTEGER","FLOAT","DECIMAL","DATE","TIME","RADIO","CHECKBOX","SELECT","FILE"]},"value":{}},"required":["key","kind","label"]},"MapPinV2":{"type":"object","properties":{"action":{"type":"string","enum":["PINNED","UNPINNED","CURRENT_MAP_PINNED","CURRENT_MAP_UNPINNED"]},"mapId":{"type":"integer","format":"int64"},"mapName":{"type":"string"},"mapCreatedAt":{"type":"string","format":"date-time"}},"required":["action"]},"TaskReportV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"node":{"$ref":"#/components/schemas/WmRef"},"task":{"$ref":"#/components/schemas/WmRef"},"taskName":{"type":"string"},"startMethod":{"type":"integer","format":"int32","description":"Available values for Initiator:\n1 = SCHEDULE\n2 = MANUAL\n3 = APP\n4 = APP_IOS\n5 = APP_ANDROID\n6 = APP_WEB","enum":[1,2,3,4,5,6]},"startTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"durationSeconds":{"type":"integer","format":"int32"},"cleaningSeconds":{"type":"integer","format":"int32"},"actualAreaM2":{"type":"number","format":"double"},"completionPct":{"type":"number","format":"double"},"batteryAtStartPct":{"type":"integer","format":"int32"},"batteryAtEndPct":{"type":"integer","format":"int32"},"batteryConsumptionPct":{"type":"integer","format":"int32"},"cleaningModeLabel":{"type":"integer","format":"int32","description":"Available values for Type:\n1 = VACUUMING\n2 = MOPPING\n3 = VACUUMING_MOPPING\n4 = SCRUBBING\n5 = DELIVERING\n6 = SWEEPING","enum":[1,2,3,4,5,6]},"reportPngUrl":{"type":"string"},"pathDataRef":{"type":"string"},"externalId":{"type":"string"},"isSynthetic":{"type":"boolean"},"areaType":{"type":"integer","format":"int32","description":"Available values for Areatype:\n1 = EVERYTHING\n2 = AREA\n3 = PLACE","enum":[1,2,3]},"plannedAreaM2":{"type":"number","format":"double"},"plannedPolishAreaM2":{"type":"number","format":"double"},"actualPolishAreaM2":{"type":"number","format":"double"},"efficiency":{"type":"number","format":"double"},"waterUsedL":{"type":"number","format":"double"},"planRunningTimeSeconds":{"type":"integer","format":"int32"},"chargeCycles":{"type":"integer","format":"int32"},"interruptions":{"type":"integer","format":"int32"},"elevatorRides":{"type":"integer","format":"int32"},"endStatus":{"type":"string"},"caption":{"type":"string"}}},"AddressV2":{"type":"object","properties":{"companyName":{"type":"string"},"street":{"type":"string"},"zipCode":{"type":"string"},"city":{"type":"string"},"countryCode":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"}}},"EnvironmentNodeV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"parent":{"$ref":"#/components/schemas/WmRef"},"kind":{"type":"string","enum":["SITE","BUILDING","FLOOR","ROOM","ZONE"]},"name":{"type":"string"},"teamId":{"type":"integer","format":"int64"},"areaM2":{"type":"number","format":"double"},"address":{"$ref":"#/components/schemas/AddressV2"},"doNotDisturbUntil":{"type":"string","format":"date-time"},"rate":{"type":"number"},"preview":{"type":"string"},"geometry":{"type":"string"},"floorMaterial":{"type":"string"},"roomColour":{"type":"string"},"sequenceOrder":{"type":"integer","format":"int32"},"cleaningPasses":{"type":"integer","format":"int32"},"cleaningProhibited":{"type":"boolean"},"moppingProhibited":{"type":"boolean"},"fanGear":{"type":"string","enum":["OFF","GEAR_1","GEAR_2","GEAR_3"]},"defaultSuction":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH","MAX"]},"defaultWaterFlow":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH"]},"waterUsedPerCycle":{"type":"number","format":"double"}}},"Part":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"inputStream":{},"headerNames":{"type":"array","items":{"type":"string"}},"submittedFileName":{"type":"string"},"contentType":{"type":"string"}}},"ConnectionV2Request":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"teamId":{"type":"integer","format":"int64"},"username":{"type":"string"},"region":{"type":"string"},"valid":{"type":"boolean"},"type":{"type":"string"},"password":{"type":"string"},"destination":{"type":"string"}}},"BotBatteryV2":{"type":"object","properties":{"batteryPct":{"type":"integer","format":"int32"},"chargingActive":{"type":"boolean"},"chargingStage":{"type":"string","enum":["NOT_CHARGING","CHARGING","TRICKLE_CHARGING","FULLY_CHARGED"]},"chargeType":{"type":"string","enum":["PLUG","DOCK","WIRELESS"]},"capturedAt":{"type":"string","format":"date-time"}}},"BotDelegationV2":{"type":"object","properties":{"legacyDelegationId":{"type":"integer","format":"int64"},"delegationType":{"type":"integer","format":"int32"},"placeNodeId":{"type":"integer","format":"int64"},"placeName":{"type":"string"},"legacyTeamId":{"type":"integer","format":"int64"},"subscription":{"type":"array","items":{"type":"integer","format":"int32"}},"goalInactivityDays":{"type":"integer","format":"int32"},"dataWindowStart":{"type":"string","format":"date-time"},"dataWindowEnd":{"type":"string","format":"date-time"},"isArchived":{"type":"boolean"}},"required":["isArchived","subscription"]},"BotIncidentV2":{"type":"object","properties":{"rawCode":{"type":"string"},"message":{"type":"string"},"severity":{"type":"string"},"occurredAt":{"type":"string","format":"date-time"},"translatedMessage":{"type":"string"},"originalLanguage":{"type":"string"}}},"BotStatusV2":{"type":"object","properties":{"taskState":{"type":"string"},"runtime":{"type":"integer","format":"int32"},"capturedAt":{"type":"string","format":"date-time"},"mainStatus":{"type":"integer","format":"int32"},"ledStatus":{"type":"integer","format":"int32"},"batteryLevel":{"type":"integer","format":"int32"},"requiredAction":{"type":"integer","format":"int32"},"waterLevel":{"type":"integer","format":"int32"},"lastStatusUpdate":{"type":"string","format":"date-time"},"hasActiveTask":{"type":"boolean"},"area":{"type":"integer","format":"int32"}},"required":["hasActiveTask"]},"BotV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"serialNumber":{"type":"string"},"modelId":{"type":"integer","format":"int32"},"modelName":{"type":"string"},"isOnline":{"type":"boolean"},"teamId":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/BotStatusV2"},"battery":{"$ref":"#/components/schemas/BotBatteryV2"},"legacyBotId":{"type":"integer","format":"int64"},"firmwareVersion":{"type":"string"},"timeZone":{"type":"string"},"isEnabled":{"type":"boolean"},"isVirtual":{"type":"boolean"},"hasCustomScheduling":{"type":"boolean"},"deviceId":{"type":"string"},"qrCode":{"type":"string"},"delegation":{"$ref":"#/components/schemas/BotDelegationV2"},"creationDate":{"type":"string","format":"date-time"},"hasCellularConnection":{"type":"boolean"},"incident":{"$ref":"#/components/schemas/BotIncidentV2"},"connectedToInternalRouter":{"type":"boolean"},"supportsFirmwareUpdate":{"type":"boolean"},"capabilityProfileId":{"type":"string"}},"required":["id","isOnline"]},"ConnectionV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"team":{"$ref":"#/components/schemas/WmRef"},"username":{"type":"string"},"region":{"type":"string"},"isEnabled":{"type":"boolean"},"valid":{"type":"boolean"},"type":{"type":"string"},"botRefs":{"type":"array","items":{"$ref":"#/components/schemas/WmRef"}},"bots":{"type":"array","items":{"$ref":"#/components/schemas/BotV2"}}}},"BotUpdateV2":{"type":"object","properties":{"name":{"type":"string"},"qrCode":{"type":"string"},"hasCustomScheduling":{"type":"boolean"},"deviceId":{"type":"string"},"serialNumber":{"type":"string"}}},"StatusWriteV2":{"type":"object","properties":{"taskState":{"type":"integer","format":"int32","description":"Available values for Mainstatus:\n1 = DISCONNECTED\n10 = DUST_EXPEL\n11 = BIN_FULL\n12 = NOT_REACHABLE\n13 = QR_MISSING\n14 = EMPTY_BATTERY\n15 = CANT_ACCESS_AREA\n16 = TILTED\n17 = CLEAN_FRONT_SENSOR\n18 = MAIN_BRUSH_BLOCKED\n19 = SIDE_BRUSH_BLOCKED\n2 = CHARGING\n20 = SUCTION_MOTOR\n21 = DUST_BIN_ISSUE\n22 = CLEAN_FILTER_BIN\n23 = FLOOR\n24 = RESTRICTED_AREA\n25 = CLEAN_FALL_SENSORS\n26 = REPLACE_BATTERY\n27 = REPLACE_WHEEL\n28 = REPLACE_LIDAR\n29 = INTERMEDIATE_CHARGING\n3 = DOCKED\n30 = SENSOR_SIDE_BRUSH\n31 = SENSOR_MAIN_BRUSH\n32 = SENSOR_FILTER\n33 = DUST_BAG_MISPLACED\n34 = CHARGING_ERROR\n35 = RECHARGE_FAILED\n36 = STOLEN\n37 = SCANNING_AREA\n38 = NOT_LICENSED\n39 = DELIVERING\n4 = VACUUMING\n5 = STUCK\n6 = STOP\n7 = TO_DOCKING\n8 = MOWING\n9 = ERROR","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,5,6,7,8,9]}}},"TelemetryV2":{"type":"object","properties":{"capturedAt":{"type":"string","format":"date-time"},"taskState":{"type":"integer","format":"int32","description":"Available values for Mainstatus:\n1 = DISCONNECTED\n10 = DUST_EXPEL\n11 = BIN_FULL\n12 = NOT_REACHABLE\n13 = QR_MISSING\n14 = EMPTY_BATTERY\n15 = CANT_ACCESS_AREA\n16 = TILTED\n17 = CLEAN_FRONT_SENSOR\n18 = MAIN_BRUSH_BLOCKED\n19 = SIDE_BRUSH_BLOCKED\n2 = CHARGING\n20 = SUCTION_MOTOR\n21 = DUST_BIN_ISSUE\n22 = CLEAN_FILTER_BIN\n23 = FLOOR\n24 = RESTRICTED_AREA\n25 = CLEAN_FALL_SENSORS\n26 = REPLACE_BATTERY\n27 = REPLACE_WHEEL\n28 = REPLACE_LIDAR\n29 = INTERMEDIATE_CHARGING\n3 = DOCKED\n30 = SENSOR_SIDE_BRUSH\n31 = SENSOR_MAIN_BRUSH\n32 = SENSOR_FILTER\n33 = DUST_BAG_MISPLACED\n34 = CHARGING_ERROR\n35 = RECHARGE_FAILED\n36 = STOLEN\n37 = SCANNING_AREA\n38 = NOT_LICENSED\n39 = DELIVERING\n4 = VACUUMING\n5 = STUCK\n6 = STOP\n7 = TO_DOCKING\n8 = MOWING\n9 = ERROR","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,4,5,6,7,8,9]},"runtime":{"type":"integer","format":"int32"},"navigationStatus":{"type":"string","enum":["IDLE","NAVIGATING","PLANNING","BLOCKED","STUCK","ARRIVED"]},"availability":{"type":"string","enum":["AVAILABLE","BUSY","OFFLINE","MAINTENANCE"]},"wifiSignal":{"type":"integer","format":"int32"}},"required":["capturedAt"]},"BotConfigWriteV2":{"type":"object","properties":{"remoteControl":{"type":"boolean"},"returnStartPoint":{"type":"boolean"},"acceleration":{"type":"boolean"},"defaultSuctionPower":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH","MAX"]},"volume":{"type":"string","enum":["MUTE","LOW","MEDIUM","HIGH"]},"waterFlow":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH"]},"language":{"type":"string"},"aiRecognition":{"type":"boolean"},"deepCleaning":{"type":"boolean"},"costInitial":{"type":"number","format":"double"},"costMonthly":{"type":"number","format":"double"}}},"BotConfigV2":{"type":"object","properties":{"effectiveFrom":{"type":"string","format":"date-time"},"remoteControl":{"type":"boolean"},"volume":{"type":"string","enum":["MUTE","LOW","MEDIUM","HIGH"]},"doNotDisturbActive":{"type":"boolean"},"carpetBoostActive":{"type":"boolean"},"wifiSsid":{"type":"string"},"language":{"type":"string"},"defaultSuctionPower":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH","MAX"]},"waterFlow":{"type":"string","enum":["OFF","LOW","MEDIUM","HIGH"]},"acceleration":{"type":"boolean"},"returnStartPoint":{"type":"boolean"},"aiRecognition":{"type":"boolean"},"deepCleaning":{"type":"boolean"},"costInitial":{"type":"number","format":"double"},"costMonthly":{"type":"number","format":"double"},"isBotOverride":{"type":"boolean"},"firmwareMapPinEnabled":{"type":"boolean"}},"required":["effectiveFrom","firmwareMapPinEnabled","isBotOverride"]},"FirmwareMapPinV2":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"TranslationGlossaryEntryV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"vendor":{"type":"string"},"sourceTerm":{"type":"string"},"targetLocale":{"type":"string"},"preferredTerm":{"type":"string"},"note":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}},"PageV2TaskReportV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TaskReportV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"ManufacturerUtilizationV2":{"type":"object","description":"Area, runtime and robot count per manufacturer in the range (Draxlr 'Manufacturer Utilization').","properties":{"manufacturer":{"type":"string"},"areaM2":{"type":"number","format":"double"},"durationSeconds":{"type":"integer","format":"int64"},"robots":{"type":"integer","format":"int32","description":"Robots that are not microbots."},"microbots":{"type":"integer","format":"int32"},"radarScore":{"type":"integer","format":"int32","description":"5 x robots + microbots."}},"required":["areaM2","durationSeconds","manufacturer","microbots","radarScore","robots"]},"ModelAmortizationV2":{"type":"object","description":"Months until a model's robots pay back their costs from their sales (Draxlr 'Model Amortization Time').","properties":{"model":{"type":"string","description":"Manufacturer and model name, e.g. 'Kärcher Kira B 50'."},"picture":{"type":"string","description":"Catalog picture of the model."},"robots":{"type":"integer","format":"int32"},"months":{"type":"integer","format":"int32","description":"Average months to break even (rounded up); null = no amortization."},"estimate":{"type":"boolean","description":"True when at least one robot has not broken even yet and its months are projected."}},"required":["estimate","model","robots"]},"ReturnOnInvestmentV2":{"type":"object","description":"Return on Investment per month: sales (area x rate) and total cost of ownership, monthly and cumulative.","properties":{"currency":{"type":"string","description":"The currency every amount is in (the request's currency).","example":"EUR"},"defaultRatePerM2":{"type":"number","format":"double","description":"The rate per m² used for runs at places without one (2.00 EUR, converted).","example":2.0},"months":{"type":"array","description":"Months of the range from the first run on, oldest first.","items":{"$ref":"#/components/schemas/RoiMonthV2"}}},"required":["currency","defaultRatePerM2","months"]},"RobotUtilizationV2":{"type":"object","properties":{"bot":{"$ref":"#/components/schemas/WmRef"},"runs":{"type":"integer","format":"int32"},"areaM2":{"type":"number","format":"double"},"durationSeconds":{"type":"integer","format":"int64"},"activeDays":{"type":"integer","format":"int32","description":"Days with at least one run started."},"days":{"type":"integer","format":"int32","description":"Days in the robot's window (range narrowed by its data window, up to today)."}},"required":["activeDays","areaM2","bot","days","durationSeconds","runs"]},"RoiMonthV2":{"type":"object","properties":{"month":{"type":"string","example":"2026-09"},"salesMonthly":{"type":"number","format":"double"},"salesCumulative":{"type":"number","format":"double"},"tcoMonthly":{"type":"number","format":"double"},"tcoCumulative":{"type":"number","format":"double"}},"required":["month","salesCumulative","salesMonthly","tcoCumulative","tcoMonthly"]},"UtilizationDayV2":{"type":"object","properties":{"date":{"type":"string","format":"date"},"runs":{"type":"integer","format":"int32"},"areaM2":{"type":"number","format":"double"},"durationSeconds":{"type":"integer","format":"int64"},"activeRobots":{"type":"integer","format":"int32","description":"Robots with at least one run started that day."}},"required":["activeRobots","areaM2","date","durationSeconds","runs"]},"UtilizationDeviationV2":{"type":"object","description":"A robot whose cleaned area in the range deviates from the average robot of the same model across all FieldBots teams in the same range (Draxlr 'Underdelivering / Overdelivering Machines'). Only the average is cross-team; no other team's robot is ever listed.","properties":{"bot":{"$ref":"#/components/schemas/WmRef"},"model":{"type":"string","description":"Catalog model name, e.g. 'Kira B 50'."},"manufacturer":{"type":"string","description":"Catalog manufacturer, e.g. 'Kärcher'."},"areaM2":{"type":"number","format":"double","description":"Cleaned area of this robot in the range, m²."},"modelAverageM2":{"type":"number","format":"double","description":"Average cleaned area per robot of the same model (robots with runs in the range, all teams), m²."},"ratePct":{"type":"number","format":"double","description":"(areaM2 / modelAverageM2 - 1) x 100, rounded to one decimal; -100 = no area at all.","example":-62.5}},"required":["areaM2","bot","modelAverageM2","ratePct"]},"UtilizationReportV2":{"type":"object","description":"Utilization Report: how much the robots worked, per day and per robot.","properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"},"timeZone":{"type":"string"},"robotCount":{"type":"integer","format":"int32"},"totals":{"$ref":"#/components/schemas/UtilizationTotalsV2"},"days":{"type":"array","description":"Every day of the range up to today, in timeZone, oldest first.","items":{"$ref":"#/components/schemas/UtilizationDayV2"}},"robots":{"type":"array","description":"One entry per robot, most active days first (robots without runs included).","items":{"$ref":"#/components/schemas/RobotUtilizationV2"}},"underdelivering":{"type":"array","description":"FBOT-4816 part 3: robots at least 50 % below their model's average, furthest below first.","items":{"$ref":"#/components/schemas/UtilizationDeviationV2"}},"overdelivering":{"type":"array","description":"FBOT-4816 part 3: robots more than 50 % above their model's average, furthest above first.","items":{"$ref":"#/components/schemas/UtilizationDeviationV2"}},"returnOnInvestment":{"$ref":"#/components/schemas/ReturnOnInvestmentV2","description":"FBOT-4816 part 3: sales vs total cost of ownership per month."},"manufacturers":{"type":"array","description":"FBOT-4816 part 3: area, runtime and robots per manufacturer, largest area first.","items":{"$ref":"#/components/schemas/ManufacturerUtilizationV2"}},"amortization":{"type":"array","description":"FBOT-4816 part 3: amortization time per model (over the robots' whole history), shortest first.","items":{"$ref":"#/components/schemas/ModelAmortizationV2"}}},"required":["amortization","days","end","manufacturers","overdelivering","robotCount","robots","start","timeZone","totals","underdelivering"]},"UtilizationTotalsV2":{"type":"object","properties":{"runs":{"type":"integer","format":"int32"},"areaM2":{"type":"number","format":"double"},"durationSeconds":{"type":"integer","format":"int64"},"activeRobotDays":{"type":"integer","format":"int32","description":"Sum over robots of the days with at least one run started."},"robotDays":{"type":"integer","format":"int32","description":"Sum over robots of the days in the robot's window (the denominator of activeRobotDays)."}},"required":["activeRobotDays","areaM2","durationSeconds","robotDays","runs"]},"Co2MonthV2":{"type":"object","description":"Estimated CO₂ of one month (kg): electricity used, and the energy to treat the water used.","properties":{"month":{"type":"string","example":"2026-09"},"energyKg":{"type":"number","format":"double"},"waterKg":{"type":"number","format":"double"}},"required":["energyKg","month","waterKg"]},"ConsumableCountV2":{"type":"object","properties":{"category":{"type":"string","description":"The timeline event category name, e.g. FILTER_REPLACED.","example":"FILTER_REPLACED"},"count":{"type":"integer","format":"int32"}},"required":["category","count"]},"ConsumableLifespanV2":{"type":"object","description":"Area cleaned between two replacements of a consumable (Draxlr 'Consumable Lifespan').","properties":{"category":{"type":"string","description":"The timeline event category name, e.g. FILTER_REPLACED.","example":"FILTER_REPLACED"},"replacements":{"type":"integer","format":"int32","description":"Replacements in the range."},"waitingForData":{"type":"boolean","description":"True when there is no replacement, or no two consecutive ones with runs between them, in the range."},"areaBetweenM2":{"type":"number","format":"double","description":"Average area (m²) between two replacements, both inside the range."},"globalAreaBetweenM2":{"type":"number","format":"double","description":"The same average over the robots' whole history."}},"required":["category","replacements","waitingForData"]},"MonthlySeriesV2":{"type":"object","description":"Cumulative values per month, one series per name.","properties":{"months":{"type":"array","description":"Months, oldest first, `yyyy-MM`.","items":{"type":"string"}},"series":{"type":"array","items":{"$ref":"#/components/schemas/NamedSeriesV2"}}},"required":["months","series"]},"NamedSeriesV2":{"type":"object","properties":{"name":{"type":"string"},"values":{"type":"array","description":"One cumulative value per month of `months`.","items":{"type":"number","format":"double"}}},"required":["name","values"]},"SustainabilityDayV2":{"type":"object","properties":{"date":{"type":"string","format":"date"},"areaM2":{"type":"number","format":"double"},"waterL":{"type":"number","format":"double"}},"required":["areaM2","date","waterL"]},"SustainabilityReportV2":{"type":"object","description":"Sustainability Report: water used and consumables replaced.","properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"},"timeZone":{"type":"string"},"robotCount":{"type":"integer","format":"int32"},"water":{"$ref":"#/components/schemas/WaterUsageV2"},"areaPerLitre":{"type":"number","format":"double","description":"m² cleaned per litre over the runs that report water (> 0 l) AND an area (> 0 m²) — Draxlr 'Area per Unit Water' (FBOT-4816 part 3). Null when no such run."},"days":{"type":"array","description":"Every day of the range up to today, in timeZone, oldest first.","items":{"$ref":"#/components/schemas/SustainabilityDayV2"}},"consumables":{"type":"array","description":"Consumables replaced in the range (the *_REPLACED timeline events), most frequent first.","items":{"$ref":"#/components/schemas/ConsumableCountV2"}},"consumablesReplaced":{"type":"integer","format":"int32"},"consumableLifespan":{"type":"array","description":"FBOT-4816 part 3: area between replacements per consumable, in the range and over all time.","items":{"$ref":"#/components/schemas/ConsumableLifespanV2"}},"consumablesOverTime":{"$ref":"#/components/schemas/MonthlySeriesV2","description":"FBOT-4816 part 3: consumables replaced per model, cumulative per month."},"waterOverTime":{"$ref":"#/components/schemas/MonthlySeriesV2","description":"FBOT-4816 part 3: water used (litres) per manufacturer, cumulative per month."},"energyOverTime":{"$ref":"#/components/schemas/MonthlySeriesV2","description":"FBOT-4816 part 3: estimated energy used (kWh) per manufacturer, cumulative per month."},"co2":{"type":"array","description":"FBOT-4816 part 3: estimated CO₂ per month (kg).","items":{"$ref":"#/components/schemas/Co2MonthV2"}},"areaPerKwh":{"type":"number","format":"double","description":"FBOT-4816 part 3: m² cleaned per kWh over the runs with a measured battery drop. Null when none."}},"required":["co2","consumableLifespan","consumables","consumablesOverTime","consumablesReplaced","days","end","energyOverTime","robotCount","start","timeZone","water","waterOverTime"]},"WaterUsageV2":{"type":"object","properties":{"litres":{"type":"number","format":"double","description":"Water used in litres (sum of the runs' reported water)."},"areaM2":{"type":"number","format":"double","description":"Area in m² of the runs that report water (> 0 l)."},"runsWithWater":{"type":"integer","format":"int32"},"runs":{"type":"integer","format":"int32","description":"All runs in the range."}},"required":["areaM2","litres","runs","runsWithWater"]},"DeliveryReportV2":{"type":"object","description":"Aggregates of the Delivery Report for a robot selection over a date range.","properties":{"start":{"type":"string","format":"date","description":"First day of the range (inclusive), in [timeZone]."},"end":{"type":"string","format":"date","description":"Last day of the range (inclusive), in [timeZone]."},"timeZone":{"type":"string","description":"IANA zone the day boundaries and weekdays are computed in.","example":"Europe/Berlin"},"robotCount":{"type":"integer","format":"int32","description":"Number of robots the report covers (accessible, licensed, in the selection)."},"totals":{"$ref":"#/components/schemas/DeliveryTotalsV2"},"weekdays":{"type":"array","description":"Always seven entries, Monday (1) to Sunday (7).","items":{"$ref":"#/components/schemas/WeekdayPerformanceV2"}},"workload":{"type":"array","description":"One entry per robot in the report, most area first (robots without runs included).","items":{"$ref":"#/components/schemas/RobotWorkloadV2"}},"uptime":{"type":"array","description":"Time spent per status category, every category present, in a stable order.","items":{"$ref":"#/components/schemas/UptimeSliceV2"}},"workloadFleet":{"$ref":"#/components/schemas/WorkloadFleetV2","description":"FBOT-4816 part 2: the Workload Fleet diagram — actual, target and maximum area."}},"required":["end","robotCount","start","timeZone","totals","uptime","weekdays","workload","workloadFleet"]},"DeliveryTotalsV2":{"type":"object","properties":{"runs":{"type":"integer","format":"int32","description":"Number of task reports (runs)."},"areaM2":{"type":"number","format":"double","description":"Cleaned area in m² (the app converts to ft² for imperial teams)."},"durationSeconds":{"type":"integer","format":"int64","description":"Summed runtime of the runs, seconds."},"avgCompletionPct":{"type":"number","format":"double","description":"Mean completion of the runs that report one (0-100); null when none does."}},"required":["areaM2","durationSeconds","runs"]},"RobotWorkloadV2":{"type":"object","properties":{"bot":{"$ref":"#/components/schemas/WmRef"},"runs":{"type":"integer","format":"int32"},"areaM2":{"type":"number","format":"double"},"durationSeconds":{"type":"integer","format":"int64"}},"required":["areaM2","bot","durationSeconds","runs"]},"UptimeSliceV2":{"type":"object","properties":{"category":{"type":"string","enum":["CLEANING","DELIVERING","MOVING","DOCKED","STOP","QR_MISSING","ERROR","OFFLINE"]},"seconds":{"type":"integer","format":"int64"}},"required":["category","seconds"]},"WeekdayPerformanceV2":{"type":"object","properties":{"weekday":{"type":"integer","format":"int32","description":"ISO weekday, 1 = Monday … 7 = Sunday."},"runs":{"type":"integer","format":"int32"},"areaM2":{"type":"number","format":"double"},"durationSeconds":{"type":"integer","format":"int64"}},"required":["areaM2","durationSeconds","runs","weekday"]},"WorkloadFleetV2":{"type":"object","description":"Workload Fleet: cleaned (actual), planned (target) and possible (maximum) area of the selection.","properties":{"actualM2":{"type":"number","format":"double","description":"Cleaned area in m² — the same number as totals.areaM2."},"targetM2":{"type":"number","format":"double","description":"Planned area in m²: for every scheduled run in the range (enabled, not do-not-disturb schedules of the robots or of their places), the area of the schedule's place. Null when no scheduled run is at a place with a known area."},"scheduledRuns":{"type":"integer","format":"int32","description":"Scheduled runs in the range (including runs at places without a known area)."},"maximumM2":{"type":"number","format":"double","description":"Possible area in m²: per robot, the catalog 'Area Max' of its model (largest area per run) x [maximumRunsPerDay] x the days of the range. Null when no robot's model has an Area Max."},"maximumRunsPerDay":{"type":"integer","format":"int32","description":"Runs per robot and day the maximum assumes (the original Workload chart's factor).","example":3},"robotsWithMaximum":{"type":"integer","format":"int32","description":"Robots whose model has a catalog Area Max, i.e. that count towards the maximum."}},"required":["actualM2","maximumRunsPerDay","robotsWithMaximum","scheduledRuns"]},"MassAssignLicensesRequestV2":{"type":"object","properties":{"productId":{"type":"string"},"placeId":{"type":"integer","format":"int64"},"unassigned":{"type":"boolean"}},"required":["productId","unassigned"]},"MassAssignFailureV2":{"type":"object","properties":{"botId":{"type":"integer","format":"int64"},"name":{"type":"string"},"reason":{"type":"string"}},"required":["botId","name","reason"]},"MassAssignLicensesResultV2":{"type":"object","properties":{"teamId":{"type":"integer","format":"int64"},"placeId":{"type":"integer","format":"int64"},"unassigned":{"type":"boolean"},"productId":{"type":"string"},"productName":{"type":"string"},"tier":{"type":"integer","format":"int32","description":"Available values for Subscription:\n1 = NONE\n2 = CLOUD\n3 = CLOUD_AND_CONNECT_PLUS\n4 = CONNECT_PLUS","enum":[1,2,3,4]},"dryRun":{"type":"boolean"},"unlicensedBots":{"type":"integer","format":"int32"},"notApplicable":{"type":"integer","format":"int32"},"freeSeatsBefore":{"type":"integer","format":"int32"},"freeSeatsLeft":{"type":"integer","format":"int32"},"licensed":{"type":"array","items":{"$ref":"#/components/schemas/MassAssignedBotV2"}},"noSeatLeft":{"type":"integer","format":"int32"},"failed":{"type":"array","items":{"$ref":"#/components/schemas/MassAssignFailureV2"}},"remaining":{"type":"integer","format":"int32"}},"required":["dryRun","failed","freeSeatsBefore","freeSeatsLeft","licensed","noSeatLeft","notApplicable","productId","remaining","teamId","tier","unassigned","unlicensedBots"]},"MassAssignedBotV2":{"type":"object","properties":{"botId":{"type":"integer","format":"int64"},"legacyBotId":{"type":"integer","format":"int64"},"name":{"type":"string"}},"required":["botId","name"]},"BulkDelegationV2":{"type":"object","properties":{"botIds":{"type":"array","items":{"type":"integer","format":"int64"}},"team":{"$ref":"#/components/schemas/WmRef"},"delegationType":{"type":"integer","format":"int32","description":"Available values for DelegationType:\n1 = READ\n2 = READ_WRITE","enum":[1,2]},"plans":{"type":"array","items":{"type":"integer","format":"int32","description":"Available values for Subscription:\n1 = NONE\n2 = CLOUD\n3 = CLOUD_AND_CONNECT_PLUS\n4 = CONNECT_PLUS","enum":[1,2,3,4]}},"dataWindowStart":{"type":"string","format":"date-time"},"dataWindowEnd":{"type":"string","format":"date-time"}},"required":["botIds"]},"performance.Consumable":{"type":"object","description":"Consumable data","properties":{"id":{"type":"integer","format":"int64","title":"id"},"model":{"type":"integer","format":"int32","description":"\n\n\n0 = ROOMBA\n\n1 = CLEANFIX\n\n2 = ROBOT_SWEEPER\n\n3 = PHILON\n\n4 = CLEANFIX_RA660XL\n\n5 = CLEANFIX_RA660M\n\n6 = GAUSIUM_40\n\n7 = ITEAM_1700\n\n8 = GAUSIUM_P\n\n9 = GAUSIUM_50\n\n10 = GAUSIUM_75\n\n11 = GAUSIUM_111\n\n12 = ROBOT_SCRUBBER\n\n13 = NAVI_XL\n\n14 = ZACO_1000XPRO\n\n15 = LIONSBOT_R3SCRUB\n\n16 = LIONSBOT_R3VAC\n\n17 = LIONSBOT_REX\n\n18 = LIONSBOT_LEO\n\n19 = PUDU_CC1\n\n20 = M9\n\n21 = CUSTOM\n\n22 = KEENON_S100\n\n23 = KEENON_C30\n\n24 = PUDU_MT1\n\n25 = KAERCHER_B50\n\n26 = KAERCHER_B200\n\n27 = KAERCHER_CV50\n\n28 = GENIUS_SWIFT\n\n29 = ITEAM_1700B\n\n30 = KEENON_W3\n\n31 = KEENON_S300\n\n32 = KEENON_S500\n\n33 = GAUSIUM_TASKI_50\n\n34 = GAUSIUM_TASKI_P\n\n35 = GAUSIUM_TASKI_40\n\n36 = ICE_COBI18","enum":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,4,5,6,7,8,9],"title":"model"},"date":{"type":"string","format":"date","title":"date"},"amount":{"type":"integer","format":"int32","title":"amount"},"performance":{"type":"integer","format":"int32","description":"in square meters","title":"performance"},"runtime":{"type":"integer","format":"int32","title":"runtime"},"category":{"type":"integer","format":"int32","description":"\n\n\n1 = BOT_CLEANED\n\n2 = BOT_CHECKED\n\n3 = FILTER_REPLACED\n\n4 = SIDE_BRUSH_REPLACED\n\n5 = MAIN_BRUSH_REPLACED\n\n6 = MAP_ADJUSTED\n\n7 = SCHEDULE_ADJUSTED\n\n8 = MAP_RESTORED\n\n9 = PLACE_AREA\n\n10 = MOP_BRUSH_REPLACED\n\n11 = RUBBER_LIPS_REPLACED\n\n12 = WATER_FILTER_REPLACED\n\n13 = DUST_BAG_REPLACED\n\n14 = DISK_BRUSH_REPLACED\n\n15 = FILTER_BAG_REPLACED\n\n16 = SCRUBBING_BRUSH_REPLACED\n\n17 = WET_RUBBER_LIPS_REPLACED\n\n18 = FIRMWARE_UPDATE\n\n19 = LOCATED\n\n20 = DUST_BAG_EMPTIED\n\n21 = MAP_RESET","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,3,4,5,6,7,8,9],"title":"category"}},"required":["amount","category","date","model","performance","runtime"],"title":"Consumable"},"BotCreateV2":{"type":"object","properties":{"name":{"type":"string"},"isVirtual":{"type":"boolean"},"hasCustomScheduling":{"type":"boolean"},"modelName":{"type":"string"},"timeZone":{"type":"string"}},"required":["name"]},"PairV2Request":{"type":"object","properties":{"externalId":{"type":"string"},"timeZone":{"type":"string"}},"required":["externalId"]},"FormTemplateV2":{"type":"object","description":"An mdform form template. `name` is its H1; `content` is the Markdown the app renders.","properties":{"id":{"type":"integer","format":"int64"},"teamId":{"type":"integer","format":"int64"},"formType":{"type":"string"},"language":{"type":"string"},"name":{"type":"string"},"icon":{"type":"string"},"version":{"type":"integer","format":"int32"},"content":{"type":"string"},"custom":{"type":"boolean"},"updatedAt":{"type":"string","format":"date-time"}},"required":["content","custom","formType","id","language","name","updatedAt","version"]},"DemoSessionV2":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"idToken":{"type":"string"},"expiresIn":{"type":"integer","format":"int64"},"refreshExpiresIn":{"type":"integer","format":"int64"},"tokenType":{"type":"string"}},"required":["accessToken","expiresIn","refreshToken","tokenType"]},"DemoSessionRefreshV2":{"type":"object","properties":{"refreshToken":{"type":"string"}}},"PlaceRef":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}},"required":["id","name"]},"TeamMembership":{"type":"object","properties":{"teamId":{"type":"integer","format":"int64"},"teamName":{"type":"string"},"legacyTeamId":{"type":"integer","format":"int64"},"permission":{"type":"string"},"maintain":{"type":"boolean"},"operate":{"type":"boolean"},"places":{"type":"array","items":{"$ref":"#/components/schemas/PlaceRef"}},"teamEnabled":{"type":"boolean"},"demo":{"type":"boolean"}},"required":["demo","legacyTeamId","maintain","operate","permission","places","teamEnabled","teamId","teamName"]},"SimV2Request":{"type":"object","properties":{"iccid":{"type":"string"}},"required":["iccid"]},"SimV2":{"type":"object","properties":{"iccid":{"type":"string"},"active":{"type":"boolean"}},"required":["active","iccid"]},"CommandDispatchV2":{"type":"object","properties":{"action":{"type":"string","description":"Available values for Action:\nclean = CLEAN\ncleanspot = CLEAN_SPOT\ncleanzone = CLEAN_ZONE\ncleardustbin = CLEAR_DUST_BIN\ncreatemap = CREATE_MAP\ndiscover = DISCOVER\ndock = DOCK\nevac = EVAC\nfind = FIND\nmaprestore = MAP_RESTORE\nmapupdate = MAP_UPDATE\nmerge = MAP_MERGE\npause = PAUSE\nresetmap = RESET_MAP\nresetnotification = RESET_NOTIFICATION\nresetpath = RESET_PATH\nresume = RESUME\nsave = SAVE\nsplit = MAP_SPLIT\nstart = START\nstop = STOP\nupdatefirmware = UPDATE_FIRMWARE","enum":["clean","cleanspot","cleanzone","cleardustbin","createmap","discover","dock","evac","find","maprestore","mapupdate","merge","pause","resetmap","resetnotification","resetpath","resume","save","split","start","stop","updatefirmware"]},"initiator":{"type":"integer","format":"int32","description":"Available values for Initiator:\n1 = SCHEDULE\n2 = MANUAL\n3 = APP\n4 = APP_IOS\n5 = APP_ANDROID\n6 = APP_WEB","enum":[1,2,3,4,5,6]},"parameter":{"type":"string"}},"required":["action"]},"CommandV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"action":{"type":"string","description":"Available values for Action:\nclean = CLEAN\ncleanspot = CLEAN_SPOT\ncleanzone = CLEAN_ZONE\ncleardustbin = CLEAR_DUST_BIN\ncreatemap = CREATE_MAP\ndiscover = DISCOVER\ndock = DOCK\nevac = EVAC\nfind = FIND\nmaprestore = MAP_RESTORE\nmapupdate = MAP_UPDATE\nmerge = MAP_MERGE\npause = PAUSE\nresetmap = RESET_MAP\nresetnotification = RESET_NOTIFICATION\nresetpath = RESET_PATH\nresume = RESUME\nsave = SAVE\nsplit = MAP_SPLIT\nstart = START\nstop = STOP\nupdatefirmware = UPDATE_FIRMWARE","enum":["clean","cleanspot","cleanzone","cleardustbin","createmap","discover","dock","evac","find","maprestore","mapupdate","merge","pause","resetmap","resetnotification","resetpath","resume","save","split","start","stop","updatefirmware"]},"initiator":{"type":"integer","format":"int32","description":"Available values for Initiator:\n1 = SCHEDULE\n2 = MANUAL\n3 = APP\n4 = APP_IOS\n5 = APP_ANDROID\n6 = APP_WEB","enum":[1,2,3,4,5,6]},"parameter":{"type":"string"},"issuedAt":{"type":"string","format":"date-time"}}},"FormSubmissionRequestV2":{"type":"object","properties":{"teamId":{"type":"integer","format":"int64"},"templateId":{"type":"integer","format":"int64"},"values":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonNode"}}},"required":["teamId","templateId","values"]},"JsonNode":{},"FormSubmissionV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"botId":{"type":"integer","format":"int64"},"teamId":{"type":"integer","format":"int64"},"templateId":{"type":"integer","format":"int64"},"templateVersion":{"type":"integer","format":"int32"},"formType":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"icon":{"type":"string"},"values":{"type":"array","items":{"$ref":"#/components/schemas/FormFieldValueV2"}},"eventId":{"type":"integer","format":"int64"},"actorId":{"type":"string"},"submittedAt":{"type":"string","format":"date-time"}},"required":["actorId","botId","formType","id","language","submittedAt","templateVersion","title","values"]},"SnapshotSummary":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"wmTeamId":{"type":"integer","format":"int64"},"legacyTeamId":{"type":"integer","format":"int64"},"capturedAt":{"type":"string","format":"date-time"},"capturedBy":{"type":"string"},"rowCounts":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}},"required":["capturedAt","id","legacyTeamId","rowCounts","wmTeamId"]},"Result":{"type":"object","properties":{"outcome":{"type":"string","enum":["RESTORED","DRY_RUN","NO_CHANGES","SKIPPED_CONCURRENT_RUN","ABORTED_UNSET","ABORTED_NO_SNAPSHOT","ABORTED_TEAM_MISMATCH","ABORTED_FOREIGN_ROWS"]},"snapshotId":{"type":"integer","format":"int64"},"changes":{"type":"integer","format":"int32"},"tables":{"type":"array","items":{"type":"string"}},"message":{"type":"string"}},"required":["changes","message","outcome","tables"]},"WhoAmIResponse":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/WhoAmIUser"},"teams":{"type":"array","items":{"$ref":"#/components/schemas/TeamMembership"}},"lastSelectedTeam":{"type":"integer","format":"int64"},"recentTeams":{"type":"array","items":{"type":"integer","format":"int64"}}},"required":["recentTeams","teams","user"]},"WhoAmIUser":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"userId":{"type":"string"},"firstName":{"type":"string"},"familyName":{"type":"string"},"primaryMail":{"type":"string"},"locale":{"type":"string"},"pushNotify":{"type":"integer","format":"int32"},"mailNotify":{"type":"integer","format":"int32"}},"required":["id","userId"]},"PageV2TeamV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TeamV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PageV2UserV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/UserV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PageV2ToolV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ToolV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PageV2TicketV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TicketV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"BehaviorWatchSummaryV2":{"type":"object","description":"Behavior Watch (goal) violations of the team's robots over the last days.","properties":{"days":{"type":"integer","format":"int32","description":"Length of the window in days, ending today (inclusive) in the requested time zone.","example":30},"goals":{"type":"integer","format":"int32","description":"Behavior Watch goals configured on the robots in scope. 0 = Behavior Watch is not set up."},"watchedRobots":{"type":"integer","format":"int32","description":"Robots in scope that have at least one goal."},"runs":{"type":"integer","format":"int32","description":"Runs in the window that were checked against a goal."},"violatingRuns":{"type":"integer","format":"int32","description":"Checked runs that broke at least one threshold of their goal."},"violationPct":{"type":"number","format":"double","description":"violatingRuns / runs in % (one decimal); absent when no run was checked.","example":12.5},"belowCoverage":{"type":"integer","format":"int32","description":"Runs below their goal's Min. Completion Rate (or a not yet converted Min. Area to Clean)."},"batteryOver":{"type":"integer","format":"int32","description":"Runs whose battery drop exceeded their goal's Max. Battery Usage."},"waterUnder":{"type":"integer","format":"int32","description":"Runs that used less water than their goal's Min. Water Usage."},"waterOver":{"type":"integer","format":"int32","description":"Runs that used more water than their goal's Max. Water Usage."},"focusBotId":{"type":"integer","format":"int64","description":"WM bot id whose Behavior Watch the widget opens: the robot with the most violating runs, else a watched robot; absent when no robot has a goal."},"inactivityWatchedRobots":{"type":"integer","format":"int32","description":"FBOT-5005: robots in scope watched for inactivity (their \"Days to notify after inactivity\" is set)."},"inactivePeriods":{"type":"integer","format":"int32","description":"FBOT-5005: periods with too few days of action recorded in the window — a robot had no run for its \"Days to notify after inactivity\"."},"inactivePct":{"type":"number","format":"double","description":"FBOT-5005: the idle days of those periods / (robots watched for inactivity x days) in % (one decimal); absent when no robot is watched for inactivity.","example":10.0}},"required":["batteryOver","belowCoverage","days","goals","inactivePeriods","inactivityWatchedRobots","runs","violatingRuns","watchedRobots","waterOver","waterUnder"]},"MemberPlaces":{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"externalUserId":{"type":"string"},"places":{"type":"array","items":{"$ref":"#/components/schemas/WmRef"}}},"required":["places","userId"]},"FirmwareReleaseV2":{"type":"object","properties":{"modelId":{"type":"integer","format":"int32"},"version":{"type":"string"},"isStable":{"type":"boolean"},"releasedAt":{"type":"string","format":"date"},"firmware":{"type":"string"}}},"PageV2EnvironmentNodeV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EnvironmentNodeV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PageV2ConnectionV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PairingChannelV2":{"type":"object","properties":{"connectionId":{"type":"integer","format":"int64"},"pairingToken":{"type":"string"},"wifiPassword":{"type":"string"}},"required":["connectionId","pairingToken"]},"PageV2BotV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BotV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"SubscriptionV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"delegation":{"$ref":"#/components/schemas/WmRef"},"team":{"$ref":"#/components/schemas/WmRef"},"subscription":{"type":"array","items":{"type":"integer","format":"int32","description":"Available values for Subscription:\n1 = NONE\n2 = CLOUD\n3 = CLOUD_AND_CONNECT_PLUS\n4 = CONNECT_PLUS","enum":[1,2,3,4]}},"status":{"type":"string","enum":["ACTIVE","TRIALING","PAST_DUE","CANCELED","INCOMPLETE","UNPAID"]},"periodStart":{"type":"string","format":"date-time"},"periodEnd":{"type":"string","format":"date-time"},"isArchived":{"type":"boolean"}},"required":["isArchived"]},"PageV2GoalV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/GoalV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"MapAreaV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"sizeM2":{"type":"number","format":"double"},"polygon":{"type":"array","items":{"$ref":"#/components/schemas/Point"}},"polygonM":{"type":"array","items":{"$ref":"#/components/schemas/Point"}}},"required":["id"]},"Point":{"type":"object","properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}},"required":["x","y"]},"VirtualObjectV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"node":{"$ref":"#/components/schemas/WmRef"},"type":{"type":"string","enum":["CLEANING_ZONE","VIRTUAL_WALL","NO_GO_ZONE"]},"externalRegions":{"type":"array","items":{"type":"string"}},"geometry":{"type":"string"},"externalMapId":{"type":"string"}}},"PhysicalObjectV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"node":{"$ref":"#/components/schemas/WmRef"},"type":{"type":"string","enum":["ELEVATOR","GATE","DOCK","CHARGING_STATION"]},"externalId":{"type":"string"},"status":{"type":"string"}}},"PageV2EventV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"marketplace.Product":{"type":"object","properties":{"id":{"type":"string","title":"id"},"name":{"type":"string","description":"Product name","title":"name"},"subtitle":{"type":"string","description":"Subtitle of the product","title":"subtitle"},"manufacturer":{"type":"string","description":"Manufacturer of the product","title":"manufacturer"},"categories":{"type":"array","items":{"type":"string"},"title":"categories"},"picture":{"type":"string","description":"Picture URL of the product","title":"picture"},"robotIcon":{"type":"string","description":"Icon for the robot","title":"robotIcon"},"baseIcon":{"type":"string","description":"Icon for the robots base","title":"baseIcon"},"radar":{"type":"string","description":"Link to the FieldBots radar","title":"radar"},"lot":{"type":"integer","format":"int32","description":"Lot of the product, e.g. 1 or multiple of 10","title":"lot"},"sellingPrice":{"type":"number","description":"Selling price of the product","title":"sellingPrice"},"purchasePrice":{"type":"number","description":"Purchase price of the product","title":"purchasePrice"},"currency":{"type":"string","description":"Currency","example":"EUR","title":"currency"},"model":{"type":"integer","format":"int32","description":"if it&#039;s a bot then this is its model\n\n\n0 = ROOMBA\n\n1 = CLEANFIX\n\n2 = ROBOT_SWEEPER\n\n3 = PHILON\n\n4 = CLEANFIX_RA660XL\n\n5 = CLEANFIX_RA660M\n\n6 = GAUSIUM_40\n\n7 = ITEAM_1700\n\n8 = GAUSIUM_P\n\n9 = GAUSIUM_50\n\n10 = GAUSIUM_75\n\n11 = GAUSIUM_111\n\n12 = ROBOT_SCRUBBER\n\n13 = NAVI_XL\n\n14 = ZACO_1000XPRO\n\n15 = LIONSBOT_R3SCRUB\n\n16 = LIONSBOT_R3VAC\n\n17 = LIONSBOT_REX\n\n18 = LIONSBOT_LEO\n\n19 = PUDU_CC1\n\n20 = M9\n\n21 = CUSTOM\n\n22 = KEENON_S100\n\n23 = KEENON_C30\n\n24 = PUDU_MT1\n\n25 = KAERCHER_B50\n\n26 = KAERCHER_B200\n\n27 = KAERCHER_CV50\n\n28 = GENIUS_SWIFT\n\n29 = ITEAM_1700B\n\n30 = KEENON_W3\n\n31 = KEENON_S300\n\n32 = KEENON_S500\n\n33 = GAUSIUM_TASKI_50\n\n34 = GAUSIUM_TASKI_P\n\n35 = GAUSIUM_TASKI_40\n\n36 = ICE_COBI18","enum":[0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,4,5,6,7,8,9],"title":"model"},"subscription":{"type":"integer","format":"int32","description":"\n\n\n1 = NONE\n\n2 = CLOUD\n\n3 = CLOUD_AND_CONNECT_PLUS\n\n4 = CONNECT_PLUS","enum":[1,2,3,4],"title":"subscription"},"integrationLevel":{"type":"string","description":"Available values for IntegrationLevel:\n\nL1 = L1\n\nL2 = L2\n\nL3 = L3","enum":["L1","L2","L3"],"title":"integrationLevel"},"robotType":{"type":"string","description":"Available values for RobotType:\n\nMicrobot = Microbot\n\nRobot = Robot","enum":["Microbot","Robot"],"title":"robotType"},"category":{"type":"integer","format":"int32","description":"consumables used in this product\n\n\n1 = BOT_CLEANED\n\n2 = BOT_CHECKED\n\n3 = FILTER_REPLACED\n\n4 = SIDE_BRUSH_REPLACED\n\n5 = MAIN_BRUSH_REPLACED\n\n6 = MAP_ADJUSTED\n\n7 = SCHEDULE_ADJUSTED\n\n8 = MAP_RESTORED\n\n9 = PLACE_AREA\n\n10 = MOP_BRUSH_REPLACED\n\n11 = RUBBER_LIPS_REPLACED\n\n12 = WATER_FILTER_REPLACED\n\n13 = DUST_BAG_REPLACED\n\n14 = DISK_BRUSH_REPLACED\n\n15 = FILTER_BAG_REPLACED\n\n16 = SCRUBBING_BRUSH_REPLACED\n\n17 = WET_RUBBER_LIPS_REPLACED\n\n18 = FIRMWARE_UPDATE\n\n19 = LOCATED\n\n20 = DUST_BAG_EMPTIED\n\n21 = MAP_RESET","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,3,4,5,6,7,8,9],"title":"category"},"tags":{"type":"array","description":"Display tags from the Notion 'Shown Tag' column (e.g. 'Beta'). May contain more than one.","items":{"type":"string"},"title":"tags"},"areaMaxSqm":{"type":"integer","format":"int32","description":"Notion column: Area Max. Largest area (m²) the model cleans in one run; null when unknown.","example":320,"title":"areaMaxSqm"},"disciplines":{"type":"array","description":"Notion column: Disciplines. The model's disciplines as HistoryPerformance.Type int values (1 = VACUUMING, 2 = MOPPING, 4 = SCRUBBING, 5 = DELIVERING, 6 = SWEEPING); null when the catalog has none for the model.","example":[4,6,2],"items":{"type":"integer","format":"int32","description":"Available values for Type:\n1 = VACUUMING\n2 = MOPPING\n3 = VACUUMING_MOPPING\n4 = SCRUBBING\n5 = DELIVERING\n6 = SWEEPING","enum":[1,2,3,4,5,6]},"title":"disciplines"},"subscriptionAvailable":{"type":"boolean","description":"Pairable catalog only: true when the requesting team can license this model (one of its `categories` resolves a price for the team), false when it cannot; null on other listings.","example":true,"title":"subscriptionAvailable"},"pairingCount":{"type":"integer","format":"int64","description":"Global count of existing (non-virtual, non-archived) robots of this model across all of FieldBots, refreshed hourly. Never a per-team figure.","example":42,"title":"pairingCount"},"capabilityProfileId":{"type":"string","description":"Content hash of the model's capability profile (GET /v1/capability-profiles/{id}); null when unknown.","example":"0123456789abcdef","title":"capabilityProfileId"}},"required":["categories","category","currency","lot","manufacturer","name","picture","purchasePrice","sellingPrice","subscription","subtitle"],"title":"Product"},"marketplace.Manufacturer":{"type":"object","properties":{"shortName":{"type":"string","title":"shortName"},"name":{"type":"string","title":"name"},"countryCode":{"type":"string","title":"countryCode"},"city":{"type":"string","title":"city"},"image":{"type":"string","description":"Notion column: Logo. The manufacturer logo.","title":"image"},"imageDarkMode":{"type":"string","description":"Notion column: Logo Dark Mode. Optional dark-mode variant of [image]; prefer this when the client is in dark mode.","title":"imageDarkMode"},"icon":{"type":"string","title":"icon"},"compilation":{"type":"string","description":"Notion column: Compilation. Lineup picture of this manufacturer's robots, shown when adding one of them.","title":"compilation"},"distributors":{"type":"string","description":"Notion column: Distrbutors (URL)","title":"distributors"},"connectionType":{"type":"string","description":"Available values for ConnectionType:\npairing = pairing\nclientSecret = clientSecret\napiKey = apiKey\naccessKey = accessKey","enum":["pairing","clientSecret","apiKey","accessKey"],"title":"connectionType"},"supportedRegions":{"type":"array","items":{"type":"string","description":"Available values for SupportedRegion:\nde = de\nus = us\ncn = cn\nasia = asia\neu = eu\nau = au\njp = jp\nother = other","enum":["de","us","cn","asia","eu","au","jp","other"]},"title":"supportedRegions"},"types":{"type":"integer","format":"int32","description":"Available values for Type:\n1 = ROOMBA\n10 = CUSTOM\n11 = KEENON\n12 = KAERCHER\n13 = ICECOBOTICS\n14 = NILFISK\n15 = NEXARO\n16 = CENOBOTS\n2 = IMOW\n4 = FIELDBOTS\n5 = RA660\n6 = GAUSIUM\n7 = ALIYUN\n8 = LIONSBOT\n9 = TENCENT","enum":[1,10,11,12,13,14,15,16,2,4,5,6,7,8,9],"title":"types"},"products":{"type":"array","items":{"$ref":"#/components/schemas/marketplace.Product"},"title":"products"}},"title":"Manufacturer"},"CapabilityProfileV2":{"type":"object","properties":{"id":{"type":"string"},"features":{"type":"array","items":{"type":"string"}},"params":{"type":"object","additionalProperties":{"type":"string"}}},"required":["features","id","params"]},"PageV2TelemetryV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TelemetryV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"WmSimDayUsage":{"type":"object","properties":{"date":{"type":"string","format":"date"},"bytes":{"type":"integer","format":"int64"},"country":{"type":"string"},"countryCode":{"type":"string"},"online":{"type":"boolean"}},"required":["bytes","date","online"]},"WmSimInfo":{"type":"object","properties":{"iccid":{"type":"string"},"status":{"type":"string"},"plan":{"type":"string"},"country":{"type":"string"},"countryCode":{"type":"string"},"msisdn":{"type":"string"},"apn":{"type":"string"},"ip":{"type":"string"},"statusChangedAt":{"type":"string"},"lastSeenDate":{"type":"string","format":"date"},"dataUsedBytesToday":{"type":"integer","format":"int64"},"dataUsedBytesMonth":{"type":"integer","format":"int64"},"dataUsedBytesLast7Days":{"type":"integer","format":"int64"},"days":{"type":"array","items":{"$ref":"#/components/schemas/WmSimDayUsage"}},"fetchedAt":{"type":"string","format":"date-time"}},"required":["days","fetchedAt","iccid"]},"PairingV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"deviceId":{"type":"string"},"qrCode":{"type":"string"},"uuid":{"type":"string"},"serialNumber":{"type":"string"},"modelId":{"type":"integer","format":"int32"}}},"IncidentV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"incidentTypeId":{"type":"integer","format":"int32"},"incidentTypeName":{"type":"string"},"severity":{"type":"string","enum":["INFO","WARNING","ERROR","CRITICAL"]},"rawCode":{"type":"string"},"occurredAt":{"type":"string","format":"date-time"},"resolvedAt":{"type":"string","format":"date-time"},"actionId":{"type":"integer","format":"int64"},"botConfigId":{"type":"integer","format":"int64"},"botBatteryId":{"type":"integer","format":"int64"},"reportedByApiId":{"type":"integer","format":"int32"}},"required":["occurredAt"]},"ConsumableV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"kind":{"type":"string"},"category":{"type":"integer","format":"int32","description":"Available values for Category:\n1 = BOT_CLEANED\n10 = MOP_BRUSH_REPLACED\n11 = RUBBER_LIPS_REPLACED\n12 = WATER_FILTER_REPLACED\n13 = DUST_BAG_REPLACED\n14 = DISK_BRUSH_REPLACED\n15 = FILTER_BAG_REPLACED\n16 = SCRUBBING_BRUSH_REPLACED\n17 = WET_RUBBER_LIPS_REPLACED\n18 = FIRMWARE_UPDATE\n19 = LOCATED\n2 = BOT_CHECKED\n20 = DUST_BAG_EMPTIED\n21 = MAP_RESET\n22 = MARKED_STOLEN\n23 = MARKED_RECOVERED\n3 = FILTER_REPLACED\n4 = SIDE_BRUSH_REPLACED\n5 = MAIN_BRUSH_REPLACED\n6 = MAP_ADJUSTED\n7 = SCHEDULE_ADJUSTED\n8 = MAP_RESTORED\n9 = PLACE_AREA","enum":[1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,3,4,5,6,7,8,9]},"wearPct":{"type":"integer","format":"int32"},"residualPct":{"type":"integer","format":"int32"},"usedHours":{"type":"integer","format":"int32"},"minutesRemaining":{"type":"integer","format":"int32"}}},"PageV2CommandV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommandV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PageV2BotBatteryV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BotBatteryV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"ActionV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"bot":{"$ref":"#/components/schemas/WmRef"},"taskReport":{"$ref":"#/components/schemas/WmRef"},"occurredAt":{"type":"string","format":"date-time"},"initiator":{"type":"integer","format":"int32","description":"Available values for Initiator:\n1 = SCHEDULE\n2 = MANUAL\n3 = APP\n4 = APP_IOS\n5 = APP_ANDROID\n6 = APP_WEB","enum":[1,2,3,4,5,6]},"areaType":{"type":"integer","format":"int32","description":"Available values for Areatype:\n1 = EVERYTHING\n2 = AREA\n3 = PLACE","enum":[1,2,3]},"batteryStart":{"type":"integer","format":"int32"},"batteryEnd":{"type":"integer","format":"int32"},"suctionPower":{"type":"integer","format":"int32"},"acceleration":{"type":"boolean"}}},"PageV2ActionV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ActionV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"BotTaskV2":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"floorName":{"type":"string"},"cleanModes":{"type":"array","items":{"type":"integer","format":"int32"}},"lastExecuted":{"type":"string","format":"date-time"}}},"PageV2BotTaskV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BotTaskV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"PageV2MapV2":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MapV2"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int64"},"hasMore":{"type":"boolean"}},"required":["hasMore","items","page","size"]},"HeatmapV2":{"type":"object","properties":{"botId":{"type":"integer","format":"int64"},"month":{"type":"string"},"imageUrl":{"type":"string"},"width":{"type":"integer","format":"int32"},"height":{"type":"integer","format":"int32"},"runs":{"type":"integer","format":"int32"},"latestReportAt":{"type":"string","format":"date-time"},"computedAt":{"type":"string","format":"date-time"}},"required":["botId","computedAt","imageUrl","month","runs"]},"DemoTeamStatusV2":{"type":"object","properties":{"configured":{"type":"boolean"},"wmTeamId":{"type":"integer","format":"int64"},"legacyTeamId":{"type":"integer","format":"int64"},"name":{"type":"string"},"enabled":{"type":"boolean"}},"required":["configured"]},"DemoTeamCandidateV2":{"type":"object","properties":{"wmTeamId":{"type":"integer","format":"int64"},"legacyTeamId":{"type":"integer","format":"int64"},"name":{"type":"string"},"enabled":{"type":"boolean"}},"required":["enabled","legacyTeamId","name","wmTeamId"]}},"securitySchemes":{"openIdConnect":{"type":"openIdConnect","openIdConnectUrl":"https://identity.fieldbots.com/auth/realms/pass/.well-known/openid-configuration"}}}}