Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ on:
push:
branches: [main]
paths:
- 'docs/**'
- 'versioned_docs/**'
- 'src/**'
- 'api-docs/**'
- 'static/**'
- 'blog/**'
workflow_dispatch:

Expand All @@ -21,7 +22,7 @@ jobs:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 21
node-version: 24
cache: yarn
- name: Build website
run: |
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
pull_request:
branches: [main, development]
paths:
- 'docs/**'
- 'versioned_docs/**'
- 'src/**'
- 'api-docs/**'
- 'static/**'
- 'blog/**'
workflow_dispatch:

jobs:
Expand All @@ -17,7 +19,7 @@ jobs:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 21
node-version: 24
cache: yarn
- name: Test build
run: |
Expand Down
File renamed without changes.
1 change: 1 addition & 0 deletions api-docs/clear-all-user-notifications.ParamsDetails.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"parameters":[{"in":"path","name":"user_id","description":"The ID of the user.","example":1,"required":true,"schema":{"type":"integer"}}]}
1 change: 1 addition & 0 deletions api-docs/clear-all-user-notifications.RequestSchema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"title":"Body"}
1 change: 1 addition & 0 deletions api-docs/clear-all-user-notifications.StatusCodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"message":"All notifications deleted successfully","meta":{"deleted_count":10}},"properties":{"message":{"type":"string","example":"All notifications deleted successfully"},"meta":{"type":"object","properties":{"deleted_count":{"type":"integer","example":10}}}}}}}}}}
69 changes: 69 additions & 0 deletions api-docs/clear-all-user-notifications.api.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
id: clear-all-user-notifications
title: "Clear all user notifications"
description: ""
sidebar_label: "Clear all user notifications"
hide_title: true
hide_table_of_contents: true
api: eJyNVMFu2zAM/RWBpw0QknRH34K2hwDDUGztYSiCQpGZWJ0sqRLdNTD07wNlJ3WSolgujkSRfHx8ZA8+YFRkvFvVUIG2qOLS2oeE8YcnszW6GBNIqDHpaAIfoQKQEFRULRLGBNVjD4avg6IGJDjVIlTQJYxPpr5wvm9QrG6E3wpqUPCrGUjAN9UGi1BdSYj40pmINVQUO5SQdIOtgqoH2gcObRzhDiPkvObXKXiXMPGDb4sFfy7gau8IHbFNhWDHyubPiR/0lxn85hk1TXH10GJKasfWpbXCTRkSNVokrEXqtMaUtp21e5DQIqkBTzE/ad8xiKtFzhJCZP7JDMiP0Y8YEkXjdlMM/5s4v2c+r+c06RmuC4KnfVnkw08CqR33HU5lsi5pG89iGiIXoVADFcxVMPMT6PN+VEgGCQnj60FLXbRQQR+iJ6+9zdV83te+VcblCzH99l0Ud8qhFSuXSFlbgoOEVxWN2tihzkOsoeat6ixBBQ1RYHGj61quhs8gx+t1ljBkPXUKnGw20jLTvv1Q4IOn+NtgRLFnkMVPmCTMgBNryEW/CXUXDe1L7cc8j+up7Rfr89Cy8cWxWSPsomE+b1DF0ruzKeDGGbf1xdVQEdQ1RVvom+12Ynm3Ejdedy06OtB4MUncpuFwNVvMFqy14BO1qvA0zv41rxKhrC3zfSrZ86D9+3By/LEowjeaB8v0ZzlIoh+19AgqGN4zZ1Grw8ZZS2h8YhKh7zcq4UO0OfP1S4eRiV6/62Og3ST+X0O1VTbhJwi//ByX01fx8SL7EP94qdy+KNN2OBT7B/eTTZlZcw2qGmNBNViXWmOgid/FAsvTwbu5/X57fws5/wP1bgeO
sidebar_class_name: "delete api-method"
info_path: docs/api//ctrlpanel-gg-api-documentation
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";
import Translate from "@docusaurus/Translate";

<Heading
as={"h1"}
className={"openapi__heading"}
children={"Clear all user notifications"}
>
</Heading>

<MethodEndpoint
method={"delete"}
path={"/api/notifications/{user_id}"}
context={"endpoint"}
>

