{"openapi":"3.0.0","info":{"title":"IHookIt Backend API","description":"","version":"v1"},"servers":[{"url":"https:\/\/api.ihookit.com","description":""}],"paths":{"\/v1\/asset":{"post":{"operationId":"api_asset_post","tags":["Asset"],"responses":{"201":{"description":"Asset resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Asset-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Asset-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Asset resource.","description":"Creates a Asset resource.","parameters":[],"requestBody":{"description":"The new Asset resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Asset-POST_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Asset-POST_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/asset\/{id}":{"get":{"operationId":"api_asset_id_get","tags":["Asset"],"responses":{"200":{"description":"Asset resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Asset-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Asset-GET"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Asset resource.","description":"Retrieves a Asset resource.","parameters":[{"name":"id","in":"path","description":"Asset identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"put":{"operationId":"api_asset_id_put","tags":["Asset"],"responses":{"200":{"description":"Asset resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Asset-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Asset-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Replaces the Asset resource.","description":"Replaces the Asset resource.","parameters":[{"name":"id","in":"path","description":"Asset identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Asset resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Asset-POST_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Asset-POST_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/assets\/by-company\/{cid}":{"get":{"operationId":"api_assetsby-company_cid_get_collection","tags":["Asset"],"responses":{"200":{"description":"Asset collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Asset-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Asset-GET"}}}}}},"summary":"Retrieves the collection of Asset resources.","description":"Retrieves the collection of Asset resources.","parameters":[{"name":"cid","in":"path","description":"Company identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false},{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"address.line1","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"address.province","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false},{"name":"address.locality","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"string"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/companies":{"get":{"operationId":"api_companies_get_collection","tags":["Companies"],"responses":{"200":{"description":"All Companies information listed.","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Companies-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Companies-GET"}}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] List all Companies.","description":"Gets a list of all Companies.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/company":{"post":{"operationId":"api_company_post","tags":["Companies"],"responses":{"200":{"description":"New Company created successfully."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] Creates a new Company.","description":"Creates a new Company.","parameters":[],"requestBody":{"description":"The new Companies resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Companies-POST_PATCH"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Companies-POST_PATCH"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/company\/{id}":{"get":{"operationId":"api_company_id_get","tags":["Companies"],"responses":{"200":{"description":"Company information.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Companies-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Companies-GET"}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN][AUTH] Lists the Company information from the Company referenced by {id}.","description":"Gets the Company information referenced by the given Company ID.<br><br>It works too if the Company ID is the same as the one from owner of the token.","parameters":[{"name":"id","in":"path","description":"Company ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_company_id_delete","tags":["Companies"],"responses":{"200":{"description":"Company deleted successfully."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] Deletes the Company referenced by {id}.","description":"Deletes the Company referenced by the given Company ID.","parameters":[{"name":"id","in":"path","description":"Company ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_company_id_patch","tags":["Companies"],"responses":{"200":{"description":"Company information updated successfully."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] Changes the information from the Company referenced by {id}.","description":"Changes the Company information referenced by the given Company ID.","parameters":[{"name":"id","in":"path","description":"Company ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Companies resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Companies-POST_PATCH"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/key":{"post":{"operationId":"api_key_post","tags":["Key"],"responses":{"201":{"description":"Key resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Key-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Key-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Key resource.","description":"Creates a Key resource.","parameters":[],"requestBody":{"description":"The new Key resource","content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/Key-POST_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/key\/{id}":{"get":{"operationId":"api_key_id_get","tags":["Key"],"responses":{"200":{"description":"Key resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Key-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Key-GET"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a Key resource.","description":"Retrieves a Key resource.","parameters":[{"name":"id","in":"path","description":"Key identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"put":{"operationId":"api_key_id_put","tags":["Key"],"responses":{"200":{"description":"Key resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Key-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Key-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Replaces the Key resource.","description":"Replaces the Key resource.","parameters":[{"name":"id","in":"path","description":"Key identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Key resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Key-POST_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Key-POST_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/keychain":{"post":{"operationId":"api_keychain_post","tags":["keychain"],"responses":{"201":{"description":"keychain resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a keychain resource.","description":"Creates a keychain resource.","parameters":[],"requestBody":{"description":"The new keychain resource","content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/keychain-POST_PUT_IMAGE"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/keychain\/access":{"post":{"operationId":"api_keychainaccess_post","tags":["KeychainAccess"],"responses":{"201":{"description":"KeychainAccess resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a KeychainAccess resource.","description":"Creates a KeychainAccess resource.","parameters":[],"requestBody":{"description":"The new KeychainAccess resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/keychain\/access\/by-user\/{uid}":{"get":{"operationId":"api_keychainaccessby-user_uid_get_collection","tags":["KeychainAccess"],"responses":{"200":{"description":"KeychainAccess collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}}}}}},"summary":"Retrieves the collection of KeychainAccess resources.","description":"Retrieves the collection of KeychainAccess resources.","parameters":[{"name":"uid","in":"path","description":"UserWV identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false},{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"keychain.on_locker","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"boolean"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/keychain\/access\/{id}":{"get":{"operationId":"api_keychainaccess_id_get","tags":["KeychainAccess"],"responses":{"200":{"description":"KeychainAccess resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a KeychainAccess resource.","description":"Retrieves a KeychainAccess resource.","parameters":[{"name":"id","in":"path","description":"KeychainAccess identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_keychainaccess_id_patch","tags":["KeychainAccess"],"responses":{"200":{"description":"KeychainAccess resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the KeychainAccess resource.","description":"Updates the KeychainAccess resource.","parameters":[{"name":"id","in":"path","description":"KeychainAccess identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated KeychainAccess resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/keychain\/access\/{id}\/user":{"post":{"operationId":"api_keychainaccess_iduser_post","tags":["KeychainAccess"],"responses":{"201":{"description":"KeychainAccess resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a KeychainAccess resource.","description":"Creates a KeychainAccess resource.","parameters":[{"name":"id","in":"path","description":"KeychainAccess identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The new KeychainAccess resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess.AddKeychainAccessUserInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/KeychainAccess.AddKeychainAccessUserInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/keychain\/{id}":{"get":{"operationId":"api_keychain_id_get","tags":["keychain"],"responses":{"200":{"description":"keychain resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a keychain resource.","description":"Retrieves a keychain resource.","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"put":{"operationId":"api_keychain_id_put","tags":["keychain"],"responses":{"200":{"description":"keychain resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Replaces the keychain resource.","description":"Replaces the keychain resource.","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated keychain resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain-PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain-PUT"}}},"required":true},"deprecated":false},"patch":{"operationId":"api_keychain_id_patch","tags":["keychain"],"responses":{"200":{"description":"keychain resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Updates the keychain resource.","description":"Updates the keychain resource.","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated keychain resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/keychain-PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/keychain\/{id}\/picture":{"post":{"operationId":"api_keychain_idpicture_post","tags":["keychain"],"responses":{"201":{"description":"keychain resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a keychain resource.","description":"Add a picture to the existing keychain","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"","content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"required":false},"deprecated":false},"delete":{"operationId":"api_keychain_idpicture_delete","tags":["keychain"],"responses":{"204":{"description":"keychain resource deleted"},"404":{"description":"Resource not found"}},"summary":"Removes the keychain resource.","description":"Delete the keychain's picture","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/keychains":{"get":{"operationId":"api_keychains_get_collection","tags":["keychain"],"responses":{"200":{"description":"keychain collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/keychain-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/keychain-GET"}}}}}},"summary":"Retrieves the collection of keychain resources.","description":"Retrieves the collection of keychain resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"on_locker","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"boolean"},"style":"form","explode":false,"allowReserved":false},{"name":"has_master","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"boolean"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/keychains\/by-user\/{id}":{"get":{"operationId":"api_keychainsby-user_id_get_collection","tags":["keychain"],"responses":{"200":{"description":"keychain collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/keychain-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/keychain-GET"}}}}}},"summary":"Retrieves the collection of keychain resources.","description":"Retrieves the collection of keychain resources.","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false},{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false},{"name":"on_locker","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"boolean"},"style":"form","explode":false,"allowReserved":false},{"name":"has_master","in":"query","description":"","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"boolean"},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/keychains\/{id}":{"get":{"operationId":"api_keychains_id_get","tags":["keychain"],"responses":{"200":{"description":"keychain resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/keychain.EmptyApiInputOutput-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/keychain.EmptyApiInputOutput-GET"}}}},"404":{"description":"Resource not found"}},"summary":"Retrieves a keychain resource.","description":"Retrieves a keychain resource.","parameters":[{"name":"id","in":"path","description":"Keychain identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/locker":{"post":{"operationId":"api_locker_post","tags":["Locker"],"responses":{"201":{"description":"Locker resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Locker resource.","description":"Creates a Locker resource.","parameters":[],"requestBody":{"description":"The new Locker resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-POST_PUT_ADMIN_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-POST_PUT_ADMIN_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/locker\/{id}\/close":{"post":{"operationId":"api_locker_idclose_post","tags":["Locker"],"responses":{"201":{"description":"Locker resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Locker resource.","description":"Creates a Locker resource.","parameters":[{"name":"id","in":"path","description":"Locker identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The new Locker resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-POST_PUT_ADMIN_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-POST_PUT_ADMIN_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/locker\/{id}\/hook":{"post":{"operationId":"api_locker_idhook_post","tags":["Locker"],"responses":{"201":{"description":"Locker resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Locker resource.","description":"Creates a Locker resource.","parameters":[{"name":"id","in":"path","description":"Locker identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The new Locker resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker.LockerHookInput-POST_PUT_ADMIN_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker.LockerHookInput-POST_PUT_ADMIN_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/locker\/{id}\/limits":{"put":{"operationId":"api_locker_idlimits_put","tags":["Locker"],"responses":{"200":{"description":"Locker resource updated","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"},"404":{"description":"Resource not found"}},"summary":"Replaces the Locker resource.","description":"Replaces the Locker resource.","parameters":[{"name":"id","in":"path","description":"Locker identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Locker resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-ADMIN_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-ADMIN_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/locker\/{id}\/open":{"post":{"operationId":"api_locker_idopen_post","tags":["Locker"],"responses":{"201":{"description":"Locker resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-GET"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a Locker resource.","description":"Creates a Locker resource.","parameters":[{"name":"id","in":"path","description":"Locker identifier","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The new Locker resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Locker-POST_PUT_ADMIN_PUT"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Locker-POST_PUT_ADMIN_PUT"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/lockers":{"get":{"operationId":"api_lockers_get_collection","tags":["Locker"],"responses":{"200":{"description":"Locker collection","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Locker-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Locker-GET"}}}}}},"summary":"Retrieves the collection of Locker resources.","description":"Retrieves the collection of Locker resources.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/login":{"post":{"operationId":"login_check_post","tags":["Login Check"],"responses":{"200":{"description":"User token created","content":{"application\/json":{"schema":{"type":"object","properties":{"token":{"readOnly":true,"type":"string","nullable":false}},"required":["token"]}}}}},"summary":"Creates a user token.","description":"Creates a user token.","requestBody":{"description":"The login data","content":{"application\/json":{"schema":{"type":"object","properties":{"email":{"type":"string","nullable":false},"password":{"type":"string","nullable":false}},"required":["email","password"]}}},"required":true}},"parameters":[]},"\/v1\/login\/refresh":{"summary":"[AUTH] Refresh JWT auth token.","description":"Issues a new JWT auth token with the given refresh_token, without needing to authenticate again.","post":{"operationId":"login_refresh_post","tags":["Login Check"],"responses":{"200":{"description":"New JWT token.","content":{"application\/json":{"schema":{"type":"object","properties":{"token":{"readOnly":true,"type":"string","nullable":false},"refresh_token":{"readOnly":true,"type":"string","nullable":false},"refresh_token_expiration":{"readOnly":true,"type":"number","nullable":false}},"required":["token","refresh_token","refresh_token_expiration"]}}}},"400":{"description":"Invalid input."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[AUTH] Refresh JWT auth token.","description":"Refreshes the JWT auth token using the given refresh_token.","requestBody":{"description":"","content":{"application\/json":{"schema":{"type":"object","properties":{"refresh_token":{"type":"string","nullable":false}},"required":["refresh_token"]}}},"required":true}},"parameters":[]},"\/v1\/mqtt\/buzzer":{"post":{"operationId":"api_mqttbuzzer_post","tags":["MQTT"],"responses":{"201":{"description":"MQTT resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MQTT resource.","description":"Creates a MQTT resource.","parameters":[],"requestBody":{"description":"The new MQTT resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTBuzzerLockerApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTBuzzerLockerApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/close_key":{"post":{"operationId":"api_mqttclose_key_post","tags":["MQTT"],"responses":{"201":{"description":"MQTT resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MQTT resource.","description":"Creates a MQTT resource.","parameters":[],"requestBody":{"description":"The new MQTT resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTCloseKeyApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTCloseKeyApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/close_locker":{"post":{"operationId":"api_mqttclose_locker_post","tags":["MQTT"],"responses":{"201":{"description":"MQTT resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MQTT resource.","description":"Creates a MQTT resource.","parameters":[],"requestBody":{"description":"The new MQTT resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTCloseLockerApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTCloseLockerApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/new_nfc":{"post":{"operationId":"api_mqttnew_nfc_post","tags":["MQTT"],"responses":{"201":{"description":"MQTT resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MQTT resource.","description":"Creates a MQTT resource.","parameters":[],"requestBody":{"description":"The new MQTT resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTRegisterNFCApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTRegisterNFCApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/open_key":{"post":{"operationId":"api_mqttopen_key_post","tags":["MQTT"],"responses":{"201":{"description":"MQTT resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MQTT resource.","description":"Creates a MQTT resource.","parameters":[],"requestBody":{"description":"The new MQTT resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTOpenKeyApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTOpenKeyApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/open_locker":{"post":{"operationId":"api_mqttopen_locker_post","tags":["MQTT"],"responses":{"201":{"description":"MQTT resource created","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}},"links":{}},"400":{"description":"Invalid input"},"422":{"description":"Unprocessable entity"}},"summary":"Creates a MQTT resource.","description":"Creates a MQTT resource.","parameters":[],"requestBody":{"description":"The new MQTT resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTOpenLockerApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTOpenLockerApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/publish":{"post":{"operationId":"api_mqttpublish_post","tags":["MQTT"],"responses":{"201":{"description":"Result of the operation.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}}},"400":{"description":"Invalid input."},"401":{"description":"JWT Token not found."},"429":{"description":"Too Many Request"},"500":{"description":"Internal Server Error."}},"summary":"[AUTH] Sends a PUBLISH message to execute a command on a locker.","description":"Sends a PUBLISH message to the MQTT broker.<br><br>This executes the command described by {mqtt_command} on the locker referenced by {mqtt_id}.","parameters":[],"requestBody":{"description":"Data needed to send a command to a locker.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTPublishApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTPublishApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/mqtt\/subscribe":{"post":{"operationId":"api_mqttsubscribe_post","tags":["MQTT"],"responses":{"201":{"description":"Result of the operation.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTApiOutput"}}}},"400":{"description":"Invalid input."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[AUTH] Sends a SUBSCRIBE message to get information from a locker.","description":"Sends a SUBSCRIBE message to the MQTT broker.<br><br>This gets the information categorized by the {mqtt_subtopic} from the locker referenced by {mqtt_id}.","parameters":[],"requestBody":{"description":"Data needed to get information from a locker.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTSubscribeApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/MQTT.MQTTSubscribeApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/notifications":{"get":{"operationId":"api_notifications_get_collection","tags":["Notifications"],"responses":{"200":{"description":"Notifications.","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Notifications-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Notifications-GET"}}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] List all Notifications from all Users.","description":"Gets a list with all Notifications from all Users.<br><br><b>Warning:<\/b> Only for <i>debug<\/i>, there could be a <b>lot<\/b> of notifications.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/sendmail":{"post":{"operationId":"api_sendmail_post","tags":["Email"],"responses":{"201":{"description":"Result of the operation.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Email.EmailApiOutput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Email.EmailApiOutput"}}}},"400":{"description":"Invalid input."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[AUTH] Sends an email.","description":"Sends an email to the given address.","parameters":[],"requestBody":{"description":"Data needed to send an email.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Email.EmailApiInput"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Email.EmailApiInput"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/user":{"post":{"operationId":"api_user_post","tags":["Users"],"responses":{"200":{"description":"New User created successfully."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] Register new User.","description":"Registers a new User account.","parameters":[],"requestBody":{"description":"The new Users resource","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Users-POST_PATCH"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Users-POST_PATCH"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/user\/{id}":{"get":{"operationId":"api_user_id_get","tags":["Users"],"responses":{"200":{"description":"User information.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Users-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Users-GET"}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN][AUTH] Lists the User information from the User referenced by {id}.","description":"Gets the User information referenced by the given User ID.<br><br>It works too if the User ID is from the owner of the token.","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"delete":{"operationId":"api_user_id_delete","tags":["Users"],"responses":{"200":{"description":"User deleted successfully."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] Deletes the User referenced by {id}.","description":"Deletes the User referenced by the given User ID.","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"patch":{"operationId":"api_user_id_patch","tags":["Users"],"responses":{"200":{"description":"User information updated successfully."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN][AUTH] Changes the information from the User referenced by {id}.","description":"Changes the User information referenced by the given User ID.<br><br>It works too if the User ID is from the owner of the token.","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"The updated Users resource","content":{"application\/merge-patch+json":{"schema":{"$ref":"#\/components\/schemas\/Users-POST_PATCH"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/user\/{id}\/get_notifications":{"get":{"operationId":"api_user_idget_notifications_get","tags":["Users"],"responses":{"200":{"description":"All Users information listed.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Users-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Users-GET"}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN][AUTH] Gets all the Notifications from the User referenced by {id}.","description":"Gets a list of all Notifications from the User referenced by the User ID.<br><br>It works too if the User ID is from the owner of the token.","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/user\/{id}\/get_unread_notifications":{"get":{"operationId":"api_user_idget_unread_notifications_get","tags":["Users"],"responses":{"200":{"description":"All Users information listed.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Users-GET"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Users-GET"}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN][AUTH] Gets the UNREAD Notifications from the User referenced by {id}.","description":"Gets a list of all the UNREAD Notifications from the User referenced by the User ID.<br><br>It works too if the User ID is from the owner of the token.","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]},"\/v1\/user\/{id}\/set_company\/{companyId}":{"post":{"operationId":"api_user_idset_company_companyId_post","tags":["Users"],"responses":{"200":{"description":"Company set to User successfully."},"400":{"description":"Invalid input."},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] Assigns a Company to a User.","description":"Assigns the Company referenced by {companyId} to the User referenced by {id}.","parameters":[{"name":"id","in":"path","description":"User ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false},{"name":"companyId","in":"path","description":"Company ID","required":true,"deprecated":false,"allowEmptyValue":false,"schema":{"type":"string"},"style":"simple","explode":false,"allowReserved":false}],"requestBody":{"description":"","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/Users.EmptyApiInputOutput-POST_PATCH"}},"text\/html":{"schema":{"$ref":"#\/components\/schemas\/Users.EmptyApiInputOutput-POST_PATCH"}}},"required":true},"deprecated":false},"parameters":[]},"\/v1\/users":{"get":{"operationId":"api_users_get_collection","tags":["Users"],"responses":{"200":{"description":"All Users information listed.","content":{"application\/json":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Users-GET"}}},"text\/html":{"schema":{"type":"array","items":{"$ref":"#\/components\/schemas\/Users-GET"}}}}},"401":{"description":"JWT Token not found."},"500":{"description":"Internal Server Error."}},"summary":"[ADMIN] List all Users.","description":"Gets a list of all Users.","parameters":[{"name":"page","in":"query","description":"The collection page number","required":false,"deprecated":false,"allowEmptyValue":true,"schema":{"type":"integer","default":1},"style":"form","explode":false,"allowReserved":false}],"deprecated":false},"parameters":[]}},"components":{"schemas":{"Asset-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"address":{"$ref":"#\/components\/schemas\/AssetAddress-GET"},"company":{"type":"string","format":"iri-reference","nullable":true},"alias":{"type":"string","nullable":true}}},"Asset-POST_PUT":{"type":"object","description":"","deprecated":false,"properties":{"address":{"$ref":"#\/components\/schemas\/AssetAddress-POST_PUT"},"company":{"type":"string","format":"iri-reference","nullable":true},"alias":{"type":"string","nullable":true}}},"AssetAddress-GET":{"type":"object","description":"","deprecated":false,"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"province":{"type":"string"},"locality":{"type":"string"},"postalCode":{"type":"string"}}},"AssetAddress-POST_PUT":{"type":"object","description":"","deprecated":false,"properties":{"line1":{"type":"string"},"line2":{"type":"string"},"province":{"type":"string"},"locality":{"type":"string"},"postalCode":{"type":"string"}}},"Companies-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"name":{"type":"string"},"identity_type":{"readOnly":true,"type":"string","nullable":true},"identity_id":{"readOnly":true,"type":"string","nullable":true},"users":{"type":"array","items":{"type":"string","format":"iri-reference"}}}},"Companies-POST_PATCH":{"type":"object","description":"","deprecated":false,"properties":{"name":{"type":"string"},"identity_type":{"readOnly":true,"type":"string","nullable":true},"identity_id":{"readOnly":true,"type":"string","nullable":true}}},"Email.EmailApiInput":{"type":"object","description":"","deprecated":false,"properties":{"to":{"type":"string"},"subject":{"type":"string"},"message":{"type":"string"}}},"Email.EmailApiOutput":{"type":"object","description":"","deprecated":false,"properties":{"success":{"type":"boolean"},"message":{"type":"string"}}},"Key-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"is_master":{"readOnly":true,"type":"boolean"},"typology":{"type":"string","enum":["Soil","Living","Garage","Storage","CommonArea",null],"nullable":true},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":"string","nullable":true}}},"Key-POST_PUT":{"type":"object","description":"","deprecated":false,"properties":{"is_master":{"readOnly":true,"type":"boolean"},"typology":{"type":"string","enum":["Soil","Living","Garage","Storage","CommonArea",null],"nullable":true},"file":{"type":"string","format":"binary","nullable":true}}},"Key-POST_PUT_IMAGE":{"type":"object","description":"","deprecated":false,"properties":{"is_master":{"readOnly":true,"type":"boolean"},"typology":{"type":"string","enum":["Soil","Living","Garage","Storage","CommonArea",null],"nullable":true},"file":{"type":"string","format":"binary","nullable":true}}},"Key-PUT":{"type":"object","description":"","deprecated":false,"properties":{"is_master":{"readOnly":true,"type":"boolean"},"typology":{"type":"string","enum":["Soil","Living","Garage","Storage","CommonArea",null],"nullable":true}}},"KeychainAccess":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"keychain":{"type":"string","format":"iri-reference"},"users":{"type":"array","items":{"type":"string","format":"iri-reference"}},"holder":{"type":"string","nullable":true}}},"KeychainAccess-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"keychain":{"type":"string","format":"iri-reference"}}},"KeychainAccess.AddKeychainAccessUserInput":{"type":"object","description":"","deprecated":false,"properties":{"userId":{"type":"integer"}}},"Locker-ADMIN_PUT":{"type":"object","description":"","deprecated":false,"properties":{"ratelimit":{"type":"object","properties":{"limit":{"type":"integer"},"interval":{"type":"string"}},"items":{"type":"string"}}}},"Locker-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"mqtt_id":{"readOnly":true,"type":"string"},"name":{"type":"string"},"capacity":{"type":"integer"},"positions":{"type":"array","items":{"type":"string"}},"door_type":{"readOnly":true,"type":"string"},"company":{"type":"string","format":"iri-reference","nullable":true},"ratelimit":{"type":"object","properties":{"limit":{"type":"integer"},"interval":{"type":"string"}},"items":{"type":"string"}}}},"Locker-POST_PUT_ADMIN_PUT":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_id":{"readOnly":true,"type":"string"},"name":{"type":"string"},"capacity":{"type":"integer"},"positions":{"type":"array","items":{"type":"string"}},"door_type":{"readOnly":true,"type":"string"},"company":{"type":"string","format":"iri-reference","nullable":true},"ratelimit":{"type":"object","properties":{"limit":{"type":"integer"},"interval":{"type":"string"}},"items":{"type":"string"}}}},"Locker.LockerHookInput-POST_PUT_ADMIN_PUT":{"type":"object","description":"","deprecated":false},"MQTT.MQTTApiOutput":{"type":"object","description":"","deprecated":false,"properties":{"success":{"type":"boolean"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"string"}}}},"MQTT.MQTTBuzzerLockerApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_locker_id":{"type":"string"},"seconds":{"type":"integer"}}},"MQTT.MQTTCloseKeyApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_locker_id":{"type":"string"},"mqtt_key_id":{"type":"string"}}},"MQTT.MQTTCloseLockerApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_locker_id":{"type":"string"}}},"MQTT.MQTTOpenKeyApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_locker_id":{"type":"string"},"mqtt_key_id":{"type":"string"}}},"MQTT.MQTTOpenLockerApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_locker_id":{"type":"string"}}},"MQTT.MQTTPublishApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_id":{"type":"string"},"mqtt_command":{"type":"string"}}},"MQTT.MQTTRegisterNFCApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_locker_id":{"type":"string"},"hecate_user_id":{"type":"string"}}},"MQTT.MQTTSubscribeApiInput":{"type":"object","description":"","deprecated":false,"properties":{"mqtt_id":{"type":"string"},"mqtt_subtopic":{"type":"string"},"subscribe_time":{"type":"integer"}}},"Notifications-GET":{"type":"object","description":"","deprecated":false,"properties":{"title":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"},"date":{"type":"string","format":"date-time"},"link":{"type":"string","nullable":true},"is_read":{"readOnly":true,"type":"boolean"},"user":{"type":"string","format":"iri-reference","nullable":true}}},"Users-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"email":{"format":"email","externalDocs":{"url":"https:\/\/schema.org\/email"},"type":"string"},"name":{"type":"string","nullable":true},"surname":{"type":"string","nullable":true},"identity_type":{"readOnly":true,"type":"string","nullable":true},"identity_id":{"readOnly":true,"type":"string","nullable":true},"phone_number":{"readOnly":true,"type":"string","nullable":true},"department":{"type":"string","nullable":true},"address_city":{"readOnly":true,"type":"string","nullable":true},"address_street":{"readOnly":true,"type":"string","nullable":true},"address_street_number":{"readOnly":true,"type":"integer","nullable":true},"address_street_floor":{"readOnly":true,"type":"string","nullable":true},"address_zipcode":{"readOnly":true,"type":"string","nullable":true},"company":{"type":"string","format":"iri-reference","nullable":true}},"required":["email"]},"Users-POST_PATCH":{"type":"object","description":"","deprecated":false,"properties":{"email":{"type":"string"},"plainPassword":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"surname":{"type":"string","nullable":true},"identity_type":{"readOnly":true,"type":"string","nullable":true},"identity_id":{"readOnly":true,"type":"string","nullable":true},"phone_number":{"readOnly":true,"type":"string","nullable":true},"department":{"type":"string","nullable":true},"address_city":{"readOnly":true,"type":"string","nullable":true},"address_street":{"readOnly":true,"type":"string","nullable":true},"address_street_number":{"readOnly":true,"type":"integer","nullable":true},"address_street_floor":{"readOnly":true,"type":"string","nullable":true},"address_zipcode":{"readOnly":true,"type":"string","nullable":true}},"required":["plainPassword"]},"Users.EmptyApiInputOutput-POST_PATCH":{"type":"object","description":"","deprecated":false},"keychain-GET":{"type":"object","description":"","deprecated":false,"properties":{"id":{"readOnly":true,"type":"integer"},"position":{"type":"string","nullable":true},"on_locker":{"readOnly":true,"description":"Last seen inside the locker","type":"boolean"},"has_master":{"readOnly":true,"type":"boolean"},"qr":{"type":"string"},"keys":{"type":"array","items":{"$ref":"#\/components\/schemas\/Key-GET"}},"access":{"anyOf":[{"$ref":"#\/components\/schemas\/KeychainAccess-GET"}],"nullable":true},"contentUrl":{"externalDocs":{"url":"https:\/\/schema.org\/contentUrl"},"type":"string","nullable":true}}},"keychain-POST_PUT_IMAGE":{"type":"object","description":"","deprecated":false,"properties":{"position":{"type":"string","nullable":true},"on_locker":{"readOnly":true,"description":"Last seen inside the locker","type":"boolean"},"has_master":{"readOnly":true,"type":"boolean"},"qr":{"type":"string"},"keys":{"type":"array","items":{"$ref":"#\/components\/schemas\/Key-POST_PUT_IMAGE"}},"file":{"type":"string","format":"binary","nullable":true}}},"keychain-PUT":{"type":"object","description":"","deprecated":false,"properties":{"position":{"type":"string","nullable":true},"on_locker":{"readOnly":true,"description":"Last seen inside the locker","type":"boolean"},"has_master":{"readOnly":true,"type":"boolean"},"qr":{"type":"string"},"keys":{"type":"array","items":{"$ref":"#\/components\/schemas\/Key-PUT"}}}},"keychain.EmptyApiInputOutput-GET":{"type":"object","description":"","deprecated":false},"JWT-Content":{"type":"object","properties":{"iat":{"type":"integer"},"exp":{"type":"integer"},"roles":{"type":"array","items":{"type":"string","enum":["ROLE_ADMIN","ROLE_USER"]}},"username":{"type":"string"},"id":{"type":"integer"},"company_id":{"type":"integer"}},"required":["iat","exp","roles","username","id","company_id"]}},"responses":{},"parameters":{},"examples":{},"requestBodies":{},"headers":{},"securitySchemes":{"JWT":{"type":"apiKey","description":"Value for the Authorization header parameter.","name":"Authorization","in":"header"}}},"security":[{"JWT":[]}],"tags":[]}