{"items":[{"type":"link","label":"WebPros Public API","link":"/apis/webpros-public-api","routeSlug":"/apis/webpros-public-api","content":{"contentType":"overview","meta":{"name":"WebPros Public API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"webpros-public-api.json","url":"/_bundle/apis/webpros-public-api.json?download"},{"kind":"download","label":"webpros-public-api.yaml","url":"/_bundle/apis/webpros-public-api.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"python","title":"Python","lang":"Python"},{"key":"php","title":"PHP","lang":"PHP"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"WebPros Public API (1)","showPageActions":true}],"sectionId":"/"}]}]}},{"type":"group","label":"Accounts","link":"/apis/webpros-public-api/accounts","routeSlug":"/apis/webpros-public-api/accounts","items":[{"label":"Sends an invitation email and returns a team GUID for the given email address","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/accounts/emailinvite","routeSlug":"/apis/webpros-public-api/accounts/emailinvite","metadata":{"seo":{"title":"Sends an invitation email and returns a team GUID for the given email address","description":"Supported type values:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"emailInvite","name":"Sends an invitation email and returns a team GUID for the given email address","isWebhook":false,"pointer":"/paths/~1accounts~1email~1invite/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Sends an invitation email and returns a team GUID for the given email address","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Supported "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"type"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" values:"},"children":[],"type":"text"}],"type":"paragraph"},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"premium-email:partner"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" — meta is optional and ignored if provided."},"children":[],"type":"text"}],"type":"paragraph"},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"premium-email:smb"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" — meta is required and must include "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"entitlementId"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":", "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"planName"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" and "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"domain"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text"}],"type":"paragraph"},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Note: An invitation email is sent on every valid call to this endpoint."},"children":[],"type":"text"}],"type":"paragraph"}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PremiumEmailInviteRequest"}},"schemaId":"components/schemas/PremiumEmailInviteRequest","pointer":"/paths/~1accounts~1email~1invite/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/accounts/email/invite","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PremiumEmailInviteRequest"}},"responseCodes":["200","400","401"],"pointer":"/accounts/email/invite","href":"accounts/emailinvite","openApiOperationId":"emailInvite","summary":"Sends an invitation email and returns a team GUID for the given email address"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"schemaId":"components/schemas/PremiumEmailInviteRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PremiumEmailInviteRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PremiumEmailInviteResponse"}},"schemaId":"components/schemas/PremiumEmailInviteResponse"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}},"schemaId":"components/schemas/ValidationError"},{"code":"401","description":"Unauthorized"}],"pointer":"/paths/~1accounts~1email~1invite/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/PremiumEmailInviteResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PremiumEmailInviteResponse"}}},{"code":"400","schemaId":"components/schemas/ValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}}},{"code":"401"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/accounts/emailinvite"}],"panels":[]}]},"httpPath":"/accounts/email/invite"}],"content":{"contentType":"group","meta":{"name":"Accounts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Accounts","showPageActions":true},{"nodeType":"markdoc","content":"Team and invitation management."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/accounts/email/invite","summary":"Sends an invitation email and returns a team GUID for the given email address","prefix":{"name":"post","color":"post"},"badges":[],"link":"/accounts/emailinvite","deprecated":false}]}]}]}]}},{"type":"group","label":"API tokens","link":"/apis/webpros-public-api/api-tokens","routeSlug":"/apis/webpros-public-api/api-tokens","items":[{"label":"Get the list of the API tokens of the calling user","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/api-tokens/listapitokens","routeSlug":"/apis/webpros-public-api/api-tokens/listapitokens","metadata":{"seo":{"title":"Get the list of the API tokens of the calling user","description":"Get the list of the API tokens of the calling user"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listApiTokens","name":"Get the list of the API tokens of the calling user","isWebhook":false,"pointer":"/paths/~1dashboard~1api-tokens/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the list of the API tokens of the calling 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","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_0","description":"Pagination page number."},{"name":"pageSize","in":"query","schemaId":"schema_1","description":"Pagination page size."},{"name":"filter","in":"query","schemaId":"schema_2","description":"Case-insensitive substring matched against the token name."}],"pointer":"/paths/~1dashboard~1api-tokens/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/dashboard/api-tokens","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[{"name":"page","in":"query","required":false,"schemaId":"schema_0"},{"name":"pageSize","in":"query","required":false,"schemaId":"schema_1"},{"name":"filter","in":"query","required":false,"schemaId":"schema_2"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/dashboard/api-tokens","href":"api-tokens/listapitokens","openApiOperationId":"listApiTokens","summary":"Get the list of the API tokens of the calling user"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenListResponse"}},"schemaId":"components/schemas/ApiTokenListResponse"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}},"schemaId":"components/schemas/ValidationError"},{"code":"401","description":"Unauthorized"},{"code":"403","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The token does not carry the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"manage-api-tokens"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim"},"children":[],"type":"text"}],"type":"paragraph"}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}},"schemaId":"components/schemas/ForbiddenError"}],"pointer":"/paths/~1dashboard~1api-tokens/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ApiTokenListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenListResponse"}}},{"code":"400","schemaId":"components/schemas/ValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}}},{"code":"401"},{"code":"403","schemaId":"components/schemas/ForbiddenError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api-tokens/listapitokens"}],"panels":[]}]},"httpPath":"/dashboard/api-tokens"},{"label":"Create a new API token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/api-tokens/createapitoken","routeSlug":"/apis/webpros-public-api/api-tokens/createapitoken","metadata":{"seo":{"title":"Create a new API token","description":"Creates an API token for the calling user and returns it together with itssecret. The secret is returned only by this call and cannot be readagain afterwards."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createApiToken","name":"Create a new API token","isWebhook":false,"pointer":"/paths/~1dashboard~1api-tokens/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new API token","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Creates an API token for the calling user and returns it together with its"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"secret. The secret is returned "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"only"},"children":[],"type":"text"}],"type":"strong"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" by this call and cannot be read"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"again afterwards."},"children":[],"type":"text"}],"type":"paragraph"},{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"A token may carry zero, one, or several claims. An empty "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"claims"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" array"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"creates an unrestricted token; every other value scopes the new token. A"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"restricted caller cannot create a token broader than itself — attempting"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"it fails with "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"403"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":". Read-only tokens (an "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim with"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"readonly: true"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":") cannot create tokens at all."},"children":[],"type":"text"}],"type":"paragraph"}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateApiTokenRequest"}},"schemaId":"components/schemas/CreateApiTokenRequest","pointer":"/paths/~1dashboard~1api-tokens/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/dashboard/api-tokens","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/CreateApiTokenRequest"}},"responseCodes":["201","400","401","403"],"pointer":"/dashboard/api-tokens","href":"api-tokens/createapitoken","openApiOperationId":"createApiToken","summary":"Create a new API token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"schemaId":"components/schemas/CreateApiTokenRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/CreateApiTokenRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenWithSecretResponse"}},"schemaId":"components/schemas/ApiTokenWithSecretResponse"},{"code":"400","description":"Invalid input, or a claim references an unknown server","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}},"schemaId":"components/schemas/ValidationError"},{"code":"401","description":"Unauthorized"},{"code":"403","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The token does not carry the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"manage-api-tokens"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim, is read-only,"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"or the requested claims are broader than the caller's own."},"children":[],"type":"text"}],"type":"paragraph"}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}},"schemaId":"components/schemas/ForbiddenError"}],"pointer":"/paths/~1dashboard~1api-tokens/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/ApiTokenWithSecretResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenWithSecretResponse"}}},{"code":"400","schemaId":"components/schemas/ValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}}},{"code":"401"},{"code":"403","schemaId":"components/schemas/ForbiddenError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api-tokens/createapitoken"}],"panels":[]}]},"httpPath":"/dashboard/api-tokens"},{"label":"Get a single API token of the calling user by its identifier","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/api-tokens/getapitoken","routeSlug":"/apis/webpros-public-api/api-tokens/getapitoken","metadata":{"seo":{"title":"Get a single API token of the calling user by its identifier","description":"Get a single API token of the calling user by its identifier"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getApiToken","name":"Get a single API token of the calling user by its identifier","isWebhook":false,"pointer":"/paths/~1dashboard~1api-tokens~1{tokenId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a single API token of the calling user by its identifier","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","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"tokenId","in":"path","schemaId":"schema_3","description":"API token identifier.","required":true,"example":42}],"pointer":"/paths/~1dashboard~1api-tokens~1{tokenId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/dashboard/api-tokens/{tokenId}","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[{"name":"tokenId","in":"path","required":true,"example":42,"schemaId":"schema_3"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","403","404"],"pointer":"/dashboard/api-tokens/{tokenId}","href":"api-tokens/getapitoken","openApiOperationId":"getApiToken","summary":"Get a single API token of the calling user by its identifier"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenResponse"}},"schemaId":"components/schemas/ApiTokenResponse"},{"code":"401","description":"Unauthorized"},{"code":"403","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The token does not carry the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"manage-api-tokens"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim"},"children":[],"type":"text"}],"type":"paragraph"}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}},"schemaId":"components/schemas/ForbiddenError"},{"code":"404","description":"API token not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotFoundError"}},"schemaId":"components/schemas/NotFoundError"}],"pointer":"/paths/~1dashboard~1api-tokens~1{tokenId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/ApiTokenResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ApiTokenResponse"}}},{"code":"401"},{"code":"403","schemaId":"components/schemas/ForbiddenError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}}},{"code":"404","schemaId":"components/schemas/NotFoundError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotFoundError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api-tokens/getapitoken"}],"panels":[]}]},"httpPath":"/dashboard/api-tokens/{tokenId}"},{"label":"Delete an API token of the calling user by its identifier","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/api-tokens/deleteapitoken","routeSlug":"/apis/webpros-public-api/api-tokens/deleteapitoken","metadata":{"seo":{"title":"Delete an API token of the calling user by its identifier","description":"A token cannot delete itself, and a read-only token (an mcp claim withreadonly: true) cannot delete tokens at all."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteApiToken","name":"Delete an API token of the calling user by its identifier","isWebhook":false,"pointer":"/paths/~1dashboard~1api-tokens~1{tokenId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an API token of the calling user by its identifier","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"A token cannot delete itself, and a read-only token (an "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim with"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"readonly: true"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":") cannot delete tokens at all."},"children":[],"type":"text"}],"type":"paragraph"}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"tokenId","in":"path","schemaId":"schema_3","description":"API token identifier.","required":true,"example":42}],"pointer":"/paths/~1dashboard~1api-tokens~1{tokenId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/dashboard/api-tokens/{tokenId}","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[{"name":"tokenId","in":"path","required":true,"example":42,"schemaId":"schema_3"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","403","404"],"pointer":"/dashboard/api-tokens/{tokenId}","href":"api-tokens/deleteapitoken","openApiOperationId":"deleteApiToken","summary":"Delete an API token of the calling user by its identifier"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"OK"},{"code":"401","description":"Unauthorized"},{"code":"403","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The token does not carry the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"manage-api-tokens"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim, is read-only,"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"or the removal is not allowed."},"children":[],"type":"text"}],"type":"paragraph"}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}},"schemaId":"components/schemas/ForbiddenError"},{"code":"404","description":"API token not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotFoundError"}},"schemaId":"components/schemas/NotFoundError"}],"pointer":"/paths/~1dashboard~1api-tokens~1{tokenId}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"204"},{"code":"401"},{"code":"403","schemaId":"components/schemas/ForbiddenError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}}},{"code":"404","schemaId":"components/schemas/NotFoundError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotFoundError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/api-tokens/deleteapitoken"}],"panels":[]}]},"httpPath":"/dashboard/api-tokens/{tokenId}"}],"content":{"contentType":"group","meta":{"name":"API tokens"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"API tokens","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Managing the API tokens of the calling user. Requires a token carrying the"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"manage-api-tokens"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim."},"children":[],"type":"text"}],"type":"paragraph"}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/dashboard/api-tokens","summary":"Get the list of the API tokens of the calling user","prefix":{"name":"get","color":"get"},"badges":[],"link":"/api-tokens/listapitokens","deprecated":false},{"title":"/dashboard/api-tokens","summary":"Create a new API token","prefix":{"name":"post","color":"post"},"badges":[],"link":"/api-tokens/createapitoken","deprecated":false},{"title":"/dashboard/api-tokens/{tokenId}","summary":"Get a single API token of the calling user by its identifier","prefix":{"name":"get","color":"get"},"badges":[],"link":"/api-tokens/getapitoken","deprecated":false},{"title":"/dashboard/api-tokens/{tokenId}","summary":"Delete an API token of the calling user by its identifier","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/api-tokens/deleteapitoken","deprecated":false}]}]}]}]}},{"type":"group","label":"MCP keys","link":"/apis/webpros-public-api/mcp-keys","routeSlug":"/apis/webpros-public-api/mcp-keys","items":[{"label":"Revoke the MCP key the request is authenticated with","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/mcp-keys/revokecurrentmcpkey","routeSlug":"/apis/webpros-public-api/mcp-keys/revokecurrentmcpkey","metadata":{"seo":{"title":"Revoke the MCP key the request is authenticated with","description":"Deletes the calling MCP key, so it stops working right away. Read-only keys(an mcp claim with readonly: true) can revoke themselves too."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"revokeCurrentMcpKey","name":"Revoke the MCP key the request is authenticated with","isWebhook":false,"pointer":"/paths/~1dashboard~1mcp-keys~1current/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Revoke the MCP key the request is authenticated with","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Deletes the calling MCP key, so it stops working right away. Read-only keys"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"(an "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim with "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"readonly: true"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":") can revoke themselves too."},"children":[],"type":"text"}],"type":"paragraph"}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/dashboard/mcp-keys/current","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","403"],"pointer":"/dashboard/mcp-keys/current","href":"mcp-keys/revokecurrentmcpkey","openApiOperationId":"revokeCurrentMcpKey","summary":"Revoke the MCP key the request is authenticated with"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"OK"},{"code":"401","description":"Unauthorized, or the key is already revoked or expired"},{"code":"403","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The token does not carry the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim, or the removal is not allowed"},"children":[],"type":"text"}],"type":"paragraph"}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}},"schemaId":"components/schemas/ForbiddenError"}],"pointer":"/paths/~1dashboard~1mcp-keys~1current/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"204"},{"code":"401"},{"code":"403","schemaId":"components/schemas/ForbiddenError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ForbiddenError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/mcp-keys/revokecurrentmcpkey"}],"panels":[]}]},"httpPath":"/dashboard/mcp-keys/current"}],"content":{"contentType":"group","meta":{"name":"MCP keys"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MCP keys","showPageActions":true},{"nodeType":"markdoc","content":"Managing the MCP key the request is authenticated with."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/dashboard/mcp-keys/current","summary":"Revoke the MCP key the request is authenticated with","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/mcp-keys/revokecurrentmcpkey","deprecated":false}]}]}]}]}},{"type":"group","label":"Server Inventory","link":"/apis/webpros-public-api/server-inventory","routeSlug":"/apis/webpros-public-api/server-inventory","items":[{"label":"Get the list of supported Plesk versions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/server-inventory/getsupportedpleskversions","routeSlug":"/apis/webpros-public-api/server-inventory/getsupportedpleskversions","metadata":{"seo":{"title":"Get the list of supported Plesk versions","description":"Get the list of supported Plesk versions"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSupportedPleskVersions","name":"Get the list of supported Plesk versions","isWebhook":false,"pointer":"/paths/~1si~1product-info~1plesk~1supported-versions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the list of supported Plesk versions","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","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/si/product-info/plesk/supported-versions","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/si/product-info/plesk/supported-versions","href":"server-inventory/getsupportedpleskversions","openApiOperationId":"getSupportedPleskVersions","summary":"Get the list of supported Plesk versions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_4"}},"schemaId":"schema_4"}],"pointer":"/paths/~1si~1product-info~1plesk~1supported-versions/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_4","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_4"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/server-inventory/getsupportedpleskversions"}],"panels":[]}]},"httpPath":"/si/product-info/plesk/supported-versions"},{"label":"Get list of servers from Server Inventory","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/server-inventory/listservers","routeSlug":"/apis/webpros-public-api/server-inventory/listservers","metadata":{"seo":{"title":"Get list of servers from Server Inventory","description":"Get list of servers from Server Inventory"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listServers","name":"Get list of servers from Server Inventory","isWebhook":false,"pointer":"/paths/~1si~1servers/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of servers from Server Inventory","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","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"page","in":"query","schemaId":"schema_0","description":"Pagination page number."},{"name":"pageSize","in":"query","schemaId":"schema_1","description":"Pagination page size."}],"pointer":"/paths/~1si~1servers/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/si/servers","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[{"name":"page","in":"query","required":false,"schemaId":"schema_0"},{"name":"pageSize","in":"query","required":false,"schemaId":"schema_1"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400"],"pointer":"/si/servers","href":"server-inventory/listservers","openApiOperationId":"listServers","summary":"Get list of servers from Server Inventory"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5"}},"schemaId":"schema_5"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}},"schemaId":"components/schemas/ValidationError"}],"pointer":"/paths/~1si~1servers/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_5","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5"}}},{"code":"400","schemaId":"components/schemas/ValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/server-inventory/listservers"}],"panels":[]}]},"httpPath":"/si/servers"},{"label":"Generate a challenge for adding a server.","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/server-inventory/createaddserverchallenge","routeSlug":"/apis/webpros-public-api/server-inventory/createaddserverchallenge","metadata":{"seo":{"title":"Generate a challenge for adding a server.","description":"Generate a challenge for adding a server."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAddServerChallenge","name":"Generate a challenge for adding a server.","isWebhook":false,"pointer":"/paths/~1si~1servers~1challenge/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate a challenge for adding a server.","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","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_6"}},"schemaId":"schema_6","pointer":"/paths/~1si~1servers~1challenge/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/si/servers/challenge","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_6"}},"responseCodes":["200","400"],"pointer":"/si/servers/challenge","href":"server-inventory/createaddserverchallenge","openApiOperationId":"createAddServerChallenge","summary":"Generate a challenge for adding a server."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"schemaId":"schema_6","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_6"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7"}},"schemaId":"schema_7"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}},"schemaId":"components/schemas/ValidationError"}],"pointer":"/paths/~1si~1servers~1challenge/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_7","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7"}}},{"code":"400","schemaId":"components/schemas/ValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/server-inventory/createaddserverchallenge"}],"panels":[]}]},"httpPath":"/si/servers/challenge"},{"label":"Add a server to Server Inventory.","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/server-inventory/addserverapikey","routeSlug":"/apis/webpros-public-api/server-inventory/addserverapikey","metadata":{"seo":{"title":"Add a server to Server Inventory.","description":"Send this request to the absolute callback_url returned by/si/servers/challenge. The challenge token is passed either as thecode query parameter or as the code property of the request body."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addServerApiKey","name":"Add a server to Server Inventory.","isWebhook":false,"pointer":"/paths/~1si~1api-key/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add a server to Server Inventory.","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Send this request to the absolute "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"callback_url"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" returned by"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"/si/servers/challenge"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":". The challenge token is passed either as the"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"code"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" query parameter or as the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"code"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" property of the request body."},"children":[],"type":"text"}],"type":"paragraph"}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"code","in":"query","schemaId":"schema_8","description":"A challenge value from /si/servers/challenge response."}],"pointer":"/paths/~1si~1api-key/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_9"}},"schemaId":"schema_9","pointer":"/paths/~1si~1api-key/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/si/api-key","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[],"query":[{"name":"code","in":"query","required":false,"schemaId":"schema_8"}],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_9"}},"responseCodes":["200","400","401"],"pointer":"/si/api-key","href":"server-inventory/addserverapikey","openApiOperationId":"addServerApiKey","summary":"Add a server to Server Inventory."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"schemaId":"schema_9","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_9"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}},"schemaId":"components/schemas/ValidationError"},{"code":"401","description":"Invalid challenge token"}],"pointer":"/paths/~1si~1api-key/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200"},{"code":"400","schemaId":"components/schemas/ValidationError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ValidationError"}}},{"code":"401"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/server-inventory/addserverapikey"}],"panels":[]}]},"httpPath":"/si/api-key"},{"label":"Delete a server from Server Inventory by GUID.","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/webpros-public-api/server-inventory/deleteserver","routeSlug":"/apis/webpros-public-api/server-inventory/deleteserver","metadata":{"seo":{"title":"Delete a server from Server Inventory by GUID.","description":"Delete a server from Server Inventory by GUID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteServer","name":"Delete a server from Server Inventory by GUID.","isWebhook":false,"pointer":"/paths/~1si~1servers~1{guid}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a server from Server Inventory by GUID.","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","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"guid","in":"path","schemaId":"schema_8","description":"Server GUID.","required":true}],"pointer":"/paths/~1si~1servers~1{guid}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/si/servers/{guid}","servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"parameters":{"path":[{"name":"guid","in":"path","required":true,"schemaId":"schema_8"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","404"],"pointer":"/si/servers/{guid}","href":"server-inventory/deleteserver","openApiOperationId":"deleteServer","summary":"Delete a server from Server Inventory by GUID."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/apis/webpros-public-api","description":"Mock server","isMockServer":true},{"url":"https://dashboard.webpros.com/api/v1"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"OK"},{"code":"404","description":"Server not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotFoundError"}},"schemaId":"components/schemas/NotFoundError"}],"pointer":"/paths/~1si~1servers~1{guid}/delete/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"204"},{"code":"404","schemaId":"components/schemas/NotFoundError","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/NotFoundError"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/server-inventory/deleteserver"}],"panels":[]}]},"httpPath":"/si/servers/{guid}"}],"content":{"contentType":"group","meta":{"name":"Server Inventory"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Server Inventory","showPageActions":true},{"nodeType":"markdoc","content":"Connecting servers to Server Inventory and reading the connected ones."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/si/product-info/plesk/supported-versions","summary":"Get the list of supported Plesk versions","prefix":{"name":"get","color":"get"},"badges":[],"link":"/server-inventory/getsupportedpleskversions","deprecated":false},{"title":"/si/servers","summary":"Get list of servers from Server Inventory","prefix":{"name":"get","color":"get"},"badges":[],"link":"/server-inventory/listservers","deprecated":false},{"title":"/si/servers/challenge","summary":"Generate a challenge for adding a server.","prefix":{"name":"post","color":"post"},"badges":[],"link":"/server-inventory/createaddserverchallenge","deprecated":false},{"title":"/si/api-key","summary":"Add a server to Server Inventory.","prefix":{"name":"post","color":"post"},"badges":[],"link":"/server-inventory/addserverapikey","deprecated":false},{"title":"/si/servers/{guid}","summary":"Delete a server from Server Inventory by GUID.","prefix":{"name":"delete","color":"delete"},"badges":[],"link":"/server-inventory/deleteserver","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/PremiumEmailInviteType":{"id":"components/schemas/PremiumEmailInviteType","kind":"json-schema","title":"Premium email invitation type","data":{"title":"Premium email invitation type","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Determines which invitation flow is used and whether the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"meta"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" object is required."},"children":[],"type":"text"}],"type":"paragraph"}],"type":"string","enum":["premium-email:partner","premium-email:smb"]}},"components/schemas/PremiumEmailInviteRequest":{"id":"components/schemas/PremiumEmailInviteRequest","kind":"json-schema","title":"Premium email invite request","data":{"title":"Premium email invite request","description":"Request payload for sending a premium email invitation.","oneOf":[{"$ref":"#/components/schemas/PremiumEmailInvitePartnerRequest"},{"$ref":"#/components/schemas/PremiumEmailInviteSmbRequest"}],"discriminator":{"propertyName":"type","mapping":{"premium-email:partner":"#/components/schemas/PremiumEmailInvitePartnerRequest","premium-email:smb":"#/components/schemas/PremiumEmailInviteSmbRequest"}}}},"components/schemas/PremiumEmailInviteBaseRequest":{"id":"components/schemas/PremiumEmailInviteBaseRequest","kind":"json-schema","title":"Premium email invite base request","data":{"title":"Premium email invite base request","description":"Common fields for all premium email invitation requests.","type":"object","required":["email","type"],"properties":{"email":{"description":"Email address that will receive the invitation.","type":"string","format":"email","example":"john@example.com"},"type":{"$ref":"#/components/schemas/PremiumEmailInviteType"}}}},"components/schemas/PremiumEmailInvitePartnerRequest":{"id":"components/schemas/PremiumEmailInvitePartnerRequest","kind":"json-schema","title":"Partner invitation request","data":{"title":"Partner invitation request","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Invitation request for the partner flow. The "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"meta"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" object is ignored."},"children":[],"type":"text"}],"type":"paragraph"}],"example":{"email":"john@example.com","type":"premium-email:partner"},"allOf":[{"$ref":"#/components/schemas/PremiumEmailInviteBaseRequest"},{"type":"object","properties":{"type":{"const":"premium-email:partner"}}}]}},"components/schemas/PremiumEmailInviteSmbRequest":{"id":"components/schemas/PremiumEmailInviteSmbRequest","kind":"json-schema","title":"SMB invitation request","data":{"title":"SMB invitation request","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Invitation request for the SMB flow. The "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"meta"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" object is required."},"children":[],"type":"text"}],"type":"paragraph"}],"example":{"email":"john@example.com","type":"premium-email:smb","meta":{"entitlementId":"d290f1ee-6c54-4b01-90e6-d701748f0851","planName":"Business Email 10","domain":"example.com"}},"allOf":[{"$ref":"#/components/schemas/PremiumEmailInviteBaseRequest"},{"type":"object","required":["meta"],"properties":{"type":{"const":"premium-email:smb"},"meta":{"description":"Additional data required for the SMB invitation flow.","type":"object","required":["entitlementId","planName","domain"],"properties":{"entitlementId":{"description":"Premium Email entitlement id.","type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"planName":{"description":"Premium Email plan name.","type":"string","example":"Business Email 10"},"domain":{"description":"Domain that will be used for the Premium Email subscription.","type":"string","example":"example.com"}}}}}]}},"components/schemas/PremiumEmailInviteResponse":{"id":"components/schemas/PremiumEmailInviteResponse","kind":"json-schema","title":"Premium email invite response","data":{"title":"Premium email invite response","description":"HTTP response wrapper returned after the invitation email is queued successfully.","type":"object","required":["data"],"properties":{"data":{"description":"Payload containing the team GUID associated with the invited email address.","$ref":"#/components/schemas/PremiumEmailInviteResponseData"}},"example":{"data":{"guid":"91dd39cb-69b8-4dfc-aef0-0ba335ba9581"}}}},"components/schemas/PremiumEmailInviteResponseData":{"id":"components/schemas/PremiumEmailInviteResponseData","kind":"json-schema","title":"Premium email invite response data","data":{"title":"Premium email invite response data","description":"Response payload returned after the invitation email is queued successfully.","type":"object","required":["guid"],"properties":{"guid":{"description":"Team GUID associated with the invited email address.","type":"string","format":"uuid","example":"91dd39cb-69b8-4dfc-aef0-0ba335ba9581"}}}},"components/schemas/ApiTokenClaimName":{"id":"components/schemas/ApiTokenClaimName","kind":"json-schema","title":"API token claim name","data":{"title":"API token claim name","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"The permission key of a claim. "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" scopes a token to the MCP surface,"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"optionally to a single server and panel user; "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"manage-api-tokens"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" grants"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"the ability to manage API tokens."},"children":[],"type":"text"}],"type":"paragraph"}],"type":"string","enum":["mcp","manage-api-tokens"]}},"components/schemas/McpClaimAttributes":{"id":"components/schemas/McpClaimAttributes","kind":"json-schema","title":"MCP claim attributes","data":{"title":"MCP claim attributes","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Scopes an "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim to a single server, and optionally to a single panel"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"user on that server. Omitting "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"panelUser"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" scopes the token to the server"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"alone."},"children":[],"type":"text"}],"type":"paragraph"}],"type":"object","required":["serverGuid"],"properties":{"serverGuid":{"description":"GUID of the server the token is scoped to.","type":"string","minLength":1,"example":"91dd39cb-69b8-4dfc-aef0-0ba335ba9581"},"panelUser":{"description":"Login of the panel user the token is scoped to.","type":"string","minLength":1,"example":"john"}}}},"components/schemas/McpClaimRequest":{"id":"components/schemas/McpClaimRequest","kind":"json-schema","title":"MCP claim","data":{"title":"MCP claim","description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Scopes the token to the MCP surface. "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"readonly"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" restricts it to read"},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{},"children":[],"type":"softbreak"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"tools and methods; it is independent of the server scope in "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"attributes"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text"}],"type":"paragraph"}],"type":"object","required":["name"],"properties":{"name":{"const":"mcp"},"readonly":{"type":"boolean"},"attributes":{"$ref":"#/components/schemas/McpClaimAttributes"}}}},"components/schemas/ManageApiTokensClaimRequest":{"id":"components/schemas/ManageApiTokensClaimRequest","kind":"json-schema","title":"Manage API tokens claim","data":{"title":"Manage API tokens claim","description":"Grants the ability to manage API tokens. Carries no attributes.","type":"object","required":["name"],"properties":{"name":{"const":"manage-api-tokens"}}}},"components/schemas/ApiTokenClaimRequest":{"id":"components/schemas/ApiTokenClaimRequest","kind":"json-schema","title":"API token claim request","data":{"title":"API token claim request","description":"A single claim the new token should carry.","oneOf":[{"$ref":"#/components/schemas/McpClaimRequest"},{"$ref":"#/components/schemas/ManageApiTokensClaimRequest"}],"discriminator":{"propertyName":"name","mapping":{"mcp":"#/components/schemas/McpClaimRequest","manage-api-tokens":"#/components/schemas/ManageApiTokensClaimRequest"}}}},"components/schemas/ApiTokenClaim":{"id":"components/schemas/ApiTokenClaim","kind":"json-schema","title":"API token claim","data":{"title":"API token claim","description":"A permission granted to an API token.","type":"object","required":["name"],"properties":{"name":{"$ref":"#/components/schemas/ApiTokenClaimName"},"readonly":{"description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Only meaningful on the "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim — the token may invoke read operations only."},"children":[],"type":"text"}],"type":"paragraph"}],"type":"boolean"},"attributes":{"description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Claim-specific data. The "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"mcp"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" claim carries "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"serverGuid"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" and an optional "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"panelUser"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"."},"children":[],"type":"text"}],"type":"paragraph"}],"type":"object","additionalProperties":true}}}},"components/schemas/CreateApiTokenRequest":{"id":"components/schemas/CreateApiTokenRequest","kind":"json-schema","title":"Create API token request","data":{"title":"Create API token request","type":"object","required":["name","claims"],"properties":{"name":{"description":"Token name.","type":"string","minLength":1,"maxLength":50},"claims":{"description":"Zero, one, or several claims. An empty array creates an unrestricted\ntoken. A claim name may appear at most once.\n","type":"array","maxItems":2,"items":{"$ref":"#/components/schemas/ApiTokenClaimRequest"}}},"example":{"name":"My MCP token","claims":[{"name":"mcp","readonly":true,"attributes":{"serverGuid":"91dd39cb-69b8-4dfc-aef0-0ba335ba9581"}}]}}},"components/schemas/ApiToken":{"id":"components/schemas/ApiToken","kind":"json-schema","title":"API token","data":{"title":"API token","type":"object","required":["id","name","type","claims","createdAt","lastUsedAt","expireAt"],"properties":{"id":{"description":"Autogenerated token identifier.","type":"integer","example":42},"name":{"description":"Token name.","type":"string","example":"My MCP token"},"type":{"description":"Token type.","type":"string","enum":["user","system"]},"claims":{"description":"Claims the token carries. Empty for an unrestricted token.","type":"array","items":{"$ref":"#/components/schemas/ApiTokenClaim"}},"createdAt":{"description":"Token creation timestamp.","type":"string","format":"date-time"},"lastUsedAt":{"description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Token last usage timestamp. "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"null"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" if the token has never been used."},"children":[],"type":"text"}],"type":"paragraph"}],"type":["string","null"],"format":"date-time"},"expireAt":{"description":[{"$$mdtype":"Node","attributes":{},"children":[{"$$mdtype":"Node","inline":true,"attributes":{"content":"Token expiration timestamp. "},"children":[],"type":"text"},{"$$mdtype":"Node","inline":true,"attributes":{"content":"null"},"children":[],"type":"code"},{"$$mdtype":"Node","inline":true,"attributes":{"content":" if the token does not expire."},"children":[],"type":"text"}],"type":"paragraph"}],"type":["string","null"],"format":"date-time"}}}},"components/schemas/ApiTokenWithSecret":{"id":"components/schemas/ApiTokenWithSecret","kind":"json-schema","title":"API token with secret","data":{"title":"API token with secret","description":"An API token together with its secret, returned only when the token is created.","allOf":[{"$ref":"#/components/schemas/ApiToken"},{"type":"object","required":["token"],"properties":{"token":{"description":"The raw token. Returned only once, when the token is created.","type":"string"}}}]}},"components/schemas/ApiTokenResponse":{"id":"components/schemas/ApiTokenResponse","kind":"json-schema","title":"API token response","data":{"title":"API token response","type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ApiToken"}}}},"components/schemas/ApiTokenWithSecretResponse":{"id":"components/schemas/ApiTokenWithSecretResponse","kind":"json-schema","title":"API token with secret response","data":{"title":"API token with secret response","type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ApiTokenWithSecret"}}}},"components/schemas/ApiTokenListResponse":{"id":"components/schemas/ApiTokenListResponse","kind":"json-schema","title":"API token list response","data":{"title":"API token list response","type":"object","required":["data","totalCount"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ApiToken"}},"totalCount":{"description":"Total number of tokens matching the request, ignoring pagination.","type":"integer","example":1}}}},"components/schemas/ValidationError":{"id":"components/schemas/ValidationError","kind":"json-schema","title":"Validation error","data":{"title":"Validation error","type":"object","required":["type","errors"],"properties":{"type":{"type":"string"},"errors":{"type":"array","items":{"type":"object","required":["type","path","message"],"properties":{"type":{"type":"string"},"path":{"type":"string"},"message":{"type":"string"}}}}},"example":{"type":"validation-error","errors":[{"type":"isNotEmpty","path":"someProperty","message":"someProperty should not be empty"}]}}},"components/schemas/ForbiddenError":{"id":"components/schemas/ForbiddenError","kind":"json-schema","title":"Forbidden error","data":{"title":"Forbidden error","type":"object","required":["type"],"properties":{"type":{"type":"string"}},"example":{"type":"forbidden"}}},"components/schemas/NotFoundError":{"id":"components/schemas/NotFoundError","kind":"json-schema","title":"Not found error","data":{"title":"Not found error","type":"object","required":["type"],"properties":{"type":{"type":"string"}},"example":{"type":"not-found"}}},"schema_0":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":1000000,"default":1},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":10},"id":"schema_1"},"schema_2":{"kind":"json-schema","data":{"type":"string","maxLength":1000},"id":"schema_2"},"schema_3":{"kind":"json-schema","data":{"type":"integer"},"id":"schema_3"},"schema_4":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1},"example":["1.2.3","1.2.4"]}}},"id":"schema_4"},"schema_5":{"kind":"json-schema","data":{"type":"object","required":["totalCount","data"],"properties":{"totalCount":{"type":"integer","example":1},"data":{"type":"array","items":{"type":"object","required":["guid","product","address","active"],"properties":{"guid":{"type":"string","format":"uuid"},"product":{"type":"string","enum":["plesk","cpanel"]},"address":{"type":"string","format":"uri","example":"https://example.com"},"active":{"type":"boolean"}}}}}},"id":"schema_5"},"schema_6":{"kind":"json-schema","data":{"type":"object","required":["address","product"],"properties":{"address":{"type":"string"},"product":{"type":"string","enum":["plesk","cpanel"]},"allowUnsecureConnection":{"type":"boolean"}},"example":{"address":"https://server-with-plesk.test:8443","product":"plesk"}},"id":"schema_6"},"schema_7":{"kind":"json-schema","data":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["challenge","scope","callback_url"],"properties":{"challenge":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"callback_url":{"type":"string"}}}}},"id":"schema_7"},"schema_8":{"kind":"json-schema","data":{"type":"string"},"id":"schema_8"},"schema_9":{"kind":"json-schema","data":{"type":"object","required":["api_key","scope"],"properties":{"api_key":{"type":"string"},"code":{"type":"string"},"scope":{"type":"array","description":"A scope value from /si/servers/challenge response.","items":{"type":"string"}}}},"id":"schema_9"}},"exampleStore":{},"securitySchemeStore":{"BearerAuth":{"id":"BearerAuth","type":"http","scheme":"bearer","description":"An API token issued to a user. A token carrying no claims is\nunrestricted and may call any operation; a token carrying claims may only\ncall the operations that require exactly those claims.\n"}},"specVersion":"3.1.0","servers":[{"url":"/_mock/apis/webpros-public-api","isMockServer":true,"description":"Mock server"},{"url":"https://dashboard.webpros.com/api/v1"}],"specType":"openapi"},"options":{"jsonSampleExpandLevel":2,"expandResponses":"200","requiredPropsFirst":true,"codeSamples":{"languages":[{"lang":"curl"},{"lang":"JavaScript"},{"lang":"Python"},{"lang":"PHP"}]},"mockServer":{"url":"/_mock/apis/webpros-public-api","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/apis/webpros-public-api.json?download"},{"url":"/_bundle/apis/webpros-public-api.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false,"asyncapi":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"WebPros Public API"}},"baseSlug":"/apis/webpros-public-api","routesMapping":{}}