# MamuteCloud API — Full Reference > Complete API reference for MamuteCloud. Each endpoint includes method, path, parameters, request body schema, and response schemas. This file is a superset of the human docs at https://docs.mamutecloud.com. ## Base URLs - Management API: `https://api.mamutecloud.com` (CDN, DNS, SSL, Storage admin, IAM, Organization, Analytics) - S3 data plane (object storage): `https://s3-us-east-1.mamutecloud.com` (path-style, region `us-east-1`) - CDN distribution domains (public site URLs): `https://.mamutecdn.com` - Dashboard: `https://dashboard.mamutecloud.com` - Machine-readable OpenAPI spec: `https://mamutecloud.com/openapi.json` (48 endpoints, all services) - MCP server (Model Context Protocol): `https://docs.mamutecloud.com/mcp` (streamable-http). Exposes tools `list-specs`, `list-endpoints`, `search-endpoints`, `get-endpoint`, `get-server-variables`, and `execute-request` (runs live API calls). Add to an MCP client, e.g. `claude mcp add --transport http mamutecloud https://docs.mamutecloud.com/mcp`. ## Authentication Two authentication models coexist on MamuteCloud: 1. **Management API** (everything documented in this file: CDN, DNS, SSL, Storage admin, IAM, Organization, Analytics) — authenticate with either: - `Authorization: Bearer ` (dashboard-issued user token), or - `X-API-Key: ` (programmatic access). Create a key with `POST /security/apikey` and body `{"name": "my-app-key"}` (the `name` field is required). 2. **S3 data plane** (object PUT/GET/LIST/DELETE) — authenticate with an Access Key ID + Secret Access Key pair scoped to a specific bucket. Generate the pair via `POST /storage/object-storage/buckets/{bucketId}/credentials` from the management API, then use any standard AWS S3 SDK (boto3, aws-sdk-js, aws-sdk-go, etc.) configured with: - `endpoint`: `https://s3-us-east-1.mamutecloud.com` - `region`: `us-east-1` - path-style addressing enabled (`forcePathStyle: true` / `s3.addressing_style = path`) - the access key + secret from the step above Object public URL (direct): `https://s3-us-east-1.mamutecloud.com//`. ## Deploy a Static Site (end-to-end) Goal: publish a static site (e.g. `index.html`) to a public URL. Full recipe an agent can follow linearly: ```bash # 1. Create an API key (one-time). Authenticate with your dashboard JWT. curl -X POST https://api.mamutecloud.com/security/apikey \ -H "Authorization: Bearer $JWT" \ -H "content-type: application/json" \ -d '{"name": "deploy-key"}' # -> returns the API key. Store as $MAMUTECLOUD_API_KEY. # 2. Create a storage bucket. curl -X POST https://api.mamutecloud.com/storage/object-storage/buckets \ -H "X-API-Key: $MAMUTECLOUD_API_KEY" \ -H "content-type: application/json" \ -d '{"name": "my-site", "storage_class": "Standard"}' # -> returns bucket { id }. Store as $BUCKET_ID. # 3. Generate S3 credentials scoped to that bucket. curl -X POST "https://api.mamutecloud.com/storage/object-storage/buckets/$BUCKET_ID/credentials" \ -H "X-API-Key: $MAMUTECLOUD_API_KEY" \ -H "content-type: application/json" # -> returns { access_key_id, secret_access_key }. The secret is shown once. ``` ```js // 4. Upload index.html with any S3 SDK (Node example). import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3"; const s3 = new S3Client({ endpoint: "https://s3-us-east-1.mamutecloud.com", region: "us-east-1", credentials: { accessKeyId: ACCESS_KEY, secretAccessKey: SECRET_KEY }, forcePathStyle: true, }); await s3.send(new PutObjectCommand({ Bucket: BUCKET_ID, Key: "index.html", Body: "

Hello MamuteCloud

