Devuelve credenciales compatibles con S3 para herramientas como aws-cli, rclone y boto3. El par se deriva de la clave de API
que hace la llamada, así que revocar esa clave corta el acceso S3 de inmediato. Con una clave de API que solo tiene
blob:read, las credenciales son de solo lectura (access.write es false). Trata secret_access_key como una
contraseña. Esta ruta requiere una clave de API: una sesión del panel se rechaza. Al rotar la clave de API el par se
reemplaza, así que vuelve a obtener las credenciales después.Ámbito:blob:read.
El ID del workspace, cuando el blob pertenece a un workspace. La petición actúa sobre el blob del propietario del
workspace y necesita el permiso blob:read del workspace (blob:manage en las rutas que modifican datos). Omítelo
para actuar sobre tu propio blob.
El código de error que indica el motivo del fallo. Valores posibles:
AUTH_TOKEN_MISSING (401): No se envió la cabecera Authorization.
API_KEY_INVALID (401): La clave de API no existe, fue revocada o su secreto no coincide.
API_KEY_SCOPE_DENIED (403): La clave no tiene el ámbito que necesita esta ruta (blob:read o blob:write); details.required lo indica.
WORKSPACE_PERMISSION_DENIED (403): Solo con workspace_id: no eres miembro, o tu rol no tiene el permiso de blob.
WORKSPACE_NOT_FOUND (404): Solo con workspace_id: no existe un workspace con ese ID, o no eres miembro.
VALIDATION_ERROR (400): La llamada no se hizo con una clave de API; details.reason es api_key_required.
RATE_LIMIT_EXCEEDED (429): Más de 10 llamadas en una hora. details.retry_after indica la espera en segundos.
{ "code": "AUTH_TOKEN_MISSING"}
{ "code": "API_KEY_SCOPE_DENIED"}
{ "code": "WORKSPACE_NOT_FOUND"}
{ "code": "RATE_LIMIT_EXCEEDED"}
Última modificación el 28 de octubre de 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vertra Cloud","description":"Vertra Cloud is a Brazilian application hosting platform (PaaS): deploy from GitHub or a zip file, isolated containers, managed databases, file storage, snapshots, a CLI and a VS Code extension.","colors":{"primary":"#ff6100","light":"#ff7a24","dark":"#e65700"},"logo":{"light":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e","dark":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e"},"favicon":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/favicon.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=1bab95e4f8e35419e5901e69c7caa4b2","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python","go"]},"mdx":{"auth":{"method":"bearer"},"server":"https://api.vertracloud.app"}},"background":{"color":{"light":"#f7f7f6","dark":"#121212"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"footer":{"socials":{"github":"https://github.com/vertracloud","instagram":"https://instagram.com/vertracloud","x":"https://x.com/vertracloud","youtube":"https://www.youtube.com/@vertracloud","discord":"https://discord.gg/vertracloud"}},"seo":{"metatags":{"og:site_name":"Vertra Cloud Docs","og:type":"website","og:image":"https://docs.vertracloud.app/images/og.png","twitter:card":"summary_large_image","twitter:image":"https://docs.vertracloud.app/images/og.png","description":"Vertra Cloud is a Brazilian application hosting platform (PaaS): deploy from GitHub or a zip file, isolated containers, managed databases, file storage, snapshots, a CLI and a VS Code extension."},"indexing":"navigable"},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":""},{"language":"pt-BR","navbar":{"links":[{"href":"mailto:[email protected]","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"href":"pt-br"},{"language":"es","navbar":{"links":[{"href":"mailto:[email protected]","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://vertracloud.app/dashboard"}},"href":"es-es"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vertracloud","hasAudioNarration":false,"actualSubdomain":"vertracloud","customDomains":["docs.vertracloud.app"],"gitSource":{"type":"github","owner":"vertracloud","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae51deb3bf34bcad38c5814","collectionId":"9f590012-0485-47b3-af80-9ffed670518c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae51deb3bf34bcad38c5814"},"entitlements":{},"buildId":"6ae51f8fceb92005b37aba26","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"API Reference","count":159},{"language":"es","tag":"Referencia de la API","count":159},{"language":"pt-BR","tag":"Referência da API","count":159},{"language":"en","tag":"Endpoints","count":156},{"language":"es","tag":"Endpoints","count":156},{"language":"pt-BR","tag":"Endpoints","count":156},{"language":"en","tag":"Templates","count":64},{"language":"es","tag":"Plantillas","count":64},{"language":"pt-BR","tag":"Templates","count":64},{"language":"es","tag":"Blob Storage","count":58},{"language":"pt-BR","tag":"Blob Storage","count":58},{"language":"en","tag":"Blob Storage","count":56},{"language":"en","tag":"Applications","count":46},{"language":"en","tag":"Changelog","count":46},{"language":"es","tag":"Aplicaciones","count":46},{"language":"es","tag":"Changelog","count":46},{"language":"pt-BR","tag":"Aplicações","count":46},{"language":"pt-BR","tag":"Changelog","count":46},{"language":"en","tag":"v26","count":35},{"language":"es","tag":"v26","count":35},{"language":"pt-BR","tag":"v26","count":35},{"language":"en","tag":"Blob API reference","count":30},{"language":"es","tag":"Referencia de la API de Blob","count":30},{"language":"pt-BR","tag":"Referência da API do Blob","count":30},{"language":"en","tag":"Workspaces","count":26},{"language":"en","tag":"Tutorials","count":26},{"language":"es","tag":"Workspaces","count":26},{"language":"es","tag":"Tutoriales","count":26},{"language":"pt-BR","tag":"Workspaces","count":26},{"language":"pt-BR","tag":"Tutoriais","count":26}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--gray-50:247 247 246;--gray-100:241 241 240;--gray-200:230 230 228;--gray-300:211 211 209;--gray-400:162 162 162;--gray-500:115 115 115;--gray-600:83 83 83;--gray-700:61 61 61;--gray-800:42 42 42;--gray-900:26 26 26;--gray-950:13 13 13}.vc-home{--vc-orange:#ff6100;--vc-orange-strong:#e65700;--vc-paper:#f7f7f6;--vc-surface:#ffffff;--vc-ink:#141414;--vc-ink-2:#3d3d3d;--vc-muted:#737373;--vc-line:#e6e6e4;color:var(--vc-ink)}.dark .vc-home{--vc-orange-strong:#ff7a24;--vc-paper:#121212;--vc-surface:#1a1a1a;--vc-ink:#f4f4f4;--vc-ink-2:#c6c6c6;--vc-muted:#8e8e8e;--vc-line:#2a2a2a}.vc-hero,.vc-hero-inner{display:flex;flex-direction:column;box-sizing:border-box;margin:0}.vc-hero{min-height:calc(100dvh - 120px);overflow:hidden;border-bottom:1px solid var(--vc-line);background-color:var(--vc-paper)}.vc-hero-inner{flex:0 0 auto;justify-content:center;max-width:40rem;padding:2.75rem 1.25rem 1.75rem;text-align:left}.vc-hero h1{margin:0;color:var(--vc-ink);font-size:clamp(2.15rem,.85rem + 1.9vw,3.15rem);font-weight:600;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.vc-hero-copy{max-width:36rem;margin:1.15rem 0 0;color:var(--vc-ink-2);font-size:1.05rem;line-height:1.55;text-wrap:pretty}.vc-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.75rem;margin-top:1.75rem}.vc-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:0 1.15rem;border-radius:.5rem;font-size:.92rem;font-weight:500;line-height:1;text-decoration:none!important;border:1px solid transparent;transition:background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.vc-btn:focus-visible{outline:2px solid var(--vc-orange);outline-offset:2px}.vc-btn-primary{background:var(--vc-orange);color:#fff!important}.vc-btn-primary:hover{background:var(--vc-orange-strong)}.vc-btn-ghost{background:0 0;border-color:var(--vc-line);color:var(--vc-ink)!important}.vc-btn-ghost:hover{border-color:var(--vc-ink)}.vc-hero-art{flex:1 1 auto;min-height:240px;border-top:1px solid var(--vc-line);background:#f4efe4 url(/images/hero-pillar.webp) 70% 68%/cover no-repeat}@media (min-width:1024px){.vc-hero{flex-direction:row;align-items:stretch;min-height:calc(100dvh - 112px)}.vc-hero-inner{flex:.78 1 0;max-width:none;padding:4rem clamp(1.75rem,4vw,4.5rem)}.vc-hero-art{flex:1.22 1 0;min-height:0;border-top:0;border-left:1px solid var(--vc-line);background-position:72% 50%}}.vc-section{max-width:1040px;margin:0 auto;padding:4.5rem 1.5rem 0}.vc-section:last-of-type{padding-bottom:4.5rem}.vc-heading{max-width:620px;margin-bottom:1.75rem}.vc-kicker{color:var(--vc-orange);font:600 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.vc-heading h2{margin:.5rem 0 .6rem;color:var(--vc-ink);font-size:clamp(1.55rem,3vw,2.05rem);font-weight:700;letter-spacing:-.03em;text-wrap:balance}.vc-heading p{margin:0;color:var(--vc-muted);line-height:1.65}.vc-home .card{border-radius:.85rem;transition:border-color .18s ease,transform .18s ease}.vc-home a.card:hover{border-color:rgba(255,97,0,.6)!important;transform:translateY(-2px)}.vc-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.vc-chip{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid var(--vc-line);border-radius:.7rem;background:var(--vc-chip);color:var(--vc-ink)!important;font-size:.9rem;font-weight:500;text-decoration:none!important;transition:border-color .15s ease,transform .15s ease}.vc-chip:hover{border-color:rgba(255,97,0,.6);transform:translateY(-1px)}.vc-chip svg{flex-shrink:0}.vc-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.vc-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;max-width:1040px;margin:4.5rem auto 0;padding:1.5rem 1.5rem 3rem;border-top:1px solid var(--vc-line);color:var(--vc-muted);font:.72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.vc-footer a{color:var(--vc-ink)!important;text-decoration:none!important}.vc-footer a:hover{color:var(--vc-orange)!important}@media (max-width:760px){.vc-section{padding:3.25rem 1rem 0}}[data-component-part=language-switcher] [data-language=en] a::before{content:'🇺🇸 '}[data-component-part=language-switcher] [data-language=pt-BR] a::before{content:'🇧🇷 '}[data-component-part=language-switcher] [data-language=es] a::before{content:'🇪🇸 '}"}],"page":{"pagePath":"es-es/api-reference/endpoint/blob/account/s3-credentials","slug":"/es-es/api-reference/endpoint/blob/account/s3-credentials","pageMetadata":{"title":"Obtener credenciales compatibles con S3 para Blob Storage","sidebarTitle":"Credenciales S3","api":"GET https://blob.vertracloud.app/v1/s3/credentials","authMethod":"bearer","description":"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.","href":"/es-es/api-reference/endpoint/blob/account/s3-credentials"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Devuelve credenciales compatibles con S3 para herramientas como aws-cli, rclone y boto3. El par se deriva de la clave de API\nque hace la llamada, así que revocar esa clave corta el acceso S3 de inmediato. Con una clave de API que solo tiene\n`,_jsx(_components.code,{children:`blob:read`}),`, las credenciales son de solo lectura (`,_jsx(_components.code,{children:`access.write`}),` es `,_jsx(_components.code,{children:`false`}),`). Trata `,_jsx(_components.code,{children:`secret_access_key`}),` como una\ncontraseña. Esta ruta requiere una clave de API: una sesión del panel se rechaza. Al rotar la clave de API el par se\nreemplaza, así que vuelve a obtener las credenciales después.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Ámbito:`}),` `,_jsx(_components.code,{children:`blob:read`}),`.`]}),`\n`,_jsx(ParamField,{query:`workspace_id`,type:`string`,id:`param-workspace-id`,children:_jsxs(_components.p,{children:[`El ID del workspace, cuando el blob pertenece a un workspace. La petición actúa sobre el blob del propietario del\nworkspace y necesita el permiso `,_jsx(_components.code,{children:`blob:read`}),` del workspace (`,_jsx(_components.code,{children:`blob:manage`}),` en las rutas que modifican datos). Omítelo\npara actuar sobre tu propio blob.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`ejemplo-de-petición`,children:`Ejemplo de petición`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://blob.vertracloud.app/v1/s3/credentials\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$VERTRA_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`respuesta`,children:`Respuesta`}),`\n`,_jsxs(ResponseField,{name:`response`,type:`object`,id:`param-response`,children:[_jsx(_components.p,{children:`Las credenciales de S3 de la cuenta.`}),_jsxs(Expandable,{title:`propiedades`,children:[_jsxs(ResponseField,{name:`access_key_id`,type:`string`,id:`param-access-key-id`,children:[`ID de la clave de acceso. Empieza por `,_jsx(_components.code,{children:`VCS3`}),`.`]}),_jsx(ResponseField,{name:`secret_access_key`,type:`string`,id:`param-secret-access-key`,children:`Clave secreta. Trátala como una contraseña.`}),_jsx(ResponseField,{name:`endpoint`,type:`string`,id:`param-endpoint`,children:`Endpoint de S3 que debes configurar en tu herramienta.`}),_jsxs(ResponseField,{name:`region`,type:`string`,id:`param-region`,children:[`Siempre `,_jsx(_components.code,{children:`auto`}),`.`]}),_jsxs(ResponseField,{name:`buckets`,type:`string[]`,id:`param-buckets`,children:[`Los dos buckets: `,_jsx(_components.code,{children:`public`}),` y `,_jsx(_components.code,{children:`private`}),`.`]}),_jsx(ResponseField,{name:`access.read`,type:`boolean`,id:`param-access-read`,children:`Si las credenciales pueden leer.`}),_jsxs(ResponseField,{name:`access.write`,type:`boolean`,id:`param-access-write`,children:[`Si las credenciales pueden escribir. `,_jsx(_components.code,{children:`false`}),` con una clave de API que solo tiene `,_jsx(_components.code,{children:`blob:read`}),`.`]})]})]}),`\n`,`\n`,_jsx(Heading,{level:`3`,id:`respuestas-de-error`,children:`Respuestas de error`}),`\n`,_jsxs(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:[_jsx(_components.p,{children:`El código de error que indica el motivo del fallo. Valores posibles:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`AUTH_TOKEN_MISSING`}),` (`,_jsx(_components.code,{children:`401`}),`): No se envió la cabecera `,_jsx(_components.code,{children:`Authorization`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_INVALID`}),` (`,_jsx(_components.code,{children:`401`}),`): La clave de API no existe, fue revocada o su secreto no coincide.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),` (`,_jsx(_components.code,{children:`403`}),`): La clave no tiene el ámbito que necesita esta ruta (`,_jsx(_components.code,{children:`blob:read`}),` o `,_jsx(_components.code,{children:`blob:write`}),`); `,_jsx(_components.code,{children:`details.required`}),` lo indica.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WORKSPACE_PERMISSION_DENIED`}),` (`,_jsx(_components.code,{children:`403`}),`): Solo con `,_jsx(_components.code,{children:`workspace_id`}),`: no eres miembro, o tu rol no tiene el permiso de blob.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WORKSPACE_NOT_FOUND`}),` (`,_jsx(_components.code,{children:`404`}),`): Solo con `,_jsx(_components.code,{children:`workspace_id`}),`: no existe un workspace con ese ID, o no eres miembro.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`VALIDATION_ERROR`}),` (`,_jsx(_components.code,{children:`400`}),`): La llamada no se hizo con una clave de API; `,_jsx(_components.code,{children:`details.reason`}),` es `,_jsx(_components.code,{children:`api_key_required`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RATE_LIMIT_EXCEEDED`}),` (`,_jsx(_components.code,{children:`429`}),`): Más de 10 llamadas en una hora. `,_jsx(_components.code,{children:`details.retry_after`}),` indica la espera en segundos.`]}),`\n`]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Obtener credenciales compatibles con S3 para Blob Storage","sidebarTitle":"Credenciales S3","api":"GET https://blob.vertracloud.app/v1/s3/credentials","authMethod":"bearer","description":"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.","href":"/es-es/api-reference/endpoint/blob/account/s3-credentials"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,ResponseExample,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Devuelve credenciales compatibles con S3 para herramientas como aws-cli, rclone y boto3. El par se deriva de la clave de API\nque hace la llamada, así que revocar esa clave corta el acceso S3 de inmediato. Con una clave de API que solo tiene\n`,_jsx(_components.code,{children:`blob:read`}),`, las credenciales son de solo lectura (`,_jsx(_components.code,{children:`access.write`}),` es `,_jsx(_components.code,{children:`false`}),`). Trata `,_jsx(_components.code,{children:`secret_access_key`}),` como una\ncontraseña. Esta ruta requiere una clave de API: una sesión del panel se rechaza. Al rotar la clave de API el par se\nreemplaza, así que vuelve a obtener las credenciales después.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Ámbito:`}),` `,_jsx(_components.code,{children:`blob:read`}),`.`]}),`\n`,_jsx(ParamField,{query:`workspace_id`,type:`string`,id:`param-workspace-id`,children:_jsxs(_components.p,{children:[`El ID del workspace, cuando el blob pertenece a un workspace. La petición actúa sobre el blob del propietario del\nworkspace y necesita el permiso `,_jsx(_components.code,{children:`blob:read`}),` del workspace (`,_jsx(_components.code,{children:`blob:manage`}),` en las rutas que modifican datos). Omítelo\npara actuar sobre tu propio blob.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`ejemplo-de-petición`,children:`Ejemplo de petición`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://blob.vertracloud.app/v1/s3/credentials\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$VERTRA_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`respuesta`,children:`Respuesta`}),`\n`,_jsxs(ResponseField,{name:`response`,type:`object`,id:`param-response`,children:[_jsx(_components.p,{children:`Las credenciales de S3 de la cuenta.`}),_jsxs(Expandable,{title:`propiedades`,children:[_jsxs(ResponseField,{name:`access_key_id`,type:`string`,id:`param-access-key-id`,children:[`ID de la clave de acceso. Empieza por `,_jsx(_components.code,{children:`VCS3`}),`.`]}),_jsx(ResponseField,{name:`secret_access_key`,type:`string`,id:`param-secret-access-key`,children:`Clave secreta. Trátala como una contraseña.`}),_jsx(ResponseField,{name:`endpoint`,type:`string`,id:`param-endpoint`,children:`Endpoint de S3 que debes configurar en tu herramienta.`}),_jsxs(ResponseField,{name:`region`,type:`string`,id:`param-region`,children:[`Siempre `,_jsx(_components.code,{children:`auto`}),`.`]}),_jsxs(ResponseField,{name:`buckets`,type:`string[]`,id:`param-buckets`,children:[`Los dos buckets: `,_jsx(_components.code,{children:`public`}),` y `,_jsx(_components.code,{children:`private`}),`.`]}),_jsx(ResponseField,{name:`access.read`,type:`boolean`,id:`param-access-read`,children:`Si las credenciales pueden leer.`}),_jsxs(ResponseField,{name:`access.write`,type:`boolean`,id:`param-access-write`,children:[`Si las credenciales pueden escribir. `,_jsx(_components.code,{children:`false`}),` con una clave de API que solo tiene `,_jsx(_components.code,{children:`blob:read`}),`.`]})]})]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response`,numberOfLines:`16`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`16`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"response\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"access_key_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"VCS3K7P2M9X4QA\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"secret_access_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003csecret>\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"endpoint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://s3.vertracloud.dev\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"region\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"auto\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"buckets\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"public\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"private\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"access\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"read\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"write\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`respuestas-de-error`,children:`Respuestas de error`}),`\n`,_jsxs(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:[_jsx(_components.p,{children:`El código de error que indica el motivo del fallo. Valores posibles:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`AUTH_TOKEN_MISSING`}),` (`,_jsx(_components.code,{children:`401`}),`): No se envió la cabecera `,_jsx(_components.code,{children:`Authorization`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_INVALID`}),` (`,_jsx(_components.code,{children:`401`}),`): La clave de API no existe, fue revocada o su secreto no coincide.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),` (`,_jsx(_components.code,{children:`403`}),`): La clave no tiene el ámbito que necesita esta ruta (`,_jsx(_components.code,{children:`blob:read`}),` o `,_jsx(_components.code,{children:`blob:write`}),`); `,_jsx(_components.code,{children:`details.required`}),` lo indica.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WORKSPACE_PERMISSION_DENIED`}),` (`,_jsx(_components.code,{children:`403`}),`): Solo con `,_jsx(_components.code,{children:`workspace_id`}),`: no eres miembro, o tu rol no tiene el permiso de blob.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`WORKSPACE_NOT_FOUND`}),` (`,_jsx(_components.code,{children:`404`}),`): Solo con `,_jsx(_components.code,{children:`workspace_id`}),`: no existe un workspace con ese ID, o no eres miembro.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`VALIDATION_ERROR`}),` (`,_jsx(_components.code,{children:`400`}),`): La llamada no se hizo con una clave de API; `,_jsx(_components.code,{children:`details.reason`}),` es `,_jsx(_components.code,{children:`api_key_required`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RATE_LIMIT_EXCEEDED`}),` (`,_jsx(_components.code,{children:`429`}),`): Más de 10 llamadas en una hora. `,_jsx(_components.code,{children:`details.retry_after`}),` indica la espera en segundos.`]}),`\n`]})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`Error Response (401)`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"AUTH_TOKEN_MISSING\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Error Response (403)`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"API_KEY_SCOPE_DENIED\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Error Response (404)`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"WORKSPACE_NOT_FOUND\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Error Response (429)`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"RATE_LIMIT_EXCEEDED\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Obtener credenciales compatibles con S3 para Blob Storage","sidebarTitle":"Credenciales S3","api":"GET https://blob.vertracloud.app/v1/s3/credentials","authMethod":"bearer","description":"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.","href":"/es-es/api-reference/endpoint/blob/account/s3-credentials"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Ejemplo de petición","slug":"ejemplo-de-petición","depth":3,"children":[]},{"title":"Respuesta","slug":"respuesta","depth":3,"children":[]},{"title":"Respuestas de error","slug":"respuestas-de-error","depth":3,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"Response","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"16\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"response\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"access_key_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"VCS3K7P2M9X4QA\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"secret_access_key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u0026#x3C;secret>\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"endpoint\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://s3.vertracloud.dev\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"region\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"auto\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"buckets\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"public\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"private\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"access\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"read\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"write\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Obtener credenciales compatibles con S3 para Blob Storage","path":"/v1/s3/credentials","servers":[{"url":"https://blob.vertracloud.app"}],"method":"get","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{"workspace_id":{"schema":[{"type":"string","description":"El ID del workspace, cuando el blob pertenece a un workspace. La petición actúa sobre el blob del propietario del workspace y necesita el permiso `blob:read` del workspace ( `blob:manage` en las rutas que modifican datos). Omítelo para actuar sobre tu propio blob."}]}},"header":{},"cookie":{},"path":{}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"response":[{"type":"object","properties":{"access_key_id":[{"type":"string","description":"ID de la clave de acceso. Empieza por `VCS3` ."}],"secret_access_key":[{"type":"string","description":"Clave secreta. Trátala como una contraseña."}],"endpoint":[{"type":"string","description":"Endpoint de S3 que debes configurar en tu herramienta."}],"region":[{"type":"string","description":"Siempre `auto` ."}],"buckets":[{"type":"array","items":[{"type":"string"}],"description":"Los dos buckets: `public` y `private` ."}],"access.read":[{"type":"boolean","description":"Si las credenciales pueden leer."}],"access.write":[{"type":"boolean","description":"Si las credenciales pueden escribir. `false` con una clave de API que solo tiene `blob:read` ."}]},"description":"Las credenciales de S3 de la cuenta."}],"code":[{"type":"string","description":"El código de error que indica el motivo del fallo. Valores posibles: `AUTH_TOKEN_MISSING` ( `401` ): No se envió la cabecera `Authorization` . `API_KEY_INVALID` ( `401` ): La clave de API no existe, fue revocada o su secreto no coincide. `API_KEY_SCOPE_DENIED` ( `403` ): La clave no tiene el ámbito que necesita esta ruta ( `blob:read` o `blob:write` ); `details.required` lo indica. `WORKSPACE_PERMISSION_DENIED` ( `403` ): Solo con `workspace_id` : no eres miembro, o tu rol no tiene el permiso de blob. `WORKSPACE_NOT_FOUND` ( `404` ): Solo con `workspace_id` : no existe un workspace con ese ID, o no eres miembro. `VALIDATION_ERROR` ( `400` ): La llamada no se hizo con una clave de API; `details.reason` es `api_key_required` . `RATE_LIMIT_EXCEEDED` ( `429` ): Más de 10 llamadas en una hora. `details.retry_after` indica la espera en segundos."}]}}],"examples":{"example":{"value":{"response":{"access_key_id":"\u003cstring>","secret_access_key":"\u003cstring>","endpoint":"\u003cstring>","region":"\u003cstring>","buckets":["\u003cstring>"],"access.read":true,"access.write":true},"code":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"vertracloud","siteName":"Vertra Cloud","title":"Obtener credenciales compatibles con S3 para Blob Storage - Vertra Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/","matchLevel":4},"pt-BR":{"href":"/pt-br","matchLevel":4},"es":{"href":"/es-es/api-reference/endpoint/blob/account/s3-credentials","matchLevel":0}}},"lastModified":"2026-10-30T22:45:18.614Z","gitLastModified":"2026-10-28T22:06:31.000Z","originalFileLocation":"es-es/api-reference/endpoint/blob/account/s3-credentials.mdx","locale":"es"},"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=\"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vertra Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Obtener credenciales compatibles con S3 para Blob Storage - Vertra Cloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vertra Cloud Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.vertracloud.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=\"Obtener credenciales compatibles con S3 para Blob Storage - Vertra Cloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.vertracloud.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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vertra Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6100\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/es-es/api-reference/endpoint/blob/account/s3-credentials.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vertracloud.app/#organization\",\"name\":\"Vertra Cloud\",\"url\":\"https://docs.vertracloud.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vertracloud.app#website\",\"name\":\"Vertra Cloud\",\"url\":\"https://docs.vertracloud.app\",\"publisher\":{\"@id\":\"https://docs.vertracloud.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials#webpage\",\"url\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials\",\"name\":\"Obtener credenciales compatibles con S3 para Blob Storage\",\"description\":\"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Referencia de la API de Blob\",\"item\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/objects/upload\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cuenta\",\"item\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/stats\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Obtener credenciales compatibles con S3 para Blob Storage\",\"item\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials#apireference\",\"headline\":\"Obtener credenciales compatibles con S3 para Blob Storage\",\"name\":\"Obtener credenciales compatibles con S3 para Blob Storage\",\"description\":\"Devuelve credenciales compatibles con S3 derivadas de la clave de API, para aws-cli, rclone y boto3. Límite de 10 llamadas por hora.\",\"url\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vertracloud.app/es-es/api-reference/endpoint/blob/account/s3-credentials#webpage\"},\"image\":\"https://docs.vertracloud.app/images/og.png\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"publisher\":{\"@id\":\"https://docs.vertracloud.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vertra Cloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vertra Cloud","nav":{"global":null,"languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/"}]},{"language":"pt-BR","navbar":{"links":[{"href":"mailto:[email protected]","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"pages":[{"title":"pt-BR","href":"/pt-br"}]},{"language":"es","navbar":{"links":[{"href":"mailto:[email protected]","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://vertracloud.app/dashboard"}},"tabs":[{"tab":"Primeros pasos","pages":[{"title":"Primeros pasos","href":"/es-es"}]},{"tab":"Recursos","pages":[{"title":"Recursos","href":"/es-es/applications"}]},{"tab":"Tutoriales","pages":[{"title":"Tutoriales","href":"/es-es/tutorials/introduction"}]},{"tab":"Guías","pages":[{"title":"Guías","href":"/es-es/guides/custom-domain"}]},{"tab":"Herramientas","pages":[{"title":"Herramientas","href":"/es-es/cli"}]},{"tab":"Blob Storage","groups":[{"group":"Blob Storage","icon":"folder-open","pages":[{"title":"Blob Storage de Vertra: almacenamiento de archivos con CDN global","sidebarTitle":"Descripción general","icon":"folder-open","href":"/es-es/blob/overview"},{"title":"Inicio rápido de Blob Storage: sube y sirve tu primer archivo","sidebarTitle":"Inicio rápido","icon":"rocket","href":"/es-es/blob/quickstart"},{"title":"Autenticación de Blob Storage: claves de API, tokens de subida y workspaces","sidebarTitle":"Autenticación","icon":"key","href":"/es-es/blob/authentication"},{"title":"Subir archivos a Blob Storage: simple, directa y por partes","sidebarTitle":"Subidas","icon":"upload","href":"/es-es/blob/uploads"},{"title":"Enlaces de Blob Storage: URL pública, enlaces temporales y visibilidad","sidebarTitle":"Enlaces y visibilidad","icon":"link","href":"/es-es/blob/links-and-visibility"},{"title":"Compartir archivos de Blob Storage con caducidad, contraseña y límite de descargas","sidebarTitle":"Compartir","icon":"share-nodes","href":"/es-es/blob/sharing"},{"title":"Reglas de carpeta de Blob Storage: valores por defecto y límites por carpeta","sidebarTitle":"Reglas por carpeta","icon":"folder-tree","href":"/es-es/blob/folder-rules"},{"title":"Redimensionar y convertir imágenes al vuelo con Blob Storage","sidebarTitle":"Transformaciones de imagen","icon":"image","href":"/es-es/blob/image-transformations"},{"title":"Usar Blob Storage con aws-cli, rclone y boto3 (compatible con S3)","sidebarTitle":"Compatibilidad con S3","icon":"plug","href":"/es-es/blob/s3-compatibility"},{"title":"Servir archivos de Blob Storage desde tu propio dominio","sidebarTitle":"Dominios personalizados","icon":"globe","href":"/es-es/blob/custom-domains"},{"title":"Límites, cuotas y funciones por plan de Blob Storage","sidebarTitle":"Límites y cuotas","icon":"gauge","href":"/es-es/blob/limits-and-quotas"},{"title":"SDK de JavaScript de Blob Storage (@vertracloud/blob)","sidebarTitle":"SDK de JavaScript","icon":"js","href":"/es-es/blob/sdk-javascript"},{"title":"Blob Storage en los SDK de Python y Go","sidebarTitle":"SDK de Python y Go","icon":"code","href":"/es-es/blob/sdk-python-go"},{"title":"Referencia de la API de Blob Storage","sidebarTitle":"Referencia de la API","icon":"code","href":"/es-es/blob/api-reference"}]},{"group":"Referencia de la API de Blob","icon":"plug","pages":[{"group":"Objetos","pages":[{"title":"Subir un objeto blob en una sola petición","sidebarTitle":"Subir objeto","api":"POST https://blob.vertracloud.app/v1/objects","href":"/es-es/api-reference/endpoint/blob/objects/upload"},{"title":"Listar objetos blob de una carpeta","sidebarTitle":"Listar objetos","api":"GET https://blob.vertracloud.app/v1/objects","href":"/es-es/api-reference/endpoint/blob/objects/list"},{"title":"Obtener un objeto blob por ID","sidebarTitle":"Obtener objeto","api":"GET https://blob.vertracloud.app/v1/objects/{object_id}","href":"/es-es/api-reference/endpoint/blob/objects/get"},{"title":"Actualizar los ajustes de un objeto blob","sidebarTitle":"Actualizar objeto","api":"PATCH https://blob.vertracloud.app/v1/objects/{object_id}","href":"/es-es/api-reference/endpoint/blob/objects/update"},{"title":"Actualizar varios objetos blob a la vez","sidebarTitle":"Actualizar varios objetos","api":"PATCH https://blob.vertracloud.app/v1/objects","href":"/es-es/api-reference/endpoint/blob/objects/update-many"},{"title":"Copiar o mover un objeto blob","sidebarTitle":"Copiar o mover objeto","api":"POST https://blob.vertracloud.app/v1/objects/copy","href":"/es-es/api-reference/endpoint/blob/objects/copy"},{"title":"Eliminar un objeto blob por ID","sidebarTitle":"Eliminar objeto","api":"DELETE https://blob.vertracloud.app/v1/objects/{object_id}","href":"/es-es/api-reference/endpoint/blob/objects/delete"},{"title":"Eliminar varios objetos blob o una carpeta","sidebarTitle":"Eliminar varios objetos","api":"DELETE https://blob.vertracloud.app/v1/objects","href":"/es-es/api-reference/endpoint/blob/objects/delete-many"},{"title":"Obtener un enlace temporal de descarga para un objeto blob","sidebarTitle":"Descargar objeto","api":"GET https://blob.vertracloud.app/v1/objects/{object_id}/download","href":"/es-es/api-reference/endpoint/blob/objects/download"}]},{"group":"Subidas","pages":[{"title":"Iniciar una subida directa de Blob","sidebarTitle":"Iniciar subida directa","api":"POST https://blob.vertracloud.app/v1/uploads","href":"/es-es/api-reference/endpoint/blob/uploads/create"},{"title":"Listar subidas de Blob en curso","sidebarTitle":"Listar subidas","api":"GET https://blob.vertracloud.app/v1/uploads","href":"/es-es/api-reference/endpoint/blob/uploads/list"},{"title":"Obtener el estado de una subida de Blob para reanudarla","sidebarTitle":"Obtener estado de subida","api":"GET https://blob.vertracloud.app/v1/uploads/{upload_id}","href":"/es-es/api-reference/endpoint/blob/uploads/get"},{"title":"Obtener las URL de las partes de una subida multiparte","sidebarTitle":"Obtener URL de partes","api":"POST https://blob.vertracloud.app/v1/uploads/{upload_id}/parts","href":"/es-es/api-reference/endpoint/blob/uploads/parts"},{"title":"Completar una subida directa de Blob","sidebarTitle":"Completar subida","api":"POST https://blob.vertracloud.app/v1/uploads/{upload_id}/complete","href":"/es-es/api-reference/endpoint/blob/uploads/complete"},{"title":"Cancelar una subida directa de Blob","sidebarTitle":"Cancelar subida","api":"DELETE https://blob.vertracloud.app/v1/uploads/{upload_id}","href":"/es-es/api-reference/endpoint/blob/uploads/abort"}]},{"group":"Enlaces para compartir","pages":[{"title":"Crear un enlace para compartir un objeto Blob","sidebarTitle":"Crear enlace","api":"POST https://blob.vertracloud.app/v1/shares","href":"/es-es/api-reference/endpoint/blob/shares/create"},{"title":"Listar enlaces para compartir","sidebarTitle":"Listar enlaces","api":"GET https://blob.vertracloud.app/v1/shares","href":"/es-es/api-reference/endpoint/blob/shares/list"},{"title":"Revocar un enlace para compartir","sidebarTitle":"Revocar enlace","api":"DELETE https://blob.vertracloud.app/v1/shares/{share_id}","href":"/es-es/api-reference/endpoint/blob/shares/revoke"}]},{"group":"Reglas de carpeta","pages":[{"title":"Obtener las reglas de carpeta y su ETag","sidebarTitle":"Obtener reglas","api":"GET https://blob.vertracloud.app/v1/rules","href":"/es-es/api-reference/endpoint/blob/rules/get"},{"title":"Reemplazar todas las reglas de carpeta","sidebarTitle":"Reemplazar reglas","api":"PUT https://blob.vertracloud.app/v1/rules","href":"/es-es/api-reference/endpoint/blob/rules/replace"},{"title":"Crear o actualizar una regla de carpeta","sidebarTitle":"Crear o actualizar regla","api":"PUT https://blob.vertracloud.app/v1/rules/{prefix}","href":"/es-es/api-reference/endpoint/blob/rules/put"},{"title":"Eliminar una regla de carpeta","sidebarTitle":"Eliminar regla","api":"DELETE https://blob.vertracloud.app/v1/rules/{prefix}","href":"/es-es/api-reference/endpoint/blob/rules/delete"}]},{"group":"Cuenta","pages":[{"title":"Obtener el uso de Blob Storage y los límites del plan","sidebarTitle":"Uso y límites","api":"GET https://blob.vertracloud.app/v1/stats","href":"/es-es/api-reference/endpoint/blob/account/stats"},{"title":"Crear un token de subida para subidas desde el navegador","sidebarTitle":"Crear token de subida","api":"POST https://blob.vertracloud.app/v1/upload-tokens","description":"Crea un token de subida de corta duración que fija ruta o carpeta, tamaño, extensiones y visibilidad. Úsalo en navegadores en vez de tu clave de API.","href":"/es-es/api-reference/endpoint/blob/account/upload-tokens"},{"title":"Obtener credenciales compatibles con S3 para Blob Storage","sidebarTitle":"Credenciales S3","api":"GET https://blob.vertracloud.app/v1/s3/credentials","href":"/es-es/api-reference/endpoint/blob/account/s3-credentials"}]},{"group":"Dominios personalizados","pages":[{"title":"Listar dominios personalizados de Blob Storage","sidebarTitle":"Listar dominios","api":"GET https://blob.vertracloud.app/v1/domains","description":"Lista los dominios personalizados de la cuenta para archivos de blob públicos, con su estado y el destino CNAME.","href":"/es-es/api-reference/endpoint/blob/domains/list"},{"title":"Añadir un dominio personalizado para Blob Storage","sidebarTitle":"Añadir dominio","api":"POST https://blob.vertracloud.app/v1/domains","href":"/es-es/api-reference/endpoint/blob/domains/add"},{"title":"Actualizar un dominio personalizado de Blob","sidebarTitle":"Actualizar dominio","api":"PATCH https://blob.vertracloud.app/v1/domains/{domain_id}","href":"/es-es/api-reference/endpoint/blob/domains/update"},{"title":"Verificar un dominio personalizado de Blob","sidebarTitle":"Verificar dominio","api":"POST https://blob.vertracloud.app/v1/domains/{domain_id}/verify","href":"/es-es/api-reference/endpoint/blob/domains/verify"},{"title":"Eliminar un dominio personalizado de Blob","sidebarTitle":"Eliminar dominio","api":"DELETE https://blob.vertracloud.app/v1/domains/{domain_id}","href":"/es-es/api-reference/endpoint/blob/domains/delete"}]}]}]},{"tab":"Plantillas","pages":[{"title":"Plantillas","href":"/es-es/templates/overview"}]},{"tab":"Referencia de la API","pages":[{"title":"Referencia de la API","href":"/es-es/api-reference/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/es-es/changelog"}]}],"global":{"anchors":[{"anchor":"Documentación","icon":"book-open-cover","href":"https://docs.vertracloud.app/es-es"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/vertracloud"},{"anchor":"Estado","icon":"heart-pulse","href":"https://status.vertracloud.app"}]}}]},"basePath":"","title":"Obtener credenciales compatibles con S3 para Blob Storage - Vertra Cloud","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js"]}