Skip to main content
Every Basaltic API is addressed by service, on its own hostname. There is no single API gateway host.

Region codes

A region code is <continent>-<metro>-<n> — the geographic prefix is a strict continent, and the metro token is what carries the legal jurisdiction your data sits in. GET https://catalog.basaltic.sh/v1/regions returns the public region catalog. It needs no authentication or selected account, so it is a useful first call to confirm connectivity. Fetch one region with GET /v1/regions/{code} on the same host.
The list contains regions, a default region code and meta for the complete catalog. A region detail response wraps its content in region. Each region has a stable code, a Catalog crn, a display name, location, country_code, and a lifecycle state: Use state to determine availability: only active regions accept new resources. planned regions are not yet offered. The state describes the catalog lifecycle, not live service health or available capacity. The product API still checks your permissions, quotas, and resource placement. The default is an accepting region in the returned list, or an empty string when none is offered. Exact name and crn filters can narrow the list. Unknown region codes return 404. Successful responses can be cached privately for 60 seconds. Use the Catalog API for region discovery. See Catalog permissions for public access and rate limits.

Global and regional services

Geographic scope and ownership are separate. Workspace manages organization resources globally. IAM and DNS manage account-owned resources globally. Compute, networking, and storage manage resources in the selected region.
Addressed as https://<service>.<region>.basaltic.sh, for example https://compute.sa-saopaulo-1.basaltic.sh.Use a bearer token authorized for the account and region.

Object storage

S3-compatible object storage is the one endpoint that is not on basaltic.sh:
It sits on a separate domain deliberately, off the product domain, because it is driven by ordinary AWS SDKs and signed with AWS Signature Version 4 rather than authenticated with a control-plane bearer token. Point any S3 client at it as a custom endpoint. The management side of storage — volumes, snapshots, bucket lifecycle — is on storage.<region>.basaltic.sh with the rest of the platform API.

Selecting an account

Account API requests identify the selected account with X-Account-Id. Service account and role tokens remain bound to their account; changing the header does not grant access to another account. Use an explicit role assumption for cross-account access.