", ContentType: "text/html", })); ``` ```bash # 5. Create a CDN resource backed by the bucket. A storage-type origin group # sets default_root_object to index.html automatically. curl -X POST https://api.mamutecloud.com/cdn/resource \ -H "X-API-Key: $MAMUTECLOUD_API_KEY" \ -H "content-type: application/json" \ -d '{ "name": "my-site", "origin_group": { "type": "storage", "bucket_id": "'"$BUCKET_ID"'" } }' # -> returns the resource with distribution_domain like r-.mamutecdn.com # (status starts "in_progress"; ready once the distribution deploys). ``` The site is then live at `https://r-.mamutecdn.com` and serves `index.html` by default. ```bash # 6. (Optional) Use a friendlier subdomain. curl -X PUT "https://api.mamutecloud.com/cdn/resource/$RESOURCE_ID" \ -H "X-API-Key: $MAMUTECLOUD_API_KEY" \ -H "content-type: application/json" \ -d '{"distribution_domain": "my-site"}' # -> site becomes https://my-site.mamutecdn.com # Check availability first with GET /cdn/resource/check-distribution-name. ``` For a fully custom domain (your own DNS), attach it via the resource `custom_domains` field on `PUT /cdn/resource/{id}` and point a CNAME at the distribution domain. ## CDN API ### Origin Groups #### List Origin Groups - **GET** `/cdn/origin-group` - URL: https://docs.mamutecloud.com/reference/get_cdn-origin-group - Retrieve all origin server groups configured for load balancing and failover. Includes health check status and traffic distribution metrics. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create Origin Group - **POST** `/cdn/origin-group` - URL: https://docs.mamutecloud.com/reference/post_cdn-origin-group - Create a new origin group for load balancing multiple origin servers. Configure health checks, failover policies, and traffic weights. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get Origin Group Details - **GET** `/cdn/origin-group/{id}` - URL: https://docs.mamutecloud.com/reference/get_cdn-origin-group-id - Retrieve detailed configuration and status information for a specific origin group including server health and traffic metrics. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update Origin Group - **PUT** `/cdn/origin-group/{id}` - URL: https://docs.mamutecloud.com/reference/put_cdn-origin-group-id - Modify origin group configuration including server weights, health check settings, and failover policies. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Delete Origin Group - **DELETE** `/cdn/origin-group/{id}` - URL: https://docs.mamutecloud.com/reference/delete_cdn-origin-group-id - Remove an origin group configuration. Ensure no distributions are using this group before deletion. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` ### Resources #### List CDN Resources - **GET** `/cdn/resource` - URL: https://docs.mamutecloud.com/reference/get_cdn-resource - Retrieve all CDN resources with caching statistics, bandwidth usage, and performance analytics for optimization insights. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create CDN Resource - **POST** `/cdn/resource` - URL: https://docs.mamutecloud.com/reference/post_cdn-resource - Create a new CDN resource configuration with custom caching rules, compression settings, and security policies. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get CDN Resource Details - **GET** `/cdn/resource/{id}` - URL: https://docs.mamutecloud.com/reference/get_cdn-resource-id - Retrieve comprehensive information about a CDN resource including cache hit ratios, bandwidth usage, and geographic performance data. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update CDN Resource - **PUT** `/cdn/resource/{id}` - URL: https://docs.mamutecloud.com/reference/put_cdn-resource-id - Modify CDN resource configuration including caching policies, compression settings, and security rules. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Delete CDN Resource - **DELETE** `/cdn/resource/{id}` - URL: https://docs.mamutecloud.com/reference/delete_cdn-resource-id - Remove a CDN resource configuration. This will stop content delivery and clear all cached content. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Purge Cache by URL - **POST** `/cdn/resource/{id}/purge/url` - URL: https://docs.mamutecloud.com/reference/post_cdn-resource-id-purge-url - Clear cached content for specific URLs. Useful for updating individual files or pages without affecting the entire cache. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Purge Cache by Pattern - **POST** `/cdn/resource/{id}/purge/pattern` - URL: https://docs.mamutecloud.com/reference/post_cdn-resource-id-purge-pattern - Clear cached content matching URL patterns using wildcards. Efficiently update multiple related files or directories. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Purge All Cache - **POST** `/cdn/resource/{id}/purge/all` - URL: https://docs.mamutecloud.com/reference/post_cdn-resource-id-purge-all - Clear all cached content for the specified CDN resource across all edge locations. Changes take effect within minutes globally. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get Purge History - **GET** `/cdn/resource/{id}/purge/history` - URL: https://docs.mamutecloud.com/reference/get_cdn-resource-id-purge-history - Retrieve the history of cache purge operations including timestamps, affected URLs, and completion status. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Check distribution name availability - **GET** `/cdn/resource/check-distribution-name` - URL: https://docs.mamutecloud.com/reference/get_cdn-resource-check-distribution-name - Checks if a distribution name is available for use - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` ### SSL Certificates #### List SSL Certificates - **GET** `/cdn/ssl-certificate` - URL: https://docs.mamutecloud.com/reference/get_cdn-ssl-certificate - Retrieve all SSL certificates with expiration dates, domain coverage, and validation status for secure content delivery. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Request SSL Certificate - **POST** `/cdn/ssl-certificate` - URL: https://docs.mamutecloud.com/reference/post_cdn-ssl-certificate - Request a new SSL certificate for secure HTTPS delivery. Supports automatic domain validation and wildcard certificates. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get SSL Certificate Details - **GET** `/cdn/ssl-certificate/{id}` - URL: https://docs.mamutecloud.com/reference/get_cdn-ssl-certificate-id - Retrieve detailed information about an SSL certificate including expiration date, covered domains, and validation status. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Delete SSL Certificate - **DELETE** `/cdn/ssl-certificate/{id}` - URL: https://docs.mamutecloud.com/reference/delete_cdn-ssl-certificate-id - Remove an SSL certificate. Ensure no CDN resources are using this certificate before deletion to avoid service disruption. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Import an existing SSL certificate - **POST** `/cdn/ssl-certificate/import` - URL: https://docs.mamutecloud.com/reference/post_cdn-ssl-certificate-import - Imports an existing SSL certificate into AWS Certificate Manager - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ### CDN Management #### List CDN Distributions - **GET** `/cdn/distributions` - URL: https://docs.mamutecloud.com/reference/get_cdn-distributions - Retrieve all CDN distributions with performance metrics, cache statistics, and configuration details for content delivery optimization. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create CDN Distribution - **POST** `/cdn/distributions` - URL: https://docs.mamutecloud.com/reference/post_cdn-distributions - Create a new CDN distribution to accelerate content delivery globally. Configure origin servers, caching rules, and geographic restrictions. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ## STORAGE API ### Credentials #### List credentials for a bucket - **GET** `/storage/object-storage/buckets/{bucketId}/credentials` - URL: https://docs.mamutecloud.com/reference/get_storage-object-storage-buckets-bucketid-credentials - Retrieves a list of credentials for a specific bucket - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create S3 credentials for CLI access - **POST** `/storage/object-storage/buckets/{bucketId}/credentials` - URL: https://docs.mamutecloud.com/reference/post_storage-object-storage-buckets-bucketid-credentials - Creates access credentials for S3-compatible access to a specific bucket. IMPORTANT - The secret_access_key is only returned once on creation. - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Revoke credential - **DELETE** `/storage/object-storage/buckets/{bucketId}/credentials/{accessKeyId}` - URL: https://docs.mamutecloud.com/reference/delete_storage-object-storage-buckets-bucketid-credentials-accesskeyid - Permanently revokes a credential - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier - `accessKeyId` (path, string) *required* — Access key identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Deactivate credential - **POST** `/storage/object-storage/buckets/{bucketId}/credentials/{accessKeyId}/deactivate` - URL: https://docs.mamutecloud.com/reference/post_storage-object-storage-buckets-bucketid-credentials-accesskeyid-deactivate - Temporarily deactivates a credential (soft delete) - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier - `accessKeyId` (path, string) *required* — Access key identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Activate credential - **POST** `/storage/object-storage/buckets/{bucketId}/credentials/{accessKeyId}/activate` - URL: https://docs.mamutecloud.com/reference/post_storage-object-storage-buckets-bucketid-credentials-accesskeyid-activate - Reactivates a deactivated credential - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier - `accessKeyId` (path, string) *required* — Access key identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Regenerate secret key - **POST** `/storage/object-storage/buckets/{bucketId}/credentials/{accessKeyId}/regenerate` - URL: https://docs.mamutecloud.com/reference/post_storage-object-storage-buckets-bucketid-credentials-accesskeyid-regenerate - Generates a new secret key for an existing credential. The old secret key will stop working immediately. - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier - `accessKeyId` (path, string) *required* — Access key identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ### Buckets #### List Object Storage Buckets - **GET** `/storage/object-storage/buckets` - URL: https://docs.mamutecloud.com/reference/get_storage-object-storage-buckets - Get comprehensive list of object storage buckets with detailed metadata, usage metrics, and configuration details. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create Object Storage Bucket - **POST** `/storage/object-storage/buckets` - URL: https://docs.mamutecloud.com/reference/post_storage-object-storage-buckets - Create a new object storage bucket with advanced configuration options including versioning, lifecycle policies, and cross-region replication. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get Bucket Details - **GET** `/storage/object-storage/buckets/{bucketId}` - URL: https://docs.mamutecloud.com/reference/get_storage-object-storage-buckets-bucketid - Retrieve detailed information about a specific storage bucket including size, object count, access policies, and recent activity. - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` ### Files #### List Bucket Files - **GET** `/storage/object-storage/buckets/{bucketId}/files` - URL: https://docs.mamutecloud.com/reference/get_storage-object-storage-buckets-bucketid-files - Browse files and folders within a storage bucket. Supports pagination, filtering by file type, and sorting by various criteria. - Auth: bearerAuth Parameters: - `bucketId` (path, string) *required* — Bucket identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` ### Storage Management #### List Storage Buckets - **GET** `/storage/buckets` - URL: https://docs.mamutecloud.com/reference/get_storage-buckets - Retrieve all storage buckets in your organization with usage statistics, region information, and access policies. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create Storage Bucket - **POST** `/storage/buckets` - URL: https://docs.mamutecloud.com/reference/post_storage-buckets - Create a new storage bucket with specified configuration including region, access policies, and encryption settings. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ## DNS API ### DNS Records #### List DNS Records - **GET** `/dns/zones/{zone_id}/records` - URL: https://docs.mamutecloud.com/reference/get_dns-zones-zone-id-records - Retrieve all DNS records for a specific zone. Supports filtering by record type (A, AAAA, CNAME, MX, TXT, NS) and pagination for large record sets. - Auth: bearerAuth Parameters: - `zone_id` (path, string) *required* — DNS zone identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create DNS Record - **POST** `/dns/zones/{zone_id}/records` - URL: https://docs.mamutecloud.com/reference/post_dns-zones-zone-id-records - Add a new DNS record to the specified zone. Supports all standard record types with automatic validation and conflict detection. - Auth: bearerAuth Parameters: - `zone_id` (path, string) *required* — DNS zone identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get DNS Record - **GET** `/dns/zones/{zone_id}/records/{record_id}` - URL: https://docs.mamutecloud.com/reference/get_dns-zones-zone-id-records-record-id - Retrieve detailed information about a specific DNS record including its current value, TTL settings, and last modification timestamp. - Auth: bearerAuth Parameters: - `zone_id` (path, string) *required* — DNS zone identifier - `record_id` (path, string) *required* — DNS record identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Delete DNS Record - **DELETE** `/dns/zones/{zone_id}/records/{record_id}` - URL: https://docs.mamutecloud.com/reference/delete_dns-zones-zone-id-records-record-id - Remove a DNS record from the zone. Changes take effect immediately and will stop resolution for the specified record name and type. - Auth: bearerAuth Parameters: - `zone_id` (path, string) *required* — DNS zone identifier - `record_id` (path, string) *required* — DNS record identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update DNS Record - **PUT** `/dns/records/{record_id}` - URL: https://docs.mamutecloud.com/reference/put_dns-records-record-id - Modify an existing DNS record's value, TTL, or other properties. Changes are validated and propagated to all nameservers within minutes. - Auth: bearerAuth Parameters: - `record_id` (path, string) *required* — DNS record identifier Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ### DNS Zones #### List DNS Zones - **GET** `/dns/zones` - URL: https://docs.mamutecloud.com/reference/get_dns-zones - Retrieve all DNS zones associated with your organization. Returns zone details including domain names, status, and configuration settings. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create DNS Zone - **POST** `/dns/zones` - URL: https://docs.mamutecloud.com/reference/post_dns-zones - Create a new DNS zone for domain management. Automatically configures nameservers and creates default DNS records for the specified domain. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get DNS Zone Details - **GET** `/dns/zones/{id}` - URL: https://docs.mamutecloud.com/reference/get_dns-zones-id - Retrieve detailed information about a specific DNS zone including all associated records, nameservers, and configuration settings. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Delete DNS Zone - **DELETE** `/dns/zones/{id}` - URL: https://docs.mamutecloud.com/reference/delete_dns-zones-id - Permanently delete a DNS zone and all associated records. This action cannot be undone and will immediately stop DNS resolution for the domain. - Auth: bearerAuth Parameters: - `id` (path, string) *required* — Resource identifier Responses: - `200` — Success - `400` - `401` - `404` - `500` ### DNS Management #### List DNS records - **GET** `/dns/records` - URL: https://docs.mamutecloud.com/reference/get_dns-records - Get DNS records for a zone - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Create DNS record - **POST** `/dns/records` - URL: https://docs.mamutecloud.com/reference/post_dns-records - Create new DNS record - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ## ORGANIZATION API ### Organization Management #### Get Organization Profile - **GET** `/organization/profile` - URL: https://docs.mamutecloud.com/reference/get_organization-profile - Retrieve organization profile information including company details, contact information, and administrative settings. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update Organization Profile - **PUT** `/organization/profile` - URL: https://docs.mamutecloud.com/reference/put_organization-profile - Update organization profile information such as company name, address, and administrative contact details. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get Organization Details - **GET** `/organization` - URL: https://docs.mamutecloud.com/reference/get_organization - Retrieve comprehensive organization information including member count, subscription details, usage statistics, and billing information. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update Organization - **PUT** `/organization` - URL: https://docs.mamutecloud.com/reference/put_organization - Update organization settings including name, contact information, billing details, and notification preferences. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ## IAM API ### API Key Management #### Get API Key - **GET** `/security/apikey` - URL: https://docs.mamutecloud.com/reference/get_security-apikey - Retrieve the current API key for programmatic access to MamuteCDN services. Returns key metadata without exposing the actual key value. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Generate API Key - **POST** `/security/apikey` - URL: https://docs.mamutecloud.com/reference/post_security-apikey - Generate a new API key for programmatic access. Previous keys are automatically revoked. Store the returned key securely as it cannot be retrieved again. - Auth: bearerAuth Request body (`application/json`): - $ref: #/components/schemas/CreateApikeyRequest Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Revoke API Key - **DELETE** `/security/apikey` - URL: https://docs.mamutecloud.com/reference/delete_security-apikey - Permanently revoke the current API key. All applications using this key will immediately lose access to the API. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` ### User Management #### Get User Profile - **GET** `/user/profile` - URL: https://docs.mamutecloud.com/reference/get_user-profile - Retrieve the authenticated user's profile information including personal details, organization membership, and account settings. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update User Profile - **PUT** `/user/profile` - URL: https://docs.mamutecloud.com/reference/put_user-profile - Update user profile information such as name, phone number, and profile image. Changes are immediately reflected across all services. - Auth: bearerAuth Request body (`application/json`): - $ref: #/components/schemas/UpdateUserRequest Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Change Password - **POST** `/user/change-password` - URL: https://docs.mamutecloud.com/reference/post_user-change-password - Update the user's account password with proper validation. Requires current password verification and enforces strong password policies. - Auth: bearerAuth Request body (`application/json`): - $ref: #/components/schemas/ChangePasswordRequest Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get user profile - **GET** `/storage/user/profile` - URL: https://docs.mamutecloud.com/reference/get_storage-user-profile - Retrieves the current user's profile information - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update user profile - **PUT** `/storage/user/profile` - URL: https://docs.mamutecloud.com/reference/put_storage-user-profile - Updates the current user's profile information - Auth: bearerAuth Request body (`application/json`): - $ref: #/components/schemas/UpdateUserRequest Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Change user password - **POST** `/storage/user/change-password` - URL: https://docs.mamutecloud.com/reference/post_storage-user-change-password - Changes the current user's password - Auth: bearerAuth Request body (`application/json`): - $ref: #/components/schemas/ChangePasswordRequest Responses: - `200` — Success - `400` - `401` - `404` - `500` ### Multi-Factor Authentication #### Enable Multi-Factor Authentication - **POST** `/user/mfa/enable` - URL: https://docs.mamutecloud.com/reference/post_user-mfa-enable - Enable MFA for enhanced account security. Supports TOTP (authenticator apps) and SMS-based verification methods. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Disable Multi-Factor Authentication - **POST** `/user/mfa/disable` - URL: https://docs.mamutecloud.com/reference/post_user-mfa-disable - Disable MFA for the user account. Requires verification code confirmation to prevent unauthorized changes. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Enable MFA - **POST** `/storage/user/mfa/enable` - URL: https://docs.mamutecloud.com/reference/post_storage-user-mfa-enable - Enables multi-factor authentication for the current user - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Disable MFA - **POST** `/storage/user/mfa/disable` - URL: https://docs.mamutecloud.com/reference/post_storage-user-mfa-disable - Disables multi-factor authentication for the current user - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` ## ANALYTICS API ### Analytics #### Get Analytics Statistics - **GET** `/analytics/stats` - URL: https://docs.mamutecloud.com/reference/get_analytics-stats - Retrieve comprehensive analytics data including traffic patterns, geographic distribution, and performance metrics for data-driven optimization. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Generate Analytics Reports - **GET** `/analytics/reports` - URL: https://docs.mamutecloud.com/reference/get_analytics-reports - Generate detailed analytics reports with customizable date ranges, metrics, and export formats for business intelligence and reporting. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` ### Billing #### Get Billing Account - **GET** `/billing/account` - URL: https://docs.mamutecloud.com/reference/get_billing-account - Retrieve billing account information including payment methods, billing address, and account status for financial management. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Update Billing Account - **PUT** `/billing/account` - URL: https://docs.mamutecloud.com/reference/put_billing-account - Update billing account details including payment methods, billing address, and notification preferences for invoices. - Auth: bearerAuth Request body (`application/json`): - type: object Responses: - `200` — Success - `400` - `401` - `404` - `500` #### Get Usage Statistics - **GET** `/billing/usage` - URL: https://docs.mamutecloud.com/reference/get_billing-usage - Retrieve detailed usage statistics across all services including bandwidth consumption, storage usage, and API calls for cost analysis. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500` #### List Invoices - **GET** `/billing/invoices` - URL: https://docs.mamutecloud.com/reference/get_billing-invoices - Retrieve billing invoices with payment status, itemized charges, and downloadable PDF receipts for accounting purposes. - Auth: bearerAuth Responses: - `200` — Success - `400` - `401` - `404` - `500`