</MethodEndpoint>





<Heading
id={"request"}
as={"h2"}
className={"openapi-tabs__heading"}
>
<Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
{...require("./clear-all-user-notifications.ParamsDetails.json")}
>

</ParamsDetails>

<RequestSchema
{...require("./clear-all-user-notifications.RequestSchema.json")}
>

</RequestSchema>

<StatusCodes
{...require("./clear-all-user-notifications.StatusCodes.json")}
>

</StatusCodes>



1 change: 1 addition & 0 deletions api-docs/create-product.ParamsDetails.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"parameters":[]}
1 change: 1 addition & 0 deletions api-docs/create-product.RequestSchema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"title":"Body","body":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Max 30 chars.","example":"Medium Minecraft"},"description":{"type":"string","description":"Max 191 chars.","example":"Perfect for your SMP with friends","nullable":true},"price":{"type":"number","description":"Min 0.","example":10},"minimum_credits":{"type":"number","description":"Min 0, must be GTE price.","example":10,"nullable":true},"memory":{"type":"integer","description":"Memory in MB. Use 0 for unlimited.","example":4096},"cpu":{"type":"integer","description":"CPU limit in %. Use 0 for unlimited.","example":200},"swap":{"type":"integer","description":"Swap in MB. Use 0 to disable, -1 for unlimited.","example":0},"disk":{"type":"integer","description":"Disk in MB. Use 0 for unlimited.","example":20480},"io":{"type":"integer","description":"IO limit.","example":500},"serverlimit":{"type":"integer","description":"Max servers. Use 0 for unlimited.","example":1},"databases":{"type":"integer","description":"Max databases.","example":3},"backups":{"type":"integer","description":"Max backups.","example":2},"allocations":{"type":"integer","description":"Max allocations.","example":1},"nodes":{"type":"array","description":"List of node IDs associated with the product.","example":[1,2],"items":{"type":"integer"}},"eggs":{"type":"array","description":"List of egg IDs associated with the product.","example":[1,3],"items":{"type":"integer"}},"disabled":{"type":"boolean","description":"Whether the product is disabled.","example":false},"oom_killer":{"type":"boolean","description":"Whether the OOM killer is enabled.","example":true},"default_billing_priority":{"type":"integer","description":"The default billing priority.","example":0},"billing_period":{"type":"string","description":"hourly, daily, weekly, monthly, quarterly, half-annually, annually.","example":"monthly"}},"required":["name","description","price","memory","cpu","swap","disk","io","serverlimit","databases","backups","allocations","billing_period"]}}}}}
1 change: 1 addition & 0 deletions api-docs/create-product.StatusCodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"vY8xK9pZ","name":"Medium Minecraft","description":"Perfect for your SMP with friends","price":"10.00","memory":4096,"cpu":200,"swap":0,"disk":20480,"io":500,"databases":3,"backups":2,"serverlimit":1,"allocations":1,"oom_killer":true,"default_billing_priority":0,"disabled":false,"minimum_credits":"10.00","billing_period":"monthly","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"vY8xK9pZ"},"name":{"type":"string","example":"Medium Minecraft"},"description":{"type":"string","example":"Perfect for your SMP with friends"},"price":{"type":"string","example":"10.00"},"memory":{"type":"integer","example":4096},"cpu":{"type":"integer","example":200},"swap":{"type":"integer","example":0},"disk":{"type":"integer","example":20480},"io":{"type":"integer","example":500},"databases":{"type":"integer","example":3},"backups":{"type":"integer","example":2},"serverlimit":{"type":"integer","example":1},"allocations":{"type":"integer","example":1},"oom_killer":{"type":"boolean","example":true},"default_billing_priority":{"type":"integer","example":0},"disabled":{"type":"boolean","example":false},"minimum_credits":{"type":"string","example":"10.00"},"billing_period":{"type":"string","example":"monthly"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}}}}}}}}
69 changes: 69 additions & 0 deletions api-docs/create-product.api.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
id: create-product
title: "Create product"
description: ""
sidebar_label: "Create product"
hide_title: true
hide_table_of_contents: true
api: eJy1WNtu2zgQ/RVigH1THNlJi1ZvvWER7BoxNikWXcMIaGlssaFIlaSaGIb+fTGU5OjiyEkX6wfLkuZCDs+cmfEedI6GO6HVVQIRxAa5w4XRSRE7CCBBGxuR03uIAALIueEZOjQWouUqAIM218qihWgPszCky0Ap1sqhcvSO57kUsXd4/t2SwB5snGLG6Zfb5QgR6PV39O7xkWe5RG+UOy8iaJk/v717/ON9/g8EoHhGKnNMRJGxuVAYG74Zrn2BZoOxYxtt2E4Xht3MF+xBuJRtjECVWNqcETEZm4aTMIQAMsy02UF0Gb5/G0CcFxDNwjAA+8BziMIAEmHv6dnluzAAoSF6Q69pqWvuY3IRwJrH90VuIZoFYNH8RCNFJhxE0wC4lLoKhvX3Wmd390JKNBA5UyBtYsML6e7WQkqhtne5EdoIt2vc87XEBKINlxYDyIQSWZHdxQYT4WxrKwd9NEJTCDOtXCp3dDr+zJM77iCCWTh7exZens3esuksCsPIaxd5Mi5SlhQ9wpITFRaa8+ofaVeKTvMgY50Rats+9qeDLpuTHpMegKDsoWBM+TRAygNCxuxUES+f0HMQFsrhFk1bmpBV1tAak5uFYdngbkyOpCpQjlu7fEeShNgxuTfeawvOY8IXZQvro97LXiKMCU/LXpacEm6n0EF2rbVErtqylF7lWH69IMx18o258YlZHsnMF0Gon7VjSk1Cl92MHlM5msndbH+1evMJwPEtFQmoqwmbc8W3mFEh8IXjR4HWfdSJjzXdCkPRrHjvl0tGl1+e44xubZjzR3YRsjjlxk7+K6MMTU/fT4/ZfklFUoWUhLIDXvsEpIps7bHZcysUCzvupuEoCsfsBCwrrGNrZL/ffmF+BT3TRxY6wn49F16QCcXmHyfsq0UW+pAUytMDJpNXEGbX9KfFV+aNkPXfThs/wbJd4zcPPO+u2mlWk0LAzqYjfkZZuuvls7D3L43NCVrvGr66rkIzGRL+KXIeIrzSsKeXOD1ZT4bGD/KT15SboZ1aetKvRafKy9BSS2OwO6WTzs64MXw3sPKnsI7pDSNpdvXZMm6tjgXRbkUBLkWWV8TZcbGcBrNVAMJhdmy1xLu43b58Abjdvtb/xQn/o4Wxu4q/U3QpmrY3JmyTRV3oNJX0RIF/3sH19ZxViuQD1dDFr/QEXX+3KbJandXqrFEfUMDp6t41nurCyF3AEi7o8oB4T9e68AfsR8GNQy+Scrk540oVXNJt82tyvGMog1b9XVZFs+u8KTwHXq8ouCbLms0883Tpo53tT/nazblBIFZV/5ChS/2okmvrKzt3KURwznNxXoPFHtxRp7GHwkiIYJ8b7XSsZRmdn+8TnXGhykE0v1HJXXCFkl0p67iUvN7qT24EgcMDvLFVDbb+ZOkonPP7QFVkFDK6h6B+vCIMea9dpZycTer4T2KdHYeP12QPKRqs+gKvR5gV1ToxoTZrRVuPiwqYy5af5ar97oY6pXokayQOQKuX7bspn0bIzRFUe4RQ6/XXU9P25Wk0/x9GcGopBs2Kf/hrI3l/8H5+RO+P5DWf17xbcWtNgoPx+5Xj+7MzOdVwtamquHA+Vz85Iz1YJ9st+7C4Yp91XFAv3YB28KcLJUV1M52EE9/YUyJlXLXO7JOfFBru7ZvZP7XhZLEGjcNHd55LgjcNC8anRpWcS+C5qJrwKj1XAaSUvdES9nsK+Fcjy5Ie/yiQzpH+Q2ryzUM3gBR5QhFc7uEed7TIahFnt+SfxGXhC1t/LiiDRuNDHGPuRmVXLYJZXN/cEg3Vs0imE9Ix/AEC/+13r/NDi+Cf7UFytS34lmQrm/T5F4fBgR0=
sidebar_class_name: "post api-method"
info_path: docs/api//ctrlpanel-gg-api-documentation
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";
import Translate from "@docusaurus/Translate";

