{"items":[{"type":"link","label":"Cloud Storage Local API","link":"/api-reference/cloud-storage/local-api","routeSlug":"/api-reference/cloud-storage/local-api","content":{"contentType":"overview","meta":{"name":"Cloud Storage Local API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"local-api.json","url":"/_bundle/API Reference/Cloud Storage/local-api.json?download"},{"kind":"download","label":"local-api.yaml","url":"/_bundle/API Reference/Cloud Storage/local-api.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"http://127.0.0.1:40000"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Cloud Storage Local API (2026-09-05)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Manage MoreLogin cloud storage files, uploads, deletions, and file tags through the MoreLogin Local API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base URL"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"http://127.0.0.1:40000"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Local API paths use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/api"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prefix."},"children":[]}]}]}]}],"sectionId":"/api-reference/cloud-storage/local-api"}],"sectionId":"/api-reference/cloud-storage/local-api"}]}]}},{"type":"separator","label":"Cloud Storage","content":null},{"type":"group","label":"Cloud Storage","link":"/api-reference/cloud-storage/local-api/cloud-storage","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage","items":[{"label":"Query Cloud Storage Information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage/querycloudstorageinfolocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage/querycloudstorageinfolocal","metadata":{"seo":{"title":"Query Cloud Storage Information","description":"Return the team's Cloud Storage quota and current usage."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"queryCloudStorageInfoLocal","name":"Query Cloud Storage Information","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1info/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Query Cloud Storage Information","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return the team's Cloud Storage quota and current usage."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the team must already have a Cloud Storage record. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A team that has never had Cloud Storage provisioned gets an error, not a zero-capacity reading"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the record is created when storage is purchased, not lazily by this call."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": none. Read-only. Safe to retry with bounded backoff."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Units"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"capacity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"usedCapacity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are byte counts."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accuracy"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"usedCapacity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a running counter maintained on upload and delete, not a live sum over the file table, so it can drift from the total of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fileSize"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/file/page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Values"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"capacityStatus"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when a positive quota is fully consumed; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"isExpired"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" compares the expiry date to now. Files whose upload was never confirmed do not count toward "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"usedCapacity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documented business errors: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39001"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/api-reference/getting-started/error-codes"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for what each code means. Any operation can additionally return the common codes."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/cloudstorage/info","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/cloudstorage/info","href":"cloud-storage/querycloudstorageinfolocal","openApiOperationId":"queryCloudStorageInfoLocal","summary":"Query Cloud Storage Information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2495"}},"schemaId":"schema_2495"}],"pointer":"/paths/~1api~1cloudstorage~1info/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2495","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2495"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage/querycloudstorageinfolocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/info"}],"content":{"contentType":"group","meta":{"name":"Cloud Storage"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Cloud Storage","showPageActions":true},{"nodeType":"markdoc","content":"Query storage quota and usage"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/cloudstorage/info","summary":"Query Cloud Storage Information","prefix":{"name":"get","color":"get"},"badges":[],"link":"/cloud-storage/querycloudstorageinfolocal","deprecated":false}]}]}]}]}},{"type":"group","label":"Cloud Storage Files","link":"/api-reference/cloud-storage/local-api/cloud-storage-files","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-files","items":[{"label":"Page Cloud Storage Files","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-files/pagecloudstoragefileslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-files/pagecloudstoragefileslocal","metadata":{"seo":{"title":"Page Cloud Storage Files","description":"List Cloud Storage files, page by page."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"pageCloudStorageFilesLocal","name":"Page Cloud Storage Files","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1file~1page/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Page Cloud Storage Files","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List Cloud Storage files, page by page."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": none. Read-only. Safe to retry with bounded backoff."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Visibility"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"only files whose upload was confirmed are listed"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a file with a pre-signed URL that was never completed does not appear. Members without the all-data permission see only files they uploaded."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fileName"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matches partially; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is an OR match; results are ordered newest first and the order cannot be changed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Caveat"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": an entry in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagInfo"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can be null when a tag was deleted while still attached to the file."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FilePageRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/FilePageRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1file~1page/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/file/page","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/FilePageRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/file/page","href":"cloud-storage-files/pagecloudstoragefileslocal","openApiOperationId":"pageCloudStorageFilesLocal","summary":"Page Cloud Storage Files"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/FilePageRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FilePageRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2496"}},"schemaId":"schema_2496"}],"pointer":"/paths/~1api~1cloudstorage~1file~1page/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2496","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2496"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-files/pagecloudstoragefileslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/file/page"},{"label":"Batch Request Presigned Upload URLs","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-files/batchrequestcloudstoragepresigneduploadurlslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-files/batchrequestcloudstoragepresigneduploadurlslocal","metadata":{"seo":{"title":"Batch Request Presigned Upload URLs","description":"Reserve Cloud Storage records and get pre-signed upload URLs."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"batchRequestCloudStoragePresignedUploadUrlsLocal","name":"Batch Request Presigned Upload URLs","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1upload~1init/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Batch Request Presigned Upload URLs","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reserve Cloud Storage records and get pre-signed upload URLs."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the team must have a Cloud Storage record and it must not be expired. Each base file name is limited to 60 characters and must be unique both within the request and against every existing file in the team — "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"matched on the name without its extension"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", so "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"a.png"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" collides with an existing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"a.mp4"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Limits"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": at most 100 uploads may sit unconfirmed at once across the team."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": inserts one file record per name with an uploading status and a zero size, and returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{id, fileName, presignedUrl}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for each."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quota"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"space is not checked here."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" It is charged when you confirm the upload, so init can succeed and complete can still fail for lack of space."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each pre-signed URL is valid for one hour"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the bytes to it, then call "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/upload/complete"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documented business errors: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39001"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39037"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39044"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39045"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39047"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39050"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39051"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/api-reference/getting-started/error-codes"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for what each code means. Any operation can additionally return the common codes."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UploadInitRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/UploadInitRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1upload~1init/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/upload/init","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/UploadInitRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/upload/init","href":"cloud-storage-files/batchrequestcloudstoragepresigneduploadurlslocal","openApiOperationId":"batchRequestCloudStoragePresignedUploadUrlsLocal","summary":"Batch Request Presigned Upload URLs"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/UploadInitRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UploadInitRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2497"}},"schemaId":"schema_2497"}],"pointer":"/paths/~1api~1cloudstorage~1upload~1init/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2497","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2497"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-files/batchrequestcloudstoragepresigneduploadurlslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/upload/init"},{"label":"Confirm Upload Completion","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-files/confirmcloudstorageuploadcompletelocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-files/confirmcloudstorageuploadcompletelocal","metadata":{"seo":{"title":"Confirm Upload Completion","description":"Confirm an uploaded Cloud Storage file."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"confirmCloudStorageUploadCompleteLocal","name":"Confirm Upload Completion","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1upload~1complete/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Confirm Upload Completion","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm an uploaded Cloud Storage file."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the file record must belong to your team and the object must already be in storage — the service reads its ETag and length to verify. Size must be greater than 0 and under 2 GB."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": charges the team's storage quota atomically, then marks the record uploaded and stores the real size. Until this succeeds the file "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"does not appear in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/file/page"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and keeps occupying one of the 100 pending slots."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On failure the uploaded object is deleted."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Calling this too early, over the size limit, or with no space left removes the bytes from storage and leaves the record unconfirmed. Recovery is a fresh "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/upload/init"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and a re-upload, not a retry of this call."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous and idempotent once it has succeeded — a second call returns the same file without charging quota again."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": a record that is never confirmed is cleaned up automatically after 24 hours."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documented business errors: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39001"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39011"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39014"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39041"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39046"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39047"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/api-reference/getting-started/error-codes"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for what each code means. Any operation can additionally return the common codes."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UploadCompleteRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/UploadCompleteRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1upload~1complete/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/upload/complete","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/UploadCompleteRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/upload/complete","href":"cloud-storage-files/confirmcloudstorageuploadcompletelocal","openApiOperationId":"confirmCloudStorageUploadCompleteLocal","summary":"Confirm Upload Completion"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/UploadCompleteRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/UploadCompleteRequest","exampleIds":["paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2498"}},"schemaId":"schema_2498"}],"pointer":"/paths/~1api~1cloudstorage~1upload~1complete/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2498","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2498"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-files/confirmcloudstorageuploadcompletelocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/upload/complete"},{"label":"Batch Delete Cloud Storage Files","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-files/batchdeletecloudstoragefileslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-files/batchdeletecloudstoragefileslocal","metadata":{"seo":{"title":"Batch Delete Cloud Storage Files","description":"Delete Cloud Storage files by id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"batchDeleteCloudStorageFilesLocal","name":"Batch Delete Cloud Storage Files","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1file~1delete~1batch/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Batch Delete Cloud Storage Files","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete Cloud Storage files by id."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": every id must resolve within your team; "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the whole batch is rejected and rolled back if any one does not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", including ids that were already deleted."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": a soft delete. Quota is released in the same transaction, and the stored objects are removed on a best-effort basis — a storage failure is logged but does not fail the call, so an object can outlive its record. Tag assignments are not cleaned up."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous. Confirm released space with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documented business errors: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39011"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/api-reference/getting-started/error-codes"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for what each code means. Any operation can additionally return the common codes."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/FileDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/file/delete/batch","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/FileDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/file/delete/batch","href":"cloud-storage-files/batchdeletecloudstoragefileslocal","openApiOperationId":"batchDeleteCloudStorageFilesLocal","summary":"Batch Delete Cloud Storage Files"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/FileDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2499"}},"schemaId":"schema_2499"}],"pointer":"/paths/~1api~1cloudstorage~1file~1delete~1batch/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2499","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2499"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-files/batchdeletecloudstoragefileslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/file/delete/batch"}],"content":{"contentType":"group","meta":{"name":"Cloud Storage Files"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Cloud Storage Files","showPageActions":true},{"nodeType":"markdoc","content":"Query, upload, and delete cloud storage files"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/cloudstorage/file/page","summary":"Page Cloud Storage Files","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-files/pagecloudstoragefileslocal","deprecated":false},{"title":"/api/cloudstorage/upload/init","summary":"Batch Request Presigned Upload URLs","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-files/batchrequestcloudstoragepresigneduploadurlslocal","deprecated":false},{"title":"/api/cloudstorage/upload/complete","summary":"Confirm Upload Completion","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-files/confirmcloudstorageuploadcompletelocal","deprecated":false},{"title":"/api/cloudstorage/file/delete/batch","summary":"Batch Delete Cloud Storage Files","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-files/batchdeletecloudstoragefileslocal","deprecated":false}]}]}]}]}},{"type":"group","label":"Cloud Storage File Tags","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags","items":[{"label":"Set File Tags","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/setcloudstoragefiletagslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/setcloudstoragefiletagslocal","metadata":{"seo":{"title":"Set File Tags","description":"Replace the tags on a Cloud Storage file."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"setCloudStorageFileTagsLocal","name":"Set File Tags","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1set/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Set File Tags","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replace the tags on a Cloud Storage file."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": one "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fileId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" per call, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be non-empty and reference Cloud Storage tags belonging to your team. Profile tags are rejected."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": tags not present in the request are removed from the file and missing ones are added. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There is no way to clear all tags here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" because an empty list is rejected."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous and idempotent for the same body."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documented business errors: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39011"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39048"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39049"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/api-reference/getting-started/error-codes"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for what each code means. Any operation can additionally return the common codes."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/file/tag/set","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/file/tag/set","href":"cloud-storage-file-tags/setcloudstoragefiletagslocal","openApiOperationId":"setCloudStorageFileTagsLocal","summary":"Set File Tags"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2499"}},"schemaId":"schema_2499"}],"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1set/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2499","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2499"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/setcloudstoragefiletagslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/file/tag/set"},{"label":"Add File Tags","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/addcloudstoragefiletagslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/addcloudstoragefiletagslocal","metadata":{"seo":{"title":"Add File Tags","description":"Add tags to a Cloud Storage file without removing existing ones."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addCloudStorageFileTagsLocal","name":"Add File Tags","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1add/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add File Tags","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add tags to a Cloud Storage file without removing existing ones."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": one "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fileId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" per call, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must be non-empty and reference Cloud Storage tags belonging to your team."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": only adds; existing tags are left in place. Use the set variant to replace them."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous and idempotent — adding a tag the file already has changes nothing."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Documented business errors: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39011"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39048"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"39049"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/api-reference/getting-started/error-codes"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error Codes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for what each code means. Any operation can additionally return the common codes."},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/file/tag/add","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/file/tag/add","href":"cloud-storage-file-tags/addcloudstoragefiletagslocal","openApiOperationId":"addCloudStorageFileTagsLocal","summary":"Add File Tags"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileTagChangeRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2499"}},"schemaId":"schema_2499"}],"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1add/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2499","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2499"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/addcloudstoragefiletagslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/file/tag/add"},{"label":"Query File Tags","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/querycloudstoragefiletagslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/querycloudstoragefiletagslocal","metadata":{"seo":{"title":"Query File Tags","description":"Return the tags attached to one or more Cloud Storage files."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"queryCloudStorageFileTagsLocal","name":"Query File Tags","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1query/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Query File Tags","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return the tags attached to one or more Cloud Storage files."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": every "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fileId"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must resolve within your team; "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one unknown id fails the whole call"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" rather than returning partial data."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": none. Read-only. Safe to retry with bounded backoff."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Caveat"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is read from the assignments while the tag details come from live tags, so a tag deleted while still attached appears in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagIds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with no matching entry in the details. The two can differ in length."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileTagQueryRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/FileTagQueryRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/file/tag/query","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/FileTagQueryRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/file/tag/query","href":"cloud-storage-file-tags/querycloudstoragefiletagslocal","openApiOperationId":"queryCloudStorageFileTagsLocal","summary":"Query File Tags"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/FileTagQueryRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/FileTagQueryRequest","exampleIds":["paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2500"}},"schemaId":"schema_2500"}],"pointer":"/paths/~1api~1cloudstorage~1file~1tag~1query/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2500","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2500"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/querycloudstoragefiletagslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/file/tag/query"},{"label":"Query All Cloud Storage File Tags","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/queryallcloudstoragefiletagslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/queryallcloudstoragefiletagslocal","metadata":{"seo":{"title":"Query All Cloud Storage File Tags","description":"Return every Cloud Storage file tag in the team."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"queryAllCloudStorageFileTagsLocal","name":"Query All Cloud Storage File Tags","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1tag~1all/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Query All Cloud Storage File Tags","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return every Cloud Storage file tag in the team."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": none. Read-only. Safe to retry with bounded backoff."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": not paginated, and Cloud Storage tags have no server-side count limit, so the response grows with the number of tags your team creates."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/cloudstorage/tag/all","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/api/cloudstorage/tag/all","href":"cloud-storage-file-tags/queryallcloudstoragefiletagslocal","openApiOperationId":"queryAllCloudStorageFileTagsLocal","summary":"Query All Cloud Storage File Tags"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2501"}},"schemaId":"schema_2501"}],"pointer":"/paths/~1api~1cloudstorage~1tag~1all/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2501","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2501"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/queryallcloudstoragefiletagslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/tag/all"},{"label":"Create Cloud Storage File Tag","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/createcloudstoragefiletaglocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/createcloudstoragefiletaglocal","metadata":{"seo":{"title":"Create Cloud Storage File Tag","description":"Create a Cloud Storage file tag."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createCloudStorageFileTagLocal","name":"Create Cloud Storage File Tag","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1tag~1create/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Cloud Storage File Tag","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a Cloud Storage file tag."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagName"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must not be blank."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": creates the tag with a colour picked from a fixed palette. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Names are not checked for duplicates and there is no count limit"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", so repeating the call creates a second tag with the same name."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous; the response carries the new tag."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TagCreateRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/TagCreateRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1tag~1create/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/tag/create","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/TagCreateRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/tag/create","href":"cloud-storage-file-tags/createcloudstoragefiletaglocal","openApiOperationId":"createCloudStorageFileTagLocal","summary":"Create Cloud Storage File Tag"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/TagCreateRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TagCreateRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2502"}},"schemaId":"schema_2502"}],"pointer":"/paths/~1api~1cloudstorage~1tag~1create/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2502","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2502"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/createcloudstoragefiletaglocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/tag/create"},{"label":"Edit Cloud Storage File Tag","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/editcloudstoragefiletaglocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/editcloudstoragefiletaglocal","metadata":{"seo":{"title":"Edit Cloud Storage File Tag","description":"Rename a Cloud Storage file tag."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"editCloudStorageFileTagLocal","name":"Edit Cloud Storage File Tag","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1tag~1edit/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Edit Cloud Storage File Tag","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rename a Cloud Storage file tag."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the tag must exist in your team and be a Cloud Storage tag."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": only the name changes; the colour and every existing assignment are kept, so files show the new name immediately."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous. No optimistic locking — concurrent renames are last-write-wins."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TagEditRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/TagEditRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1tag~1edit/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/tag/edit","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/TagEditRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/tag/edit","href":"cloud-storage-file-tags/editcloudstoragefiletaglocal","openApiOperationId":"editCloudStorageFileTagLocal","summary":"Edit Cloud Storage File Tag"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/TagEditRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TagEditRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2503"}},"schemaId":"schema_2503"}],"pointer":"/paths/~1api~1cloudstorage~1tag~1edit/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2503","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2503"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/editcloudstoragefiletaglocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/tag/edit"},{"label":"Delete Cloud Storage File Tags","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/deletecloudstoragefiletagslocal","routeSlug":"/api-reference/cloud-storage/local-api/cloud-storage-file-tags/deletecloudstoragefiletagslocal","metadata":{"seo":{"title":"Delete Cloud Storage File Tags","description":"Delete Cloud Storage file tags."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteCloudStorageFileTagsLocal","name":"Delete Cloud Storage File Tags","isWebhook":false,"pointer":"/paths/~1api~1cloudstorage~1tag~1delete~1batch/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Cloud Storage File Tags","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete Cloud Storage file tags."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Preconditions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": every id must be a Cloud Storage tag in your team; "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one invalid id fails the whole batch"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the tags are deleted but "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"their file assignments are not cleaned up"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Two consequences to expect: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/file/tag/query"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keeps returning the deleted tag id with no matching detail, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tagInfo"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"/cloudstorage/file/page"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can contain null entries. Filtering files by a deleted tag id returns nothing."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completion"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": synchronous, and not wrapped in a transaction."},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TagDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example"]}},"schemaId":"components/schemas/TagDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example"],"pointer":"/paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/cloudstorage/tag/delete/batch","servers":[{"url":"http://127.0.0.1:40000"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/TagDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example"]}},"responseCodes":["200"],"pointer":"/api/cloudstorage/tag/delete/batch","href":"cloud-storage-file-tags/deletecloudstoragefiletagslocal","openApiOperationId":"deleteCloudStorageFileTagsLocal","summary":"Delete Cloud Storage File Tags"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"http://127.0.0.1:40000"}],"schemaId":"components/schemas/TagDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/TagDeleteRequest","exampleIds":["paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2503"}},"schemaId":"schema_2503"}],"pointer":"/paths/~1api~1cloudstorage~1tag~1delete~1batch/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_2503","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2503"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/cloud-storage-file-tags/deletecloudstoragefiletagslocal"}],"panels":[]}]},"httpPath":"/api/cloudstorage/tag/delete/batch"}],"content":{"contentType":"group","meta":{"name":"Cloud Storage File Tags"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Cloud Storage File Tags","showPageActions":true},{"nodeType":"markdoc","content":"Manage tags attached to cloud storage files"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/cloudstorage/file/tag/set","summary":"Set File Tags","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-file-tags/setcloudstoragefiletagslocal","deprecated":false},{"title":"/api/cloudstorage/file/tag/add","summary":"Add File Tags","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-file-tags/addcloudstoragefiletagslocal","deprecated":false},{"title":"/api/cloudstorage/file/tag/query","summary":"Query File Tags","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-file-tags/querycloudstoragefiletagslocal","deprecated":false},{"title":"/api/cloudstorage/tag/all","summary":"Query All Cloud Storage File Tags","prefix":{"name":"get","color":"get"},"badges":[],"link":"/cloud-storage-file-tags/queryallcloudstoragefiletagslocal","deprecated":false},{"title":"/api/cloudstorage/tag/create","summary":"Create Cloud Storage File Tag","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-file-tags/createcloudstoragefiletaglocal","deprecated":false},{"title":"/api/cloudstorage/tag/edit","summary":"Edit Cloud Storage File Tag","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-file-tags/editcloudstoragefiletaglocal","deprecated":false},{"title":"/api/cloudstorage/tag/delete/batch","summary":"Delete Cloud Storage File Tags","prefix":{"name":"post","color":"post"},"badges":[],"link":"/cloud-storage-file-tags/deletecloudstoragefiletagslocal","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/ApiResponseBase":{"id":"components/schemas/ApiResponseBase","kind":"json-schema","title":"ApiResponseBase","data":{"type":"object","properties":{"code":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return result code. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means success; other codes indicate exceptions."},"children":[]}]}]}],"example":0},"msg":{"type":["string","null"],"description":"Error message.","example":null},"requestId":{"type":"string","description":"Operation request ID. This field may be present when the request passes through the API gateway.","example":"1d4f3ea968664593860b94b35d4ebf5e"}},"required":["code","msg"]}},"components/schemas/StorageInfo":{"id":"components/schemas/StorageInfo","kind":"json-schema","title":"StorageInfo","data":{"type":"object","properties":{"capacity":{"type":"string","description":"Total cloud storage capacity in bytes.","example":"10737418240"},"usedCapacity":{"type":"string","description":"Used cloud storage capacity in bytes.","example":"536870912"},"expireDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Cloud storage expiration date."},"capacityStatus":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capacity status: 0 = normal, 1 = full."},"children":[]}]}]}],"example":0},"isExpired":{"type":"boolean","description":"Whether the subscription plan has expired.","example":false}}}},"components/schemas/FilePageRequest":{"id":"components/schemas/FilePageRequest","kind":"json-schema","title":"FilePageRequest","data":{"type":"object","properties":{"pageNo":{"type":"integer","description":"Current page number, starting from 1. Default is 1.","minimum":1,"default":1,"example":1},"pageSize":{"type":"integer","description":"Number of items per page. Default is 10.","minimum":1,"default":10,"example":20},"fileName":{"type":"string","description":"File name keyword for fuzzy search.","example":"report"},"tagIds":{"type":"array","description":"Filter files by tag IDs.","items":{"type":"string"},"example":["1800000000000101"]},"fileType":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"File type filter: 0 = image, 1 = video, 2 = application, 3 = audio, 4 = document, 5 = other."},"children":[]}]}]}],"example":0},"fileIds":{"type":"array","description":"Filter files by file IDs.","items":{"type":"string"},"example":["1800000000001001"]}}}},"components/schemas/TagInfo":{"id":"components/schemas/TagInfo","kind":"json-schema","title":"TagInfo","data":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID.","example":"1800000000000101"},"tagSource":{"type":"string","description":"Tag source, e.g. ENV, PROXY.","example":"ENV"},"tagName":{"type":"string","description":"Tag name.","example":"Invoice"},"tagType":{"type":"string","description":"Tag type: TAG or GROUP.","example":"TAG"},"tagIcon":{"type":"string","description":"Tag icon.","example":""}}}},"components/schemas/CloudStorageFile":{"id":"components/schemas/CloudStorageFile","kind":"json-schema","title":"CloudStorageFile","data":{"type":"object","properties":{"id":{"type":"string","description":"Cloud storage file ID.","example":"1800000000001001"},"fileName":{"type":"string","description":"File name (without extension).","example":"example"},"fileExt":{"type":"string","description":"File extension.","example":"jpg"},"fileSize":{"type":"string","description":"File size in bytes.","example":"204800"},"fileType":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"File type: 0 = image, 1 = video, 2 = application, 3 = audio, 4 = document, 5 = other."},"children":[]}]}]}],"example":0},"tagInfo":{"type":"array","description":"Tag details attached to the file.","items":{"$ref":"#/components/schemas/TagInfo"}},"createDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Upload time."},"updateDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Update time."}}}},"components/schemas/FilePageData":{"id":"components/schemas/FilePageData","kind":"json-schema","title":"FilePageData","data":{"type":"object","properties":{"current":{"type":"string","example":"1"},"pages":{"type":"string","example":"7"},"total":{"type":"string","example":"128"},"dataList":{"type":"array","items":{"$ref":"#/components/schemas/CloudStorageFile"}}},"required":["current","pages","total","dataList"]}},"components/schemas/UploadInitRequest":{"id":"components/schemas/UploadInitRequest","kind":"json-schema","title":"UploadInitRequest","data":{"type":"object","properties":{"fileNames":{"type":"array","minItems":1,"description":"List of file names to upload (with extensions), e.g. photo.jpg, video.mp4.","items":{"type":"string"},"example":["photo.jpg","video.mp4"]}},"required":["fileNames"]}},"components/schemas/UploadInitResult":{"id":"components/schemas/UploadInitResult","kind":"json-schema","title":"UploadInitResult","data":{"type":"object","properties":{"id":{"type":"string","description":"Cloud storage file ID.","example":"1800000000000001"},"fileName":{"type":"string","description":"File name (with extension).","example":"photo.jpg"},"presignedUrl":{"type":"string","description":"S3 presigned upload URL. Use HTTPS PUT to upload the file content.","example":"https://example.com/presigned-upload-url"}}}},"components/schemas/UploadCompleteRequest":{"id":"components/schemas/UploadCompleteRequest","kind":"json-schema","title":"UploadCompleteRequest","data":{"type":"object","properties":{"id":{"type":"string","description":"Cloud storage file ID returned by the presigned upload URL API.","example":"1800000000000001"}},"required":["id"]}},"components/schemas/FileDeleteRequest":{"id":"components/schemas/FileDeleteRequest","kind":"json-schema","title":"FileDeleteRequest","data":{"type":"object","properties":{"ids":{"type":"array","minItems":1,"items":{"type":"string"},"description":"Cloud storage file IDs to delete.","example":["1800000000001001","1800000000001002"]}},"required":["ids"]}},"components/schemas/FileTagChangeRequest":{"id":"components/schemas/FileTagChangeRequest","kind":"json-schema","title":"FileTagChangeRequest","data":{"type":"object","properties":{"fileId":{"type":"string","description":"Cloud storage file ID.","example":"1800000000001001"},"tagIds":{"type":"array","minItems":1,"items":{"type":"string"},"description":"Tag IDs.","example":["1800000000000101","1800000000000102"]}},"required":["fileId","tagIds"]}},"components/schemas/FileTagQueryRequest":{"id":"components/schemas/FileTagQueryRequest","kind":"json-schema","title":"FileTagQueryRequest","data":{"type":"object","properties":{"fileIds":{"type":"array","minItems":1,"items":{"type":"string"},"description":"Cloud storage file IDs.","example":["1800000000001001"]}},"required":["fileIds"]}},"components/schemas/FileTagResultData":{"id":"components/schemas/FileTagResultData","kind":"json-schema","title":"FileTagResultData","data":{"type":"object","properties":{"fileId":{"type":"string","description":"Cloud storage file ID.","example":"1800000000001001"},"tagIds":{"type":"array","items":{"type":"string"},"description":"Tag IDs attached to the file.","example":["1800000000000101"]},"tagInfo":{"type":"array","description":"Tag details.","items":{"$ref":"#/components/schemas/TagInfo"}}}}},"components/schemas/TagCreateRequest":{"id":"components/schemas/TagCreateRequest","kind":"json-schema","title":"TagCreateRequest","data":{"type":"object","properties":{"tagName":{"type":"string","description":"Tag name.","example":"Invoice"}},"required":["tagName"]}},"components/schemas/TagEditRequest":{"id":"components/schemas/TagEditRequest","kind":"json-schema","title":"TagEditRequest","data":{"type":"object","properties":{"id":{"type":"string","description":"Tag ID.","example":"1800000000000101"},"tagName":{"type":"string","description":"Tag name.","example":"Invoice 2026"}},"required":["id","tagName"]}},"components/schemas/TagDeleteRequest":{"id":"components/schemas/TagDeleteRequest","kind":"json-schema","title":"TagDeleteRequest","data":{"type":"object","properties":{"ids":{"type":"array","minItems":1,"items":{"type":"string"},"description":"Tag IDs to delete.","example":["1800000000000101"]}},"required":["ids"]}},"schema_2495":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/StorageInfo"}},"required":["data"]}]},"id":"schema_2495"},"schema_2496":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/FilePageData"}},"required":["data"]}]},"id":"schema_2496"},"schema_2497":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UploadInitResult"}}},"required":["data"]}]},"id":"schema_2497"},"schema_2498":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CloudStorageFile"}},"required":["data"]}]},"id":"schema_2498"},"schema_2499":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"type":"null","example":null}}}]},"id":"schema_2499"},"schema_2500":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FileTagResultData"}}},"required":["data"]}]},"id":"schema_2500"},"schema_2501":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TagInfo"}}},"required":["data"]}]},"id":"schema_2501"},"schema_2502":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TagInfo"}},"required":["data"]}]},"id":"schema_2502"},"schema_2503":{"kind":"json-schema","data":{"allOf":[{"$ref":"#/components/schemas/ApiResponseBase"},{"type":"object","properties":{"data":{"type":"boolean","example":true}},"required":["data"]}]},"id":"schema_2503"}},"exampleStore":{"paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example":{"value":{"pageNo":1,"pageSize":20,"fileName":"report","tagIds":["1800000000000001"]},"id":"paths/~1api~1cloudstorage~1file~1page/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example":{"value":{"fileNames":["example.jpg"]},"id":"paths/~1api~1cloudstorage~1upload~1init/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example":{"value":{"id":"1800000000000001"},"id":"paths/~1api~1cloudstorage~1upload~1complete/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example":{"value":{"ids":["1800000000001001","1800000000001002"]},"id":"paths/~1api~1cloudstorage~1file~1delete~1batch/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example":{"value":{"fileId":"1800000000001001","tagIds":["1800000000000101","1800000000000102"]},"id":"paths/~1api~1cloudstorage~1file~1tag~1set/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example":{"value":{"fileId":"1800000000001001","tagIds":["1800000000000103"]},"id":"paths/~1api~1cloudstorage~1file~1tag~1add/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example":{"value":{"fileIds":["1800000000001001"]},"id":"paths/~1api~1cloudstorage~1file~1tag~1query/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example":{"value":{"tagName":"Invoice"},"id":"paths/~1api~1cloudstorage~1tag~1create/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example":{"value":{"id":"1800000000000101","tagName":"Invoice 2026"},"id":"paths/~1api~1cloudstorage~1tag~1edit/post/requestBody/content/application~1json/example"},"paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example":{"value":{"ids":["1800000000000101"]},"id":"paths/~1api~1cloudstorage~1tag~1delete~1batch/post/requestBody/content/application~1json/example"}},"securitySchemeStore":{},"servers":[{"url":"http://127.0.0.1:40000"}]},"options":{"hideSidebar":true,"mockServer":{"off":true},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/API Reference/Cloud Storage/local-api.json?download"},{"url":"/_bundle/API Reference/Cloud Storage/local-api.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Cloud Storage Local API","description":"Manage MoreLogin cloud storage files, uploads, deletions, and file tags through the MoreLogin Local API.\n\n**Base URL**: `http://127.0.0.1:40000`\n\nLocal API paths use the `/api` prefix.\n"}},"baseSlug":"/api-reference/cloud-storage/local-api","routesMapping":{}}