{"basePath":"/api/v1","consumes":["application/json"],"definitions":{"badge":{"properties":{"created":{"format":"date-time","type":"string","x-isnullable":true},"created_by":{"type":"string","x-isnullable":true},"created_by_name":{"type":"string","x-isnullable":true},"name":{"example":"QATesting","maxLength":50,"minLength":1,"pattern":"^[0-9a-zA-Z-_]+$","type":"string","x-isnullable":true},"releaseid":{"example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string","x-isnullable":true},"releasenum":{"format":"int64","type":"integer"}},"type":"object"},"badgeAssign":{"properties":{"name":{"example":"QATesting","maxLength":50,"minLength":1,"pattern":"^[0-9a-zA-Z-_]+$","type":"string","x-isnullable":true},"releaseid":{"example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string"},"releasenum":{"example":2,"format":"int64","type":"integer","x-isnullable":false}},"required":["name"],"type":"object"},"bucket":{"properties":{"attributes":{"$ref":"#/definitions/bucketAttributes"},"changes":{"$ref":"#/definitions/changecount"},"created":{"format":"date-time","type":"string","x-isnullable":true},"description":{"example":"Something that describes this bucket","type":"string","x-isnullable":true},"environment_id":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string","x-isnullable":true},"environment_name":{"example":"test_environment","type":"string","x-isnullable":true},"id":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"last_release":{"$ref":"#/definitions/release"},"name":{"example":"android_staging","maxLength":50,"type":"string","x-isnullable":true},"permissions":{"$ref":"#/definitions/bucketPermissions"},"private":{"example":true,"type":"boolean","x-isnullable":false,"x-omitempty":false},"projectguid":{"example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string"}},"type":"object"},"bucketAttributes":{"properties":{"promote_only":{"example":true,"type":"boolean","x-isnullable":true}},"type":"object"},"bucketCreate":{"properties":{"description":{"example":"Something that describes this bucket","type":"string","x-isnullable":true},"name":{"example":"android_staging","maxLength":50,"minLength":1,"pattern":"^\\S.*$","type":"string","x-isnullable":true},"private":{"default":false,"example":true,"type":"boolean","x-isnullable":false,"x-omitempty":false},"projectguid":{"example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string"}},"required":["name","projectguid"],"type":"object"},"bucketPermissions":{"properties":{"bucket_promote":{"example":false,"type":"boolean","x-isnullable":true},"bucket_read":{"example":true,"type":"boolean","x-isnullable":true},"bucket_release":{"example":false,"type":"boolean","x-isnullable":true},"bucket_write":{"example":false,"type":"boolean","x-isnullable":true}},"type":"object"},"bucketUpdate":{"properties":{"description":{"example":"Something that describes this bucket","type":"string","x-isnullable":true},"name":{"example":"android_staging","maxLength":50,"minLength":1,"pattern":"^\\S.*$","type":"string","x-isnullable":true}},"type":"object"},"bucketaccesstoken":{"properties":{"created":{"format":"date-time","type":"string","x-isnullable":true},"description":{"type":"string","x-isnullable":true},"id":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"releaseid":{"description":"If not specified, the access token will be valid for all releases in the bucket.","example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string","x-isnullable":true},"token":{"type":"string","x-isnullable":true}},"type":"object"},"bucketaccesstokenCreate":{"properties":{"description":{"example":"Shared with internal devs","maxLength":50,"minLength":1,"type":"string","x-isnullable":true},"releaseid":{"description":"If not specified, the access token will be valid for all releases in the bucket.","example":"123e4567-e89b-12d3-a456-426655440000","format":"uuid","type":"string","x-isnullable":true}},"type":"object"},"bucketaccesstokenUpdate":{"properties":{"description":{"example":"Shared with internal devs","maxLength":50,"minLength":1,"type":"string","x-isnullable":true}},"type":"object"},"changecount":{"properties":{"add":{"example":3,"format":"int64","minimum":0,"type":"integer","x-isnullable":false,"x-omitempty":false},"delete":{"example":1,"format":"int64","minimum":0,"type":"integer","x-isnullable":false,"x-omitempty":false},"last_modified":{"format":"date-time","type":"string","x-isnullable":true},"last_modified_by":{"type":"string","x-isnullable":true},"last_modified_by_name":{"type":"string","x-isnullable":true},"loading":{"type":"boolean","x-omitempty":false},"unchanged":{"example":3,"format":"int64","minimum":0,"type":"integer","x-isnullable":false,"x-omitempty":false},"update":{"example":5,"format":"int64","minimum":0,"type":"integer","x-isnullable":false,"x-omitempty":false}},"type":"object"},"entry":{"properties":{"complete":{"type":"boolean","x-omitempty":false},"content_hash":{"description":"The \"content_hash\" should be MD5sum hash value.","example":"c76580fa26181bfa8d8952826bd334d5","pattern":"^[a-fA-F0-9]+$","type":"string","x-isnullable":true},"content_link":{"type":"string"},"content_size":{"example":1234567,"format":"int64","minimum":0,"type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"current_versionid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"entryid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"labels":{"items":{"maxLength":250,"type":"string","x-isnullable":true},"type":"array"},"last_modified":{"format":"date-time","type":"string","x-isnullable":true},"last_modified_by":{"type":"string","x-isnullable":true},"last_modified_by_name":{"type":"string","x-isnullable":true},"link":{"type":"string"},"metadata":{"type":"object","x-isnullable":true},"path":{"example":"ios/character1.bundle","maxLength":65535,"pattern":"^\\S.*$","type":"string","x-isnullable":true},"signed_url":{"type":"string","x-isnullable":true},"updated_at":{"format":"date-time","type":"string","x-isnullable":true}},"type":"object"},"entryCreate":{"properties":{"content_hash":{"description":"The \"content_hash\" should be MD5sum hash value.","example":"c76580fa26181bfa8d8952826bd334d5","pattern":"^[a-fA-F0-9]+$","type":"string","x-isnullable":true},"content_size":{"example":1234567,"format":"int64","minimum":0,"type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"labels":{"items":{"maxLength":250,"type":"string","x-isnullable":true},"type":"array"},"metadata":{"type":"object","x-isnullable":true},"path":{"example":"ios/character1.bundle","maxLength":65535,"pattern":"^\\S.*$","type":"string","x-isnullable":true},"signed_url":{"description":"Set to 'true' if you want to return a signed URL for direct upload. Otherwise defaults to 'false'.","type":"boolean","x-isnullable":false,"x-omitempty":false}},"required":["path"],"type":"object"},"entryCreateBatch":{"properties":{"content_hash":{"description":"The \"content_hash\" should be MD5sum hash value.","example":"c76580fa26181bfa8d8952826bd334d5","pattern":"^[a-fA-F0-9]+$","type":"string","x-isnullable":true},"content_size":{"example":1234567,"format":"int64","minimum":0,"type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"labels":{"items":{"maxLength":250,"type":"string","x-isnullable":true},"type":"array"},"metadata":{"type":"object","x-isnullable":true},"path":{"example":"ios/character1.bundle","maxLength":65535,"pattern":"^\\S.*$","type":"string","x-isnullable":true}},"required":["path"],"type":"object"},"entryCreateByPath":{"properties":{"content_hash":{"description":"The \"content_hash\" should be MD5sum hash value.","example":"c76580fa26181bfa8d8952826bd334d5","pattern":"^[a-fA-F0-9]+$","type":"string","x-isnullable":true},"content_size":{"example":1234567,"format":"int64","minimum":0,"type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"labels":{"items":{"maxLength":250,"type":"string","x-isnullable":true},"type":"array"},"metadata":{"type":"object","x-isnullable":true},"signed_url":{"description":"Set to 'true' if you want to return a signed URL for direct upload. Otherwise defaults to 'false'.","type":"boolean","x-isnullable":false,"x-omitempty":false}},"type":"object"},"entryDeleteBatch":{"properties":{"entryid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"}},"required":["entryid"],"type":"object"},"entryUpdate":{"properties":{"content_hash":{"description":"The \"content_hash\" should be MD5sum hash value.","example":"c76580fa26181bfa8d8952826bd334d5","pattern":"^[a-fA-F0-9]+$","type":"string","x-isnullable":true},"content_size":{"example":1234567,"format":"int64","minimum":0,"type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"labels":{"items":{"maxLength":250,"type":"string","x-isnullable":true},"type":"array"},"metadata":{"type":"object","x-isnullable":true},"signed_url":{"description":"Set to 'true' if you want to return a signed URL for direct upload. Otherwise defaults to 'false'.","type":"boolean","x-isnullable":false,"x-omitempty":false}},"type":"object"},"environment":{"properties":{"id":{"example":"11111111-1111-1111-1111-111111111111","format":"uuid","type":"string"},"is_default":{"example":true,"type":"boolean","x-omitempty":false},"name":{"example":"An Environment","type":"string","x-isnullable":true},"project_id":{"example":"22222222-2222-2222-2222-222222222222","format":"uuid","type":"string"}},"type":"object"},"errorCodes":{"description":"0 - OK\n1 - Invalid argument\n2 - Out of range\n3 - Unauthenticated\n4 - Permission denied\n5 - Not found\n6 - Already exists\n7 - Unknown error\n8 - Internal error\n9 - Invalid operation\n10 - Organization Activation is needed\n11 - You have an entry specified, but the matching file has not been uploaded, or the file size, or md5 hash of what was uploaded does not match\n12 - too many requests","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12],"format":"int32","type":"integer","x-go-const-names":["OK","Invalid argument","Out of range","Unauthenticated","Permission denied","Not found","Already exists","Unknown error","Internal error","Invalid operation","Organization Activation is needed","You have an entry specified, but the matching file has not been uploaded, or the file size, or md5 hash of what was uploaded does not match","too many requests"]},"httperror":{"properties":{"code":{"$ref":"#/definitions/errorCodes"},"details":{"items":{"type":"string"},"type":"array","x-isnullable":true},"reason":{"example":"not found","type":"string"}},"type":"object"},"metricQuantity":{"properties":{"quantity":{"example":142312,"format":"int64","minimum":0,"type":"integer","x-isnullable":false,"x-omitempty":false}},"type":"object"},"nocontent":{"type":"object"},"org":{"properties":{"id":{"example":"an-organization","type":"string"},"name":{"example":"An Organization","type":"string"},"orgid":{"example":12345678,"type":"string"},"tos_accepted":{"example":true,"type":"boolean","x-omitempty":false}},"type":"object"},"orgTosUpdate":{"properties":{"tos_version":{"example":1,"format":"int64","type":"integer","x-omitempty":false}},"type":"object"},"orgusage":{"properties":{"id":{"example":"an-organization","type":"string","x-isnullable":false},"start_time":{"format":"date-time","type":"string","x-isnullable":true},"usage":{"items":{"$ref":"#/definitions/usage"},"type":"array"}},"type":"object"},"permission":{"properties":{"action":{"example":"write","type":"string","x-isnullable":true},"permission":{"example":"allow","type":"string","x-isnullable":true},"resource":{"example":"bucket/0000-0000-0000-0000","type":"string","x-isnullable":true},"role":{"example":"user","type":"string","x-isnullable":true}},"type":"object"},"permissionCreate":{"properties":{"action":{"enum":["write","list-entries","list-releases"],"example":"write","type":"string"},"permission":{"enum":["allow","deny"],"example":"allow","type":"string"},"role":{"default":"user","enum":["user","client"],"example":"user","type":"string"}},"required":["action","permission"],"type":"object"},"permissionUpdate":{"properties":{"action":{"enum":["write","list-entries","list-releases"],"example":"write","type":"string"},"permission":{"enum":["allow","deny"],"example":"allow","type":"string"},"role":{"default":"user","enum":["user","client"],"example":"user","type":"string"}},"required":["action","permission"],"type":"object"},"promoteBucketResponse":{"properties":{"promotion_id":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false}},"type":"object"},"promotebucket":{"properties":{"from_release":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"notes":{"description":"If unset, the release notes of the \"from release\" will be used.","type":"string","x-isnullable":true},"to_bucket":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"to_environment":{"description":"If unset, the environment of the \"from_release\" will be used.","example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"}},"required":["from_release","to_bucket"],"type":"object"},"promotion":{"properties":{"error":{"type":"string","x-isnullable":true,"x-omitempty":true},"from_bucket_id":{"example":"a9b0657d-b223-4075-9206-ead33ac06d6c","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false},"from_bucket_name":{"type":"string","x-isnullable":false,"x-omitempty":false},"from_environment_id":{"example":"a9b0657d-b223-4075-9206-ead33ac06d6c","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false},"from_environment_name":{"type":"string","x-isnullable":false,"x-omitempty":false},"from_release_id":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false},"from_release_number":{"format":"int64","type":"integer","x-isnullable":false,"x-omitempty":false},"promotion_id":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false},"promotion_status":{"enum":["NotFound","Complete","InProgress","Failed"],"example":"Complete","type":"string","x-isnullable":true,"x-omitempty":false},"to_bucket_id":{"example":"d950657d-2b23-4907-9206-ead33ac17d7a","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false},"to_bucket_name":{"type":"string","x-isnullable":false,"x-omitempty":false},"to_environment_id":{"example":"a9b0657d-b223-4075-9206-ead33ac06d6c","format":"uuid","type":"string","x-isnullable":false,"x-omitempty":false},"to_environment_name":{"type":"string","x-isnullable":false,"x-omitempty":false},"to_release_id":{"example":"609a57d-b223-4507-9206-ca36ead03c6d","format":"uuid","type":"string","x-isnullable":true,"x-omitempty":false}},"type":"object"},"release":{"properties":{"badges":{"items":{"$ref":"#/definitions/badge"},"type":"array","x-isnullable":true},"changes":{"$ref":"#/definitions/changecount"},"content_hash":{"example":"c76580fa26181bfa8d8952826bd334d5","type":"string","x-isnullable":true},"content_size":{"example":1234567,"format":"int64","type":"integer","x-isnullable":true},"created":{"format":"date-time","type":"string","x-isnullable":true},"created_by":{"type":"string","x-isnullable":true},"created_by_name":{"type":"string","x-isnullable":true},"entries_link":{"type":"string"},"metadata":{"type":"object","x-isnullable":true},"notes":{"type":"string","x-isnullable":true},"promoted_from_bucket":{"format":"uuid","type":"string","x-isnullable":true},"promoted_from_release":{"format":"uuid","type":"string","x-isnullable":true},"releaseid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"releasenum":{"format":"int64","type":"integer"}},"type":"object"},"releaseCreate":{"properties":{"entries":{"items":{"$ref":"#/definitions/releaseentryCreate"},"type":"array","x-isnullable":true},"metadata":{"type":"object","x-isnullable":true},"notes":{"type":"string","x-isnullable":true},"snapshot":{"example":"2017-07-21T17:32:28Z","format":"date-time","type":"string","x-isnullable":true}},"type":"object"},"releaseUpdate":{"properties":{"notes":{"type":"string","x-isnullable":true}},"type":"object"},"releaseentry":{"properties":{"change_state":{"enum":["Unchanged","Add","Delete","Update"],"type":"string","x-isnullable":true},"complete":{"type":"boolean","x-omitempty":false},"content_hash":{"example":"c76580fa26181bfa8d8952826bd334d5","pattern":"^[a-fA-F0-9]+$","type":"string","x-isnullable":true},"content_link":{"type":"string"},"content_size":{"format":"int64","type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"entryid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"labels":{"items":{"type":"string","x-isnullable":true},"type":"array"},"last_modified":{"format":"date-time","type":"string","x-isnullable":true},"last_modified_by":{"type":"string","x-isnullable":true},"last_modified_by_name":{"type":"string","x-isnullable":true},"link":{"type":"string"},"metadata":{"type":"object","x-isnullable":true},"path":{"example":"ios/character1.bundle","pattern":"^\\S.*$","type":"string","x-isnullable":true},"updated_at":{"format":"date-time","type":"string","x-isnullable":true},"versionid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"}},"type":"object"},"releaseentryCreate":{"properties":{"entryid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"},"versionid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"}},"required":["versionid","entryid"],"type":"object"},"usage":{"properties":{"projectguid":{"format":"uuid","type":"string"},"quantity":{"example":50.45434434,"format":"double","minimum":0,"type":"number","x-isnullable":false,"x-omitempty":false}},"type":"object"},"user":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"userapikey":{"properties":{"apikey":{"type":"string","x-isnullable":false}},"required":["apikey"],"type":"object"},"version":{"properties":{"content_hash":{"example":"c76580fa26181bfa8d8952826bd334d5","type":"string","x-isnullable":true},"content_link":{"type":"string"},"content_size":{"example":1234567,"format":"int64","type":"integer","x-isnullable":true},"content_type":{"example":"image/jpeg","type":"string","x-isnullable":true},"labels":{"items":{"type":"string","x-isnullable":true},"type":"array","x-isnullable":true},"last_modified":{"format":"date-time","type":"string","x-isnullable":true},"link":{"type":"string"},"metadata":{"type":"object","x-isnullable":true},"path":{"example":"ios/character1.bundle","type":"string","x-isnullable":true},"versionid":{"example":"b9a0657d-b223-4507-9206-ead33ac06c6d","format":"uuid","type":"string"}},"type":"object"}},"host":"content-api.cloud.unity3d.com","info":{"contact":{},"description":"\u003cp\u003eCloud Content Delivery is a managed cloud service that hosts and delivers content to end users worldwide.\u003c/p\u003e \u003cp\u003eYou are currently viewing the documentation for the \u003cb\u003eManagement API\u003c/b\u003e, intended to be used by developers at build time for managing content. Refer to the \u003ca href=\"https://content-api.cloud.unity3d.com/doc_client/\"\u003eContent Delivery Client API\u003c/a\u003e for documentation about the API intended to be used at runtime by your game client.\u003c/p\u003e \u003cp\u003eFor details about the concept of buckets, entries, releases, and badges please refer to the \u003ca href=\"https://docs.unity.com/ccd/Content/UnityCCD.html#CCD_organization\"\u003eCCD Organization \u003c/a\u003edocumentation.\u003c/p\u003e \u003ch2\u003eClient SDK\u003c/h2\u003e \u003cp\u003eThe Content Delivery Management API is based on Swagger. The \u003ca href=\"https://swagger.io/tools/swagger-codegen/\"\u003eSwagger Code Generator\u003c/a\u003e can generate client libraries to integrate with your projects.\u003c/p\u003e \u003cp\u003eA \u003ca href=\"https://content-api.cloud.unity3d.com/doc/doc.json\"\u003eJSON schema\u003c/a\u003e is required to generate a client for this API version.\u003c/p\u003e \u003ch2\u003eEnvironments\u003c/h2\u003e \u003cp\u003eEnvironments can be created in the Unity Developer Dashboard. A project can exist in several different environments with completely different data sets. Org and User routes are not impacted by environments, but any project or bucket level route is. To find a list of environments for your project and their corresponding IDs visit the Dashboard. If you signed up for UGS Beta, click on Projects. Find your Project and then click on Environments under Project Settings. When environments were introduced all existing data was put into the 'production' environment. If you did not sign up, you can see the environment Id in the LiveOps page. In the Cloud Content Delivery section, click on buckets and you will see the Environment ID in the GUIDS tabs. If you make an API call without an environment ID or environment name you will get data from that default - 'production' - environment. \u003c/p\u003e \u003cp\u003eRoutes in the management API take an environment ID. Routes in the client API take an environment name which is then resolved by the API to the proper ID.\u003c/p\u003e \u003cp\u003eAll of the old routes without an environment specified have been marked deprecated. They still work and will continue to be supported. We just wanted to make it clear in the documentation which routes you should use going forward.\u003c/p\u003e \u003ch2\u003eWorkflow for Uploading Content to a Bucket\u003c/h2\u003e \u003cp\u003e If a user wants to upload content to a Bucket, they need to first create a new Entry for that bucket and using that Bucket ID and Entry ID they can upload the content(file). \u003c/p\u003e \u003cimg src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBEbyBub3QgZWRpdCB0aGlzIGZpbGUgd2l0aCBlZGl0b3JzIG90aGVyIHRoYW4gZGlhZ3JhbXMubmV0IC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwNnB4IiBoZWlnaHQ9IjM1MXB4IiB2aWV3Qm94PSItMC41IC0wLjUgMjA2IDM1MSIgY29udGVudD0iJmx0O214ZmlsZSBob3N0PSZxdW90O2FwcC5kaWFncmFtcy5uZXQmcXVvdDsgbW9kaWZpZWQ9JnF1b3Q7MjAyMS0xMC0xMVQyMjoxODoxOS4zOTFaJnF1b3Q7IGFnZW50PSZxdW90OzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTMuMC40NTc3LjYzIFNhZmFyaS81MzcuMzYmcXVvdDsgZXRhZz0mcXVvdDs1STEyRUJzaDdscHpya1NrVTZmNCZxdW90OyB2ZXJzaW9uPSZxdW90OzE1LjUuMCZxdW90OyB0eXBlPSZxdW90O2dvb2dsZSZxdW90OyZndDsmbHQ7ZGlhZ3JhbSBpZD0mcXVvdDtDNVJCczQzb0RhLUtkelplTnR1eSZxdW90OyBuYW1lPSZxdW90O1BhZ2UtMSZxdW90OyZndDt4VmRiVytNZ0VQMDFlZFF2bDk1OHRHblhkWFd2MWEzNlJoT2E4RWxEbDFEYitPdDNDTkRjZXJQV3p3Y3JIR0NBTTJlR2llWDVzOVVWUi9QNE93c3h0Vnc3WEZuZXdITGRDOWVEWHdsa0NtaTFYQVZFbklRS2NncGdSRjZ4Qm0yTkxraUkwOHBFd1JnVlpGNEZBNVlrT0JBVkRISE9sdFZwVTBhcnU4NVJoQnZBS0VDMGlZNUpLR0tGOXR4dWdYL0ZKSXJOems3blFvM01rSm1zYjVMR0tHVExFdVFOTGMvbmpBblZtcTE4VENWM2hwZnhkVGFtdDgrZHEyKy8wMy9vdm45ejkrUHZtVEwyNVMxTDFsZmdPQkduTmEyZCs0TG9RdlBsYzR3RWx1UW44QU1iOHN4eU8yZzJ0N3grTWtubFAwMkh5QXpIbkMyU0VNdDlIQmhleGtUZzBSd0ZjblFKb2dJc0ZqT3FoNmNzRVZvbURuRFlqeWhLcFk5dGFLZUNzK2UxbitUc05lbjJldU85UEdpK1hqQVhlRlZTZ2VibENyTVp6cTlsbTlHT2RuRlc2eThMeFRnOWpjVWx0Wmg1U0lzMFdwc3VIQUVON1l2TmZsbXU3cWQrLzJsOHN4Z21kMzhldkovako3ckJML2R6eWxBb295ZkdLbHlFWk9Ha3J0bkMyNkdVSDh5djUzNDJ2OTBHdnczbWNCSmV5dndEdlVCS2xBUlZzZ3BtcFRSeENGbEhMMlpjeEN4aUNhTERBdTNqRlJFUGN2WjVXL2NldFNYWkhxeU1JZG5KVEVlR1gybVI3RDZXeDRwbGVjK3NVNWVSWnpyQ2pjQUNXL0FBNzA4YkF2RUlpMzB5YnNxQ1k0b0VlYWtlYnBPUDlkSmZqRWlwR3psNU5UbTVyWnBNMVBuMXFuSktyQmxxN1RPa0x0Z3dsRXR1ZlovalZlajBHakxzTDRKbkxJOTREVDA0RGJqU0hxb2tuRU4xa1lLTGI5RUVudXlLTmhFbFVTS0ZDKzdHSEFBWjB3UWV4VXM5TUNOaG1LdVM0NVM4b2tsdVR5cG5MdSthMzc3ZHQ5cURYVWxCdjloNmNmRk9sbFcyUGZpMkpvc3orOXp1OWZRamZLeFN6QlEybmFiNFkzeDM4UWtwNUhQU1FUbk10NmVEazRlNTI2NUdaKzlFVWU1NGgwVTV1QTVscFdrNk5BNCtyK1BhTzgrMVp6NDAxQWxPS2xzVHBOdFN6bzc4VWs4VlIrV2IzYWxqVCtteEl4RGZvYjUzRlJMR2NLTlNJMGtFc0cvS05Qam9rZHZEMzBUVFhXTWE3aTJxcEtwaTJHZVVBYU9EaENXU3Z5bWh0QVlkVHY2bThxK2FnejZzQW14MUlXVlZhc0JtQ2VqYTdXWUoySDE3Q1FqZDRxdE1CVTd4YWVzTi93TT0mbHQ7L2RpYWdyYW0mZ3Q7Jmx0Oy9teGZpbGUmZ3Q7Ij48ZGVmcy8+PGc+PHJlY3QgeD0iMTMiIHk9IjEzMCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2MCIgcng9IjkiIHJ5PSI5IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMTc4cHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMTYwcHg7IG1hcmdpbi1sZWZ0OiAxNHB4OyI+PGRpdiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij5DcmVhdGUgYW4gZW50cnnCoDwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSIxMDMiIHk9IjE2NCIgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5DcmVhdGUgYW4gZW50cnnCoDwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iMTMiIHk9IjI5MCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2MCIgcng9IjkiIHJ5PSI5IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMTc4cHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMzIwcHg7IG1hcmdpbi1sZWZ0OiAxNHB4OyI+PGRpdiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij5VcGxvYWQgdGhlIGNvbnRlbnTCoDwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSIxMDMiIHk9IjMyNCIgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5VcGxvYWQgdGhlIGNvbnRlbnTCoDwvdGV4dD48L3N3aXRjaD48L2c+PHBhdGggZD0iTSAxMDMgMTkwIEwgMTAzIDI4My42MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDEwMyAyODguODggTCA5OS41IDI4MS44OCBMIDEwMyAyODMuNjMgTCAxMDYuNSAyODEuODggWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDIzN3B4OyBtYXJnaW4tbGVmdDogMTA0cHg7Ij48ZGl2IHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPkJ1Y2tldCBJRCArIEVudHJ5IElEPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9IjEwNCIgeT0iMjQwIiBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjExcHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPkJ1Y2tldCBJRCArIEVudHJ5IElEPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDEwMyA1MCBMIDEwMyA5MCBMIDEwMyAxMjMuNjMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0ic3Ryb2tlIi8+PHBhdGggZD0iTSAxMDMgMTI4Ljg4IEwgOTkuNSAxMjEuODggTCAxMDMgMTIzLjYzIEwgMTA2LjUgMTIxLjg4IFoiIGZpbGw9IiMwMDAwMDAiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBwb2ludGVyLWV2ZW50cz0iYWxsIi8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuNSAtMC41KSI+PHN3aXRjaD48Zm9yZWlnbk9iamVjdCBwb2ludGVyLWV2ZW50cz0ibm9uZSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5IiBzdHlsZT0ib3ZlcmZsb3c6IHZpc2libGU7IHRleHQtYWxpZ246IGxlZnQ7Ij48ZGl2IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHVuc2FmZSBjZW50ZXI7IGp1c3RpZnktY29udGVudDogdW5zYWZlIGNlbnRlcjsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiA5MXB4OyBtYXJnaW4tbGVmdDogMTA0cHg7Ij48ZGl2IHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDExcHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPkJ1Y2tldCBJRDwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSIxMDQiIHk9Ijk0IiBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjExcHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPkJ1Y2tldCBJRDwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iMC41IiB5PSIwIiB3aWR0aD0iMjA1IiBoZWlnaHQ9IjcwIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMjAzcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMzVweDsgbWFyZ2luLWxlZnQ6IDJweDsiPjxkaXYgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+VXBsb2FkaW5nIENvbnRlbnQgdG8gYSBidWNrZXQ8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMTAzIiB5PSIzOSIgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMnB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5VcGxvYWRpbmcgQ29udGVudCB0byBhIGJ1Y2tldDwvdGV4dD48L3N3aXRjaD48L2c+PC9nPjxzd2l0Y2g+PGcgcmVxdWlyZWRGZWF0dXJlcz0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHMTEvZmVhdHVyZSNFeHRlbnNpYmlsaXR5Ii8+PGEgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtNSkiIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3LmRpYWdyYW1zLm5ldC9kb2MvZmFxL3N2Zy1leHBvcnQtdGV4dC1wcm9ibGVtcyIgdGFyZ2V0PSJfYmxhbmsiPjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIGZvbnQtc2l6ZT0iMTBweCIgeD0iNTAlIiB5PSIxMDAlIj5WaWV3ZXIgZG9lcyBub3Qgc3VwcG9ydCBmdWxsIFNWRyAxLjE8L3RleHQ+PC9hPjwvc3dpdGNoPjwvc3ZnPg==\"/\u003e \u003cp\u003e If a user wants to upload new content for an existing file path, they first update the Entry for the file then upload the content. \u003c/p\u003e \u003cimg src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBEbyBub3QgZWRpdCB0aGlzIGZpbGUgd2l0aCBlZGl0b3JzIG90aGVyIHRoYW4gZGlhZ3JhbXMubmV0IC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSIgd2lkdGg9IjIwNnB4IiBoZWlnaHQ9IjM1MXB4IiB2aWV3Qm94PSItMC41IC0wLjUgMjA2IDM1MSIgY29udGVudD0iJmx0O214ZmlsZSBob3N0PSZxdW90O2FwcC5kaWFncmFtcy5uZXQmcXVvdDsgbW9kaWZpZWQ9JnF1b3Q7MjAyMS0xMC0xNFQwNDoyMDo1OC42MjhaJnF1b3Q7IGFnZW50PSZxdW90OzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTMuMC40NTc3LjYzIFNhZmFyaS81MzcuMzYmcXVvdDsgZXRhZz0mcXVvdDtYbDlERmE4Ry15TUtKOUVwSUp3TCZxdW90OyB2ZXJzaW9uPSZxdW90OzE1LjUuMCZxdW90OyB0eXBlPSZxdW90O2dvb2dsZSZxdW90OyZndDsmbHQ7ZGlhZ3JhbSBpZD0mcXVvdDtDNVJCczQzb0RhLUtkelplTnR1eSZxdW90OyBuYW1lPSZxdW90O1BhZ2UtMSZxdW90OyZndDt4VmRiVitNZ0VQNDFlZFNUUzYrUHB1MjZydTYxdWxYZk1LRUpSd0paUWszaXIxOElwTG4xWnEzSGx4NzRnQ256elRmRHhIQW1VWGJKUUJ4K3B6N0VobTM2bWVGTURkc2UyNDc0bFVDdWdONTRySUNBSVY5QlZnWE0wU3ZVb0tuUkZmSmgwdGpJS2NVY3hVM1FvNFJBanpjd3dCaE5tOXVXRkRmL05RWUI3QUJ6RCtBdXVrQStEeFU2c29jVi9oV2lJQ3ovMlJwby95SlFidGFlSkNId2FWcURuSm5oVEJpbFhJMmliQUt4NUs3a1pYR1ZML0ROOCtEeTIrL2tIN2h6cjI5Ly9EMVR4cjY4NWNqYUJRWUpQNjFwSGR3WGdGZWFyN3ZZQnh4SzhvbjRtUkhPY3UwK3owdE9HVjBSSDBxN2x1RzRhWWc0bk1mQWs2dXBFSkhBUWg1aHZieWtoR3RaV0lJek44QWdrVEUxeFRqaGpENnY0eUozcjBtV3l3ZjZyZmw1Z1l6RHJCWjF6Y01scEJFczNEREwxWUVPYWQ2YXA1VkNySkhHd3BvNnluMUFpekpZbTY2SUZ3UE4vZVk0cE5uZGN1SStMcTVYTTNMNzU5NzV1WGpFRytPQUtmQmx0b1JRcFFlWExOZ0RFRW1DeVZNU3J4azZOalJiZUR1VThvUDVkZXpQNW5mWTRiZkRIQ1QraGF3M1l1WkppU0t2U1ZiRnJKUW05RVdWMFljcDR5RU5LQUY0VnFFdXpCQy9sN3ZQKzNyMm9DM0o4VFFyRGNsSlhrNWt1dFVPeWVsRGZhMDZWc3pLYzhvWmVhY2p3aWhZb0N2bXdmMWxnZ01XUUw1UHhsMVpNSWdCUnkvTnkyMktzVDc2aXlJcDlWSk9Ua3RPZHE4bEUzVi9mYXBlQWx1R2V2c01LUWM3aGdySnJmMDVYb1hXcUNORGQrVTlRM25GS3pFVHQzR3JvbHRBYlpHS0VOK0FKL0ZFTjdRSk1BcUlGSzRJTjJRQ2tEbU54Q040b1JjaTVQdUZLaGxNMEN0NEt1eEo1Y1RTMThMN3ZtdjBwN3VLZ242aDllSHFYYXlyYkh2eWJTMFdaK2E1T1JycFIvZFlwWlJiNkhLWndJK0ozZmdUU3NqbmxJTjZtbTh2QnlkUGM3dmZ6TTdSaWJMY2NnN0xjaEU2a05lMjZkUTQrTDZXYmU2ODE1NzlZcUJ1Y0ZMWmxrbDZtcExUcmg1SGxhRGQxV1JQTjdJak45OGh5SGYxRnFYaFR2T0dTQ0JnQXRONi95YStmc3JtV2p6OUNWZWJsZ2pEd2xQUkhyVURJT2pnVGE1VjJ6eWhtQXFpcDRRU1Nhc3dnVnZRNFRIWjFDZzJxOVdIOVlxOW9TaHVqVzZ4Mnl6YVpyL2JMQTdmM2l5S2FmVzlwbEtzK3VoMVp2OEImbHQ7L2RpYWdyYW0mZ3Q7Jmx0Oy9teGZpbGUmZ3Q7Ij48ZGVmcy8+PGc+PHJlY3QgeD0iMTMiIHk9IjEzMCIgd2lkdGg9IjE4MCIgaGVpZ2h0PSI2MCIgcng9IjkiIHJ5PSI5IiBmaWxsPSIjZmZmZmZmIiBzdHJva2U9IiMwMDAwMDAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMTc4cHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMTYwcHg7IG1hcmdpbi1sZWZ0OiAxNHB4OyI+PGRpdiBzdHlsZT0iYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiAxMnB4OyBmb250LWZhbWlseTogSGVsdmV0aWNhOyBjb2xvcjogcmdiKDAsIDAsIDApOyBsaW5lLWhlaWdodDogMS4yOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyBvdmVyZmxvdy13cmFwOiBub3JtYWw7Ij5VcGRhdGUgYW4gRW50cnk8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMTAzIiB5PSIxNjQiIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTJweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+VXBkYXRlIGFuIEVudHJ5PC90ZXh0Pjwvc3dpdGNoPjwvZz48cmVjdCB4PSIxMyIgeT0iMjkwIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjYwIiByeD0iOSIgcnk9IjkiIGZpbGw9IiNmZmZmZmYiIHN0cm9rZT0iIzAwMDAwMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxNzhweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmctdG9wOiAzMjBweDsgbWFyZ2luLWxlZnQ6IDE0cHg7Ij48ZGl2IHN0eWxlPSJib3gtc2l6aW5nOiBib3JkZXItYm94OyBmb250LXNpemU6IDBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IGxpbmUtaGVpZ2h0OiAxLjI7IHBvaW50ZXItZXZlbnRzOiBhbGw7IHdoaXRlLXNwYWNlOiBub3JtYWw7IG92ZXJmbG93LXdyYXA6IG5vcm1hbDsiPlVwbG9hZCB0aGUgY29udGVudMKgPC9kaXY+PC9kaXY+PC9kaXY+PC9mb3JlaWduT2JqZWN0Pjx0ZXh0IHg9IjEwMyIgeT0iMzI0IiBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPlVwbG9hZCB0aGUgY29udGVudMKgPC90ZXh0Pjwvc3dpdGNoPjwvZz48cGF0aCBkPSJNIDEwMyAxOTAgTCAxMDMgMjgzLjYzIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9InN0cm9rZSIvPjxwYXRoIGQ9Ik0gMTAzIDI4OC44OCBMIDk5LjUgMjgxLjg4IEwgMTAzIDI4My42MyBMIDEwNi41IDI4MS44OCBaIiBmaWxsPSIjMDAwMDAwIiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRlci1ldmVudHM9ImFsbCIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0wLjUgLTAuNSkiPjxzd2l0Y2g+PGZvcmVpZ25PYmplY3QgcG9pbnRlci1ldmVudHM9Im5vbmUiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIgc3R5bGU9Im92ZXJmbG93OiB2aXNpYmxlOyB0ZXh0LWFsaWduOiBsZWZ0OyI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiB1bnNhZmUgY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2FmZSBjZW50ZXI7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMjM3cHg7IG1hcmdpbi1sZWZ0OiAxMDRweDsiPjxkaXYgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+QnVja2V0IElEICsgRW50cnkgSUQ8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMTA0IiB5PSIyNDAiIGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EiIGZvbnQtc2l6ZT0iMTFweCIgdGV4dC1hbmNob3I9Im1pZGRsZSI+QnVja2V0IElEICsgRW50cnkgSUQ8L3RleHQ+PC9zd2l0Y2g+PC9nPjxwYXRoIGQ9Ik0gMTAzIDUwIEwgMTAzIDkwIEwgMTAzIDEyMy42MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJzdHJva2UiLz48cGF0aCBkPSJNIDEwMyAxMjguODggTCA5OS41IDEyMS44OCBMIDEwMyAxMjMuNjMgTCAxMDYuNSAxMjEuODggWiIgZmlsbD0iIzAwMDAwMCIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgcGFkZGluZy10b3A6IDkxcHg7IG1hcmdpbi1sZWZ0OiAxMDRweDsiPjxkaXYgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTFweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+QnVja2V0IElEICsgRW50cnkgSUQ8L2Rpdj48L2Rpdj48L2Rpdj48L2ZvcmVpZ25PYmplY3Q+PHRleHQgeD0iMTA0IiB5PSI5NCIgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9IkhlbHZldGljYSIgZm9udC1zaXplPSIxMXB4IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5CdWNrZXQgSUQgKyBFbnRyeSBJRDwvdGV4dD48L3N3aXRjaD48L2c+PHJlY3QgeD0iMC41IiB5PSIwIiB3aWR0aD0iMjA1IiBoZWlnaHQ9IjcwIiBmaWxsPSJub25lIiBzdHJva2U9Im5vbmUiIHBvaW50ZXItZXZlbnRzPSJhbGwiLz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMC41IC0wLjUpIj48c3dpdGNoPjxmb3JlaWduT2JqZWN0IHBvaW50ZXItZXZlbnRzPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiByZXF1aXJlZEZlYXR1cmVzPSJodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcxMS9mZWF0dXJlI0V4dGVuc2liaWxpdHkiIHN0eWxlPSJvdmVyZmxvdzogdmlzaWJsZTsgdGV4dC1hbGlnbjogbGVmdDsiPjxkaXYgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogdW5zYWZlIGNlbnRlcjsganVzdGlmeS1jb250ZW50OiB1bnNhZmUgY2VudGVyOyB3aWR0aDogMjAzcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nLXRvcDogMzVweDsgbWFyZ2luLWxlZnQ6IDJweDsiPjxkaXYgc3R5bGU9ImJveC1zaXppbmc6IGJvcmRlci1ib3g7IGZvbnQtc2l6ZTogMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgY29sb3I6IHJnYigwLCAwLCAwKTsgbGluZS1oZWlnaHQ6IDEuMjsgcG9pbnRlci1ldmVudHM6IGFsbDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgb3ZlcmZsb3ctd3JhcDogbm9ybWFsOyI+VXBsb2FkaW5nIG5ldyBjb250ZW50IHRvIGFuIGV4aXN0aW5nIGZpbGUgcGF0aDwvZGl2PjwvZGl2PjwvZGl2PjwvZm9yZWlnbk9iamVjdD48dGV4dCB4PSIxMDMiIHk9IjM5IiBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0iSGVsdmV0aWNhIiBmb250LXNpemU9IjEycHgiIHRleHQtYW5jaG9yPSJtaWRkbGUiPlVwbG9hZGluZyBuZXcgY29udGVudCB0byBhbiBleGlzdGkuLi48L3RleHQ+PC9zd2l0Y2g+PC9nPjwvZz48c3dpdGNoPjxnIHJlcXVpcmVkRmVhdHVyZXM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1NWRzExL2ZlYXR1cmUjRXh0ZW5zaWJpbGl0eSIvPjxhIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTUpIiB4bGluazpocmVmPSJodHRwczovL3d3dy5kaWFncmFtcy5uZXQvZG9jL2ZhcS9zdmctZXhwb3J0LXRleHQtcHJvYmxlbXMiIHRhcmdldD0iX2JsYW5rIj48dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LXNpemU9IjEwcHgiIHg9IjUwJSIgeT0iMTAwJSI+Vmlld2VyIGRvZXMgbm90IHN1cHBvcnQgZnVsbCBTVkcgMS4xPC90ZXh0PjwvYT48L3N3aXRjaD48L3N2Zz4=\"/\u003e \u003cp\u003eWe recommend using the Entry parameter signed_url set to \"true\" when creating or updating an Entry to get back a signed URL that can be use to upload the content directly to the cloud storage. The signed URL will be returned in the response Entry parameter signed_url. The content can then be uploaded using a request like this:\u003c/p\u003e \u003cp\u003e\u003cb\u003ecurl -i -X PUT -H \\'Content-Type: CONTENT_TYPE_HERE\\' --upload-file \\'FOLDER/PATH/TO/YOUR/FILE/samplefile.txt\\' \\'SIGNED_URL_HERE\\'\u003c/b\u003e\u003c/p\u003e \u003cp\u003eNote that signed URLs are valid for 5 mins and cannot be used for chunked or resumable uploads.\u003c/p\u003e \u003ch2\u003eCLI Sync\u003c/h2\u003e \u003cp\u003eTo implement syncing of a bucket to a local folder using the APIs please refer to \u003ca href=\"/doc/cli-sync-api.html\"\u003eSync to a local folder using API\u003c/a\u003e\u003c/p\u003e \u003ch2\u003eAuthentication\u003c/h2\u003e \u003cdel\u003e \u003cp\u003eThe Content Delivery Management API requires an API key associated with your Unity developer account. To access your API Key, please visit the \u003ca href=\"https://developer.cloud.unity3d.com\"\u003edeveloper dashboard\u003c/a\u003e.\u003c/p\u003e \u003cp\u003eTo authenticate requests, include a Basic Authentication header as a base64-encoded string 'username:password', using your API key as the password (and empty username).\u003c/p\u003e \u003cp\u003eFor example, an API key value of 'd6d2c026bac44b1ea7ac0332694a830e' would include an Authorization header like:\u003c/p\u003e \u003cp\u003e\u003cb\u003eAuthorization: Basic OmQ2ZDJjMDI2YmFjNDRiMWVhN2FjMDMzMjY5NGE4MzBl\u003c/b\u003e\u003c/p\u003e \u003c/del\u003e \u003cp\u003eThe Content Delivery Management API is deprecating API Key Authentication and now recommends using \u003ca href=\"https://services.docs.unity.com/docs/service-account-auth\"\u003eService Account Authentication\u003c/a\u003e instead.\u003c/p\u003e \u003cp\u003eTo create a new service account please follow the instructions available in the \u003ca href=\"https://services.docs.unity.com/docs/service-account-auth/index.html#create-a-service-account\"\u003eCreate a service account\u003c/a\u003e section of the Service Account Authentication documentation.\u003c/p\u003e \u003cp\u003eUnder \u003cb\u003eOrganization roles\u003c/b\u003e, you must assign the \u003cb\u003eCloud Content Delivery API Public Editor\u003c/b\u003e role to your service account to grant read and write access to public endpoints of CCD Management API.\u003c/p\u003e \u003cp\u003eTo use service account please follow the instructions available in the \u003ca href=\"https://services.docs.unity.com/docs/service-account-auth/index.html#authenticate-an-api-using-service-account-credentials\"\u003eAuthenticate an API using service account credentials\u003c/a\u003e section of the Service Account Authentication documentation.\u003c/p\u003e \u003cp\u003eAs mentioned in the documentation linked above, for CCD Management API endpoints use \u003ccode\u003ehttps://services.api.unity.com/ccd/management/v1/\u003c/code\u003e as the URL host + base path.\u003c/p\u003e \u003ch2\u003ePermissions\u003c/h2\u003e \u003cp\u003eA Permission is set on a bucket and is composed of a role and an action that can be allowed or denied. Some actions require permissions to be performed. The available roles are 'user' for the management API and 'client' for the client API. The current actions possible are 'write' and 'list-releases'. For example, 'list-releases' is currently denied by default in the client API. To enable the list releases endpoints for the client API, a permission must be added with the role 'client', the action 'list-releases' and the permission 'allow'.\u003c/p\u003e \u003ch2\u003eGenerate difference between releases\u003c/h2\u003e \u003cp\u003eWhen you create a release, CCD automatically generates a difference between the new release and the previous one. However, if you want to get the diff between two versions with a jump (for example, /?fromreleasenum=0\u0026toreleasenum=4), and it was never previously generated, then you must calculate the diff asynchronously. Note: The difference releases entries route returns an empty set if the difference was not generated first. First, generate the diff using the following route: /diff/releases/?fromreleasenum=0\u0026toreleasenum=4 It returns a response with a flag, for example: \u003cp\u003e\u003cb\u003e {\n \"unchanged\": 0,\n \"add\": 0,\n \"update\": 0,\n \"delete\": 0,\n \"loading\": true\n} \u003c/b\u003e\u003c/p\u003e The loading flag is true if the task is not yet completed. To learn the status of the task, poll the releases' routes until the flag is false, as in the following example: \u003cp\u003e\u003cb\u003e {\n \"unchanged\": 1,\n \"add\": 1,\n \"update\": 2,\n \"delete\": 0,\n \"loading\": false\n} \u003c/b\u003e\u003c/p\u003e You could now see the entries listed using the following route: {bucket_id}/diff/releases/entries/?fromreleasenum=0\u0026toreleasenum=4\u003c/p\u003e \u003ch2\u003ePagination\u003c/h2\u003e \u003cp\u003ePaged results take two parameters: the number of results to return per page (?per_page) and the page number based on that per page amount (?page). Page numbering starts with 1 and the default page size is 10.\u003c/p\u003e \u003cp\u003eFor instance, if there are 40 results and you specify page=2\u0026per_page=10, you will receive records 11-20. Paged results will also return a Content-Range header. In the example above the content range header will look like this:\u003c/p\u003e \u003cp\u003e\u003cb\u003eContent-Range: items 11-20/40\u003c/b\u003e\u003c/p\u003e \u003ch2\u003eUnity CCD Documentation\u003c/h2\u003e \u003cp\u003ePlease visit \u003ca href= \"https://docs.unity.com/ccd/UnityCCD.html\"\u003e CCD documentation\u003c/a\u003e \u003c/p\u003e","license":{"name":"Proprietary license"},"title":"Content Delivery Management API","version":"1.7.59"},"paths":{"/buckets/{bucketid}/":{"delete":{"deprecated":true,"description":"Removes a bucket by ID. All files that are no longer referred to by another bucket in a project are removed.","operationId":"DeleteBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"delete","resource":"Bucket"}},"get":{"deprecated":true,"description":"Gets the bucket details by ID.","operationId":"GetBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucket"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"put":{"deprecated":true,"description":"Updates the bucket details by ID.","operationId":"UpdateBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Bucket","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/bucketUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucket"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"update","resource":"Bucket"}}},"/buckets/{bucketid}/accesstokens/":{"get":{"deprecated":true,"description":"List bucket access tokens.","operationId":"ListBucketAccessTokens","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/bucketaccesstoken"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"List bucket access tokens","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}},"post":{"deprecated":true,"description":"Create a bucket access token. By default, bucket access tokens grant access to all content in the bucket including all releases. To restrict access to a single release, specify a 'releaseid' in the post body.","operationId":"CreateBucketAccessToken","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"BucketAccessToken","in":"body","name":"bucketAccessToken","required":true,"schema":{"$ref":"#/definitions/bucketaccesstokenCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucketaccesstoken"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create bucket access token","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}}},"/buckets/{bucketid}/accesstokens/{tokenid}/":{"delete":{"deprecated":true,"description":"Delete a bucket's access token by key.","operationId":"DeleteBucketAccessToken","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Token ID","in":"path","name":"tokenid","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete a bucket access token","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}},"get":{"deprecated":true,"description":"Get bucket access token info.","operationId":"GetBucketAccessToken","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Token ID","in":"path","name":"tokenid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucketaccesstoken"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"get bucket access token","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}},"put":{"deprecated":true,"description":"Update bucket access token info.","operationId":"UpdateBucketAccessTokenInfo","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Token ID","in":"path","name":"tokenid","required":true,"type":"string"},{"description":"BucketAccessToken","in":"body","name":"bucketAccessToken","required":true,"schema":{"$ref":"#/definitions/bucketaccesstokenUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucketaccesstoken"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update bucket access token info","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}}},"/buckets/{bucketid}/badges/":{"get":{"deprecated":true,"description":"Gets all badges for a bucket.","operationId":"ListBadges","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"resource name","in":"query","name":"name","type":"string"},{"description":"release number","in":"query","name":"releasenum","type":"string"},{"description":"Sort By","enum":["name","releasenum","created"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/badge"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get badges","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"put":{"deprecated":true,"description":"Assigns a badge to a release.","operationId":"UpdateBadge","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge","in":"body","name":"badge","required":true,"schema":{"$ref":"#/definitions/badgeAssign"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/badge"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Assign a badge","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"badge","resource":"Bucket"}}},"/buckets/{bucketid}/badges/{badgename}/":{"delete":{"deprecated":true,"description":"Removes a badge by name.","operationId":"DeleteBadge","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete a badge","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"badge","resource":"Bucket"}},"get":{"deprecated":true,"description":"Gets a badge by name.","operationId":"GetBadge","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/badge"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get badge","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/buckets/{bucketid}/batch/delete/entries/":{"post":{"deprecated":true,"description":"Removes up to 200 entries from a given bucket. When DELETE is called on an entry we just mark it as deleted but all previous versions of the file still exist. No file content is removed.","operationId":"DeleteEntryBatch","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Array of Entries","in":"body","name":"entries","required":true,"schema":{"items":[{"$ref":"#/definitions/entryDeleteBatch"}],"maxItems":200,"minItems":1,"type":"array"}}],"responses":{"204":{"description":"No Content","schema":{"items":{"$ref":"#/definitions/nocontent"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Batch delete entries","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/buckets/{bucketid}/batch/entries/":{"post":{"deprecated":true,"description":"Creates or update up to 200 entries in a given bucket via Signed URLs; Will update the entry if the path already exists. Content Hash and Content Size are not mandatory.","operationId":"CreateOrUpdateEntryBatch","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Array of Entries","in":"body","name":"entries","required":true,"schema":{"items":{"$ref":"#/definitions/entryCreateBatch"},"maxItems":200,"minItems":1,"type":"array"}}],"responses":{"200":{"description":"OK","schema":{"items":{"$ref":"#/definitions/entry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Batch Create or Update Entries","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/buckets/{bucketid}/diff/releases/":{"get":{"deprecated":true,"description":"Gets the change count between two releases.","operationId":"GetReleaseDiff","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"From Release ID, specify 'latest' to use the most recent release. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","in":"query","name":"fromreleaseid","type":"string"},{"description":"From Release Number. To query against an empty bucket you may set fromreleasenum to zero. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"fromreleasenum","type":"integer"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","in":"query","name":"toreleaseid","type":"string"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"toreleasenum","type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/changecount"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get counts of changes between releases","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/buckets/{bucketid}/diff/releases/entries/":{"get":{"deprecated":true,"description":"Gets the list of changed entries between two releases.","operationId":"GetReleaseDiffEntries","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"From Release ID, specify 'latest' to use the most recent release. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","in":"query","name":"fromreleaseid","type":"string"},{"description":"From Release Number. To query against an empty bucket you may set fromreleasenum to zero. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"fromreleasenum","type":"integer"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","in":"query","name":"toreleaseid","type":"string"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"toreleasenum","type":"integer"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Path","in":"query","name":"path","type":"string"},{"collectionFormat":"csv","description":"Include change states, one or more can be specified. The default is all states.","in":"query","items":{"enum":["Unchanged","Add","Delete","Update"],"type":"string"},"name":"include_states","type":"array"},{"description":"content type","in":"query","name":"content_type","type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"is content upload completed or not","in":"query","name":"complete","type":"boolean"},{"description":"Sort By","enum":["path","content_size","content_type","last_modified"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get changed entries between releases","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}}},"/buckets/{bucketid}/diff/unreleased/":{"get":{"deprecated":true,"description":"Gets change count since the last release.","operationId":"GetDiff","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/changecount"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get counts of changes since last release","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}}},"/buckets/{bucketid}/diff/unreleased/entries/":{"get":{"deprecated":true,"description":"Gets changed entries since the last release.","operationId":"GetDiffEntries","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Path","in":"query","name":"path","type":"string"},{"collectionFormat":"csv","description":"Include change states, one or more can be specified. The default is all states.","in":"query","items":{"enum":["Unchanged","Add","Delete","Update"],"type":"string"},"name":"include_states","type":"array"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"content type","in":"query","name":"content_type","type":"string"},{"description":"is content upload completed or not","in":"query","name":"complete","type":"boolean"},{"description":"Sort By","enum":["path","content_size","content_type","last_modified"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get changed entries since last releases","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}}},"/buckets/{bucketid}/entries/":{"get":{"deprecated":true,"description":"Gets all entries for a given bucket. Entries can be searched/queried by path or label. For example, to search by path you can do \"/buckets/{bucketid}/entries/?path=asset.bundle\" To search by label you can do \"/buckets/{bucketid}/entries/?label=android\" To search by path and label both you can do \"/buckets/{bucketid}/entries/?path=asset.bundle\u0026label=android\". In this case the entries will need to match both filters.","operationId":"GetEntries","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"description":"returns items listed after the named ID","format":"uuid","in":"query","name":"starting_after","type":"string"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Path","in":"query","name":"path","type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"content type","in":"query","name":"content_type","type":"string"},{"description":"is content upload completed or not","in":"query","name":"complete","type":"boolean"},{"description":"Sort By","enum":["path","content_size","content_type","last_modified"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK [The \"current_versionid\" is the versionid for the most recent file entry. The \"complete\" flag represents that the content has been fully uploaded and that the file size and md5sum match to what was specified when the entry was created or updated.]","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/entry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entries for bucket","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}},"post":{"deprecated":true,"description":"Creates a new entry for a given bucket. Content Hash and Content Size are not mandatory when using Signed URLs.","operationId":"CreateEntry","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/buckets/{bucketid}/entries/{entryid}/":{"delete":{"deprecated":true,"description":"Removes a single entry for a given bucket. When DELETE is called on an entry we just mark it as deleted but all previous versions of the file still exist. No file content is removed.","operationId":"DeleteEntry","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"items":{"$ref":"#/definitions/nocontent"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}},"get":{"deprecated":true,"description":"Gets a single entry for a given bucket.","operationId":"GetEntry","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}},"put":{"deprecated":true,"description":"Updates a single entry for a given bucket.","operationId":"UpdateEntry","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/buckets/{bucketid}/entries/{entryid}/content/":{"get":{"deprecated":true,"description":"Gets the content for a given entry.","operationId":"GetContent","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"content-disposition":{"description":"Indicate the content disposition and filename, example (attachment; filename=\"model.obj\")","type":"string"}},"schema":{"type":"file"}},"206":{"description":"OK","schema":{"type":"file"}},"307":{"description":"Temporary Redirect","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content by entryid","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"head":{"deprecated":true,"description":"Gets the status of uploaded content.","operationId":"GetContentStatus","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Upload-Hash":{"description":"md5sum of expected upload","type":"string"},"Upload-Length":{"description":"total expected size of upload","format":"int64","type":"integer"},"Upload-Offset":{"description":"actual amount uploaded","format":"int64","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content status by entryid","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"patch":{"consumes":["multipart/form-data"],"deprecated":true,"description":"Uploads or resumes uploading content for an entry. There are two content-types supported for uploading content for an entry. One is \"multipart/form-data\" which is not available through the Internal API and the other is \"application/offset+octet-stream\" which uses the tus protocol. Please refer to https://tus.io/ for more details. Note that the Internal API also has a 100mb limitation. This API is now deprecated. We recommend using signed URLs as it uploads directly to the cloud storage and has no size limitations. Signed URLs are returned by the create and/or update entry endpoints by using the entry parameter signed_url set to \"true\".","operationId":"UploadContent","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"},{"description":"File content","in":"formData","name":"file","required":true,"type":"file"}],"responses":{"204":{"description":"To verify if the file was successfully uploaded, compare the upload hash and upload link headers and make sure they match to the uploaded content."},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Upload content for entry","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}},"post":{"consumes":["multipart/form-data"],"deprecated":true,"description":"Simply returns the content upload URL in the Location header for \u003ca href=\"https://tus.io/\" rel=\"noopener noreferrer\" target=\"_blank\"\u003eTUS\u003c/a\u003e implementations. This endpoint is not required for most file uploads.","operationId":"CreateContent","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"responses":{"201":{"description":"File was created, check the Location header."},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create content upload for TUS","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/buckets/{bucketid}/entries/{entryid}/versions/":{"get":{"deprecated":true,"description":"Gets all versions of an entry.","operationId":"GetEntryVersions","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/version"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry versions","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}}},"/buckets/{bucketid}/entries/{entryid}/versions/{versionid}/":{"get":{"deprecated":true,"description":"Gets a specific version of an entry.","operationId":"GetEntryVersion","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"path","name":"versionid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry version","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}}},"/buckets/{bucketid}/entries/{entryid}/versions/{versionid}/content/":{"get":{"deprecated":true,"description":"Gets the content for a specific version of an entry.","operationId":"GetContentVersion","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"path","name":"versionid","required":true,"type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"content-disposition":{"description":"Indicate the content disposition and filename, example (attachment; filename=\"model.obj\")","type":"string"}},"schema":{"type":"file"}},"206":{"description":"OK","schema":{"type":"file"}},"307":{"description":"Temporary Redirect","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content for version of entry","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"head":{"deprecated":true,"description":"Gets the status of uploaded content for a specific version of an entry.","operationId":"GetContentStatusVersion","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"path","name":"versionid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","headers":{"Upload-Hash":{"description":"md5sum of expected upload","type":"string"},"Upload-Length":{"description":"total expected size of upload","format":"int64","type":"integer"},"Upload-Offset":{"description":"actual amount uploaded","format":"int64","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content status for version of entry","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/buckets/{bucketid}/entry_by_path/":{"get":{"deprecated":true,"description":"Gets a single entry by path for a given bucket.","operationId":"GetEntryByPath","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Path","in":"query","name":"path","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry by path","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}},"post":{"deprecated":true,"description":"Creates a new entry for a given bucket; can update the entry if the path already exists. Content Hash and Content Size are not mandatory when using Signed URLs.","operationId":"CreateOrUpdateEntryByPath","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Path","in":"query","name":"path","required":true,"type":"string"},{"default":false,"description":"Set to 'true' if you want to update the existing entries","in":"query","name":"updateIfExists","type":"boolean"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryCreateByPath"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create or update entry by path","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}},"put":{"deprecated":true,"description":"Update the entry by path","operationId":"UpdateEntryByPath","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Path","in":"query","name":"path","required":true,"type":"string"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update entry by path","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/buckets/{bucketid}/permissions/":{"delete":{"deprecated":true,"description":"delete a permission for a bucket.","operationId":"DeletePermissionByBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Permission role: user, client.\n","in":"query","name":"role","type":"string"},{"description":"Permission of resource: allow, deny.\n","in":"query","name":"permission","type":"string"},{"description":"Permission action: write, read.\n","in":"query","name":"action","type":"string"}],"responses":{"204":{"description":"OK"},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"delete a permission","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Permission"}},"get":{"deprecated":true,"description":"Gets all permissions for a bucket.","operationId":"GetAllByBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"items":{"$ref":"#/definitions/permission"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get permissions for bucket","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"post":{"deprecated":true,"description":"Create a permission for a bucket.","operationId":"CreatePermissionByBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Permission","in":"body","name":"permission","required":true,"schema":{"$ref":"#/definitions/permissionCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/permission"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create a permission","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Permission"}},"put":{"deprecated":true,"description":"Update a permission for a bucket.","operationId":"UpdatePermissionByBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Permission","in":"body","name":"permission","required":true,"schema":{"$ref":"#/definitions/permissionUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/permission"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update a permission","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Permission"}}},"/buckets/{bucketid}/promote/":{"get":{"deprecated":true,"description":"Get promotions for a bucket","operationId":"GetPromotions","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"collectionFormat":"csv","description":"Promotion status, one or more can be specified. The default is all statuses.","in":"query","items":{"enum":["InProgress","Complete","Failed"],"type":"string"},"name":"promotion_status","type":"array"},{"description":"Filter to get only incoming/only outgoing promotions for a bucket. If nothing is specified, both, incoming and outgoing, promotions are returned","enum":["incoming","outgoing"],"in":"query","name":"promotion_filter","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/promotion"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get promotions for a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"post":{"deprecated":true,"description":"Promotes a release from one bucket to another.","operationId":"PromoteBucket","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"PromoteBucketEnv","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/promotebucket"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Promote release between buckets","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"promote","resource":"Bucket"}}},"/buckets/{bucketid}/promote/{promotionid}/":{"get":{"deprecated":true,"description":"Get information about the promotion job started from a bucket","operationId":"GetPromotion","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Promotion ID","in":"path","name":"promotionid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/promotion"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get information about the promotion job","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/buckets/{bucketid}/promoteasync/":{"post":{"deprecated":true,"description":"Promotes a release asynchronously from one bucket to another.","operationId":"PromoteBucketAsync","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"PromoteBucketAsync","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/promotebucket"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/promoteBucketResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Promote release asynchronously between buckets","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"promote","resource":"Bucket"}}},"/buckets/{bucketid}/release_by_badge/{badgename}/":{"get":{"deprecated":true,"description":"Gets a badged release for a given bucket.","operationId":"GetReleaseByBadge","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get release by badge","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Release"}}},"/buckets/{bucketid}/release_by_badge/{badgename}/entries/":{"get":{"deprecated":true,"description":"Gets all entries for a badged release.","operationId":"GetReleaseEntriesByBadge","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get badged release entries","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/buckets/{bucketid}/releases/":{"get":{"deprecated":true,"description":"Gets all releases for a given bucket.","operationId":"GetReleases","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"release number","in":"query","name":"releasenum","type":"string"},{"description":"Release notes\n","in":"query","name":"notes","type":"string"},{"description":"Bucket where release promoted from.\n","in":"query","name":"promoted_from_bucket","type":"string"},{"description":"Release where release promoted from.\n","in":"query","name":"promoted_from_release","type":"string"},{"description":"Badge names.\n","in":"query","name":"badges","type":"string"},{"description":"Sort By","enum":["releasenum","created"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/release"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get releases for bucket","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}},"post":{"deprecated":true,"description":"Creates a new release for a given bucket. If you don't specify the snapshot or entries fields all entries currently in the bucket will be added to the release. Otherwise you can use the snapshot field to create a release with all entries prior to a given date, or the entries field to provide a list of entryids and versionids to add.","operationId":"CreateRelease","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release","in":"body","name":"release","required":true,"schema":{"$ref":"#/definitions/releaseCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"release","resource":"Bucket"}}},"/buckets/{bucketid}/releases/{releaseid}/":{"get":{"deprecated":true,"description":"Gets a single release for a given bucket.","operationId":"GetRelease","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Release"}},"put":{"deprecated":true,"description":"Update fields on a single release for a given bucket.","operationId":"UpdateRelease","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"description":"Release fields to update","in":"body","name":"release","required":true,"schema":{"$ref":"#/definitions/releaseUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Release"}}},"/buckets/{bucketid}/releases/{releaseid}/entries/":{"get":{"deprecated":true,"description":"Gets all entries for a single release.","operationId":"GetReleaseEntries","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get release entries","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}}},"/buckets/{bucketid}/releases/{releaseid}/stats/":{"get":{"deprecated":true,"description":"Get stats for a release for a given metric and time interval.","operationId":"GetStats","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"description":"Select the metric for which you want the stats.","enum":["downloads","errors"],"in":"query","name":"metric","required":true,"type":"string"},{"description":"Select the time interval for which you want the stats.\nday indicates last 24 hrs\nweek indicates last 7 days\nmonth indicates last 30 days\n","enum":["day","week","month"],"in":"query","name":"interval","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/metricQuantity"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get stats for a release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/buckets/{bucketid}/releases/{releaseid}/stats/details/errors/":{"get":{"deprecated":true,"description":"Get the given number of latest errors in a release with their status code, timestamp and URL in a csv format","operationId":"GetErrorDetails","parameters":[{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Select the time interval for which you want the stats.\nday indicates last 24 hrs\nweek indicates last 7 days\nmonth indicates last 30 days\n","enum":["day","week","month"],"in":"query","name":"interval","required":true,"type":"string"}],"produces":["text/csv"],"responses":{"200":{"description":"OK","headers":{"Access-Control-Allow-Origin":{"description":"The literal value \"*\" can be specified, as a wildcard; the value tells browsers to allow requesting code from any origin to access the resource.","type":"string"},"Content-Type":{"description":"Indicates the content type of the returned content","type":"string"}},"schema":{"example":"Response_Status_Code,Submit_Time,URL\n404,2021-07-27 04:29:59.830 UTC,https://example.com/api/v1/endpoint\n403,2021-07-26 02:13:59.830 UTC,https://example.com/api/v1/endpoint","format":"byte","type":"string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get detail error information","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/":{"delete":{"description":"Removes a bucket by ID. All files that are no longer referred to by another bucket in a project are removed.","operationId":"DeleteBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"delete","resource":"Bucket"}},"get":{"description":"Gets the bucket details by ID.","operationId":"GetBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucket"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"put":{"description":"Updates the bucket details by ID.","operationId":"UpdateBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Bucket","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/bucketUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucket"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"update","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/accesstokens/":{"get":{"description":"List bucket access tokens.","operationId":"ListBucketAccessTokensEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/bucketaccesstoken"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"List bucket access tokens","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}},"post":{"description":"Create a bucket access token. By default, bucket access tokens grant access to all content in the bucket including all releases. To restrict access to a single release, specify a 'releaseid' in the post body.","operationId":"CreateBucketAccessTokenEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"BucketAccessToken","in":"body","name":"bucketAccessToken","required":true,"schema":{"$ref":"#/definitions/bucketaccesstokenCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucketaccesstoken"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create bucket access token","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/accesstokens/{tokenid}/":{"delete":{"description":"Delete a bucket's access token by key.","operationId":"DeleteBucketAccessTokenEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Token ID","in":"path","name":"tokenid","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete a bucket access token","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}},"get":{"description":"Get bucket access token info.","operationId":"GetBucketAccessTokenEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Token ID","in":"path","name":"tokenid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucketaccesstoken"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"get bucket access token","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}},"put":{"description":"Update bucket access token info.","operationId":"UpdateBucketAccessTokenInfoEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Token ID","in":"path","name":"tokenid","required":true,"type":"string"},{"description":"BucketAccessToken","in":"body","name":"bucketAccessToken","required":true,"schema":{"$ref":"#/definitions/bucketaccesstokenUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucketaccesstoken"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update bucket access token info","tags":["BucketAccessTokens"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"token","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/badges/":{"get":{"description":"Gets all badges for a bucket.","operationId":"ListBadgesEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"resource name","in":"query","name":"name","type":"string"},{"description":"release number","in":"query","name":"releasenum","type":"string"},{"description":"Sort By","enum":["name","releasenum","created"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/badge"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get badges","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"put":{"description":"Assigns a badge to a release.","operationId":"UpdateBadgeEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge","in":"body","name":"badge","required":true,"schema":{"$ref":"#/definitions/badgeAssign"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/badge"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Assign a badge","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"badge","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/badges/{badgename}/":{"delete":{"description":"Removes a badge by name.","operationId":"DeleteBadgeEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete a badge","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"badge","resource":"Bucket"}},"get":{"description":"Gets a badge by name.","operationId":"GetBadgeEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/badge"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get badge","tags":["Badges"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/batch/delete/entries/":{"post":{"description":"Removes up to 200 entries from a given bucket. When DELETE is called on an entry we just mark it as deleted but all previous versions of the file still exist. No file content is removed.","operationId":"DeleteEntryBatchEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Array of Entries","in":"body","name":"entries","required":true,"schema":{"items":[{"$ref":"#/definitions/entryDeleteBatch"}],"maxItems":200,"minItems":1,"type":"array"}}],"responses":{"204":{"description":"No Content","schema":{"items":{"$ref":"#/definitions/nocontent"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Batch delete entries","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/batch/entries/":{"post":{"description":"Creates or update up to 200 entries in a given bucket via Signed URLs; Will update the entry if the path already exists. Content Hash and Content Size are not mandatory.","operationId":"CreateOrUpdateEntryBatchEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Array of Entries","in":"body","name":"entries","required":true,"schema":{"items":{"$ref":"#/definitions/entryCreateBatch"},"maxItems":200,"minItems":1,"type":"array"}}],"responses":{"200":{"description":"OK","schema":{"items":{"$ref":"#/definitions/entry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Batch Create or Update Entries","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/diff/releases/":{"get":{"description":"Gets the change count between two releases.","operationId":"GetReleaseDiffEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"From Release ID, specify 'latest' to use the most recent release. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","in":"query","name":"fromreleaseid","type":"string"},{"description":"From Release Number. To query against an empty bucket you may set fromreleasenum to zero. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"fromreleasenum","type":"integer"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","in":"query","name":"toreleaseid","type":"string"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"toreleasenum","type":"integer"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/changecount"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get counts of changes between releases","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/diff/releases/entries/":{"get":{"description":"Gets the list of changed entries between two releases.","operationId":"GetReleaseDiffEntriesEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"From Release ID, specify 'latest' to use the most recent release. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","in":"query","name":"fromreleaseid","type":"string"},{"description":"From Release Number. To query against an empty bucket you may set fromreleasenum to zero. Either fromreleaseid or fromreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"fromreleasenum","type":"integer"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","in":"query","name":"toreleaseid","type":"string"},{"description":"To Release ID, when not specified the most recent state of the bucket will be used. Either toreleaseid or toreleasenum can be specified, but not both.\n","format":"int64","in":"query","name":"toreleasenum","type":"integer"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Path","in":"query","name":"path","type":"string"},{"collectionFormat":"csv","description":"Include change states, one or more can be specified. The default is all states.","in":"query","items":{"enum":["Unchanged","Add","Delete","Update"],"type":"string"},"name":"include_states","type":"array"},{"description":"content type","in":"query","name":"content_type","type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"is content upload completed or not","in":"query","name":"complete","type":"boolean"},{"description":"Sort By","enum":["path","content_size","content_type","last_modified"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get changed entries between releases","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/diff/unreleased/":{"get":{"description":"Gets change count since the last release.","operationId":"GetDiffEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/changecount"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get counts of changes since last release","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/diff/unreleased/entries/":{"get":{"description":"Gets changed entries since the last release.","operationId":"GetDiffEntriesEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Path","in":"query","name":"path","type":"string"},{"collectionFormat":"csv","description":"Include change states, one or more can be specified. The default is all states.","in":"query","items":{"enum":["Unchanged","Add","Delete","Update"],"type":"string"},"name":"include_states","type":"array"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"content type","in":"query","name":"content_type","type":"string"},{"description":"is content upload completed or not","in":"query","name":"complete","type":"boolean"},{"description":"Sort By","enum":["path","content_size","content_type","last_modified"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get changed entries since last releases","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entries/":{"get":{"description":"Gets all entries for a given bucket. Entries can be searched/queried by path or label. For example, to search by path you can do \"/buckets/{bucketid}/entries/?path=asset.bundle\" To search by label you can do \"/buckets/{bucketid}/entries/?label=android\" To search by path and label both you can do \"/buckets/{bucketid}/entries/?path=asset.bundle\u0026label=android\". In this case the entries will need to match both filters.","operationId":"GetEntriesEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"description":"returns items listed after the named ID","format":"uuid","in":"query","name":"starting_after","type":"string"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Path","in":"query","name":"path","type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"content type","in":"query","name":"content_type","type":"string"},{"description":"is content upload completed or not","in":"query","name":"complete","type":"boolean"},{"description":"Sort By","enum":["path","content_size","content_type","last_modified"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK [The \"current_versionid\" is the versionid for the most recent file entry. The \"complete\" flag represents that the content has been fully uploaded and that the file size and md5sum match to what was specified when the entry was created or updated.]","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/entry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entries for bucket","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}},"post":{"description":"Creates a new entry for a given bucket. Content Hash and Content Size are not mandatory when using Signed URLs.","operationId":"CreateEntryEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entries/{entryid}/":{"delete":{"description":"Removes a single entry for a given bucket. When DELETE is called on an entry we just mark it as deleted but all previous versions of the file still exist. No file content is removed.","operationId":"DeleteEntryEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"}],"responses":{"204":{"description":"No Content","schema":{"items":{"$ref":"#/definitions/nocontent"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Delete entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}},"get":{"description":"Gets a single entry for a given bucket.","operationId":"GetEntryEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}},"put":{"description":"Updates a single entry for a given bucket.","operationId":"UpdateEntryEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update entry","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entries/{entryid}/content/":{"get":{"description":"Gets the content for a given entry.","operationId":"GetContentEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"content-disposition":{"description":"Indicate the content disposition and filename, example (attachment; filename=\"model.obj\")","type":"string"}},"schema":{"type":"file"}},"206":{"description":"OK","schema":{"type":"file"}},"307":{"description":"Temporary Redirect","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content by entryid","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"head":{"description":"Gets the status of uploaded content.","operationId":"GetContentStatusEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Upload-Hash":{"description":"md5sum of expected upload","type":"string"},"Upload-Length":{"description":"total expected size of upload","format":"int64","type":"integer"},"Upload-Offset":{"description":"actual amount uploaded","format":"int64","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content status by entryid","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"patch":{"consumes":["multipart/form-data"],"deprecated":true,"description":"Uploads or resumes uploading content for an entry. There are two content-types supported for uploading content for an entry. One is \"multipart/form-data\" which is not available through the Internal API and the other is \"application/offset+octet-stream\" which uses the tus protocol. Please refer to https://tus.io/ for more details. Note that the Internal API also has a 100mb limitation. This API is now deprecated. We recommend using signed URLs as it uploads directly to the cloud storage and has no size limitations. Signed URLs are returned by the create and/or update entry endpoints by using the entry parameter signed_url set to \"true\".","operationId":"UploadContentEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"},{"description":"File content","in":"formData","name":"file","required":true,"type":"file"}],"responses":{"204":{"description":"To verify if the file was successfully uploaded, compare the upload hash and upload link headers and make sure they match to the uploaded content."},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Upload content for entry","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}},"post":{"consumes":["multipart/form-data"],"description":"Simply returns the content upload URL in the Location header for \u003ca href=\"https://tus.io/\" rel=\"noopener noreferrer\" target=\"_blank\"\u003eTUS\u003c/a\u003e implementations. This endpoint is not required for most file uploads.","operationId":"CreateContentEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"responses":{"201":{"description":"File was created, check the Location header."},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create content upload for TUS","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entries/{entryid}/versions/":{"get":{"description":"Gets all versions of an entry.","operationId":"GetEntryVersionsEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/version"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry versions","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entries/{entryid}/versions/{versionid}/":{"get":{"description":"Gets a specific version of an entry.","operationId":"GetEntryVersionEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"path","name":"versionid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry version","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entries/{entryid}/versions/{versionid}/content/":{"get":{"description":"Gets the content for a specific version of an entry.","operationId":"GetContentVersionEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"path","name":"versionid","required":true,"type":"string"}],"produces":["application/octet-stream"],"responses":{"200":{"description":"OK","headers":{"content-disposition":{"description":"Indicate the content disposition and filename, example (attachment; filename=\"model.obj\")","type":"string"}},"schema":{"type":"file"}},"206":{"description":"OK","schema":{"type":"file"}},"307":{"description":"Temporary Redirect","schema":{"$ref":"#/definitions/nocontent"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content for version of entry","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"head":{"description":"Gets the status of uploaded content for a specific version of an entry.","operationId":"GetContentStatusVersionEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Entry ID","in":"path","name":"entryid","required":true,"type":"string"},{"description":"Version ID","in":"path","name":"versionid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","headers":{"Upload-Hash":{"description":"md5sum of expected upload","type":"string"},"Upload-Length":{"description":"total expected size of upload","format":"int64","type":"integer"},"Upload-Offset":{"description":"actual amount uploaded","format":"int64","type":"integer"}}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get content status for version of entry","tags":["Content"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/entry_by_path/":{"get":{"description":"Gets a single entry by path for a given bucket.","operationId":"GetEntryByPathEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Path","in":"query","name":"path","required":true,"type":"string"},{"description":"Version ID","in":"query","name":"versionid","type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get entry by path","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"list-entries","resource":"Bucket"}},"post":{"description":"Creates a new entry for a given bucket; can update the entry if the path already exists. Content Hash and Content Size are not mandatory when using Signed URLs.","operationId":"CreateOrUpdateEntryByPathEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Path","in":"query","name":"path","required":true,"type":"string"},{"default":false,"description":"Set to 'true' if you want to update the existing entries","in":"query","name":"updateIfExists","type":"boolean"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryCreateByPath"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create or update entry by path","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}},"put":{"description":"Update the entry by path","operationId":"UpdateEntryByPathEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Path","in":"query","name":"path","required":true,"type":"string"},{"description":"Entry","in":"body","name":"entry","required":true,"schema":{"$ref":"#/definitions/entryUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/entry"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update entry by path","tags":["Entries"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead","EntryUserRead"],"x-permission":{"action":"write","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/permissions/":{"delete":{"description":"delete a permission for a bucket.","operationId":"DeletePermissionByBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Permission role: user, client.\n","in":"query","name":"role","type":"string"},{"description":"Permission of resource: allow, deny.\n","in":"query","name":"permission","type":"string"},{"description":"Permission action: write, read.\n","in":"query","name":"action","type":"string"}],"responses":{"204":{"description":"OK"},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"delete a permission","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Permission"}},"get":{"description":"Gets all permissions for a bucket.","operationId":"GetAllByBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"items":{"$ref":"#/definitions/permission"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get permissions for bucket","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"post":{"description":"Create a permission for a bucket.","operationId":"CreatePermissionByBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Permission","in":"body","name":"permission","required":true,"schema":{"$ref":"#/definitions/permissionCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/permission"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create a permission","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Permission"}},"put":{"description":"Update a permission for a bucket.","operationId":"UpdatePermissionByBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Permission","in":"body","name":"permission","required":true,"schema":{"$ref":"#/definitions/permissionUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/permission"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update a permission","tags":["Permissions"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Permission"}}},"/environments/{environmentid}/buckets/{bucketid}/promote/":{"get":{"description":"Get promotions for a bucket","operationId":"GetPromotionsEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"collectionFormat":"csv","description":"Promotion status, one or more can be specified. The default is all statuses.","in":"query","items":{"enum":["InProgress","Complete","Failed"],"type":"string"},"name":"promotion_status","type":"array"},{"description":"Filter to get only incoming/only outgoing promotions for a bucket. If nothing is specified, both, incoming and outgoing, promotions are returned","enum":["incoming","outgoing"],"in":"query","name":"promotion_filter","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/promotion"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get promotions for a bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}},"post":{"description":"Promotes a release from one bucket to another.","operationId":"PromoteBucketEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"PromoteBucketEnv","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/promotebucket"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Promote release between buckets","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"promote","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/promote/{promotionid}/":{"get":{"description":"Get information about the promotion job started from a bucket","operationId":"GetPromotionEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Promotion ID","in":"path","name":"promotionid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/promotion"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get information about the promotion job","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/promoteasync/":{"post":{"description":"Promotes a release asynchronously from one bucket to another.","operationId":"PromoteBucketAsyncEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"PromoteBucketAsync","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/promotebucket"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/promoteBucketResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Promote release asynchronously between buckets","tags":["Buckets"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"promote","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/release_by_badge/{badgename}/":{"get":{"description":"Gets a badged release for a given bucket.","operationId":"GetReleaseByBadgeEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get release by badge","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Release"}}},"/environments/{environmentid}/buckets/{bucketid}/release_by_badge/{badgename}/entries/":{"get":{"description":"Gets all entries for a badged release.","operationId":"GetReleaseEntriesByBadgeEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Badge Name","in":"path","name":"badgename","required":true,"type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get badged release entries","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/releases/":{"get":{"description":"Gets all releases for a given bucket.","operationId":"GetReleasesEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"release number","in":"query","name":"releasenum","type":"string"},{"description":"Release notes\n","in":"query","name":"notes","type":"string"},{"description":"Bucket where release promoted from.\n","in":"query","name":"promoted_from_bucket","type":"string"},{"description":"Release where release promoted from.\n","in":"query","name":"promoted_from_release","type":"string"},{"description":"Badge names.\n","in":"query","name":"badges","type":"string"},{"description":"Sort By","enum":["releasenum","created"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/release"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get releases for bucket","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}},"post":{"description":"Creates a new release for a given bucket. If you don't specify the snapshot or entries fields all entries currently in the bucket will be added to the release. Otherwise you can use the snapshot field to create a release with all entries prior to a given date, or the entries field to provide a list of entryids and versionids to add.","operationId":"CreateReleaseEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release","in":"body","name":"release","required":true,"schema":{"$ref":"#/definitions/releaseCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"release","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/releases/{releaseid}/":{"get":{"description":"Gets a single release for a given bucket.","operationId":"GetReleaseEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Release"}},"put":{"description":"Update fields on a single release for a given bucket.","operationId":"UpdateReleaseEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"description":"Release fields to update","in":"body","name":"release","required":true,"schema":{"$ref":"#/definitions/releaseUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/release"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"write","resource":"Release"}}},"/environments/{environmentid}/buckets/{bucketid}/releases/{releaseid}/entries/":{"get":{"description":"Gets all entries for a single release.","operationId":"GetReleaseEntriesEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"description":"Label","in":"query","name":"label","type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/releaseentry"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get release entries","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"list-releases","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/releases/{releaseid}/stats/":{"get":{"description":"Get stats for a release for a given metric and time interval.","operationId":"GetStatsEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"description":"Select the metric for which you want the stats.","enum":["downloads","errors"],"in":"query","name":"metric","required":true,"type":"string"},{"description":"Select the time interval for which you want the stats.\nday indicates last 24 hrs\nweek indicates last 7 days\nmonth indicates last 30 days\n","enum":["day","week","month"],"in":"query","name":"interval","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/metricQuantity"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get stats for a release","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/environments/{environmentid}/buckets/{bucketid}/releases/{releaseid}/stats/details/errors/":{"get":{"description":"Get the given number of latest errors in a release with their status code, timestamp and URL in a csv format","operationId":"GetErrorDetailsEnv","parameters":[{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket ID","in":"path","name":"bucketid","required":true,"type":"string"},{"description":"Release ID","in":"path","name":"releaseid","required":true,"type":"string"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"Select the time interval for which you want the stats.\nday indicates last 24 hrs\nweek indicates last 7 days\nmonth indicates last 30 days\n","enum":["day","week","month"],"in":"query","name":"interval","required":true,"type":"string"}],"produces":["text/csv"],"responses":{"200":{"description":"OK","headers":{"Access-Control-Allow-Origin":{"description":"The literal value \"*\" can be specified, as a wildcard; the value tells browsers to allow requesting code from any origin to access the resource.","type":"string"},"Content-Type":{"description":"Indicates the content type of the returned content","type":"string"}},"schema":{"example":"Response_Status_Code,Submit_Time,URL\n404,2021-07-27 04:29:59.830 UTC,https://example.com/api/v1/endpoint\n403,2021-07-26 02:13:59.830 UTC,https://example.com/api/v1/endpoint","format":"byte","type":"string"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get detail error information","tags":["Releases"],"x-add-pipeline":["ValidUser","ValidEnvironment","BucketUserRead"],"x-permission":{"action":"read","resource":"Bucket"}}},"/orgs/{orgid}/":{"get":{"description":"Gets organization details.","operationId":"GetOrg","parameters":[{"description":"Organization ID","in":"path","name":"orgid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/org"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Organization Activation Not Found","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Gets organization details.","tags":["Orgs"],"x-add-pipeline":["ValidUser","OrgRead"]},"put":{"description":"Updates the bucket details by ID.","operationId":"SaveTosAccepted","parameters":[{"description":"Organization ID","in":"path","name":"orgid","required":true,"type":"string"},{"description":"Org","in":"body","name":"org","required":true,"schema":{"$ref":"#/definitions/orgTosUpdate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/org"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Update tos accepted on a organization","tags":["Orgs"],"x-add-pipeline":["ValidUser","OrgRead"]}},"/orgs/{orgid}/usage/":{"get":{"description":"Gets an organization usage details.","operationId":"GetOrgUsage","parameters":[{"description":"Organization ID","in":"path","name":"orgid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/orgusage"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"403":{"description":"Organization Activation Not Found","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Gets organization Usage Details.","tags":["Orgs"],"x-add-pipeline":["ValidUser","OrgRead"]}},"/projects/{projectguid}/buckets/":{"get":{"deprecated":true,"description":"Gets all buckets for a project.","operationId":"ListBucketsByProject","parameters":[{"description":"Project GUID","in":"path","name":"projectguid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"resource name","in":"query","name":"name","type":"string"},{"description":"bucket description","in":"query","name":"description","type":"string"},{"description":"Sort By","enum":["name","created"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/bucket"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get buckets for project","tags":["Buckets"],"x-add-pipeline":["ValidUser","ProjectRead","ValidEnvironment"]},"post":{"deprecated":true,"description":"Create a bucket for a project.","operationId":"CreateBucketByProject","parameters":[{"description":"Project GUID","in":"path","name":"projectguid","required":true,"type":"string"},{"description":"Bucket","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/bucketCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucket"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ProjectRead","ValidEnvironment"],"x-permission":{"action":"write","resource":"Project"}}},"/projects/{projectguid}/environments/":{"get":{"description":"Gets all environments for a project.","operationId":"ListEnvironmentsByProject","parameters":[{"description":"Project GUID","in":"path","name":"projectguid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"description":"returns items listed after the named ID","format":"uuid","in":"query","name":"starting_after","type":"string"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/environment"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get environments for project","tags":["Environments"],"x-add-pipeline":["ValidUser","ProjectRead"]}},"/projects/{projectguid}/environments/{environmentid}/":{"get":{"description":"Gets environment details.","operationId":"GetEnvironment","parameters":[{"description":"Project GUID","in":"path","name":"projectguid","required":true,"type":"string"},{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/environment"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Gets environment details.","tags":["Environments"],"x-add-pipeline":["ValidUser","ProjectRead","ValidEnvironment"]}},"/projects/{projectguid}/environments/{environmentid}/buckets/":{"get":{"description":"Gets all buckets for a project.","operationId":"ListBucketsByProjectEnv","parameters":[{"description":"Project GUID","in":"path","name":"projectguid","required":true,"type":"string"},{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Current Page","format":"int64","in":"query","name":"page","type":"integer"},{"default":10,"description":"Items Per Page","format":"int32","in":"query","maximum":100,"minimum":1,"name":"per_page","type":"integer"},{"description":"resource name","in":"query","name":"name","type":"string"},{"description":"bucket description","in":"query","name":"description","type":"string"},{"description":"Sort By","enum":["name","created"],"in":"query","name":"sort_by","type":"string"},{"description":"Sort Order","enum":["asc","desc"],"in":"query","name":"sort_order","type":"string"}],"responses":{"200":{"description":"OK","headers":{"Content-Range":{"description":"paging in the format - items [start]-[end]/[total]","type":"string"}},"schema":{"items":{"$ref":"#/definitions/bucket"},"type":"array"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get buckets for project","tags":["Buckets"],"x-add-pipeline":["ValidUser","ProjectRead","ValidEnvironment"]},"post":{"description":"Create a bucket for a project.","operationId":"CreateBucketByProjectEnv","parameters":[{"description":"Project GUID","in":"path","name":"projectguid","required":true,"type":"string"},{"description":"Environment ID","in":"path","name":"environmentid","required":true,"type":"string"},{"description":"Bucket","in":"body","name":"bucket","required":true,"schema":{"$ref":"#/definitions/bucketCreate"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/bucket"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/httperror"}},"409":{"description":"Already Exists","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Create bucket","tags":["Buckets"],"x-add-pipeline":["ValidUser","ProjectRead","ValidEnvironment"],"x-permission":{"action":"write","resource":"Project"}}},"/users/me/":{"get":{"description":"Gets the current user's information.","operationId":"GetUserInfo","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/user"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get user info","tags":["Users"],"x-add-pipeline":["ValidUser"]}},"/users/me/apikey/":{"get":{"description":"Gets the current user's API key.","operationId":"GetUserApiKey","responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/userapikey"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Get user API key","tags":["Users"],"x-add-pipeline":["ValidUser"]},"post":{"description":"Re-generate the current user's API key.","operationId":"RegenerateUserApiKey","parameters":[{"description":"ApiKey","in":"body","name":"apikey","required":true,"schema":{"$ref":"#/definitions/userapikey"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/userapikey"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/httperror"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/httperror"}},"default":{"description":"Error","schema":{"$ref":"#/definitions/httperror"}}},"security":[{"ApiKeyAuth":[]}],"summary":"Re-generate user API key","tags":["Users"],"x-add-pipeline":["ValidUser"]}}},"produces":["application/json"],"schemes":["https"],"securityDefinitions":{"ApiKeyAuth":{"in":"header","name":"Authorization","type":"apiKey"}},"swagger":"2.0","tags":[{"description":"An organization is the billing entity for a collection of projects and their buckets.","name":"Orgs"},{"description":"A bucket is a single context for publishing content, which might include things like platform and environment (for example, “ios_staging” or “ios_production”).","name":"Buckets"},{"description":"Bucket access token is the concept for private bucket only. A token is needed when accessing contents in a private bucket via Client API.","name":"BucketAccessTokens"},{"description":"An entry is a single piece of content within a bucket. Entries are versioned and support adding associated labels / metadata.","name":"Entries"},{"description":"Content endpoints are used to push the actual file data for a specific entry.","name":"Content"},{"description":"Releases are a snapshot of the entries contained within a bucket at a single point in time.","name":"Releases"},{"description":"Information relating to the current user.","name":"Users"},{"description":"Badges allow a unique label to be assigned to a single release.","name":"Badges"}]}