{
"error": {
"message": "Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.",
"type": "billing_error",
"param": null,
"code": "credits_exhausted",
"billing_url": "https://app.sailresearch.com/billing"
}
}
{
"error": {
"message": "sailboxes require an organization-scoped API key",
"type": "permission_error",
"param": null,
"code": null
}
}
{
"error": {
"message": "Too many concurrent requests. Please retry after some of your organization's in-flight requests complete.",
"type": "rate_limit_error",
"param": null,
"code": "rate_limited"
}
}
{
"error": {
"message": "Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.",
"type": "billing_error",
"param": null,
"code": "credits_exhausted",
"billing_url": "https://app.sailresearch.com/billing"
}
}
{
"error": {
"message": "sailboxes require an organization-scoped API key",
"type": "permission_error",
"param": null,
"code": null
}
}
{
"error": {
"message": "Too many concurrent requests. Please retry after some of your organization's in-flight requests complete.",
"type": "rate_limit_error",
"param": null,
"code": "rate_limited"
}
}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sail Research","colors":{"primary":"#2c4681","light":"#8ba2dd","dark":"#2c4681"},"logo":{"light":"https://mintcdn.com/sailresearch/X8kOeTTR9DVS13DJ/logo/solo.svg?fit=max\u0026auto=format\u0026n=X8kOeTTR9DVS13DJ\u0026q=85\u0026s=45e472c8b5c89f0235ef55e4953f7075","dark":"https://mintcdn.com/sailresearch/X8kOeTTR9DVS13DJ/logo/solo-white.svg?fit=max\u0026auto=format\u0026n=X8kOeTTR9DVS13DJ\u0026q=85\u0026s=aa38acb72785fa2780f0b79c8ec247af"},"favicon":"https://mintcdn.com/sailresearch/aahfB_XYfgCoK57N/favicon.svg?fit=max\u0026auto=format\u0026n=aahfB_XYfgCoK57N\u0026q=85\u0026s=fa6a1adfca07b5313cfb218d6c30687d","appearance":{"default":"system"},"navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://app.sailresearch.com"}},"footer":{"socials":{"x":"https://x.com/sailresearchco","github":"https://github.com/sailresearchco","slack":"https://join.slack.com/t/sailresearchcrew/shared_invite/zt-41pdcym9j-UU0Ey~A~r6n2H0DQVQsQHQ","linkedin":"https://www.linkedin.com/company/sailresearch"}},"search":{"prompt":"Search (⌘K)"},"seo":{"metatags":{"og:image":"/images/og.png"}},"fonts":{"heading":{"family":"Geist"},"body":{"family":"Geist"}},"integrations":{"telemetry":{"enabled":false}},"contextual":{"options":["copy","chatgpt","claude","cursor","mcp"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sailresearch","hasAudioNarration":false,"actualSubdomain":"sailresearch","customDomains":["docs.sailresearch.com"],"gitSource":{"type":"github","owner":"sailresearchco","repo":"sail","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae92d952991873336bca85f","collectionId":"2df0ab0d-0ee5-458d-be67-b2a0c9d3dc1d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae92d952991873336bca85f"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae92d952991873336bca85f","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Reference","count":100},{"language":"default","tag":"Sailbox","count":82},{"language":"default","tag":"HTTP API","count":77},{"language":"default","tag":"Documentation","count":44},{"language":"default","tag":"Lifecycle","count":16},{"language":"default","tag":"Sailboxes","count":15},{"language":"default","tag":"Inference","count":13},{"language":"default","tag":"Volumes","count":13},{"language":"default","tag":"Inference APIs","count":11},{"language":"default","tag":"Features","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@sailresearch.com","showHelpButton":false}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/sailresearch/7ff4d405a5104e99/style.css"}],"page":{"pagePath":"api-reference/volumes/list-volumes","slug":"/api-reference/volumes/list-volumes","pageMetadata":{"title":"List volumes","description":"Returns the volumes in your organization, newest first.\n\nPass `name` to look one up without creating it. The page holds that volume if it exists and is empty if it does not.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes","href":"/api-reference/volumes/list-volumes","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Returns the volumes in your organization, newest first.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Pass \", _jsx(_components.code, {\n children: \"name\"\n }), \" to look one up without creating it. The page holds that volume if it exists and is empty if it does not.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List volumes","description":"Returns the volumes in your organization, newest first.\n\nPass `name` to look one up without creating it. The page holds that volume if it exists and is empty if it does not.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes","href":"/api-reference/volumes/list-volumes","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/sailresearch/53cdab3a0f4c571b/navbar-auth.js","/_mintlify/custom/sailresearch/d891ac7bd4b17796/cost-calculator-data.js","/_mintlify/custom/sailresearch/1bd7165bcfbd1e54/cost-calculator.js","/_mintlify/custom/sailresearch/7593358cae5a220f/one-shot-prompt.js","/_mintlify/custom/sailresearch/19a656aba0175d42/posthog-events.js","/_mintlify/custom/sailresearch/ee32dacc45e6eb1f/reference-fold.js","/_mintlify/custom/sailresearch/605beaca210d6425/cursor-setup.js","/_mintlify/custom/sailresearch/9d8daa962b50520f/price-comparison-data.js","/_mintlify/custom/sailresearch/74da3abd3a623529/price-comparison.js","/_mintlify/custom/sailresearch/3756b4c1fcdcbfd0/zdr-navigation.js"],"openApiReferenceData":{"operation":{"operationId":"listVolumes","tags":["Volumes"],"summary":"List volumes","description":"Returns the volumes in your organization, newest first.\n\nPass `name` to look one up without creating it. The page holds that volume if it exists and is empty if it does not.","parameters":["58957bb1-77d7-4041-ba9f-f3fee233d5e3","f3c487a8-2138-460a-9439-5ac058250e74"],"responses":{"200":"d5c07369-bd22-45e2-b46b-679bae71b8a7","400":"43d8564a-0906-4234-8993-744b27f1976f","401":"30d35996-026b-4890-8c21-b121a599e9c6","402":"f82b68f5-e0bf-4c8b-a27a-582d3a37cc6b","403":"73825a56-f13b-4e71-a6d5-5eee194f134a","429":"146b7a6f-114c-49b7-83be-34670d501809","500":"e2642e28-9f6f-4c58-89e4-287e14ff43ae","503":"2c1a1c1b-1bf3-4526-ba9d-4cd024111bd4"},"method":"get","type":"path","servers":["ea6a777d-11b2-4262-a9f6-85ca1c08b647"],"security":["bb4dd6da-eb94-44b9-bdc2-d57f2d651bf0"],"path":"/sailbox-volumes","baseUrlOptions":["https://sailbox-api.sailresearch.com/v1"],"title":"List volumes","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"58957bb1-77d7-4041-ba9f-f3fee233d5e3":{"name":"name","in":"query","schema":{"type":"string","maxLength":128,"pattern":"^[A-Za-z0-9._-]*$","description":"Return only the volume with this name. Letters, numbers, `.`, `-`, and `_` only. Leave it out, or send it empty, to get the whole page.","uniqueKey":"","typeLabel":"string"},"description":"Return only the volume with this name. Letters, numbers, `.`, `-`, and `_` only. Leave it out, or send it empty, to get the whole page."},"f3c487a8-2138-460a-9439-5ac058250e74":{"name":"limit","in":"query","schema":{"type":"integer","minimum":0,"maximum":500,"default":100,"description":"How many volumes to return. Ignored when `name` is set.","uniqueKey":"","typeLabel":"integer"},"description":"How many volumes to return. Ignored when `name` is set."}},"responses":{"d5c07369-bd22-45e2-b46b-679bae71b8a7":{"description":"The volumes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"volume_id":{"type":"string","description":"Id to pass when mounting the volume.","isRequired":true,"uniqueKey":"data.items.[INDEX].volume_id","typeLabel":"string"},"name":{"type":"string","description":"Name of the volume.","isRequired":true,"uniqueKey":"data.items.[INDEX].name","typeLabel":"string"},"backend":{"type":"string","description":"Storage type of the volume.","isRequired":true,"uniqueKey":"data.items.[INDEX].backend","typeLabel":"string"},"status":{"type":"string","description":"Current state of the volume: `ready` once it can be mounted, and `deleted` once it has been removed.","isRequired":true,"uniqueKey":"data.items.[INDEX].status","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"When the volume was created.","uniqueKey":"data.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"When the volume last changed.","uniqueKey":"data.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"}},"required":["volume_id","name","backend","status"],"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"description":"Volumes in your organization.","isRequired":true,"uniqueKey":"data","typeLabel":"object[]"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"example":{"data":[{"volume_id":"vol_4d2e8a11-6c3f-4b95-8e7a-1f0c5d9b3a26","name":"shared-datasets","backend":"juicefs","status":"ready","created_at":"2026-07-01T12:00:00Z","updated_at":"2026-07-01T12:00:00Z"}]},"examples":{"Example":{"title":"Example","value":{"data":[{"volume_id":"vol_4d2e8a11-6c3f-4b95-8e7a-1f0c5d9b3a26","name":"shared-datasets","backend":"juicefs","status":"ready","created_at":"2026-07-01T12:00:00Z","updated_at":"2026-07-01T12:00:00Z"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"43d8564a-0906-4234-8993-744b27f1976f":{"description":"The request was rejected. See the error message for the offending field.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"memory_limit_gib must be between 8 and 256 for 4 vCPUs","type":"invalid_request_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"memory_limit_gib must be between 8 and 256 for 4 vCPUs","type":"invalid_request_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"30d35996-026b-4890-8c21-b121a599e9c6":{"description":"The API key is missing or invalid.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Invalid API key","type":"authentication_error","param":null,"code":"invalid_api_key"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Invalid API key","type":"authentication_error","param":null,"code":"invalid_api_key"}}}},"exampleType":"examples"}},"exampleType":"examples"},"f82b68f5-e0bf-4c8b-a27a-582d3a37cc6b":{"description":"The organization is out of credits. The error carries a `billing_url` pointing at the page where you add them. Retry once you have.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.","type":"billing_error","param":null,"code":"credits_exhausted","billing_url":"https://app.sailresearch.com/billing"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Your API key has been disabled due to insufficient credits. Visit https://app.sailresearch.com/billing to add credits.","type":"billing_error","param":null,"code":"credits_exhausted","billing_url":"https://app.sailresearch.com/billing"}}}},"exampleType":"examples"}},"exampleType":"examples"},"73825a56-f13b-4e71-a6d5-5eee194f134a":{"description":"The API key is not allowed to perform this operation.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"sailboxes require an organization-scoped API key","type":"permission_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"sailboxes require an organization-scoped API key","type":"permission_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"146b7a6f-114c-49b7-83be-34670d501809":{"description":"For its first ten minutes a new organization is capped on how many requests it can have in flight at once, and yours is over that cap. The request never started, so retry it unchanged after the delay in the `Retry-After` header. The limit clears as those requests finish.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Too many concurrent requests. Please retry after some of your organization's in-flight requests complete.","type":"rate_limit_error","param":null,"code":"rate_limited"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Too many concurrent requests. Please retry after some of your organization's in-flight requests complete.","type":"rate_limit_error","param":null,"code":"rate_limited"}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"How many seconds to wait before retrying. On a 429 it also means the request never started, so the retry can reuse the same `Idempotency-Key`.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"},"e2642e28-9f6f-4c58-89e4-287e14ff43ae":{"description":"Server error.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"failed to fetch sailbox","type":"server_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"failed to fetch sailbox","type":"server_error","param":null,"code":null}}}},"exampleType":"examples"}},"exampleType":"examples"},"2c1a1c1b-1bf3-4526-ba9d-4cd024111bd4":{"description":"Sail is momentarily unavailable. Retry after the delay in the `Retry-After` header when one is present, and with backoff otherwise.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"Human-readable description of what went wrong.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"Error category: `invalid_request_error`, `authentication_error`, `permission_error`, `billing_error`, `not_found_error`, `conflict_error`, `rate_limit_error`, `quota_exceeded_error`, `not_implemented_error`, or `server_error`.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field the error refers to, when the error is about one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"oneOf":[{"type":"string","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"integer"},{"type":"null","description":"Stable short code for the error, when one applies. Errors relayed from the Sailbox runtime carry its status token, for example `already_exists` or `failed_precondition` on a 409, which the HTTP status alone does not distinguish.","isRequired":true,"uniqueKey":"error.code.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | integer | null"},"billing_url":{"type":"string","format":"uri","description":"Page where you add credits. Sent with a 402.","uniqueKey":"error.billing_url","typeLabel":"string\u003curi>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Authentication service unavailable","type":"server_error","param":null,"code":null}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Authentication service unavailable","type":"server_error","param":null,"code":null}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"How many seconds to wait before retrying. On a 429 it also means the request never started, so the retry can reuse the same `Idempotency-Key`.","schema":{"type":"integer","minimum":0}}},"exampleType":"examples"}},"security":{"bb4dd6da-eb94-44b9-bdc2-d57f2d651bf0":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"ea6a777d-11b2-4262-a9f6-85ca1c08b647":{"url":"https://sailbox-api.sailresearch.com/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"sailbox-openapi.json"},"subdomain":"sailresearch","siteName":"Sail Research","title":"List volumes - Sail Research","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T02:21:16.014Z","originalFileLocation":"api-reference/volumes/list-volumes.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns the volumes in your organization, newest first. Pass name to look one up without creating it. The page holds that volume if it exists and is empty if it does not.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sail Research\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List volumes - Sail Research\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns the volumes in your organization, newest first. Pass name to look one up without creating it. The page holds that volume if it exists and is empty if it does not.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sail Research\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sailresearch.com/api-reference/volumes/list-volumes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sailresearch.mintlify.app/images/og.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List volumes - Sail Research\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns the volumes in your organization, newest first. Pass name to look one up without creating it. The page holds that volume if it exists and is empty if it does not.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sailresearch.mintlify.app/images/og.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sailresearch/BWUDTf48u3tNnszQ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sail Research\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2c4681\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sailresearch.com/api-reference/volumes/list-volumes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/volumes/list-volumes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sailresearch.com/#organization\",\"name\":\"Sail Research\",\"url\":\"https://docs.sailresearch.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sailresearch/X8kOeTTR9DVS13DJ/logo/solo.svg?fit=max\u0026auto=format\u0026n=X8kOeTTR9DVS13DJ\u0026q=85\u0026s=45e472c8b5c89f0235ef55e4953f7075\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sailresearch.com#website\",\"name\":\"Sail Research\",\"url\":\"https://docs.sailresearch.com\",\"publisher\":{\"@id\":\"https://docs.sailresearch.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes#webpage\",\"url\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes\",\"name\":\"List volumes\",\"description\":\"Returns the volumes in your organization, newest first. Pass name to look one up without creating it. The page holds that volume if it exists and is empty if it does not.\",\"dateModified\":\"2026-10-29T02:21:16.014Z\",\"isPartOf\":{\"@id\":\"https://docs.sailresearch.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sailbox\",\"item\":\"https://docs.sailresearch.com/sailbox-sdk\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTTP API\",\"item\":\"https://docs.sailresearch.com/api-reference/identity/whoami\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Volumes\",\"item\":\"https://docs.sailresearch.com/api-reference/volumes/mount-a-volume-on-a-running-sailbox\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"List volumes\",\"item\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes#apireference\",\"headline\":\"List volumes\",\"name\":\"List volumes\",\"description\":\"Returns the volumes in your organization, newest first. Pass name to look one up without creating it. The page holds that volume if it exists and is empty if it does not.\",\"url\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sailresearch.com/api-reference/volumes/list-volumes#webpage\"},\"image\":\"https://docs.sailresearch.com/images/og.png\",\"dateModified\":\"2026-10-29T02:21:16.014Z\",\"publisher\":{\"@id\":\"https://docs.sailresearch.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sailresearch.com#website\"}}]}\u003c/script>","siteName":"Sail Research","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Reference","groups":[{"group":"Inference APIs","pages":[{"group":"Models API","pages":[{"title":"List supported models","deprecated":null,"version":null,"openapi":"/openapi.json get /models","href":"/api-reference/models-api/list-supported-models"}]},{"group":"Responses API","pages":[{"title":"Create a response","deprecated":null,"version":null,"openapi":"/openapi.json post /responses","href":"/api-reference/responses-api/create-a-response"},{"title":"Retrieve a response","deprecated":null,"version":null,"openapi":"/openapi.json get /responses/{response_id}","href":"/api-reference/responses-api/retrieve-a-response"}]},{"group":"Chat Completions API","pages":[{"title":"Create a chat completion","deprecated":null,"version":null,"openapi":"/openapi.json post /chat/completions","href":"/api-reference/chat-completions-api/create-a-chat-completion"}]},{"group":"Messages API","pages":[{"title":"Create an Anthropic message","deprecated":null,"version":null,"openapi":"/openapi.json post /messages","href":"/api-reference/messages-api/create-an-anthropic-message"},{"title":"Retrieve a message","deprecated":null,"version":null,"openapi":"/openapi.json get /messages/{messageID}","href":"/api-reference/messages-api/retrieve-a-message"},{"title":"Count tokens for an Anthropic message","deprecated":null,"version":null,"openapi":"/openapi.json post /messages/count_tokens","href":"/api-reference/messages-api/count-tokens-for-an-anthropic-message"}]},{"group":"Batches API","pages":[{"title":"List batches","deprecated":null,"version":null,"openapi":"/openapi.json get /batches","href":"/api-reference/batches-api/list-batches"},{"title":"Create a batch","deprecated":null,"version":null,"openapi":"/openapi.json post /batches","href":"/api-reference/batches-api/create-a-batch"},{"title":"Get batch status and results","deprecated":null,"version":null,"openapi":"/openapi.json get /batches/{batch_id}","href":"/api-reference/batches-api/get-batch-status-and-results"},{"title":"Get batch request result","deprecated":null,"version":null,"openapi":"/openapi.json get /batches/{batch_id}/{custom_id}","href":"/api-reference/batches-api/get-batch-request-result"}]},{"group":"Web Search API","pages":[]}]},{"group":"Usage API","pages":[{"title":"Overview","href":"/usage"},{"title":"Usage API endpoints","href":"/usage-endpoints"}]},{"group":"Sailbox","pages":[{"title":"Sailboxes","href":"/sailbox-sdk"},{"title":"Images \u0026 Functions","href":"/sailbox-sdk-images"},{"title":"Apps","href":"/sailbox-sdk-apps"},{"title":"Egress policy reference","sidebarTitle":"Egress policy","href":"/reference/egress-policy"},{"title":"Errors","href":"/sailbox-sdk-errors"},{"group":"HTTP API","pages":[{"group":"Identity","pages":[{"title":"whoami","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /whoami","href":"/api-reference/identity/whoami"}]},{"group":"Apps","pages":[{"title":"Find or create an app","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /apps/find","href":"/api-reference/apps/find-or-create-an-app"},{"title":"List apps","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /apps","href":"/api-reference/apps/list-apps"}]},{"group":"Secrets","pages":[{"title":"List secrets","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /secrets","href":"/api-reference/secrets/list-secrets"},{"title":"Get a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /secrets/{name}","href":"/api-reference/secrets/get-a-secret"},{"title":"Set a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /secrets/{name}","href":"/api-reference/secrets/set-a-secret"},{"title":"Delete a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /secrets/{name}","href":"/api-reference/secrets/delete-a-secret"},{"title":"List policies using a secret","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /secrets/{name}/references","href":"/api-reference/secrets/list-policies-using-a-secret"}]},{"group":"Egress policies","pages":[{"title":"List egress policies","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /egress-policies","href":"/api-reference/egress-policies/list-egress-policies"},{"title":"Create an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /egress-policies","href":"/api-reference/egress-policies/create-an-egress-policy"},{"title":"Get an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /egress-policies/{policy_id}","href":"/api-reference/egress-policies/get-an-egress-policy"},{"title":"Delete an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /egress-policies/{policy_id}","href":"/api-reference/egress-policies/delete-an-egress-policy"},{"title":"Rename an egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json patch /egress-policies/{policy_id}","href":"/api-reference/egress-policies/rename-an-egress-policy"},{"title":"Get a Sailbox's egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/egress-policy","href":"/api-reference/egress-policies/get-a-sailboxs-egress-policy"},{"title":"Set a Sailbox's egress policy","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/egress-policy","href":"/api-reference/egress-policies/set-a-sailboxs-egress-policy"}]},{"group":"Lifecycle","pages":[{"title":"List Sailboxes","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes","href":"/api-reference/lifecycle/list-sailboxes"},{"title":"Create a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes","href":"/api-reference/lifecycle/create-a-sailbox"},{"title":"Retrieve a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}","href":"/api-reference/lifecycle/retrieve-a-sailbox"},{"title":"Pause a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/pause","href":"/api-reference/lifecycle/pause-a-sailbox"},{"title":"Sleep a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/sleep","href":"/api-reference/lifecycle/sleep-a-sailbox"},{"title":"Resume a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/resume","href":"/api-reference/lifecycle/resume-a-sailbox"},{"title":"Schedule a wake","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/wake_at","href":"/api-reference/lifecycle/schedule-a-wake"},{"title":"List cron jobs","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/cron","href":"/api-reference/lifecycle/list-cron-jobs"},{"title":"Add a cron job","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/cron","href":"/api-reference/lifecycle/add-a-cron-job"},{"title":"Remove a cron job","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailboxes/{sailbox_id}/cron/{cron_job_id}","href":"/api-reference/lifecycle/remove-a-cron-job"},{"title":"Set the automatic-sleep preference","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/auto_sleep","href":"/api-reference/lifecycle/set-the-automatic-sleep-preference"},{"title":"Change who can operate a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/visibility","href":"/api-reference/lifecycle/change-who-can-operate-a-sailbox"},{"title":"Upgrade a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/upgrade","href":"/api-reference/lifecycle/upgrade-a-sailbox"},{"title":"Reboot a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/reboot","href":"/api-reference/lifecycle/reboot-a-sailbox"},{"title":"Set a Sailbox's limits","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/set-limits","href":"/api-reference/lifecycle/set-a-sailboxs-limits"},{"title":"Terminate a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/terminate","href":"/api-reference/lifecycle/terminate-a-sailbox"}]},{"group":"Exec","pages":[{"title":"Snapshot recent executions","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/executions","href":"/api-reference/exec/snapshot-recent-executions"},{"title":"Snapshot execution output","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/logs","href":"/api-reference/exec/snapshot-execution-output"},{"title":"Run a command","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec","href":"/api-reference/exec/run-a-command"},{"title":"Wait for an exec","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/wait","href":"/api-reference/exec/wait-for-an-exec"},{"title":"Write exec stdin","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/exec/{exec_id}/stdin","href":"/api-reference/exec/write-exec-stdin"},{"title":"Stream exec stdin","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/exec/{exec_id}/stdin/stream","href":"/api-reference/exec/stream-exec-stdin"},{"title":"Cancel an exec","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/cancel","href":"/api-reference/exec/cancel-an-exec"},{"title":"Resize an exec PTY","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/resize","href":"/api-reference/exec/resize-an-exec-pty"},{"title":"Resync an exec PTY","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/exec/{exec_id}/resync","href":"/api-reference/exec/resync-an-exec-pty"},{"title":"Set the clipboard","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/clipboard","href":"/api-reference/exec/set-the-clipboard"}]},{"group":"Files","pages":[{"title":"Read a file","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/files","href":"/api-reference/files/read-a-file"},{"title":"Write a file","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/files","href":"/api-reference/files/write-a-file"},{"title":"Mint a download URL for a file","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/files/download-url","href":"/api-reference/files/mint-a-download-url-for-a-file"},{"title":"Fetch a file through its download URL","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/files/download","href":"/api-reference/files/fetch-a-file-through-its-download-url"},{"title":"Get a download URL's headers","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json head /sailboxes/{sailbox_id}/files/download","href":"/api-reference/files/get-a-download-urls-headers"}]},{"group":"Networking","pages":[{"title":"Tunnel to a port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/tunnel","href":"/api-reference/networking/tunnel-to-a-port"},{"title":"List published ports","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/listeners","href":"/api-reference/networking/list-published-ports"},{"title":"Publish a port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/listeners","href":"/api-reference/networking/publish-a-port"},{"title":"Retrieve a published port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/listeners/{guest_port}","href":"/api-reference/networking/retrieve-a-published-port"},{"title":"Unpublish a port","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailboxes/{sailbox_id}/listeners/{guest_port}","href":"/api-reference/networking/unpublish-a-port"},{"title":"Get custom-domain DNS targets","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /custom-domains","href":"/api-reference/networking/get-custom-domain-dns-targets"},{"title":"List custom domains","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/domains","href":"/api-reference/networking/list-custom-domains"},{"title":"Add a custom domain","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/domains","href":"/api-reference/networking/add-a-custom-domain"},{"title":"Remove a custom domain","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailboxes/{sailbox_id}/domains/{domain}","href":"/api-reference/networking/remove-a-custom-domain"}]},{"group":"Checkpoints","pages":[{"title":"Checkpoint a Sailbox","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/{sailbox_id}/checkpoint","href":"/api-reference/checkpoints/checkpoint-a-sailbox"},{"title":"Start a Sailbox from a checkpoint","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailboxes/from_checkpoint","href":"/api-reference/checkpoints/start-a-sailbox-from-a-checkpoint"},{"title":"List checkpoints","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-checkpoints","href":"/api-reference/checkpoints/list-checkpoints"},{"title":"Get a checkpoint","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-checkpoints/{checkpoint_id}","href":"/api-reference/checkpoints/get-a-checkpoint"},{"title":"Delete a checkpoint","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailbox-checkpoints/{checkpoint_id}","href":"/api-reference/checkpoints/delete-a-checkpoint"}]},{"group":"Volumes","pages":[{"title":"Mount a volume on a running Sailbox","description":"Add a volume at an empty absolute path without restarting the Sailbox. Return after the mount is applied. Identical retries are safe. A timeout can leave a recorded attachment; retry the same request. Existing mounts cannot be removed or replaced. A Sailbox can mount at most four volumes; one volume at several paths counts once. Older Sailboxes require an explicit upgrade. Existing containers need mount propagation to see this new mount.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailboxes/{sailbox_id}/volume-mounts","href":"/api-reference/volumes/mount-a-volume-on-a-running-sailbox"},{"title":"List volumes","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes","href":"/api-reference/volumes/list-volumes"},{"title":"Create a volume","description":"Creates a volume you can mount into Sailboxes. Volume names are unique within an organization, so creating a name that already exists returns the existing volume rather than failing. That makes this safe to call on every start.","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailbox-volumes","href":"/api-reference/volumes/create-a-volume"},{"title":"Delete a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailbox-volumes/{volume_id}","href":"/api-reference/volumes/delete-a-volume"},{"title":"Read a file on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/files","href":"/api-reference/volumes/read-a-file-on-a-volume"},{"title":"Write a file on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailbox-volumes/{volume_id}/files","href":"/api-reference/volumes/write-a-file-on-a-volume"},{"title":"List a directory on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/directories","href":"/api-reference/volumes/list-a-directory-on-a-volume"},{"title":"Create a directory on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailbox-volumes/{volume_id}/directories","href":"/api-reference/volumes/create-a-directory-on-a-volume"},{"title":"Look up a path on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/paths","href":"/api-reference/volumes/look-up-a-path-on-a-volume"},{"title":"Move a path within a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /sailbox-volumes/{volume_id}/paths","href":"/api-reference/volumes/move-a-path-within-a-volume"},{"title":"Remove a path on a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json delete /sailbox-volumes/{volume_id}/paths","href":"/api-reference/volumes/remove-a-path-on-a-volume"},{"title":"Download a directory from a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailbox-volumes/{volume_id}/archives","href":"/api-reference/volumes/download-a-directory-from-a-volume"},{"title":"Upload a directory to a volume","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json put /sailbox-volumes/{volume_id}/archives","href":"/api-reference/volumes/upload-a-directory-to-a-volume"}]},{"group":"SSH access","pages":[{"title":"Get your SSH certificate authority","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /ssh/ca","href":"/api-reference/ssh-access/get-your-ssh-certificate-authority"},{"title":"Issue an SSH certificate","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json post /ssh/certificate","href":"/api-reference/ssh-access/issue-an-ssh-certificate"}]},{"group":"Usage","pages":[{"title":"Get resource usage over time","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/{sailbox_id}/metrics","href":"/api-reference/usage/get-resource-usage-over-time"},{"title":"Get Sailbox spend","deprecated":null,"version":null,"openapi":"/sailbox-openapi.json get /sailboxes/spend","href":"/api-reference/usage/get-sailbox-spend"}]}]}]},{"group":"Tinker","pages":[{"title":"Tinker","href":"/sdk-tinker"}]},{"group":"SDKs","pages":[{"title":"Python SDK","href":"/reference/python-sdk"},{"title":"TypeScript SDK","href":"/reference/typescript-sdk"},{"title":"Rust SDK","href":"/reference/rust-sdk"},{"title":"Configuration","href":"/reference/sdk-configuration"}]}]}]},"basePath":"","title":"List volumes - Sail Research","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}