Darkstone Cloud API
- API version: 1.0.0
- Build date: 2026-06-27T15:51:13.832251781Z[Etc/UTC]
- Generator version: 7.24.0-SNAPSHOT
REST API for the Darkstone Cloud platform: container compute, virtual machines, encrypted volumes, S3-compatible object storage, the vector database, AI inference, the DDoS-protected Cloud Gateway, billing and project management.
<a href="/oauth2/authorization/google" style="display:inline-block;background:#4285F4;color:#fff;padding:10px 20px;border-radius:6px;text-decoration:none;font-weight:600;font-family:Arial,sans-serif;margin:8px 0;">🔐 Sign in with Google
After a successful login the session cookie is automatically attached to every Swagger
request (same-origin). For non-browser clients, set an API key via the Authorize button
in the top right (header X-API-Key, format ds_…).
Automatically generated by the OpenAPI Generator
Building the API client library requires:
- Java 1.8+
- Maven (3.8.3+)/Gradle (7.2+)
To install the API client library to your local Maven repository, simply execute:
mvn clean installTo deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn clean deployRefer to the OSSRH Guide for more information.
Add this dependency to your project's POM:
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>openapi-java-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>Add this dependency to your project's build file:
repositories {
mavenCentral() // Needed if the 'openapi-java-client' jar has been published to maven central.
mavenLocal() // Needed if the 'openapi-java-client' jar has been published to the local maven repo.
}
dependencies {
implementation "org.openapitools:openapi-java-client:1.0.0"
}At first generate the JAR by executing:
mvn clean packageThen manually install the following JARs:
target/openapi-java-client-1.0.0.jartarget/lib/*.jar
Please follow the installation instruction and execute the following Java code:
// Import classes:
import org.openapitools.client.ApiClient;
import org.openapitools.client.ApiException;
import org.openapitools.client.Configuration;
import org.openapitools.client.auth.*;
import org.openapitools.client.model.*;
import org.openapitools.client.api.AccountApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.darkstone.de");
// Configure API key authorization: ApiKeyAuth
ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
ApiKeyAuth.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//ApiKeyAuth.setApiKeyPrefix("Token");
AccountApi apiInstance = new AccountApi(defaultClient);
String confirmEmail = "confirmEmail_example"; // String |
try {
Object result = apiInstance.deleteAccount(confirmEmail);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AccountApi#deleteAccount");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}All URIs are relative to https://api.darkstone.de
| Class | Method | HTTP request | Description |
|---|---|---|---|
| AccountApi | deleteAccount | DELETE /api/v1/account | Irreversibly delete your own account (with email confirmation) |
| AccountApi | getAvatar | GET /api/v1/account/avatar | Return the profile picture of your own account (proxied from Google's image CDN) |
| AccountApi | updateAccount | PUT /api/v1/account | Edit your own account (display name). Email = Google identity, not changeable. |
| AccountApi | updateLocale | PUT /api/v1/account/locale | Save the preferred language (controls the language of system emails) |
| AccountApi | updateProfile | PUT /api/v1/account/profile | Change the personal address of your own account (NOT the billing address — that is per project) |
| AiBaseModelsApi | list20 | GET /api/v1/ai/base-models | All base models (authentication required) — for the AI deploy picker |
| AiBaseModelsApi | listLabels | GET /api/v1/ai/base-models/{baseUuid}/labels | Distinct labels of a base model — selectable at deploy time. |
| ApiKeysApi | create12 | POST /api/v1/projects/{projectUuid}/api-keys | Create an API key (plaintext secret is shown only once) |
| ApiKeysApi | list13 | GET /api/v1/projects/{projectUuid}/api-keys | All API keys of the project |
| ApiKeysApi | rename3 | PUT /api/v1/projects/{projectUuid}/api-keys/{apiKeyUuid} | Rename an API key |
| ApiKeysApi | revoke | DELETE /api/v1/projects/{projectUuid}/api-keys/{apiKeyUuid} | Revoke an API key |
| ApiKeysApi | updatePermissions1 | PUT /api/v1/projects/{projectUuid}/api-keys/{apiKeyUuid}/permissions | Change the permissions of an API key |
| ArtificialIntelligenceApi | addTraining | POST /api/v1/projects/{projectUuid}/ai/{aiUuid}/training | Add a training entry |
| ArtificialIntelligenceApi | delete5 | DELETE /api/v1/projects/{projectUuid}/ai/{aiUuid} | Delete an AI including its training data |
| ArtificialIntelligenceApi | deleteTraining | DELETE /api/v1/projects/{projectUuid}/ai/{aiUuid}/training/{entryUuid} | Delete a training entry |
| ArtificialIntelligenceApi | deploy | POST /api/v1/projects/{projectUuid}/ai | Deploy a new AI – optionally with a base model as the starting point. If baseModelLabels is set, only training entries with those labels are inherited from the base model (platform users may not see the contents, but they choose which classification classes they want). |
| ArtificialIntelligenceApi | exportTraining | GET /api/v1/projects/{projectUuid}/ai/{aiUuid}/training/export | Export the training data as CSV (images are serialized as base64 in the payload field — no extra handling needed, the payload IS already base64). |
| ArtificialIntelligenceApi | importTraining | POST /api/v1/projects/{projectUuid}/ai/{aiUuid}/training/import | Import training data from a CSV. Expected format: a 'label,payload' header row. For image classifiers, payload contains the base64-encoded byte stream of the image file. |
| ArtificialIntelligenceApi | invoke | POST /api/v1/projects/{projectUuid}/ai/{aiUuid}/invoke | Test an AI from the dashboard (rate-limited). Production calls go through the cloud gateways. |
| ArtificialIntelligenceApi | list14 | GET /api/v1/projects/{projectUuid}/ai | All AIs deployed in the project |
| ArtificialIntelligenceApi | listTraining | GET /api/v1/projects/{projectUuid}/ai/{aiUuid}/training | List the training data of the AI — paginated (default 10/page) |
| ArtificialIntelligenceApi | listTrainingLabels | GET /api/v1/projects/{projectUuid}/ai/{aiUuid}/training/labels | Distinct labels of the existing training data |
| ArtificialIntelligenceApi | rename4 | PUT /api/v1/projects/{projectUuid}/ai/{aiUuid} | Rename an AI |
| ArtificialIntelligenceApi | updateTraining | PUT /api/v1/projects/{projectUuid}/ai/{aiUuid}/training/{entryUuid} | Update a training entry |
| AuthApi | loginInfo | GET /api/v1/auth/login | Login hint – use /oauth2/authorization/google |
| AuthApi | me | GET /api/v1/auth/me | Return the currently logged-in user |
| BillingApi | chargeWithSavedMethod | POST /api/v1/projects/{projectUuid}/billing/prepaid/charge | One-click top-up with the saved payment method (off-session). The frontend shows clientSecret only if Stripe requires 3DS. |
| BillingApi | confirmSetupCheckoutSession | POST /api/v1/projects/{projectUuid}/billing/payment-method/checkout-session/{sessionId}/confirm | Bypass for the EWCS flow (mode=setup): after onComplete the frontend calls with the sessionId; the backend retrieves the session from Stripe, extracts the SetupIntent ID and saves the payment method. Idempotent. |
| BillingApi | confirmTopUp | POST /api/v1/projects/{projectUuid}/billing/prepaid/confirm/{paymentIntentId} | Server-side confirmation after the client confirm: books the balance + creates the invoice + saves the payment-method ID. Idempotent (Stripe invoice ID lookup). |
| BillingApi | createSetupCheckoutSession | POST /api/v1/projects/{projectUuid}/billing/payment-method/checkout-session | Embedded checkout session (EWCS) in mode=setup to add a card without charging. Counterpart to /payment-method/setup-intent for the new EWCS flow. |
| BillingApi | createTopUpCheckoutSession | POST /api/v1/projects/{projectUuid}/billing/prepaid/checkout-session | Embedded checkout session (EWCS) for a prepaid top-up. The frontend mounts <EmbeddedCheckoutProvider clientSecret={...}> — Stripe handles all payment methods + 3DS automatically. The balance is booked via the checkout.session.completed webhook. |
| BillingApi | createTopUpPaymentIntent | POST /api/v1/projects/{projectUuid}/billing/prepaid/payment-intent | Create a PaymentIntent for a Stripe Elements top-up. Returns the clientSecret with which the Stripe Elements form confirms the intent. |
| BillingApi | getAutoRecharge | GET /api/v1/projects/{projectUuid}/billing/auto-recharge | Auto-recharge configuration of the project |
| BillingApi | getPrepaidBalance | GET /api/v1/projects/{projectUuid}/billing/prepaid/balance | Current prepaid balance |
| BillingApi | getSavedPaymentMethod | GET /api/v1/projects/{projectUuid}/billing/payment-method | Saved default payment method (brand + last4 + expiry). null if none is on file. |
| BillingApi | getSpend | GET /api/v1/projects/{projectUuid}/billing/spend/{serviceType} | Current month-to-date usage |
| BillingApi | listLimits | GET /api/v1/projects/{projectUuid}/billing/limits | All limits of the project |
| BillingApi | recoverPaymentMethod | POST /api/v1/projects/{projectUuid}/billing/payment-method/recover | Last-resort recovery: scans Stripe for succeeded SetupIntents/payment methods for the customer and saves the latest one on the billing account. Used when neither the webhook nor the direct confirm succeeded. Idempotent. |
| BillingApi | removeSavedPaymentMethod | DELETE /api/v1/projects/{projectUuid}/billing/payment-method | Remove the saved payment method (detached at Stripe). Auto-recharge is disabled automatically. |
| BillingApi | setAutoRecharge | PUT /api/v1/projects/{projectUuid}/billing/auto-recharge | Configure auto-recharge. Requires a saved payment method (created on the first top-up). |
| BillingApi | setLimit | PUT /api/v1/projects/{projectUuid}/billing/limits/{serviceType} | Set the limit for a service |
| BillingApi | stripeInfo | GET /api/v1/projects/{projectUuid}/billing/stripe-info | Stripe configuration status (for the test-mode banner) |
| BillingApi | topUp | POST /api/v1/projects/{projectUuid}/billing/prepaid/topup | [DEPRECATED] Legacy Stripe-hosted checkout (redirect). The frontend uses /prepaid/payment-intent for embedded Elements. |
| BillingApi | usageTimeseries | GET /api/v1/projects/{projectUuid}/billing/usage/timeseries | Daily usage series for charts. One bucket per day with amounts per ServiceType. months=N goes back N-1 months up to today (default 1). |
| BillingConfigApi | config | GET /api/v1/billing/config | Stripe publishable key + currency for the frontend Elements init |
| CloudGatewaysApi | create11 | POST /api/v1/projects/{projectUuid}/cloudgates | |
| CloudGatewaysApi | createRoute1 | POST /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes | |
| CloudGatewaysApi | delete4 | DELETE /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid} | |
| CloudGatewaysApi | deleteRoute1 | DELETE /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid} | |
| CloudGatewaysApi | get3 | GET /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid} | |
| CloudGatewaysApi | list12 | GET /api/v1/projects/{projectUuid}/cloudgates | |
| CloudGatewaysApi | listRoutes1 | GET /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes | |
| CloudGatewaysApi | rename2 | PUT /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid} | |
| CloudGatewaysApi | stats1 | GET /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/stats | Live statistics: per-minute traffic (60-minute window) + total + route count |
| CloudGatewaysApi | statsLive1 | GET /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/stats/live | Live counter: cumulative all-time traffic (O(1) read, for 2s polling) |
| CloudGatewaysApi | updateRoute1 | PUT /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid} | |
| CloudGatewaysApi | uploadCertificate1 | PUT /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid}/certificate | Upload/replace your own TLS certificate (CUSTOM mode, no auto-renewal) |
| CloudGatewaysApi | useManagedCertificate1 | POST /api/v1/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid}/certificate/managed | Switch back to a managed Let's Encrypt certificate (with auto-renewal) |
| CloudGatewaysV2Api | callList | GET /api/v2/projects/{projectUuid}/cloudgates | |
| CloudGatewaysV2Api | create | POST /api/v2/projects/{projectUuid}/cloudgates | |
| CloudGatewaysV2Api | createRoute | POST /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes | |
| CloudGatewaysV2Api | delete | DELETE /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid} | |
| CloudGatewaysV2Api | deleteRoute | DELETE /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid} | |
| CloudGatewaysV2Api | get | GET /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid} | |
| CloudGatewaysV2Api | listRoutes | GET /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes | |
| CloudGatewaysV2Api | rename | PUT /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid} | |
| CloudGatewaysV2Api | stats | GET /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/stats | Live statistics: per-minute traffic (60-minute window) + total + route count |
| CloudGatewaysV2Api | statsLive | GET /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/stats/live | Live counter: cumulative all-time traffic (O(1) read, for 2s polling) |
| CloudGatewaysV2Api | updateRoute | PUT /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid} | |
| CloudGatewaysV2Api | uploadCertificate | PUT /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid}/certificate | Upload/replace your own TLS certificate (CUSTOM mode, no auto-renewal) |
| CloudGatewaysV2Api | useManagedCertificate | POST /api/v2/projects/{projectUuid}/cloudgates/{gatewayUuid}/routes/{routeUuid}/certificate/managed | Switch back to a managed Let's Encrypt certificate (with auto-renewal) |
| CloudProjectsApi | create1 | POST /api/v1/projects | Create a new project |
| CloudProjectsApi | delete1 | DELETE /api/v1/projects/{projectUuid} | Delete a project (owner only, with name confirmation) |
| CloudProjectsApi | get1 | GET /api/v1/projects/{projectUuid} | Project details |
| CloudProjectsApi | getBillingProfile | GET /api/v1/projects/{projectUuid}/billing-profile | Billing profile of the project (company, VAT ID, address, contact) |
| CloudProjectsApi | getBySlug | GET /api/v1/projects/by-slug/{slug} | Project details by slug ID (e.g. eternal-empires-9282d151) |
| CloudProjectsApi | leave | POST /api/v1/projects/{projectUuid}/leave | Leave a project (remove your own membership, non-owners only) |
| CloudProjectsApi | list1 | GET /api/v1/projects | All projects of the user |
| CloudProjectsApi | myPermissions | GET /api/v1/projects/{projectUuid}/me/permissions | Effective permissions of the current user in this project |
| CloudProjectsApi | provision | POST /api/v1/projects/provision | Atomically create a project — only AFTER a verified card. Creates the project + billing account + address + payment method and finalizes it (setupCompleted + starting credit) in one step. Nothing exists beforehand. |
| CloudProjectsApi | provisionIsPostOnly | GET /api/v1/projects/provision | |
| CloudProjectsApi | transfer | POST /api/v1/projects/{projectUuid}/transfer | Transfer ownership |
| CloudProjectsApi | update | PUT /api/v1/projects/{projectUuid} | Rename a project |
| CloudProjectsApi | updateBillingProfile | PUT /api/v1/projects/{projectUuid}/billing-profile | Update the billing profile of the project (company/VAT ID/address/contact) |
| CloudVolumesApi | create2 | POST /api/v1/projects/{projectUuid}/volumes | Create a volume (with mandatory encryption + hidden shadow replica) |
| CloudVolumesApi | createUser | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users | |
| CloudVolumesApi | delete6 | DELETE /api/v1/projects/{projectUuid}/volumes/{volumeUuid} | |
| CloudVolumesApi | deleteUser | DELETE /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users/{userUuid} | |
| CloudVolumesApi | get4 | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid} | |
| CloudVolumesApi | list2 | GET /api/v1/projects/{projectUuid}/volumes | List the volumes of the project |
| CloudVolumesApi | listUsers | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users | |
| CloudVolumesApi | setUserCredential | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users/{userUuid}/credential | |
| CloudVolumesApi | setUserEnabled | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users/{userUuid}/enabled | |
| CloudVolumesApi | setUserPassword | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users/{userUuid}/password | |
| CloudVolumesApi | sites | GET /api/v1/projects/{projectUuid}/volumes/sites | Locations available in the cluster |
| CloudVolumesApi | updateAnonymous | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/anonymous-access | |
| CloudVolumesApi | updateReplication | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/replication | Update the replication locations |
| CloudVolumesApi | updateUserPermissions | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/users/{userUuid}/permissions | |
| CloudVolumesFileBrowserApi | delete7 | DELETE /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/files | Delete a file or directory |
| CloudVolumesFileBrowserApi | download | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/files/download | Download a file |
| CloudVolumesFileBrowserApi | list16 | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/files | List a directory |
| CloudVolumesFileBrowserApi | mkdir | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/files/mkdir | Create a directory |
| CloudVolumesFileBrowserApi | rename5 | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/files/rename | Rename or move a file/directory |
| CloudVolumesFileBrowserApi | upload | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/files/upload | Upload a file (multipart) |
| CredentialsApi | create10 | POST /api/v1/projects/{projectUuid}/credentials | Create a credential |
| CredentialsApi | delete3 | DELETE /api/v1/projects/{projectUuid}/credentials/{credentialUuid} | Delete a credential |
| CredentialsApi | list11 | GET /api/v1/projects/{projectUuid}/credentials | All credentials of the project (paginated) |
| CredentialsApi | rotateSecret | PUT /api/v1/projects/{projectUuid}/credentials/{credentialUuid}/secret | Rotate the secret |
| CredentialsApi | update1 | PUT /api/v1/projects/{projectUuid}/credentials/{credentialUuid} | Update a credential (name, notes, username, expiry) |
| DataPlaneAiApi | chatCompletion | POST /data/v1/ai/v1/chat/completions | Classification (OpenAI Chat Completions compatible) |
| DomainsApi | authCode | GET /api/v1/projects/{projectUuid}/domains/{domain}/auth-code | Get EPP/auth code for transfer-out (sensitive, never logged) |
| DomainsApi | autoRenew | PUT /api/v1/projects/{projectUuid}/domains/{domain}/auto-renew | Toggle auto-renew |
| DomainsApi | availability | GET /api/v1/projects/{projectUuid}/domains/availability | Check domain availability (cached) incl. sell price (markup) |
| DomainsApi | createContact | POST /api/v1/projects/{projectUuid}/domains/contacts | Create a reusable contact profile → contactId |
| DomainsApi | detail | GET /api/v1/projects/{projectUuid}/domains/{domain} | Domain detail (lock/privacy/verification) |
| DomainsApi | getRecords | GET /api/v1/projects/{projectUuid}/domains/{domain}/dns | List DNS records |
| DomainsApi | list10 | GET /api/v1/projects/{projectUuid}/domains | List the project's registered domains |
| DomainsApi | listContacts | GET /api/v1/projects/{projectUuid}/domains/contacts | List the project's reusable contact profiles |
| DomainsApi | privacy | PUT /api/v1/projects/{projectUuid}/domains/{domain}/privacy | Toggle WHOIS privacy |
| DomainsApi | quote | GET /api/v1/projects/{projectUuid}/domains/quote | Sell-price quote incl. markup (op=register |
| DomainsApi | register | POST /api/v1/projects/{projectUuid}/domains | Register a domain (charged after success) |
| DomainsApi | renew | POST /api/v1/projects/{projectUuid}/domains/{domain}/renew | Renew a domain (charged after success) |
| DomainsApi | restore3 | POST /api/v1/projects/{projectUuid}/domains/{domain}/restore | Restore a redemption domain (expensive — charged after success) |
| DomainsApi | setContacts | PUT /api/v1/projects/{projectUuid}/domains/{domain}/contacts | Set registrant/admin/tech/billing contact IDs |
| DomainsApi | setNameservers | PUT /api/v1/projects/{projectUuid}/domains/{domain}/nameservers | Set nameservers (custom list, or delegate to our cloud-dns) |
| DomainsApi | setRecords | PUT /api/v1/projects/{projectUuid}/domains/{domain}/dns | Replace all DNS records |
| DomainsApi | transferIn | POST /api/v1/projects/{projectUuid}/domains/transfer | Transfer-in a domain with auth code (charged after transfer completes) |
| DomainsApi | transferLock | PUT /api/v1/projects/{projectUuid}/domains/{domain}/transfer-lock | Toggle registrar transfer lock |
| DomainsApi | transferStatus | GET /api/v1/projects/{projectUuid}/domains/{domain}/transfer | Transfer-in status (registry-paced) |
| I18nApi | catalog | GET /api/v1/public/i18n/{locale} | Flat translation catalog {key→text} for a locale |
| I18nApi | locales | GET /api/v1/public/i18n/locales | Available (enabled) languages |
| InvitationsApi | accept | POST /api/v1/invitations/{invitationUuid}/accept | Accept an invitation (only the invited account email) |
| InvitationsApi | create9 | POST /api/v1/projects/{projectUuid}/invitations | Invite someone to the project — the invitee is notified by account email |
| InvitationsApi | decline | POST /api/v1/invitations/{invitationUuid}/decline | Decline an invitation (only the invited account email) |
| InvitationsApi | list9 | GET /api/v1/projects/{projectUuid}/invitations | Pending/completed invitations of the project (admin) |
| InvitationsApi | mine | GET /api/v1/invitations/mine | Own invitations (shown in the account notifications) |
| InvitationsApi | revoke1 | DELETE /api/v1/projects/{projectUuid}/invitations/{invitationUuid} | Revoke an invitation (admin) |
| InvoicesApi | downloadPdf | GET /api/v1/projects/{projectUuid}/invoices/{invoiceUuid}/pdf | Download an invoice as PDF |
| InvoicesApi | get8 | GET /api/v1/projects/{projectUuid}/invoices/{invoiceUuid} | Invoice details |
| InvoicesApi | list19 | GET /api/v1/projects/{projectUuid}/invoices | Invoices (paginated, newest first). Default: 10 per page, max 100. |
| LookingGlassApi | check | POST /api/v1/public/looking-glass/check | Latency measurement (uplink/downlink/ping) to a public remote IP. 1 measurement per 5s per IP; reloading during the cooldown extends it. |
| LookingGlassApi | ping | GET /api/v1/public/looking-glass/ping | Tiny no-op for client-side RTT timing (type=self). 204, no-store. Reports the server processing time via Server-Timing so the client can subtract it from TTFB. |
| MeLimitsApi | get9 | GET /api/v1/me/limits | My limits + current usage |
| MePaymentSetupApi | confirm | POST /api/v1/me/setup/payment-method/checkout-session/{sessionId}/confirm | Synchronously confirm the card after onComplete and save it on the user (independent of the webhook). |
| MePaymentSetupApi | createSetupCheckoutSession1 | POST /api/v1/me/setup/payment-method/checkout-session | Embedded SETUP checkout (card-only) against the user-level Stripe customer — without a project. |
| MePaymentSetupApi | status2 | GET /api/v1/me/setup/payment-method | Does the user have a verified setup card? (precondition for provisioning) |
| MembersApi | list18 | GET /api/v1/projects/{projectUuid}/members | All members with their roles |
| MembersApi | remove | DELETE /api/v1/projects/{projectUuid}/members/{userUuid} | Remove a member |
| NotificationsApi | get2 | GET /api/v1/projects/{projectUuid}/notifications/{category} | Configuration of a single category |
| NotificationsApi | list17 | GET /api/v1/projects/{projectUuid}/notifications | All notification configurations of the project |
| NotificationsApi | setTargets | PUT /api/v1/projects/{projectUuid}/notifications/{category} | Replace the recipients of a category |
| OnboardingApi | acceptLegal | PUT /api/v1/me/legal/accept | Accept the current legal version (versioned re-accept gate) |
| OnboardingApi | assign1 | POST /api/v1/me/campaign-affiliate | Attribute a campaign code from the affiliate cookie to the user |
| OnboardingApi | save | PUT /api/v1/me/onboarding | Save profile data; creates the user on first onboarding |
| OnboardingApi | status | GET /api/v1/me/onboarding | Current profile setup and onboarding status |
| PricingApi | catalog2 | GET /api/v1/pricing | Full price catalog |
| ProjectSetupApi | saveBilling | PUT /api/v1/projects/{projectUuid}/setup/billing | Save the billing address + customer type on the project |
| ProjectSetupApi | status1 | GET /api/v1/projects/{projectUuid}/setup | Current setup status (address, payment method, completed flag) |
| PublicApi | list15 | GET /api/v1/public/regions | Active cloud regions (display source of truth = admin dashboard) |
| PublicCampaignsApi | lookup | GET /api/v1/public/campaigns/by-code/{code} | Does this code exist, and what credit is associated with it? |
| RolesApi | assign | POST /api/v1/projects/{projectUuid}/roles/{roleUuid}/assignments/{userUuid} | Assign a role to a user |
| RolesApi | catalog1 | GET /api/v1/projects/{projectUuid}/roles/permissions/catalog | List of all available permissions |
| RolesApi | create7 | POST /api/v1/projects/{projectUuid}/roles | Create a role |
| RolesApi | delete2 | DELETE /api/v1/projects/{projectUuid}/roles/{roleUuid} | Delete a role |
| RolesApi | list7 | GET /api/v1/projects/{projectUuid}/roles | All roles of the project |
| RolesApi | rename1 | PUT /api/v1/projects/{projectUuid}/roles/{roleUuid} | Rename a role |
| RolesApi | unassign | DELETE /api/v1/projects/{projectUuid}/roles/{roleUuid}/assignments/{userUuid} | Remove a role from a user |
| RolesApi | updatePermissions | PUT /api/v1/projects/{projectUuid}/roles/{roleUuid}/permissions | Set the permissions of a role |
| StatsApi | accountStats | GET /api/v1/account/stats | Resource counters of the account (number of projects) |
| StatsApi | projectStats | GET /api/v1/projects/{projectUuid}/stats | Permission-based resource counters of a project |
| StripeWebhookApi | webhook | POST /api/v1/billing/stripe/webhook | Stripe webhook endpoint |
| TenantNetworksApi | attach | POST /api/v1/projects/{projectUuid}/networks/{networkUuid}/attachments | Eine VM in das Netzwerk haengen (MOVE-Semantik) |
| TenantNetworksApi | create8 | POST /api/v1/projects/{projectUuid}/networks | Ein Netzwerk anlegen |
| TenantNetworksApi | delete9 | DELETE /api/v1/projects/{projectUuid}/networks/{networkUuid} | Ein Netzwerk loeschen |
| TenantNetworksApi | detach | DELETE /api/v1/projects/{projectUuid}/networks/{networkUuid}/attachments/{vmUuid} | Eine VM vom Netzwerk trennen |
| TenantNetworksApi | get7 | GET /api/v1/projects/{projectUuid}/networks/{networkUuid} | Netzwerk-Details |
| TenantNetworksApi | list8 | GET /api/v1/projects/{projectUuid}/networks | Netzwerke des Projekts auflisten |
| TenantNetworksApi | listAttachments | GET /api/v1/projects/{projectUuid}/networks/{networkUuid}/attachments | Angehaengte VMs eines Netzwerks auflisten |
| VirtualMachinesApi | applyResize | POST /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/apply-resize | Apply a pending resize by restarting |
| VirtualMachinesApi | create5 | POST /api/v1/projects/{projectUuid}/virtual-machines | Create a VM |
| VirtualMachinesApi | delete8 | DELETE /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid} | Delete a VM |
| VirtualMachinesApi | get5 | GET /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid} | VM details |
| VirtualMachinesApi | list5 | GET /api/v1/projects/{projectUuid}/virtual-machines | List the VMs of the project |
| VirtualMachinesApi | reinstall | POST /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/reinstall | Reinstall a VM (overwrite the OS image) |
| VirtualMachinesApi | resize | PUT /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/resize | Resize a VM (vCPU class/count + RAM) |
| VirtualMachinesApi | start | POST /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/start | Start a VM |
| VirtualMachinesApi | stop | POST /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/stop | Stop a VM |
| VirtualMachinesApi | updateBootReplication | PUT /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/boot-replication | Update the replication sites of the boot disk |
| VirtualMachinesApi | updateDataVolumes | PUT /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/data-volumes | Update the mounted data volumes (the VM must be stopped) |
| VmBackupsApi | create6 | POST /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/backups | Create an incremental backup of the VM boot disk |
| VmBackupsApi | delete11 | DELETE /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/backups/{backupName} | Delete a VM backup |
| VmBackupsApi | getSchedule1 | GET /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/backups/schedule | Read the VM boot-disk backup automation (interval in hours, 0 = off) |
| VmBackupsApi | list6 | GET /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/backups | List the VM boot-disk backups |
| VmBackupsApi | restore2 | POST /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/backups/{backupName}/restore | Restore a VM boot backup into a NEW volume (includes a 3% restore fee) |
| VmBackupsApi | setSchedule1 | PUT /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/backups/schedule | Set the VM boot-disk backup automation (customer-controlled; 0 = off, 3% per automatic backup) |
| VmMetricsApi | get6 | GET /api/v1/projects/{projectUuid}/virtual-machines/{vmUuid}/metrics | Metrics history (in-memory, max ~1h) |
| VolumeBackupsApi | create4 | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/backups | Create an incremental backup |
| VolumeBackupsApi | delete10 | DELETE /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/backups/{backupName} | Delete a backup (blocks in the backup target are freed via garbage collection) |
| VolumeBackupsApi | getSchedule | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/backups/schedule | Read the volume backup automation (interval in hours, 0 = off) |
| VolumeBackupsApi | list4 | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/backups | List the backups of a volume |
| VolumeBackupsApi | restore1 | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/backups/{backupName}/restore | Restore a backup into a NEW volume (includes a 3% restore fee) |
| VolumeBackupsApi | setSchedule | PUT /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/backups/schedule | Set the backup automation (customer-controlled; 0 = off). Each automatic backup is charged the 3% creation fee. |
| VolumeSnapshotsApi | create3 | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/snapshots | Create a manual snapshot (e.g. before a risky operation) |
| VolumeSnapshotsApi | list3 | GET /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/snapshots | List the snapshots of a volume |
| VolumeSnapshotsApi | restore | POST /api/v1/projects/{projectUuid}/volumes/{volumeUuid}/snapshots/{snapshotName}/restore | In-place revert to a snapshot — the volume is briefly unavailable |
- AccountProfileRequest
- AffiliateRequest
- AffiliateResultDto
- AiInvocationResult
- AnonymousAccessDto
- AnonymousAccessRequest
- ApiKeyDto
- AttachRequest
- AttachmentDto
- AuthCode
- AutoRechargeConfig
- AutoRechargeRequest
- AvailabilityDto
- BackupInfo
- BaseAi
- BillingLimit
- BillingProfileDto
- BillingProfileRequest
- BillingSetupRequest
- CampaignPublicView
- ChatChoice
- ChatMessage
- ChatRequest
- ChatResponse
- CheckRequest
- CheckoutSession
- CloudProject
- ComputeVcpuPricing
- ContactIdsRequest
- ContactProfileDto
- CreateBackupRequest
- CreateGatewayRequest
- CreateGatewayRequestV2
- CreateRequest
- CreateRouteRequest
- CreateRouteRequestV2
- CreateSnapshotRequest
- CreateUserRequest
- CreateVolumeRequest
- Credential
- CredentialRequest
- DeployRequest
- DeployedAi
- DirectoryListing
- DnsRecord
- DnsRecordImpl
- DnsRecordsRequest
- DomainContactImpl
- DomainDetailsDto
- DomainDto
- EnabledRequest
- EncryptionDto
- FileEntry
- GatewayDto
- GatewayDtoV2
- GatewayLiveDto
- GatewayStatsDto
- HealthCheckConfig
- ImportResult
- InvitationDto
- Invoice
- InvoicePage
- InvokeRequest
- InvokeResponse
- LabelScore
- LegalAcceptResultDto
- LimitRequest
- LocaleDto
- LockRequest
- MetricsResponse
- MinuteBucket
- MyLimitsDto
- NameserverRequest
- NotificationConfig
- NotificationTarget
- OnboardingRequest
- OnboardingStatusDto
- PagedResponseCredential
- PasswordRequest
- PermissionRequest
- PermissionsDto
- PermissionsRequest
- PostalAddress
- PricingDto
- ProvisionRequest
- QuoteDto
- RegionView
- RegisterRequest
- RenameGatewayRequest
- RenameGatewayRequestV2
- RenameRequest
- RenewRequest
- ReplicaDto
- ReplicationDto
- ReplicationRequest
- ResizeRequest
- Role
- RotateSecretRequest
- RouteDto
- RouteDtoV2
- SamplePoint
- SavedPaymentMethod
- ScheduleRequest
- SetupStatusDto
- SnapshotInfo
- TargetDto
- TargetsRequest
- TenantNetworkDto
- ToggleRequest
- TopUpIntent
- TopUpRequest
- TrainingEntry
- TrainingPage
- TrainingRequest
- TransferInRequest
- TransferRequest
- TransferStatus
- UpdateAccountRequest
- UpdateBootReplicationRequest
- UpdateDataVolumesRequest
- UpdateLocaleRequest
- UpdateRequest
- UpdateRouteRequest
- UpdateRouteRequestV2
- VerifiedDto
- VirtualMachineDto
- VolumeDto
- VolumeUserDto
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: X-API-Key
- Location: HTTP header
It's recommended to create an instance of ApiClient per thread in a multithreaded environment to avoid any potential issues.