{"items":[{"type":"link","label":"mATRIC API","link":"/openapi","routeSlug":"/openapi","content":{"contentType":"overview","meta":{"name":"mATRIC API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"openapi.json","url":"/_bundle/openapi.json?download"},{"kind":"download","label":"openapi.yaml","url":"/_bundle/openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://www.bristol.ac.uk/engineering/research/smart/","url":"https://www.bristol.ac.uk/engineering/research/smart/"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"BSD 3 Clause Licence","url":"https://github.com/mATRIC-Platforms/mATRIC-master/blob/master/LICENSE"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"mATRIC API (1.0.0)","showPageActions":true},{"nodeType":"markdoc","content":"REST API for the Multi Access Technology Intelligent Controller"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"mATRIC unifies 5G, WiFi and LiFi under a single management framework. This API is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the interface to the platform for three kinds of caller, each authenticating"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"through the same token endpoint with its own login type."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Users"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" manage the platform. Administrators register agents and third party"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"applications, and manage user accounts. Anyone may register through the public"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"signup endpoint and receives a standard user role."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agents"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" run on access points. Each agent authenticates, onboards itself with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"its configuration and geolocation, and then posts telemetry on a regular"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schedule."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Third party applications"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" consume the platform. They request the details of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"active agents, retrieve historical data for a chosen agent and time range, and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"send commands back to the network. Results and subscribed data streams return"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"through callback endpoints identified by a job number."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every call except authentication and public registration requires a bearer"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token in the Authorization header."},"children":[]}]}]}]}],"sectionId":"/openapi"}],"sectionId":"/openapi"}]}]}},{"type":"group","label":"token","link":"/openapi/token","routeSlug":"/openapi/token","items":[{"label":"Login","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/token/login_api_v1_token__post","routeSlug":"/openapi/token/login_api_v1_token__post","metadata":{"seo":{"title":"Login","description":"Login"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"login_api_v1_token__post","name":"Login","isWebhook":false,"pointer":"/paths/~1api~1v1~1token~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Login","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"login_type","in":"query","schemaId":"schema_25","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Login type: user, agent or third_party_app"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1api~1v1~1token~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/x-www-form-urlencoded"],"mediaTypeSchemas":{"application/x-www-form-urlencoded":{"schemaId":"components/schemas/Body_login_api_v1_token__post"}},"schemaId":"components/schemas/Body_login_api_v1_token__post","pointer":"/paths/~1api~1v1~1token~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/token/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"login_type","in":"query","required":true,"schemaId":"schema_25"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/x-www-form-urlencoded":{"schemaId":"components/schemas/Body_login_api_v1_token__post"}},"responseCodes":["200","422"],"pointer":"/api/v1/token/","href":"token/login_api_v1_token__post","openApiOperationId":"login_api_v1_token__post","summary":"Login"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/Body_login_api_v1_token__post","mediaTypes":["application/x-www-form-urlencoded"],"mediaTypeSchemas":{"application/x-www-form-urlencoded":{"schemaId":"components/schemas/Body_login_api_v1_token__post"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Token"}},"schemaId":"components/schemas/Token"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1token~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Token","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Token"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/token/login_api_v1_token__post"}],"panels":[]}]},"httpPath":"/api/v1/token/"}],"content":{"contentType":"group","meta":{"name":"token"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"token","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/token/","summary":"Login","prefix":{"name":"post","color":"post"},"badges":[],"link":"/token/login_api_v1_token__post","deprecated":false}]}]}]}]}},{"type":"group","label":"users","link":"/openapi/users","routeSlug":"/openapi/users","items":[{"label":"Create First User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/create_first_user_api_v1_users_public_post","routeSlug":"/openapi/users/create_first_user_api_v1_users_public_post","metadata":{"seo":{"title":"Create First User","description":"Create First User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create_first_user_api_v1_users_public_post","name":"Create First User","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1public/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create First User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserCreate"}},"schemaId":"components/schemas/UserCreate","pointer":"/paths/~1api~1v1~1users~1public/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/users/public","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UserCreate"}},"responseCodes":["200","422"],"pointer":"/api/v1/users/public","href":"users/create_first_user_api_v1_users_public_post","openApiOperationId":"create_first_user_api_v1_users_public_post","summary":"Create First User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/UserCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}},"schemaId":"components/schemas/TokenData"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1public/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenData","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/create_first_user_api_v1_users_public_post"}],"panels":[]}]},"httpPath":"/api/v1/users/public"},{"label":"Register User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/register_user_api_v1_users_signup_post","routeSlug":"/openapi/users/register_user_api_v1_users_signup_post","metadata":{"seo":{"title":"Register User","description":"Register User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"register_user_api_v1_users_signup_post","name":"Register User","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1signup/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Register User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserRegister"}},"schemaId":"components/schemas/UserRegister","pointer":"/paths/~1api~1v1~1users~1signup/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/users/signup","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/UserRegister"}},"responseCodes":["200","422"],"pointer":"/api/v1/users/signup","href":"users/register_user_api_v1_users_signup_post","openApiOperationId":"register_user_api_v1_users_signup_post","summary":"Register User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/UserRegister","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserRegister"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}},"schemaId":"components/schemas/TokenData"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1signup/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenData","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/register_user_api_v1_users_signup_post"}],"panels":[]}]},"httpPath":"/api/v1/users/signup"},{"label":"Recover Password","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/recover_password_api_v1_users_password_recovery_post","routeSlug":"/openapi/users/recover_password_api_v1_users_password_recovery_post","metadata":{"seo":{"title":"Recover Password","description":"Recover Password"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"recover_password_api_v1_users_password_recovery_post","name":"Recover Password","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1password-recovery/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Recover Password","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PasswordRecoveryRequest"}},"schemaId":"components/schemas/PasswordRecoveryRequest","pointer":"/paths/~1api~1v1~1users~1password-recovery/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/users/password-recovery","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PasswordRecoveryRequest"}},"responseCodes":["200","422"],"pointer":"/api/v1/users/password-recovery","href":"users/recover_password_api_v1_users_password_recovery_post","openApiOperationId":"recover_password_api_v1_users_password_recovery_post","summary":"Recover Password"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/PasswordRecoveryRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PasswordRecoveryRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_26"}},"schemaId":"schema_26"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1password-recovery/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_26","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_26"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/recover_password_api_v1_users_password_recovery_post"}],"panels":[]}]},"httpPath":"/api/v1/users/password-recovery"},{"label":"Reset Password","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/reset_password_api_v1_users_reset_password_post","routeSlug":"/openapi/users/reset_password_api_v1_users_reset_password_post","metadata":{"seo":{"title":"Reset Password","description":"Reset Password"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"reset_password_api_v1_users_reset_password_post","name":"Reset Password","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1reset-password/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reset Password","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PasswordReset"}},"schemaId":"components/schemas/PasswordReset","pointer":"/paths/~1api~1v1~1users~1reset-password/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/users/reset-password","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PasswordReset"}},"responseCodes":["200","422"],"pointer":"/api/v1/users/reset-password","href":"users/reset_password_api_v1_users_reset_password_post","openApiOperationId":"reset_password_api_v1_users_reset_password_post","summary":"Reset Password"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/PasswordReset","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PasswordReset"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_27"}},"schemaId":"schema_27"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1reset-password/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_27","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_27"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/reset_password_api_v1_users_reset_password_post"}],"panels":[]}]},"httpPath":"/api/v1/users/reset-password"},{"label":"List Users","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/list_users_api_v1_users__get","routeSlug":"/openapi/users/list_users_api_v1_users__get","metadata":{"seo":{"title":"List Users","description":"List Users"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list_users_api_v1_users__get","name":"List Users","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Users","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/users/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/v1/users/","href":"users/list_users_api_v1_users__get","openApiOperationId":"list_users_api_v1_users__get","summary":"List Users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_28"}},"schemaId":"schema_28"}],"pointer":"/paths/~1api~1v1~1users~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_28","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_28"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/list_users_api_v1_users__get"}],"panels":[]}]},"httpPath":"/api/v1/users/"},{"label":"Create User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/create_user_api_v1_users__post","routeSlug":"/openapi/users/create_user_api_v1_users__post","metadata":{"seo":{"title":"Create User","description":"Create User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create_user_api_v1_users__post","name":"Create User","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserCreate"}},"schemaId":"components/schemas/UserCreate","pointer":"/paths/~1api~1v1~1users~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/users/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/UserCreate"}},"responseCodes":["200","422"],"pointer":"/api/v1/users/","href":"users/create_user_api_v1_users__post","openApiOperationId":"create_user_api_v1_users__post","summary":"Create User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/UserCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}},"schemaId":"components/schemas/TokenData"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenData","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/create_user_api_v1_users__post"}],"panels":[]}]},"httpPath":"/api/v1/users/"},{"label":"Update User","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/update_user_api_v1_users__username__put","routeSlug":"/openapi/users/update_user_api_v1_users__username__put","metadata":{"seo":{"title":"Update User","description":"Update User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"update_user_api_v1_users__username__put","name":"Update User","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1{username}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"username","in":"path","schemaId":"schema_29","required":true}],"pointer":"/paths/~1api~1v1~1users~1{username}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserUpdate"}},"schemaId":"components/schemas/UserUpdate","pointer":"/paths/~1api~1v1~1users~1{username}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/api/v1/users/{username}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"username","in":"path","required":true,"schemaId":"schema_29"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/UserUpdate"}},"responseCodes":["200","422"],"pointer":"/api/v1/users/{username}","href":"users/update_user_api_v1_users__username__put","openApiOperationId":"update_user_api_v1_users__username__put","summary":"Update User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/UserUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UserUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}},"schemaId":"components/schemas/TokenData"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1{username}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenData","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/update_user_api_v1_users__username__put"}],"panels":[]}]},"httpPath":"/api/v1/users/{username}"},{"label":"Delete User","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/delete_user_api_v1_users__username__delete","routeSlug":"/openapi/users/delete_user_api_v1_users__username__delete","metadata":{"seo":{"title":"Delete User","description":"Delete User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"delete_user_api_v1_users__username__delete","name":"Delete User","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1{username}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"username","in":"path","schemaId":"schema_29","required":true}],"pointer":"/paths/~1api~1v1~1users~1{username}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/v1/users/{username}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"username","in":"path","required":true,"schemaId":"schema_29"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/users/{username}","href":"users/delete_user_api_v1_users__username__delete","openApiOperationId":"delete_user_api_v1_users__username__delete","summary":"Delete User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_30"}},"schemaId":"schema_30"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1{username}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_30","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_30"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/delete_user_api_v1_users__username__delete"}],"panels":[]}]},"httpPath":"/api/v1/users/{username}"},{"label":"Get User","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/get_user_api_v1_users__username__get","routeSlug":"/openapi/users/get_user_api_v1_users__username__get","metadata":{"seo":{"title":"Get User","description":"Get User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_user_api_v1_users__username__get","name":"Get User","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1{username}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get User","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"username","in":"path","schemaId":"schema_29","required":true}],"pointer":"/paths/~1api~1v1~1users~1{username}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/users/{username}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"username","in":"path","required":true,"schemaId":"schema_29"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/users/{username}","href":"users/get_user_api_v1_users__username__get","openApiOperationId":"get_user_api_v1_users__username__get","summary":"Get User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}},"schemaId":"components/schemas/TokenData"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1users~1{username}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenData","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/get_user_api_v1_users__username__get"}],"panels":[]}]},"httpPath":"/api/v1/users/{username}"},{"label":"Read Users Me","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/users/read_users_me_api_v1_users_me_get","routeSlug":"/openapi/users/read_users_me_api_v1_users_me_get","metadata":{"seo":{"title":"Read Users Me","description":"Read Users Me"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"read_users_me_api_v1_users_me_get","name":"Read Users Me","isWebhook":false,"pointer":"/paths/~1api~1v1~1users~1me/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Read Users Me","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/users/me","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/v1/users/me","href":"users/read_users_me_api_v1_users_me_get","openApiOperationId":"read_users_me_api_v1_users_me_get","summary":"Read Users Me"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}},"schemaId":"components/schemas/TokenData"}],"pointer":"/paths/~1api~1v1~1users~1me/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/TokenData","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/TokenData"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/users/read_users_me_api_v1_users_me_get"}],"panels":[]}]},"httpPath":"/api/v1/users/me"}],"content":{"contentType":"group","meta":{"name":"users"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"users","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/users/public","summary":"Create First User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/create_first_user_api_v1_users_public_post","deprecated":false},{"title":"/api/v1/users/signup","summary":"Register User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/register_user_api_v1_users_signup_post","deprecated":false},{"title":"/api/v1/users/password-recovery","summary":"Recover Password","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/recover_password_api_v1_users_password_recovery_post","deprecated":false},{"title":"/api/v1/users/reset-password","summary":"Reset Password","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/reset_password_api_v1_users_reset_password_post","deprecated":false},{"title":"/api/v1/users/","summary":"List Users","prefix":{"name":"get","color":"get"},"badges":[],"link":"/users/list_users_api_v1_users__get","deprecated":false},{"title":"/api/v1/users/","summary":"Create User","prefix":{"name":"post","color":"post"},"badges":[],"link":"/users/create_user_api_v1_users__post","deprecated":false},{"title":"/api/v1/users/{username}","summary":"Update User","prefix":{"name":"put","color":"put"},"badges":[],"link":"/users/update_user_api_v1_users__username__put","deprecated":false},{"title":"/api/v1/users/{username}","summary":"Delete User","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/users/delete_user_api_v1_users__username__delete","deprecated":false},{"title":"/api/v1/users/{username}","summary":"Get User","prefix":{"name":"get","color":"get"},"badges":[],"link":"/users/get_user_api_v1_users__username__get","deprecated":false},{"title":"/api/v1/users/me","summary":"Read Users Me","prefix":{"name":"get","color":"get"},"badges":[],"link":"/users/read_users_me_api_v1_users_me_get","deprecated":false}]}]}]}]}},{"type":"group","label":"agents","link":"/openapi/agents","routeSlug":"/openapi/agents","items":[{"label":"Create First Agent","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agents/create_first_agent_api_v1_agents_public_post","routeSlug":"/openapi/agents/create_first_agent_api_v1_agents_public_post","metadata":{"seo":{"title":"Create First Agent","description":"Create First Agent"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create_first_agent_api_v1_agents_public_post","name":"Create First Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1agents~1public/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create First Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AgentCreate"}},"schemaId":"components/schemas/AgentCreate","pointer":"/paths/~1api~1v1~1agents~1public/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/agents/public","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AgentCreate"}},"responseCodes":["200","422"],"pointer":"/api/v1/agents/public","href":"agents/create_first_agent_api_v1_agents_public_post","openApiOperationId":"create_first_agent_api_v1_agents_public_post","summary":"Create First Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/AgentCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AgentCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}},"schemaId":"components/schemas/Agent"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agents~1public/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Agent","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agents/create_first_agent_api_v1_agents_public_post"}],"panels":[]}]},"httpPath":"/api/v1/agents/public"},{"label":"Create Agent","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agents/create_agent_api_v1_agents__post","routeSlug":"/openapi/agents/create_agent_api_v1_agents__post","metadata":{"seo":{"title":"Create Agent","description":"Create Agent"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create_agent_api_v1_agents__post","name":"Create Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1agents~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AgentCreate"}},"schemaId":"components/schemas/AgentCreate","pointer":"/paths/~1api~1v1~1agents~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/agents/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/AgentCreate"}},"responseCodes":["200","422"],"pointer":"/api/v1/agents/","href":"agents/create_agent_api_v1_agents__post","openApiOperationId":"create_agent_api_v1_agents__post","summary":"Create Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/AgentCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AgentCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}},"schemaId":"components/schemas/Agent"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agents~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Agent","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agents/create_agent_api_v1_agents__post"}],"panels":[]}]},"httpPath":"/api/v1/agents/"},{"label":"Get Agent","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agents/get_agent_api_v1_agents__ap_id__get","routeSlug":"/openapi/agents/get_agent_api_v1_agents__ap_id__get","metadata":{"seo":{"title":"Get Agent","description":"Get Agent"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_agent_api_v1_agents__ap_id__get","name":"Get Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ap_id","in":"path","schemaId":"schema_31","required":true}],"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/agents/{ap_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"ap_id","in":"path","required":true,"schemaId":"schema_31"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/agents/{ap_id}","href":"agents/get_agent_api_v1_agents__ap_id__get","openApiOperationId":"get_agent_api_v1_agents__ap_id__get","summary":"Get Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}},"schemaId":"components/schemas/Agent"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Agent","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agents/get_agent_api_v1_agents__ap_id__get"}],"panels":[]}]},"httpPath":"/api/v1/agents/{ap_id}"},{"label":"Update Agent","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agents/update_agent_api_v1_agents__ap_id__put","routeSlug":"/openapi/agents/update_agent_api_v1_agents__ap_id__put","metadata":{"seo":{"title":"Update Agent","description":"Update Agent"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"update_agent_api_v1_agents__ap_id__put","name":"Update Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ap_id","in":"path","schemaId":"schema_31","required":true}],"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AgentUpdate"}},"schemaId":"components/schemas/AgentUpdate","pointer":"/paths/~1api~1v1~1agents~1{ap_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/api/v1/agents/{ap_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"ap_id","in":"path","required":true,"schemaId":"schema_31"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/AgentUpdate"}},"responseCodes":["200","422"],"pointer":"/api/v1/agents/{ap_id}","href":"agents/update_agent_api_v1_agents__ap_id__put","openApiOperationId":"update_agent_api_v1_agents__ap_id__put","summary":"Update Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/AgentUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AgentUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}},"schemaId":"components/schemas/Agent"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Agent","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Agent"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agents/update_agent_api_v1_agents__ap_id__put"}],"panels":[]}]},"httpPath":"/api/v1/agents/{ap_id}"},{"label":"Delete Agent","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agents/delete_agent_api_v1_agents__ap_id__delete","routeSlug":"/openapi/agents/delete_agent_api_v1_agents__ap_id__delete","metadata":{"seo":{"title":"Delete Agent","description":"Delete Agent"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"delete_agent_api_v1_agents__ap_id__delete","name":"Delete Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"ap_id","in":"path","schemaId":"schema_31","required":true}],"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/v1/agents/{ap_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"ap_id","in":"path","required":true,"schemaId":"schema_31"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/agents/{ap_id}","href":"agents/delete_agent_api_v1_agents__ap_id__delete","openApiOperationId":"delete_agent_api_v1_agents__ap_id__delete","summary":"Delete Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_32"}},"schemaId":"schema_32"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agents~1{ap_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_32","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_32"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agents/delete_agent_api_v1_agents__ap_id__delete"}],"panels":[]}]},"httpPath":"/api/v1/agents/{ap_id}"}],"content":{"contentType":"group","meta":{"name":"agents"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"agents","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/agents/public","summary":"Create First Agent","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agents/create_first_agent_api_v1_agents_public_post","deprecated":false},{"title":"/api/v1/agents/","summary":"Create Agent","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agents/create_agent_api_v1_agents__post","deprecated":false},{"title":"/api/v1/agents/{ap_id}","summary":"Get Agent","prefix":{"name":"get","color":"get"},"badges":[],"link":"/agents/get_agent_api_v1_agents__ap_id__get","deprecated":false},{"title":"/api/v1/agents/{ap_id}","summary":"Update Agent","prefix":{"name":"put","color":"put"},"badges":[],"link":"/agents/update_agent_api_v1_agents__ap_id__put","deprecated":false},{"title":"/api/v1/agents/{ap_id}","summary":"Delete Agent","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/agents/delete_agent_api_v1_agents__ap_id__delete","deprecated":false}]}]}]}]}},{"type":"group","label":"third_party_apps","link":"/openapi/third_party_apps","routeSlug":"/openapi/third_party_apps","items":[{"label":"Create Third Party App","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/third_party_apps/create_third_party_app_api_v1_third_party_apps__post","routeSlug":"/openapi/third_party_apps/create_third_party_app_api_v1_third_party_apps__post","metadata":{"seo":{"title":"Create Third Party App","description":"Create Third Party App"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"create_third_party_app_api_v1_third_party_apps__post","name":"Create Third Party App","isWebhook":false,"pointer":"/paths/~1api~1v1~1third_party_apps~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Third Party App","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ThirdPartyAppCreate"}},"schemaId":"components/schemas/ThirdPartyAppCreate","pointer":"/paths/~1api~1v1~1third_party_apps~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/third_party_apps/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/ThirdPartyAppCreate"}},"responseCodes":["200","422"],"pointer":"/api/v1/third_party_apps/","href":"third_party_apps/create_third_party_app_api_v1_third_party_apps__post","openApiOperationId":"create_third_party_app_api_v1_third_party_apps__post","summary":"Create Third Party App"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/ThirdPartyAppCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ThirdPartyAppCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ThirdPartyApp"}},"schemaId":"components/schemas/ThirdPartyApp"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1third_party_apps~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ThirdPartyApp","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ThirdPartyApp"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/third_party_apps/create_third_party_app_api_v1_third_party_apps__post"}],"panels":[]}]},"httpPath":"/api/v1/third_party_apps/"},{"label":"Get Third Party App","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/third_party_apps/get_third_party_app_api_v1_third_party_apps__app_name__get","routeSlug":"/openapi/third_party_apps/get_third_party_app_api_v1_third_party_apps__app_name__get","metadata":{"seo":{"title":"Get Third Party App","description":"Get Third Party App"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_third_party_app_api_v1_third_party_apps__app_name__get","name":"Get Third Party App","isWebhook":false,"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Third Party App","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"app_name","in":"path","schemaId":"schema_33","required":true}],"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/third_party_apps/{app_name}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"app_name","in":"path","required":true,"schemaId":"schema_33"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/third_party_apps/{app_name}","href":"third_party_apps/get_third_party_app_api_v1_third_party_apps__app_name__get","openApiOperationId":"get_third_party_app_api_v1_third_party_apps__app_name__get","summary":"Get Third Party App"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ThirdPartyApp"}},"schemaId":"components/schemas/ThirdPartyApp"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ThirdPartyApp","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ThirdPartyApp"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/third_party_apps/get_third_party_app_api_v1_third_party_apps__app_name__get"}],"panels":[]}]},"httpPath":"/api/v1/third_party_apps/{app_name}"},{"label":"Update Third Party App","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/third_party_apps/update_third_party_app_api_v1_third_party_apps__app_name__put","routeSlug":"/openapi/third_party_apps/update_third_party_app_api_v1_third_party_apps__app_name__put","metadata":{"seo":{"title":"Update Third Party App","description":"Update Third Party App"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"update_third_party_app_api_v1_third_party_apps__app_name__put","name":"Update Third Party App","isWebhook":false,"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Third Party App","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"app_name","in":"path","schemaId":"schema_33","required":true}],"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ThirdPartyAppUpdate"}},"schemaId":"components/schemas/ThirdPartyAppUpdate","pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/api/v1/third_party_apps/{app_name}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"app_name","in":"path","required":true,"schemaId":"schema_33"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/ThirdPartyAppUpdate"}},"responseCodes":["200","422"],"pointer":"/api/v1/third_party_apps/{app_name}","href":"third_party_apps/update_third_party_app_api_v1_third_party_apps__app_name__put","openApiOperationId":"update_third_party_app_api_v1_third_party_apps__app_name__put","summary":"Update Third Party App"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/ThirdPartyAppUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ThirdPartyAppUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ThirdPartyApp"}},"schemaId":"components/schemas/ThirdPartyApp"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/ThirdPartyApp","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ThirdPartyApp"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/third_party_apps/update_third_party_app_api_v1_third_party_apps__app_name__put"}],"panels":[]}]},"httpPath":"/api/v1/third_party_apps/{app_name}"},{"label":"Delete Third Party App","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/third_party_apps/delete_third_party_app_api_v1_third_party_apps__app_name__delete","routeSlug":"/openapi/third_party_apps/delete_third_party_app_api_v1_third_party_apps__app_name__delete","metadata":{"seo":{"title":"Delete Third Party App","description":"Delete Third Party App"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"delete_third_party_app_api_v1_third_party_apps__app_name__delete","name":"Delete Third Party App","isWebhook":false,"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Third Party App","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"app_name","in":"path","schemaId":"schema_33","required":true}],"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/api/v1/third_party_apps/{app_name}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"app_name","in":"path","required":true,"schemaId":"schema_33"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/third_party_apps/{app_name}","href":"third_party_apps/delete_third_party_app_api_v1_third_party_apps__app_name__delete","openApiOperationId":"delete_third_party_app_api_v1_third_party_apps__app_name__delete","summary":"Delete Third Party App"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_34"}},"schemaId":"schema_34"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1third_party_apps~1{app_name}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_34","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_34"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/third_party_apps/delete_third_party_app_api_v1_third_party_apps__app_name__delete"}],"panels":[]}]},"httpPath":"/api/v1/third_party_apps/{app_name}"}],"content":{"contentType":"group","meta":{"name":"third_party_apps"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"third_party_apps","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/third_party_apps/","summary":"Create Third Party App","prefix":{"name":"post","color":"post"},"badges":[],"link":"/third_party_apps/create_third_party_app_api_v1_third_party_apps__post","deprecated":false},{"title":"/api/v1/third_party_apps/{app_name}","summary":"Get Third Party App","prefix":{"name":"get","color":"get"},"badges":[],"link":"/third_party_apps/get_third_party_app_api_v1_third_party_apps__app_name__get","deprecated":false},{"title":"/api/v1/third_party_apps/{app_name}","summary":"Update Third Party App","prefix":{"name":"put","color":"put"},"badges":[],"link":"/third_party_apps/update_third_party_app_api_v1_third_party_apps__app_name__put","deprecated":false},{"title":"/api/v1/third_party_apps/{app_name}","summary":"Delete Third Party App","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/third_party_apps/delete_third_party_app_api_v1_third_party_apps__app_name__delete","deprecated":false}]}]}]}]}},{"type":"group","label":"agent_update","link":"/openapi/agent_update","routeSlug":"/openapi/agent_update","items":[{"label":"Update Agent","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agent_update/update_agent_api_v1_agent_update_update_post","routeSlug":"/openapi/agent_update/update_agent_api_v1_agent_update_update_post","metadata":{"seo":{"title":"Update Agent","description":"Endpoint to handle agent updates."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"update_agent_api_v1_agent_update_update_post","name":"Update Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1agent_update~1update/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint to handle agent updates."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_35"}},"schemaId":"schema_35","pointer":"/paths/~1api~1v1~1agent_update~1update/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/agent_update/update","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_35"}},"responseCodes":["200","422"],"pointer":"/api/v1/agent_update/update","href":"agent_update/update_agent_api_v1_agent_update_update_post","openApiOperationId":"update_agent_api_v1_agent_update_update_post","summary":"Update Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"schema_35","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_35"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_36"}},"schemaId":"schema_36"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agent_update~1update/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_36","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_36"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agent_update/update_agent_api_v1_agent_update_update_post"}],"panels":[]}]},"httpPath":"/api/v1/agent_update/update"}],"content":{"contentType":"group","meta":{"name":"agent_update"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"agent_update","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/agent_update/update","summary":"Update Agent","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agent_update/update_agent_api_v1_agent_update_update_post","deprecated":false}]}]}]}]}},{"type":"group","label":"agent_details","link":"/openapi/agent_details","routeSlug":"/openapi/agent_details","items":[{"label":"Request All Agents Details","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agent_details/request_all_agents_details_api_v1_agent_details_request_all_agents_details_post","routeSlug":"/openapi/agent_details/request_all_agents_details_api_v1_agent_details_request_all_agents_details_post","metadata":{"seo":{"title":"Request All Agents Details","description":"Endpoint to request details for all agents. Only authenticated users and third-party apps can access this."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"request_all_agents_details_api_v1_agent_details_request_all_agents_details_post","name":"Request All Agents Details","isWebhook":false,"pointer":"/paths/~1api~1v1~1agent_details~1request_all_agents_details/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Request All Agents Details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint to request details for all agents.\nOnly authenticated users and third-party apps can access this."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/agent_details/request_all_agents_details","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/v1/agent_details/request_all_agents_details","href":"agent_details/request_all_agents_details_api_v1_agent_details_request_all_agents_details_post","openApiOperationId":"request_all_agents_details_api_v1_agent_details_request_all_agents_details_post","summary":"Request All Agents Details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"}],"pointer":"/paths/~1api~1v1~1agent_details~1request_all_agents_details/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agent_details/request_all_agents_details_api_v1_agent_details_request_all_agents_details_post"}],"panels":[]}]},"httpPath":"/api/v1/agent_details/request_all_agents_details"}],"content":{"contentType":"group","meta":{"name":"agent_details"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"agent_details","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/agent_details/request_all_agents_details","summary":"Request All Agents Details","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agent_details/request_all_agents_details_api_v1_agent_details_request_all_agents_details_post","deprecated":false}]}]}]}]}},{"type":"group","label":"agent_data","link":"/openapi/agent_data","routeSlug":"/openapi/agent_data","items":[{"label":"Request Agent Data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agent_data/request_agent_data_api_v1_agent_data_request_agent_data_post","routeSlug":"/openapi/agent_data/request_agent_data_api_v1_agent_data_request_agent_data_post","metadata":{"seo":{"title":"Request Agent Data","description":"Endpoint to request agent data for a specific period. Both authenticated agents and users can request agent data."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"request_agent_data_api_v1_agent_data_request_agent_data_post","name":"Request Agent Data","isWebhook":false,"pointer":"/paths/~1api~1v1~1agent_data~1request_agent_data/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Request Agent Data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint to request agent data for a specific period.\nBoth authenticated agents and users can request agent data."},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"agent_id","in":"query","schemaId":"schema_38","required":true},{"name":"start_time","in":"query","schemaId":"schema_39","required":true},{"name":"end_time","in":"query","schemaId":"schema_40","required":true}],"pointer":"/paths/~1api~1v1~1agent_data~1request_agent_data/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/agent_data/request_agent_data","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"agent_id","in":"query","required":true,"schemaId":"schema_38"},{"name":"start_time","in":"query","required":true,"schemaId":"schema_39"},{"name":"end_time","in":"query","required":true,"schemaId":"schema_40"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/agent_data/request_agent_data","href":"agent_data/request_agent_data_api_v1_agent_data_request_agent_data_post","openApiOperationId":"request_agent_data_api_v1_agent_data_request_agent_data_post","summary":"Request Agent Data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1agent_data~1request_agent_data/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agent_data/request_agent_data_api_v1_agent_data_request_agent_data_post"}],"panels":[]}]},"httpPath":"/api/v1/agent_data/request_agent_data"}],"content":{"contentType":"group","meta":{"name":"agent_data"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"agent_data","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/agent_data/request_agent_data","summary":"Request Agent Data","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agent_data/request_agent_data_api_v1_agent_data_request_agent_data_post","deprecated":false}]}]}]}]}},{"type":"group","label":"send_command","link":"/openapi/send_command","routeSlug":"/openapi/send_command","items":[{"label":"Send Command To Agent","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/send_command/send_command_to_agent_api_v1_send_command_post","routeSlug":"/openapi/send_command/send_command_to_agent_api_v1_send_command_post","metadata":{"seo":{"title":"Send Command To Agent","description":"Endpoint to send a command to a specific agent."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"send_command_to_agent_api_v1_send_command_post","name":"Send Command To Agent","isWebhook":false,"pointer":"/paths/~1api~1v1~1send_command/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Send Command To Agent","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Endpoint to send a command to a specific agent."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"agent_id","in":"query","schemaId":"schema_38","required":true},{"name":"command","in":"query","schemaId":"schema_41","required":true}],"pointer":"/paths/~1api~1v1~1send_command/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/send_command","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"agent_id","in":"query","required":true,"schemaId":"schema_38"},{"name":"command","in":"query","required":true,"schemaId":"schema_41"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","422"],"pointer":"/api/v1/send_command","href":"send_command/send_command_to_agent_api_v1_send_command_post","openApiOperationId":"send_command_to_agent_api_v1_send_command_post","summary":"Send Command To Agent"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1send_command/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/send_command/send_command_to_agent_api_v1_send_command_post"}],"panels":[]}]},"httpPath":"/api/v1/send_command"}],"content":{"contentType":"group","meta":{"name":"send_command"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"send_command","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/send_command","summary":"Send Command To Agent","prefix":{"name":"post","color":"post"},"badges":[],"link":"/send_command/send_command_to_agent_api_v1_send_command_post","deprecated":false}]}]}]}]}},{"type":"group","label":"emulator","link":"/openapi/emulator","routeSlug":"/openapi/emulator","items":[{"label":"Spinup Emulators","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/emulator/spinup_emulators_api_v1_emulator_spinup_post","routeSlug":"/openapi/emulator/spinup_emulators_api_v1_emulator_spinup_post","metadata":{"seo":{"title":"Spinup Emulators","description":"Auth required (user or app).Creates emulator agents using DatabaseManager.add_agent with hashed passwords.Normalises locations to lat/lon and stores them ONLY in agent.configuration.geolocation.Publishes a job to RabbitMQ (routing key: emulator_spinup) including agent creds and locations."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"spinup_emulators_api_v1_emulator_spinup_post","name":"Spinup Emulators","isWebhook":false,"pointer":"/paths/~1api~1v1~1emulator~1spinup/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Spinup Emulators","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auth required (user or app)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates emulator agents using DatabaseManager.add_agent with hashed passwords."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Normalises locations to lat/lon and stores them ONLY in agent.configuration.geolocation."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Publishes a job to RabbitMQ (routing key: emulator_spinup) including agent creds and locations."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmulatorSpinupRequest"}},"schemaId":"components/schemas/EmulatorSpinupRequest","pointer":"/paths/~1api~1v1~1emulator~1spinup/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/emulator/spinup","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/EmulatorSpinupRequest"}},"responseCodes":["200","422"],"pointer":"/api/v1/emulator/spinup","href":"emulator/spinup_emulators_api_v1_emulator_spinup_post","openApiOperationId":"spinup_emulators_api_v1_emulator_spinup_post","summary":"Spinup Emulators"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/EmulatorSpinupRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/EmulatorSpinupRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1emulator~1spinup/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/emulator/spinup_emulators_api_v1_emulator_spinup_post"}],"panels":[]}]},"httpPath":"/api/v1/emulator/spinup"}],"content":{"contentType":"group","meta":{"name":"emulator"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"emulator","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/emulator/spinup","summary":"Spinup Emulators","prefix":{"name":"post","color":"post"},"badges":[],"link":"/emulator/spinup_emulators_api_v1_emulator_spinup_post","deprecated":false}]}]}]}]}},{"type":"group","label":"metrics","link":"/openapi/metrics","routeSlug":"/openapi/metrics","items":[{"label":"Agent Details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/metrics/agent_details_api_v1_metrics_agent_details_get","routeSlug":"/openapi/metrics/agent_details_api_v1_metrics_agent_details_get","metadata":{"seo":{"title":"Agent Details","description":"Return agents directly from the database with these fields:id, ap_id, configuration, onboard."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"agent_details_api_v1_metrics_agent_details_get","name":"Agent Details","isWebhook":false,"pointer":"/paths/~1api~1v1~1metrics~1agent_details/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Agent Details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return agents directly from the database with these fields:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id, ap_id, configuration, onboard."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/metrics/agent_details","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/v1/metrics/agent_details","href":"metrics/agent_details_api_v1_metrics_agent_details_get","openApiOperationId":"agent_details_api_v1_metrics_agent_details_get","summary":"Agent Details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_details/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/metrics/agent_details_api_v1_metrics_agent_details_get"}],"panels":[]}]},"httpPath":"/api/v1/metrics/agent_details"},{"label":"Get Agent Data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/metrics/get_agent_data_api_v1_metrics_agent_data_get","routeSlug":"/openapi/metrics/get_agent_data_api_v1_metrics_agent_data_get","metadata":{"seo":{"title":"Get Agent Data","description":"Pull time series for one agent using your exact InfluxDB reader (JWT required).Works only with the agent's ap_id. Returns the key from Influx as 'key'."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_agent_data_api_v1_metrics_agent_data_get","name":"Get Agent Data","isWebhook":false,"pointer":"/paths/~1api~1v1~1metrics~1agent_data/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Agent Data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pull time series for one agent using your exact InfluxDB reader (JWT required)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Works only with the agent's ap_id. Returns the key from Influx as 'key'."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"agent","in":"query","schemaId":"schema_42","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent ap_id (exact value used in Influx measurement 'agent/<ap_id>/data')"},"children":[]}]}]}],"required":true},{"name":"window","in":"query","schemaId":"schema_43","description":"Window size, for example 1, 5, 10 (minutes) or '1h'"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_data/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/metrics/agent_data","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"agent","in":"query","required":true,"schemaId":"schema_42"},{"name":"window","in":"query","required":false,"schemaId":"schema_43"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/metrics/agent_data","href":"metrics/get_agent_data_api_v1_metrics_agent_data_get","openApiOperationId":"get_agent_data_api_v1_metrics_agent_data_get","summary":"Get Agent Data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_data/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/metrics/get_agent_data_api_v1_metrics_agent_data_get"}],"panels":[]}]},"httpPath":"/api/v1/metrics/agent_data"},{"label":"Get Agent Multi Metric Data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/metrics/get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get","routeSlug":"/openapi/metrics/get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get","metadata":{"seo":{"title":"Get Agent Multi Metric Data","description":"Return time series for multiple metrics for a given agent over the same time window."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get","name":"Get Agent Multi Metric Data","isWebhook":false,"pointer":"/paths/~1api~1v1~1metrics~1agent_multi_metric_data/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Agent Multi Metric Data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return time series for "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"multiple metrics"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a given agent over the same time window."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the endpoint the real time chart will call once per second."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The frontend can select many metrics; we fetch them in a single Influx query and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group by metric (field) server-side."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response shape:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"agent_id\": \"<ap_id>\","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"window_minutes\": "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"int","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"series\": ["},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{ \"metric\": \"throughput\", \"points\": [ { \"ts\": \"...\", \"value\": 123.4 }, ... ] },"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{ \"metric\": \"latency\",    \"points\": [ ... ] },"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"..."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"}"},"children":[]},{"$$mdtype":"Node","type":"error","inline":true,"errors":[{"id":"parse-error","level":"critical","message":"HTML tag <int> is not closed, opened at"}],"attributes":{},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"agent","in":"query","schemaId":"schema_44","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent ap_id (same value used in Influx measurement 'agent/<ap_id>/data')"},"children":[]}]}]}],"required":true},{"name":"metrics","in":"query","schemaId":"schema_45","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Metric names (Influx 'field' values). Can be repeated, e.g. metrics=throughput&metrics=latency, or a single comma separated string."},"children":[]}]}]}],"required":true},{"name":"window","in":"query","schemaId":"schema_43","description":"Window size, for example 1, 5, 10 (minutes) or '1h'"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_multi_metric_data/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/metrics/agent_multi_metric_data","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"agent","in":"query","required":true,"schemaId":"schema_44"},{"name":"metrics","in":"query","required":true,"schemaId":"schema_45"},{"name":"window","in":"query","required":false,"schemaId":"schema_43"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/metrics/agent_multi_metric_data","href":"metrics/get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get","openApiOperationId":"get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get","summary":"Get Agent Multi Metric Data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_multi_metric_data/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/metrics/get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get"}],"panels":[]}]},"httpPath":"/api/v1/metrics/agent_multi_metric_data"},{"label":"List Agent Metrics","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/metrics/list_agent_metrics_api_v1_metrics_agent_metrics_get","routeSlug":"/openapi/metrics/list_agent_metrics_api_v1_metrics_agent_metrics_get","metadata":{"seo":{"title":"List Agent Metrics","description":"Return the list of metric names (Influx 'field' values) available for this agentin the given time window. Used by the frontend to populate the checkbox list."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"list_agent_metrics_api_v1_metrics_agent_metrics_get","name":"List Agent Metrics","isWebhook":false,"pointer":"/paths/~1api~1v1~1metrics~1agent_metrics/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Agent Metrics","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return the list of metric names (Influx 'field' values) available for this agent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in the given time window. Used by the frontend to populate the checkbox list."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"agent_id\": \"<ap_id>\","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"window_minutes\": "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"int","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"\"metrics\": ["},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{ \"name\": \"aa\", \"label\": \"aa\" },"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"{ \"name\": \"bb\", \"label\": \"bb\" },"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"..."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"]"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"}"},"children":[]},{"$$mdtype":"Node","type":"error","inline":true,"errors":[{"id":"parse-error","level":"critical","message":"HTML tag <int> is not closed, opened at"}],"attributes":{},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"OAuth2PasswordBearer","scopes":[]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"agent","in":"query","schemaId":"schema_44","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent ap_id (same value used in Influx measurement 'agent/<ap_id>/data')"},"children":[]}]}]}],"required":true},{"name":"window","in":"query","schemaId":"schema_46","description":"Window size for discovering metrics, e.g. 1, 5, 10 (minutes) or '1h'"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_metrics/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/metrics/agent_metrics","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"agent","in":"query","required":true,"schemaId":"schema_44"},{"name":"window","in":"query","required":false,"schemaId":"schema_46"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","422"],"pointer":"/api/v1/metrics/agent_metrics","href":"metrics/list_agent_metrics_api_v1_metrics_agent_metrics_get","openApiOperationId":"list_agent_metrics_api_v1_metrics_agent_metrics_get","summary":"List Agent Metrics"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1metrics~1agent_metrics/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/metrics/list_agent_metrics_api_v1_metrics_agent_metrics_get"}],"panels":[]}]},"httpPath":"/api/v1/metrics/agent_metrics"}],"content":{"contentType":"group","meta":{"name":"metrics"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"metrics","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/metrics/agent_details","summary":"Agent Details","prefix":{"name":"get","color":"get"},"badges":[],"link":"/metrics/agent_details_api_v1_metrics_agent_details_get","deprecated":false},{"title":"/api/v1/metrics/agent_data","summary":"Get Agent Data","prefix":{"name":"get","color":"get"},"badges":[],"link":"/metrics/get_agent_data_api_v1_metrics_agent_data_get","deprecated":false},{"title":"/api/v1/metrics/agent_multi_metric_data","summary":"Get Agent Multi Metric Data","prefix":{"name":"get","color":"get"},"badges":[],"link":"/metrics/get_agent_multi_metric_data_api_v1_metrics_agent_multi_metric_data_get","deprecated":false},{"title":"/api/v1/metrics/agent_metrics","summary":"List Agent Metrics","prefix":{"name":"get","color":"get"},"badges":[],"link":"/metrics/list_agent_metrics_api_v1_metrics_agent_metrics_get","deprecated":false}]}]}]}]}},{"type":"group","label":"agent_data_callback","link":"/openapi/agent_data_callback","routeSlug":"/openapi/agent_data_callback","items":[{"label":"Agent Data Callback","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agent_data_callback/agent_data_callback_api_v1_callback_agent_data_post","routeSlug":"/openapi/agent_data_callback/agent_data_callback_api_v1_callback_agent_data_post","metadata":{"seo":{"title":"Agent Data Callback","description":"Callback endpoint to receive agent data from the subscriber.The data will be sent to the WebSocket client identified by the job_number."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"agent_data_callback_api_v1_callback_agent_data_post","name":"Agent Data Callback","isWebhook":false,"pointer":"/paths/~1api~1v1~1callback~1agent_data/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Agent Data Callback","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Callback endpoint to receive agent data from the subscriber."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The data will be sent to the WebSocket client identified by the job_number."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"job_number","in":"query","schemaId":"schema_47","required":true}],"pointer":"/paths/~1api~1v1~1callback~1agent_data/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_48"}},"schemaId":"schema_48","pointer":"/paths/~1api~1v1~1callback~1agent_data/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/callback/agent_data","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"job_number","in":"query","required":true,"schemaId":"schema_47"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_48"}},"responseCodes":["200","422"],"pointer":"/api/v1/callback/agent_data","href":"agent_data_callback/agent_data_callback_api_v1_callback_agent_data_post","openApiOperationId":"agent_data_callback_api_v1_callback_agent_data_post","summary":"Agent Data Callback"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"schema_48","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_48"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1callback~1agent_data/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agent_data_callback/agent_data_callback_api_v1_callback_agent_data_post"}],"panels":[]}]},"httpPath":"/api/v1/callback/agent_data"}],"content":{"contentType":"group","meta":{"name":"agent_data_callback"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"agent_data_callback","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/callback/agent_data","summary":"Agent Data Callback","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agent_data_callback/agent_data_callback_api_v1_callback_agent_data_post","deprecated":false}]}]}]}]}},{"type":"group","label":"agent_details_callback","link":"/openapi/agent_details_callback","routeSlug":"/openapi/agent_details_callback","items":[{"label":"Agent Details Callback","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/agent_details_callback/agent_details_callback_api_v1_callback_agent_details_post","routeSlug":"/openapi/agent_details_callback/agent_details_callback_api_v1_callback_agent_details_post","metadata":{"seo":{"title":"Agent Details Callback","description":"HTTP callback endpoint to receive agent details from the subscriber."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"agent_details_callback_api_v1_callback_agent_details_post","name":"Agent Details Callback","isWebhook":false,"pointer":"/paths/~1api~1v1~1callback~1agent_details/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Agent Details Callback","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"HTTP callback endpoint to receive agent details from the subscriber."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a WebSocket is already connected for this job_number, the data is sent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immediately."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If NOT, we queue the data in pending_messages so it can be sent as soon"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"as the WebSocket connects (avoids race conditions)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"job_number","in":"query","schemaId":"schema_47","required":true}],"pointer":"/paths/~1api~1v1~1callback~1agent_details/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_49"}},"schemaId":"schema_49","pointer":"/paths/~1api~1v1~1callback~1agent_details/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/callback/agent_details","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"job_number","in":"query","required":true,"schemaId":"schema_47"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_49"}},"responseCodes":["200","422"],"pointer":"/api/v1/callback/agent_details","href":"agent_details_callback/agent_details_callback_api_v1_callback_agent_details_post","openApiOperationId":"agent_details_callback_api_v1_callback_agent_details_post","summary":"Agent Details Callback"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"schema_49","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_49"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1callback~1agent_details/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/agent_details_callback/agent_details_callback_api_v1_callback_agent_details_post"}],"panels":[]}]},"httpPath":"/api/v1/callback/agent_details"}],"content":{"contentType":"group","meta":{"name":"agent_details_callback"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"agent_details_callback","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/callback/agent_details","summary":"Agent Details Callback","prefix":{"name":"post","color":"post"},"badges":[],"link":"/agent_details_callback/agent_details_callback_api_v1_callback_agent_details_post","deprecated":false}]}]}]}]}},{"type":"group","label":"emulator_callback","link":"/openapi/emulator_callback","routeSlug":"/openapi/emulator_callback","items":[{"label":"Agent Details Callback","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/emulator_callback/agent_details_callback_api_v1_callback_emulator_post","routeSlug":"/openapi/emulator_callback/agent_details_callback_api_v1_callback_emulator_post","metadata":{"seo":{"title":"Agent Details Callback","description":"HTTP callback endpoint to receive agent details from the subscriber."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"agent_details_callback_api_v1_callback_emulator_post","name":"Agent Details Callback","isWebhook":false,"pointer":"/paths/~1api~1v1~1callback~1emulator/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Agent Details Callback","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"HTTP callback endpoint to receive agent details from the subscriber."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a WebSocket is already connected for this job_number, the data is sent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immediately."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If NOT, we queue the data in pending_messages so it can be sent as soon"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"as the WebSocket connects (avoids race conditions)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"job_number","in":"query","schemaId":"schema_47","required":true}],"pointer":"/paths/~1api~1v1~1callback~1emulator/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_49"}},"schemaId":"schema_49","pointer":"/paths/~1api~1v1~1callback~1emulator/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/callback/emulator","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"job_number","in":"query","required":true,"schemaId":"schema_47"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_49"}},"responseCodes":["200","422"],"pointer":"/api/v1/callback/emulator","href":"emulator_callback/agent_details_callback_api_v1_callback_emulator_post","openApiOperationId":"agent_details_callback_api_v1_callback_emulator_post","summary":"Agent Details Callback"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"schema_49","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_49"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}},"schemaId":"schema_37"},{"code":"422","description":"Validation Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}},"schemaId":"components/schemas/HTTPValidationError"}],"pointer":"/paths/~1api~1v1~1callback~1emulator/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_37","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_37"}}},{"code":"422","schemaId":"components/schemas/HTTPValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/HTTPValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/emulator_callback/agent_details_callback_api_v1_callback_emulator_post"}],"panels":[]}]},"httpPath":"/api/v1/callback/emulator"}],"content":{"contentType":"group","meta":{"name":"emulator_callback"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"emulator_callback","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/callback/emulator","summary":"Agent Details Callback","prefix":{"name":"post","color":"post"},"badges":[],"link":"/emulator_callback/agent_details_callback_api_v1_callback_emulator_post","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/Agent":{"id":"components/schemas/Agent","kind":"json-schema","title":"Agent","data":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"ap_id":{"type":"string","title":"Ap Id"},"configuration":{"type":"object","title":"Configuration"}},"type":"object","required":["id","ap_id","configuration"],"title":"Agent"}},"components/schemas/AgentCreate":{"id":"components/schemas/AgentCreate","kind":"json-schema","title":"AgentCreate","data":{"properties":{"ap_id":{"type":"string","title":"Ap Id"},"password":{"type":"string","title":"Password"},"configuration":{"type":"object","title":"Configuration"}},"type":"object","required":["ap_id","password","configuration"],"title":"AgentCreate"}},"components/schemas/AgentUpdate":{"id":"components/schemas/AgentUpdate","kind":"json-schema","title":"AgentUpdate","data":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"configuration":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Configuration"}},"type":"object","title":"AgentUpdate"}},"components/schemas/Body_login_api_v1_token__post":{"id":"components/schemas/Body_login_api_v1_token__post","kind":"json-schema","title":"Body_login_api_v1_token__post","data":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"password"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_api_v1_token__post"}},"components/schemas/EmulatorSpec":{"id":"components/schemas/EmulatorSpec","kind":"json-schema","title":"EmulatorSpec","data":{"properties":{"access_point_type":{"type":"string","pattern":"^(5G|WiFi|LiFi)$","title":"Access Point Type"},"num_access_points":{"type":"integer","maximum":1000,"exclusiveMinimum":0,"title":"Num Access Points"},"locations":{"items":{"type":"string"},"type":"array","title":"Locations"},"num_devices":{"type":"integer","exclusiveMinimum":0,"title":"Num Devices"},"duration":{"type":"integer","exclusiveMinimum":0,"title":"Duration"}},"type":"object","required":["access_point_type","num_access_points","locations","num_devices","duration"],"title":"EmulatorSpec"}},"components/schemas/EmulatorSpinupRequest":{"id":"components/schemas/EmulatorSpinupRequest","kind":"json-schema","title":"EmulatorSpinupRequest","data":{"properties":{"emulators":{"items":{"$ref":"#/components/schemas/EmulatorSpec"},"type":"array","title":"Emulators"}},"type":"object","required":["emulators"],"title":"EmulatorSpinupRequest"}},"components/schemas/HTTPValidationError":{"id":"components/schemas/HTTPValidationError","kind":"json-schema","title":"HTTPValidationError","data":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"}},"components/schemas/PasswordRecoveryRequest":{"id":"components/schemas/PasswordRecoveryRequest","kind":"json-schema","title":"PasswordRecoveryRequest","data":{"properties":{"username":{"type":"string","format":"email","title":"Username"}},"type":"object","required":["username"],"title":"PasswordRecoveryRequest"}},"components/schemas/PasswordReset":{"id":"components/schemas/PasswordReset","kind":"json-schema","title":"PasswordReset","data":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["token","new_password"],"title":"PasswordReset"}},"components/schemas/ThirdPartyApp":{"id":"components/schemas/ThirdPartyApp","kind":"json-schema","title":"ThirdPartyApp","data":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"app_name":{"type":"string","title":"App Name"},"api_key":{"type":"string","title":"Api Key"},"permissions":{"type":"object","title":"Permissions"}},"type":"object","required":["id","app_name","api_key","permissions"],"title":"ThirdPartyApp"}},"components/schemas/ThirdPartyAppCreate":{"id":"components/schemas/ThirdPartyAppCreate","kind":"json-schema","title":"ThirdPartyAppCreate","data":{"properties":{"app_name":{"type":"string","title":"App Name"},"api_key":{"type":"string","title":"Api Key"},"permissions":{"type":"object","title":"Permissions"}},"type":"object","required":["app_name","api_key","permissions"],"title":"ThirdPartyAppCreate"}},"components/schemas/ThirdPartyAppUpdate":{"id":"components/schemas/ThirdPartyAppUpdate","kind":"json-schema","title":"ThirdPartyAppUpdate","data":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"permissions":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Permissions"}},"type":"object","title":"ThirdPartyAppUpdate"}},"components/schemas/Token":{"id":"components/schemas/Token","kind":"json-schema","title":"Token","data":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","token_type","expires_in"],"title":"Token"}},"components/schemas/TokenData":{"id":"components/schemas/TokenData","kind":"json-schema","title":"TokenData","data":{"properties":{"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"roles":{"type":"string","title":"Roles"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","default":[]}},"type":"object","required":["roles"],"title":"TokenData"}},"components/schemas/UserCreate":{"id":"components/schemas/UserCreate","kind":"json-schema","title":"UserCreate","data":{"properties":{"username":{"type":"string","format":"email","title":"Username"},"password":{"type":"string","title":"Password"},"roles":{"items":{"type":"string"},"type":"array","title":"Roles"}},"type":"object","required":["username","password","roles"],"title":"UserCreate"}},"components/schemas/UserRegister":{"id":"components/schemas/UserRegister","kind":"json-schema","title":"UserRegister","data":{"properties":{"username":{"type":"string","format":"email","title":"Username"},"password":{"type":"string","title":"Password"}},"type":"object","required":["username","password"],"title":"UserRegister"}},"components/schemas/UserUpdate":{"id":"components/schemas/UserUpdate","kind":"json-schema","title":"UserUpdate","data":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Roles"}},"type":"object","title":"UserUpdate"}},"components/schemas/ValidationError":{"id":"components/schemas/ValidationError","kind":"json-schema","title":"ValidationError","data":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"schema_25":{"kind":"json-schema","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Login type: user, agent or third_party_app"},"children":[]}]}]}],"title":"Login Type"},"id":"schema_25"},"schema_26":{"kind":"json-schema","data":{"type":"object","title":"Response Recover Password Api V1 Users Password Recovery Post"},"id":"schema_26"},"schema_27":{"kind":"json-schema","data":{"type":"object","title":"Response Reset Password Api V1 Users Reset Password Post"},"id":"schema_27"},"schema_28":{"kind":"json-schema","data":{"items":{"$ref":"#/components/schemas/TokenData"},"type":"array","title":"Response List Users Api V1 Users  Get"},"id":"schema_28"},"schema_29":{"kind":"json-schema","data":{"type":"string","title":"Username"},"id":"schema_29"},"schema_30":{"kind":"json-schema","data":{"type":"object","title":"Response Delete User Api V1 Users  Username  Delete"},"id":"schema_30"},"schema_31":{"kind":"json-schema","data":{"type":"string","title":"Ap Id"},"id":"schema_31"},"schema_32":{"kind":"json-schema","data":{"type":"object","title":"Response Delete Agent Api V1 Agents  Ap Id  Delete"},"id":"schema_32"},"schema_33":{"kind":"json-schema","data":{"type":"string","title":"App Name"},"id":"schema_33"},"schema_34":{"kind":"json-schema","data":{"type":"object","title":"Response Delete Third Party App Api V1 Third Party Apps  App Name  Delete"},"id":"schema_34"},"schema_35":{"kind":"json-schema","data":{"type":"object","title":"Data"},"id":"schema_35"},"schema_36":{"kind":"json-schema","data":{"type":"object","title":"Response Update Agent Api V1 Agent Update Update Post"},"id":"schema_36"},"schema_37":{"kind":"json-schema","data":{},"id":"schema_37"},"schema_38":{"kind":"json-schema","data":{"type":"string","title":"Agent Id"},"id":"schema_38"},"schema_39":{"kind":"json-schema","data":{"type":"string","format":"date-time","title":"Start Time"},"id":"schema_39"},"schema_40":{"kind":"json-schema","data":{"type":"string","format":"date-time","title":"End Time"},"id":"schema_40"},"schema_41":{"kind":"json-schema","data":{"type":"string","title":"Command"},"id":"schema_41"},"schema_42":{"kind":"json-schema","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent ap_id (exact value used in Influx measurement 'agent/<ap_id>/data')"},"children":[]}]}]}],"title":"Agent"},"id":"schema_42"},"schema_43":{"kind":"json-schema","data":{"anyOf":[{"type":"string"},{"type":"integer"}],"description":"Window size, for example 1, 5, 10 (minutes) or '1h'","default":5,"title":"Window"},"id":"schema_43"},"schema_44":{"kind":"json-schema","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agent ap_id (same value used in Influx measurement 'agent/<ap_id>/data')"},"children":[]}]}]}],"title":"Agent"},"id":"schema_44"},"schema_45":{"kind":"json-schema","data":{"type":"array","items":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Metric names (Influx 'field' values). Can be repeated, e.g. metrics=throughput&metrics=latency, or a single comma separated string."},"children":[]}]}]}],"title":"Metrics"},"id":"schema_45"},"schema_46":{"kind":"json-schema","data":{"anyOf":[{"type":"string"},{"type":"integer"}],"description":"Window size for discovering metrics, e.g. 1, 5, 10 (minutes) or '1h'","default":5,"title":"Window"},"id":"schema_46"},"schema_47":{"kind":"json-schema","data":{"type":"string","title":"Job Number"},"id":"schema_47"},"schema_48":{"kind":"json-schema","data":{"type":"array","items":{},"title":"Data"},"id":"schema_48"},"schema_49":{"kind":"json-schema","data":{"type":"array","items":{"type":"object"},"title":"Agent Details"},"id":"schema_49"}},"exampleStore":{},"securitySchemeStore":{"BearerAuth":{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"servers":[{"url":"/_mock/openapi","isMockServer":true,"description":"Mock server"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/openapi","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi.json?download"},{"url":"/_bundle/openapi.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"mATRIC API","description":"\nmATRIC unifies 5G, WiFi and LiFi under a single management framework. This API is\nthe interface to the platform for three kinds of caller, each authenticating\nthrough the same token endpoint with its own login type.\n\n**Users** manage the platform. Administrators register agents and third party\napplications, and manage user accounts. Anyone may register through the public\nsignup endpoint and receives a standard user role.\n\n**Agents** run on access points. Each agent authenticates, onboards itself with\nits configuration and geolocation, and then posts telemetry on a regular\nschedule.\n\n**Third party applications** consume the platform. They request the details of\nactive agents, retrieve historical data for a chosen agent and time range, and\nsend commands back to the network. Results and subscribed data streams return\nthrough callback endpoints identified by a job number.\n\nEvery call except authentication and public registration requires a bearer\ntoken in the Authorization header.\n","summary":"REST API for the Multi Access Technology Intelligent Controller"}},"baseSlug":"/openapi","routesMapping":{}}