List the servers in your cloud account that Tarsana did not create
Read · GET /v1/tenants/{tenant}/providers/{provider_name}/servers · MCP tool servers
Lists the servers in your account at one provider that Tarsana cannot prove it created, with the provider's details for each. Tarsana counts a server as its own only when the server's label and Tarsana's own record of creating it agree, because anyone can add a label. Tarsana never deletes these servers by itself: you decide what happens to them. The list is made with the provider credential you stored, and the answer also counts the servers Tarsana did create.
Roles that can call it: viewer, builder, deployer.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
tenant | path | yes | Your tenant ID |
provider_name | path | yes | The provider's name, for example hetzner |
Returns
A JSON object with these keys: tenant, provider_name, servers, accounted_for, guarantee, caller_authenticated.
Example request
curl https://api.tarsana.io/v1/tenants/acme/providers/hetzner/servers \
-H "X-Tarsana-Access-Token: $ACCESS_TOKEN" \
-H 'X-Tarsana-Tenant: acme'
Example response
{
"tenant": "acme",
"provider_name": "hetzner",
"servers": [
{
"id": "1001",
"name": "my-own-box",
"server_type": "cx22",
"location": "nbg1",
"state": "running",
"created": "2026-10-05T02:15:41+00:00",
"addresses": [
"198.51.100.11"
],
"labels": {},
"reason_code": "no_label",
"reason": "A sentence that says why this server is listed."
}
],
"accounted_for": 1,
"guarantee": "namespaces are separated, callers are not authenticated",
"caller_authenticated": false
}
Errors
| Code | HTTP | What it means |
|---|---|---|
invalid_parameter | 400 | A value in your request does not have the expected format, for example a submission ID that is not a spec hash. Check the value against the field's description and try again. |
no_acting_tenant | 400 | Your request does not say which tenant you are acting for. Send your tenant ID in the X-Tarsana-Tenant header, or with --as on the command line. |
isolation_refused | 403 | This address belongs to a tenant ID you do not have access to. Check the tenant ID in the address and in your request header. |
tenant_refused | 400 | This tenant ID is not allowed, or is not in the expected format. Use a different ID made of lower-case letters, digits, dots, dashes and underscores. |
servers_not_configured | 503 | Listing your servers is not available on this Tarsana deployment. Contact Tarsana support if you need it. |
no_such_provider | 404 | Tarsana does not support a provider with this name. The response lists the providers you can use. |
servers_unavailable | 502 | Your server list could not be read with your stored credential: none is stored, the provider refused it, or the provider could not be reached. Check your credential with provider-credential, then try again. |
unauthenticated | 401 | Your request has no credential, or one that Tarsana does not recognise. Sign in with login, or send a valid access token. |
forbidden | 403 | Your role does not allow this operation. The response names the roles that do; ask for a credential with one of them. |
rate_limited | 429 | You sent too many requests in a short time. Wait for the number of seconds in retry_after_seconds, then try again. |
surface_fault | 500 | Something went wrong on our side. Try again later, and contact Tarsana support if it keeps happening. |