<Heading
as={"h1"}
className={"openapi__heading"}
children={"Create product"}
>
</Heading>

<MethodEndpoint
method={"post"}
path={"/api/products"}
context={"endpoint"}
>

</MethodEndpoint>





<Heading
id={"request"}
as={"h2"}
className={"openapi-tabs__heading"}
>
<Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
{...require("./create-product.ParamsDetails.json")}
>

</ParamsDetails>

<RequestSchema
{...require("./create-product.RequestSchema.json")}
>

</RequestSchema>

<StatusCodes
{...require("./create-product.StatusCodes.json")}
>

</StatusCodes>



1 change: 1 addition & 0 deletions api-docs/create-role.ParamsDetails.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"parameters":[]}
1 change: 1 addition & 0 deletions api-docs/create-role.RequestSchema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"title":"Body","body":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the role.","example":"Moderator"},"color":{"type":"string","description":"The hex color of the role.","example":"#00FF00"},"power":{"type":"integer","description":"The power level of the role.","example":50},"permissions":{"type":"array","description":"The permissions assigned to the role.","example":["admin.roles.read"],"items":{"type":"string"}}},"required":["name","color","power"]}}}}}
1 change: 1 addition & 0 deletions api-docs/create-role.StatusCodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":2,"name":"Moderator","color":"#00FF00","power":50,"permissions":[{"id":1,"name":"admin.roles.read","guard_name":"web","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"integer","example":2},"name":{"type":"string","example":"Moderator"},"color":{"type":"string","example":"#00FF00"},"power":{"type":"integer","example":50},"permissions":{"type":"array","example":[{"id":1,"name":"admin.roles.read","guard_name":"web","created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00"}],"items":{"type":"object","properties":{"id":{"type":"integer","example":1},"name":{"type":"string","example":"admin.roles.read"},"guard_name":{"type":"string","example":"web"},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"}}}}}}}}}}
69 changes: 69 additions & 0 deletions api-docs/create-role.api.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
id: create-role
title: "Create role"
description: ""
sidebar_label: "Create role"
hide_title: true
hide_table_of_contents: true
api: eJzFVk1v2zgQ/SvE7JWxFWPbg25tdwvkUGzQZg8LwyhoaSKxS5EsScUxBP73xZCSP2LHyDYFmotD8XE+3psZcgBj0Ykgjb6poYTKoQj42SgEDjX6yklLm1ACcLDCiQ4DOg/lcsXBobdGe/RQDrAoCvo5OVQZHVAH2hPWKlklb/NvngAD+KrFTtB/YWsRSjDrb1gF4ICPorMKk1EREkTWUC44aNER8pOpKXbjkhdlHJTwW1F8/FgUFKzZoIPyTcHBouuk99JoCjybud6ZEXUn9cwZhX7mUNTAoemFq7+O+xtck4PETP1VBChhUSzeXhW/Xy3esutFWRRl8tjb+jIkrn6SncjBOlIuyEz+RNBTDo9RlPcOI3XABt0h0Ys4kbJD+eCkbg5BB7THHe+X8JMkcafJpRjeFPGJYDu0cE5sD7G/WEoZsPOvZ/36RayfpBaPc7t0ltKOx3lfgp/N95iT/308xl8fQMxRBNHQGACacuyT0KLBjgZUGmjfe/Thvam35IKW0mENZXA9vmKUHRfEc4Idj867FhkhmblnoUVG0s9+oBFPrbb4yBL8edMv6tlTywnLFD6getb2Cxr8jOE9ngnvZaOxZsGc97A8bZYz3ToSlEpiL/QyqzPxOaW/yqXTYWgN3ZPW+KSrCC2UMBdWzpM34ODRPeQbcoDeKShhsM4EUxkVy/l8qE0npI4naf5jesduhUbFbrQPQqlUXcDhQTgp1ioXz2Qr37X3olc0otoQLDlH3XeUBK2Bj59XkUP2enzIkrPZSNusMt1Z6vNJtmnRIdtSkOkck57JHCfWxOKKUq96J8M25b7zs1wd7n2hJhkvrQmx02QMOzUSrdco3JlSSxcgdd3nfb/+uX8tvO55cKZ4Igep700KVIbUIB+CU0msWdOwd7c37A9T9TRGJtFO3kFUFHlxPStmY2v50Al9EPOHNCFTST+1MezHD5kbGQv4GOZWkbY0IV2qi1yWSxBWAodcmCsOLRVtuYRhWAuPfzsVI33+3qPb5gfdVGlJNA4tippIWg7wL24pvBzB1R05J7jqU98+HYaRTyfeVRXacBG7Ouir27++3AGH9TiAO1PTGSc2lIfY5NRNYiSVUPo2gBK66UVD2GyT/v4DcFiQBg==
sidebar_class_name: "post api-method"
info_path: docs/api//ctrlpanel-gg-api-documentation
custom_edit_url: null
---

import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import ParamsDetails from "@theme/ParamsDetails";
import RequestSchema from "@theme/RequestSchema";
import StatusCodes from "@theme/StatusCodes";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";
import Heading from "@theme/Heading";
import Translate from "@docusaurus/Translate";

<Heading
as={"h1"}
className={"openapi__heading"}
children={"Create role"}
>
</Heading>

<MethodEndpoint
method={"post"}
path={"/api/roles"}
context={"endpoint"}
>

</MethodEndpoint>





<Heading
id={"request"}
as={"h2"}
className={"openapi-tabs__heading"}
>
<Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
{...require("./create-role.ParamsDetails.json")}
>

</ParamsDetails>

<RequestSchema
{...require("./create-role.RequestSchema.json")}
>

</RequestSchema>

<StatusCodes
{...require("./create-role.StatusCodes.json")}
>

</StatusCodes>



1 change: 1 addition & 0 deletions api-docs/create-server.ParamsDetails.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"parameters":[]}
1 change: 1 addition & 0 deletions api-docs/create-server.RequestSchema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"title":"Body","body":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the server.","example":"My Awesome Server"},"description":{"type":"string","description":"The description of the server.","example":"High performance gaming server","nullable":true},"user_id":{"type":"integer","description":"The ID of the user who owns the server.","example":1},"product_id":{"type":"string","description":"The ID of the product.","example":"1"},"egg_id":{"type":"integer","description":"The ID of the egg.","example":1},"location_id":{"type":"integer","description":"The ID of the location.","example":1},"egg_variables":{"type":"object","description":"The egg variables for the server.","example":[],"properties":{"STARTUP":{"type":"string","description":"","example":"./myserver"}},"nullable":true},"billing_priority":{"type":"integer","description":"The billing priority.","example":0,"nullable":true}},"required":["name","user_id","product_id","egg_id","location_id"]}}}}}
1 change: 1 addition & 0 deletions api-docs/create-server.StatusCodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"X8BK1rMUV4qF3lo-ROWIl","name":"My Server","description":"My server description","suspended":false,"identifier":"a1b2c3d4","billing_priority":0,"pterodactyl_id":10,"user_id":1,"product_id":1,"canceled":null,"created_at":"2026-04-26 12:00:00","updated_at":"2026-04-26 12:00:00","last_billed":"2026-04-26 12:00:00","status":"running"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"X8BK1rMUV4qF3lo-ROWIl"},"name":{"type":"string","example":"My Server"},"description":{"type":"string","example":"My server description"},"suspended":{"type":"boolean","example":false},"identifier":{"type":"string","example":"a1b2c3d4"},"billing_priority":{"type":"integer","example":0},"pterodactyl_id":{"type":"integer","example":10},"user_id":{"type":"integer","example":1},"product_id":{"type":"integer","example":1},"canceled":{"type":"string","example":null,"nullable":true},"created_at":{"type":"string","example":"2026-04-26 12:00:00"},"updated_at":{"type":"string","example":"2026-04-26 12:00:00"},"last_billed":{"type":"string","example":"2026-04-26 12:00:00"},"status":{"type":"string","example":"running"}}}}}}}}}}
Loading