diff --git a/bindings/java/src/README.md b/bindings/java/src/README.md
index 9188de0a..8eaf1f17 100644
--- a/bindings/java/src/README.md
+++ b/bindings/java/src/README.md
@@ -40,7 +40,7 @@ Add this dependency to your project's POM:
 
   io.cloudsmith.api
   cloudsmith-api
-  2.0.18
+  2.0.1
   compile
 
 ```
@@ -50,7 +50,7 @@ Add this dependency to your project's POM:
 Add this dependency to your project's build file:
 
 ```groovy
-compile "io.cloudsmith.api:cloudsmith-api:2.0.18"
+compile "io.cloudsmith.api:cloudsmith-api:2.0.1"
 ```
 
 ### Others
@@ -63,7 +63,7 @@ mvn clean package
 
 Then manually install the following JARs:
 
-* `target/cloudsmith-api-2.0.18.jar`
+* `target/cloudsmith-api-2.0.1.jar`
 * `target/lib/*.jar`
 
 ## Getting Started
@@ -220,6 +220,7 @@ Class | Method | HTTP request | Description
 *PackagesApi* | [**packagesCopy**](docs/PackagesApi.md#packagesCopy) | **POST** /packages/{owner}/{repo}/{identifier}/copy/ | Copy a package to another repository.
 *PackagesApi* | [**packagesDelete**](docs/PackagesApi.md#packagesDelete) | **DELETE** /packages/{owner}/{repo}/{identifier}/ | Delete a specific package in a repository.
 *PackagesApi* | [**packagesDependencies**](docs/PackagesApi.md#packagesDependencies) | **GET** /packages/{owner}/{repo}/{identifier}/dependencies/ | Get the list of dependencies for a package. Transitive dependencies are included where supported.
+*PackagesApi* | [**packagesGroupsList**](docs/PackagesApi.md#packagesGroupsList) | **GET** /packages/{owner}/{repo}/groups/ | Return a list of Package Groups in a repository.
 *PackagesApi* | [**packagesList**](docs/PackagesApi.md#packagesList) | **GET** /packages/{owner}/{repo}/ | Get a list of all packages associated with repository.
 *PackagesApi* | [**packagesMove**](docs/PackagesApi.md#packagesMove) | **POST** /packages/{owner}/{repo}/{identifier}/move/ | Move a package to another repository.
 *PackagesApi* | [**packagesQuarantine**](docs/PackagesApi.md#packagesQuarantine) | **POST** /packages/{owner}/{repo}/{identifier}/quarantine/ | Quarantine or release a package.
@@ -310,6 +311,12 @@ Class | Method | HTTP request | Description
 *ReposApi* | [**reposRsaList**](docs/ReposApi.md#reposRsaList) | **GET** /repos/{owner}/{identifier}/rsa/ | Retrieve the active RSA key for the Repository.
 *ReposApi* | [**reposRsaRegenerate**](docs/ReposApi.md#reposRsaRegenerate) | **POST** /repos/{owner}/{identifier}/rsa/regenerate/ | Regenerate RSA Key for the Repository.
 *ReposApi* | [**reposTransferRegion**](docs/ReposApi.md#reposTransferRegion) | **POST** /repos/{owner}/{repo}/transfer-region/ | Transfer a repository to a different region.
+*ReposApi* | [**reposUpstreamCargoCreate**](docs/ReposApi.md#reposUpstreamCargoCreate) | **POST** /repos/{owner}/{identifier}/upstream/cargo/ | Create a Cargo upstream config for this repository.
+*ReposApi* | [**reposUpstreamCargoDelete**](docs/ReposApi.md#reposUpstreamCargoDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Delete a Cargo upstream config for this repository.
+*ReposApi* | [**reposUpstreamCargoList**](docs/ReposApi.md#reposUpstreamCargoList) | **GET** /repos/{owner}/{identifier}/upstream/cargo/ | List Cargo upstream configs for this repository.
+*ReposApi* | [**reposUpstreamCargoPartialUpdate**](docs/ReposApi.md#reposUpstreamCargoPartialUpdate) | **PATCH** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Partially update a Cargo upstream config for this repository.
+*ReposApi* | [**reposUpstreamCargoRead**](docs/ReposApi.md#reposUpstreamCargoRead) | **GET** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Retrieve a Cargo upstream config for this repository.
+*ReposApi* | [**reposUpstreamCargoUpdate**](docs/ReposApi.md#reposUpstreamCargoUpdate) | **PUT** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Update a Cargo upstream config for this repository.
 *ReposApi* | [**reposUpstreamComposerCreate**](docs/ReposApi.md#reposUpstreamComposerCreate) | **POST** /repos/{owner}/{identifier}/upstream/composer/ | Create a Composer upstream config for this repository.
 *ReposApi* | [**reposUpstreamComposerDelete**](docs/ReposApi.md#reposUpstreamComposerDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/composer/{slug_perm}/ | Delete a Composer upstream config for this repository.
 *ReposApi* | [**reposUpstreamComposerList**](docs/ReposApi.md#reposUpstreamComposerList) | **GET** /repos/{owner}/{identifier}/upstream/composer/ | List Composer upstream configs for this repository.
@@ -340,6 +347,12 @@ Class | Method | HTTP request | Description
 *ReposApi* | [**reposUpstreamDockerPartialUpdate**](docs/ReposApi.md#reposUpstreamDockerPartialUpdate) | **PATCH** /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ | Partially update a Docker upstream config for this repository.
 *ReposApi* | [**reposUpstreamDockerRead**](docs/ReposApi.md#reposUpstreamDockerRead) | **GET** /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ | Retrieve a Docker upstream config for this repository.
 *ReposApi* | [**reposUpstreamDockerUpdate**](docs/ReposApi.md#reposUpstreamDockerUpdate) | **PUT** /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ | Update a Docker upstream config for this repository.
+*ReposApi* | [**reposUpstreamGoCreate**](docs/ReposApi.md#reposUpstreamGoCreate) | **POST** /repos/{owner}/{identifier}/upstream/go/ | Create a Go upstream config for this repository.
+*ReposApi* | [**reposUpstreamGoDelete**](docs/ReposApi.md#reposUpstreamGoDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Delete a Go upstream config for this repository.
+*ReposApi* | [**reposUpstreamGoList**](docs/ReposApi.md#reposUpstreamGoList) | **GET** /repos/{owner}/{identifier}/upstream/go/ | List Go upstream configs for this repository.
+*ReposApi* | [**reposUpstreamGoPartialUpdate**](docs/ReposApi.md#reposUpstreamGoPartialUpdate) | **PATCH** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Partially update a Go upstream config for this repository.
+*ReposApi* | [**reposUpstreamGoRead**](docs/ReposApi.md#reposUpstreamGoRead) | **GET** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Retrieve a Go upstream config for this repository.
+*ReposApi* | [**reposUpstreamGoUpdate**](docs/ReposApi.md#reposUpstreamGoUpdate) | **PUT** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Update a Go upstream config for this repository.
 *ReposApi* | [**reposUpstreamHelmCreate**](docs/ReposApi.md#reposUpstreamHelmCreate) | **POST** /repos/{owner}/{identifier}/upstream/helm/ | Create a Helm upstream config for this repository.
 *ReposApi* | [**reposUpstreamHelmDelete**](docs/ReposApi.md#reposUpstreamHelmDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/helm/{slug_perm}/ | Delete a Helm upstream config for this repository.
 *ReposApi* | [**reposUpstreamHelmList**](docs/ReposApi.md#reposUpstreamHelmList) | **GET** /repos/{owner}/{identifier}/upstream/helm/ | List Helm upstream configs for this repository.
@@ -426,6 +439,9 @@ Class | Method | HTTP request | Description
  - [Architecture](docs/Architecture.md)
  - [CargoPackageUpload](docs/CargoPackageUpload.md)
  - [CargoPackageUploadRequest](docs/CargoPackageUploadRequest.md)
+ - [CargoUpstream](docs/CargoUpstream.md)
+ - [CargoUpstreamRequest](docs/CargoUpstreamRequest.md)
+ - [CargoUpstreamRequestPatch](docs/CargoUpstreamRequestPatch.md)
  - [CocoapodsPackageUpload](docs/CocoapodsPackageUpload.md)
  - [CocoapodsPackageUploadRequest](docs/CocoapodsPackageUploadRequest.md)
  - [CommonBandwidthMetrics](docs/CommonBandwidthMetrics.md)
@@ -474,6 +490,9 @@ Class | Method | HTTP request | Description
  - [GeoIpLocation](docs/GeoIpLocation.md)
  - [GoPackageUpload](docs/GoPackageUpload.md)
  - [GoPackageUploadRequest](docs/GoPackageUploadRequest.md)
+ - [GoUpstream](docs/GoUpstream.md)
+ - [GoUpstreamRequest](docs/GoUpstreamRequest.md)
+ - [GoUpstreamRequestPatch](docs/GoUpstreamRequestPatch.md)
  - [HelmPackageUpload](docs/HelmPackageUpload.md)
  - [HelmPackageUploadRequest](docs/HelmPackageUploadRequest.md)
  - [HelmUpstream](docs/HelmUpstream.md)
@@ -488,6 +507,7 @@ Class | Method | HTTP request | Description
  - [HistoryFieldset](docs/HistoryFieldset.md)
  - [HistoryFieldsetRaw](docs/HistoryFieldsetRaw.md)
  - [InlineResponse200](docs/InlineResponse200.md)
+ - [InlineResponse2001](docs/InlineResponse2001.md)
  - [LuarocksPackageUpload](docs/LuarocksPackageUpload.md)
  - [LuarocksPackageUploadRequest](docs/LuarocksPackageUploadRequest.md)
  - [MavenPackageUpload](docs/MavenPackageUpload.md)
@@ -553,6 +573,7 @@ Class | Method | HTTP request | Description
  - [PackageFilePartsUpload](docs/PackageFilePartsUpload.md)
  - [PackageFileUpload](docs/PackageFileUpload.md)
  - [PackageFileUploadRequest](docs/PackageFileUploadRequest.md)
+ - [PackageGroup](docs/PackageGroup.md)
  - [PackageLicensePolicyEvaluationRequest](docs/PackageLicensePolicyEvaluationRequest.md)
  - [PackageLicensePolicyEvaluationRequestRequest](docs/PackageLicensePolicyEvaluationRequestRequest.md)
  - [PackageLicensePolicyViolationLog](docs/PackageLicensePolicyViolationLog.md)
diff --git a/bindings/java/src/build.gradle b/bindings/java/src/build.gradle
index 54d3466e..eed83b1a 100644
--- a/bindings/java/src/build.gradle
+++ b/bindings/java/src/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'idea'
 apply plugin: 'eclipse'
 
 group = 'io.cloudsmith.api'
-version = '2.0.18'
+version = '2.0.1'
 
 buildscript {
     repositories {
diff --git a/bindings/java/src/build.json b/bindings/java/src/build.json
index a760ab99..5cf97d19 100644
--- a/bindings/java/src/build.json
+++ b/bindings/java/src/build.json
@@ -3,7 +3,7 @@
     "apiPackage": "io.cloudsmith.api.apis",
     "artifactId": "cloudsmith-api",
     "artifactUrl": "https://api.cloudsmith.io/?format=openapi",
-    "artifactVersion": "2.0.18",
+    "artifactVersion": "2.0.1",
     "artifactDescription": "Cloudsmith API",
     "dateLibrary": "java8",
     "developerName": "Cloudsmith Ltd",
diff --git a/bindings/java/src/build.sbt b/bindings/java/src/build.sbt
index 211fb7a1..76b830a6 100644
--- a/bindings/java/src/build.sbt
+++ b/bindings/java/src/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
   settings(
     organization := "io.cloudsmith.api",
     name := "cloudsmith-api",
-    version := "2.0.18",
+    version := "2.0.1",
     scalaVersion := "2.11.4",
     scalacOptions ++= Seq("-feature"),
     javacOptions in compile ++= Seq("-Xlint:deprecation"),
diff --git a/bindings/java/src/docs/CargoUpstream.md b/bindings/java/src/docs/CargoUpstream.md
new file mode 100644
index 00000000..a9d785e2
--- /dev/null
+++ b/bindings/java/src/docs/CargoUpstream.md
@@ -0,0 +1,52 @@
+
+# CargoUpstream
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**authMode** | [**AuthModeEnum**](#AuthModeEnum) | The authentication mode to use when accessing this upstream.  |  [optional]
+**authSecret** | **String** | Secret to provide with requests to upstream. |  [optional]
+**authUsername** | **String** | Username to provide with requests to upstream. |  [optional]
+**createdAt** | [**OffsetDateTime**](OffsetDateTime.md) | The datetime the upstream source was created. |  [optional]
+**disableReason** | [**DisableReasonEnum**](#DisableReasonEnum) |  |  [optional]
+**extraHeader1** | **String** | The key for extra header #1 to send to upstream. |  [optional]
+**extraHeader2** | **String** | The key for extra header #2 to send to upstream. |  [optional]
+**extraValue1** | **String** | The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**extraValue2** | **String** | The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**isActive** | **Boolean** | Whether or not this upstream is active and ready for requests. |  [optional]
+**mode** | [**ModeEnum**](#ModeEnum) | The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode. |  [optional]
+**name** | **String** | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. | 
+**pendingValidation** | **Boolean** | When true, this upstream source is pending validation. |  [optional]
+**priority** | **java.math.BigInteger** | Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |  [optional]
+**slugPerm** | **String** |  |  [optional]
+**updatedAt** | [**OffsetDateTime**](OffsetDateTime.md) |  |  [optional]
+**upstreamUrl** | **String** | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.  | 
+**verifySsl** | **Boolean** | If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams. |  [optional]
+
+
+
+## Enum: AuthModeEnum
+Name | Value
+---- | -----
+NONE | "None"
+USERNAME_AND_PASSWORD | "Username and Password"
+
+
+
+## Enum: DisableReasonEnum
+Name | Value
+---- | -----
+N_A | "N/A"
+UPSTREAM_POINTS_TO_ITS_OWN_REPOSITORY | "Upstream points to its own repository"
+MISSING_UPSTREAM_SOURCE | "Missing upstream source"
+UPSTREAM_WAS_DISABLED_BY_REQUEST_OF_USER | "Upstream was disabled by request of user"
+
+
+
+## Enum: ModeEnum
+Name | Value
+---- | -----
+PROXY_ONLY | "Proxy Only"
+
+
+
diff --git a/bindings/java/src/docs/CargoUpstreamRequest.md b/bindings/java/src/docs/CargoUpstreamRequest.md
new file mode 100644
index 00000000..c7fc2ccd
--- /dev/null
+++ b/bindings/java/src/docs/CargoUpstreamRequest.md
@@ -0,0 +1,37 @@
+
+# CargoUpstreamRequest
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**authMode** | [**AuthModeEnum**](#AuthModeEnum) | The authentication mode to use when accessing this upstream.  |  [optional]
+**authSecret** | **String** | Secret to provide with requests to upstream. |  [optional]
+**authUsername** | **String** | Username to provide with requests to upstream. |  [optional]
+**extraHeader1** | **String** | The key for extra header #1 to send to upstream. |  [optional]
+**extraHeader2** | **String** | The key for extra header #2 to send to upstream. |  [optional]
+**extraValue1** | **String** | The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**extraValue2** | **String** | The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**isActive** | **Boolean** | Whether or not this upstream is active and ready for requests. |  [optional]
+**mode** | [**ModeEnum**](#ModeEnum) | The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode. |  [optional]
+**name** | **String** | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. | 
+**priority** | **java.math.BigInteger** | Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |  [optional]
+**upstreamUrl** | **String** | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.  | 
+**verifySsl** | **Boolean** | If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams. |  [optional]
+
+
+
+## Enum: AuthModeEnum
+Name | Value
+---- | -----
+NONE | "None"
+USERNAME_AND_PASSWORD | "Username and Password"
+
+
+
+## Enum: ModeEnum
+Name | Value
+---- | -----
+PROXY_ONLY | "Proxy Only"
+
+
+
diff --git a/bindings/java/src/docs/CargoUpstreamRequestPatch.md b/bindings/java/src/docs/CargoUpstreamRequestPatch.md
new file mode 100644
index 00000000..05287d08
--- /dev/null
+++ b/bindings/java/src/docs/CargoUpstreamRequestPatch.md
@@ -0,0 +1,37 @@
+
+# CargoUpstreamRequestPatch
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**authMode** | [**AuthModeEnum**](#AuthModeEnum) | The authentication mode to use when accessing this upstream.  |  [optional]
+**authSecret** | **String** | Secret to provide with requests to upstream. |  [optional]
+**authUsername** | **String** | Username to provide with requests to upstream. |  [optional]
+**extraHeader1** | **String** | The key for extra header #1 to send to upstream. |  [optional]
+**extraHeader2** | **String** | The key for extra header #2 to send to upstream. |  [optional]
+**extraValue1** | **String** | The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**extraValue2** | **String** | The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**isActive** | **Boolean** | Whether or not this upstream is active and ready for requests. |  [optional]
+**mode** | [**ModeEnum**](#ModeEnum) | The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode. |  [optional]
+**name** | **String** | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |  [optional]
+**priority** | **java.math.BigInteger** | Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |  [optional]
+**upstreamUrl** | **String** | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.  |  [optional]
+**verifySsl** | **Boolean** | If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams. |  [optional]
+
+
+
+## Enum: AuthModeEnum
+Name | Value
+---- | -----
+NONE | "None"
+USERNAME_AND_PASSWORD | "Username and Password"
+
+
+
+## Enum: ModeEnum
+Name | Value
+---- | -----
+PROXY_ONLY | "Proxy Only"
+
+
+
diff --git a/bindings/java/src/docs/GoUpstream.md b/bindings/java/src/docs/GoUpstream.md
new file mode 100644
index 00000000..d723c0ee
--- /dev/null
+++ b/bindings/java/src/docs/GoUpstream.md
@@ -0,0 +1,52 @@
+
+# GoUpstream
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**authMode** | [**AuthModeEnum**](#AuthModeEnum) | The authentication mode to use when accessing this upstream.  |  [optional]
+**authSecret** | **String** | Secret to provide with requests to upstream. |  [optional]
+**authUsername** | **String** | Username to provide with requests to upstream. |  [optional]
+**createdAt** | [**OffsetDateTime**](OffsetDateTime.md) | The datetime the upstream source was created. |  [optional]
+**disableReason** | [**DisableReasonEnum**](#DisableReasonEnum) |  |  [optional]
+**extraHeader1** | **String** | The key for extra header #1 to send to upstream. |  [optional]
+**extraHeader2** | **String** | The key for extra header #2 to send to upstream. |  [optional]
+**extraValue1** | **String** | The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**extraValue2** | **String** | The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**isActive** | **Boolean** | Whether or not this upstream is active and ready for requests. |  [optional]
+**mode** | [**ModeEnum**](#ModeEnum) | The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode. |  [optional]
+**name** | **String** | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. | 
+**pendingValidation** | **Boolean** | When true, this upstream source is pending validation. |  [optional]
+**priority** | **java.math.BigInteger** | Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |  [optional]
+**slugPerm** | **String** |  |  [optional]
+**updatedAt** | [**OffsetDateTime**](OffsetDateTime.md) |  |  [optional]
+**upstreamUrl** | **String** | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.  | 
+**verifySsl** | **Boolean** | If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams. |  [optional]
+
+
+
+## Enum: AuthModeEnum
+Name | Value
+---- | -----
+NONE | "None"
+USERNAME_AND_PASSWORD | "Username and Password"
+
+
+
+## Enum: DisableReasonEnum
+Name | Value
+---- | -----
+N_A | "N/A"
+UPSTREAM_POINTS_TO_ITS_OWN_REPOSITORY | "Upstream points to its own repository"
+MISSING_UPSTREAM_SOURCE | "Missing upstream source"
+UPSTREAM_WAS_DISABLED_BY_REQUEST_OF_USER | "Upstream was disabled by request of user"
+
+
+
+## Enum: ModeEnum
+Name | Value
+---- | -----
+PROXY_ONLY | "Proxy Only"
+
+
+
diff --git a/bindings/java/src/docs/GoUpstreamRequest.md b/bindings/java/src/docs/GoUpstreamRequest.md
new file mode 100644
index 00000000..705a442d
--- /dev/null
+++ b/bindings/java/src/docs/GoUpstreamRequest.md
@@ -0,0 +1,37 @@
+
+# GoUpstreamRequest
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**authMode** | [**AuthModeEnum**](#AuthModeEnum) | The authentication mode to use when accessing this upstream.  |  [optional]
+**authSecret** | **String** | Secret to provide with requests to upstream. |  [optional]
+**authUsername** | **String** | Username to provide with requests to upstream. |  [optional]
+**extraHeader1** | **String** | The key for extra header #1 to send to upstream. |  [optional]
+**extraHeader2** | **String** | The key for extra header #2 to send to upstream. |  [optional]
+**extraValue1** | **String** | The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**extraValue2** | **String** | The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**isActive** | **Boolean** | Whether or not this upstream is active and ready for requests. |  [optional]
+**mode** | [**ModeEnum**](#ModeEnum) | The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode. |  [optional]
+**name** | **String** | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. | 
+**priority** | **java.math.BigInteger** | Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |  [optional]
+**upstreamUrl** | **String** | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.  | 
+**verifySsl** | **Boolean** | If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams. |  [optional]
+
+
+
+## Enum: AuthModeEnum
+Name | Value
+---- | -----
+NONE | "None"
+USERNAME_AND_PASSWORD | "Username and Password"
+
+
+
+## Enum: ModeEnum
+Name | Value
+---- | -----
+PROXY_ONLY | "Proxy Only"
+
+
+
diff --git a/bindings/java/src/docs/GoUpstreamRequestPatch.md b/bindings/java/src/docs/GoUpstreamRequestPatch.md
new file mode 100644
index 00000000..8983ac58
--- /dev/null
+++ b/bindings/java/src/docs/GoUpstreamRequestPatch.md
@@ -0,0 +1,37 @@
+
+# GoUpstreamRequestPatch
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**authMode** | [**AuthModeEnum**](#AuthModeEnum) | The authentication mode to use when accessing this upstream.  |  [optional]
+**authSecret** | **String** | Secret to provide with requests to upstream. |  [optional]
+**authUsername** | **String** | Username to provide with requests to upstream. |  [optional]
+**extraHeader1** | **String** | The key for extra header #1 to send to upstream. |  [optional]
+**extraHeader2** | **String** | The key for extra header #2 to send to upstream. |  [optional]
+**extraValue1** | **String** | The value for extra header #1 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**extraValue2** | **String** | The value for extra header #2 to send to upstream. This is stored as plaintext, and is NOT encrypted. |  [optional]
+**isActive** | **Boolean** | Whether or not this upstream is active and ready for requests. |  [optional]
+**mode** | [**ModeEnum**](#ModeEnum) | The mode that this upstream should operate in. Upstream sources can be used to proxy resolved packages, as well as operate in a proxy/cache or cache only mode. |  [optional]
+**name** | **String** | A descriptive name for this upstream source. A shortened version of this name will be used for tagging cached packages retrieved from this upstream. |  [optional]
+**priority** | **java.math.BigInteger** | Upstream sources are selected for resolving requests by sequential order (1..n), followed by creation date. |  [optional]
+**upstreamUrl** | **String** | The URL for this upstream source. This must be a fully qualified URL including any path elements required to reach the root of the repository.  |  [optional]
+**verifySsl** | **Boolean** | If enabled, SSL certificates are verified when requests are made to this upstream. It's recommended to leave this enabled for all public sources to help mitigate Man-In-The-Middle (MITM) attacks. Please note this only applies to HTTPS upstreams. |  [optional]
+
+
+
+## Enum: AuthModeEnum
+Name | Value
+---- | -----
+NONE | "None"
+USERNAME_AND_PASSWORD | "Username and Password"
+
+
+
+## Enum: ModeEnum
+Name | Value
+---- | -----
+PROXY_ONLY | "Proxy Only"
+
+
+
diff --git a/bindings/java/src/docs/InlineResponse200.md b/bindings/java/src/docs/InlineResponse200.md
index 48f16c61..cb84fb23 100644
--- a/bindings/java/src/docs/InlineResponse200.md
+++ b/bindings/java/src/docs/InlineResponse200.md
@@ -4,7 +4,7 @@
 ## Properties
 Name | Type | Description | Notes
 ------------ | ------------- | ------------- | -------------
-**results** | [**List<UserAuthenticationToken>**](UserAuthenticationToken.md) |  | 
+**results** | [**List<PackageGroup>**](PackageGroup.md) |  | 
 
 
 
diff --git a/bindings/java/src/docs/InlineResponse2001.md b/bindings/java/src/docs/InlineResponse2001.md
new file mode 100644
index 00000000..bb05bd23
--- /dev/null
+++ b/bindings/java/src/docs/InlineResponse2001.md
@@ -0,0 +1,10 @@
+
+# InlineResponse2001
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**results** | [**List<UserAuthenticationToken>**](UserAuthenticationToken.md) |  | 
+
+
+
diff --git a/bindings/java/src/docs/PackageGroup.md b/bindings/java/src/docs/PackageGroup.md
new file mode 100644
index 00000000..d015cdd6
--- /dev/null
+++ b/bindings/java/src/docs/PackageGroup.md
@@ -0,0 +1,15 @@
+
+# PackageGroup
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**backendKind** | **java.math.BigInteger** |  |  [optional]
+**count** | **java.math.BigInteger** |  | 
+**lastPush** | [**OffsetDateTime**](OffsetDateTime.md) |  | 
+**name** | **String** |  |  [optional]
+**numDownloads** | **java.math.BigInteger** |  | 
+**size** | **java.math.BigInteger** |  | 
+
+
+
diff --git a/bindings/java/src/docs/PackagesApi.md b/bindings/java/src/docs/PackagesApi.md
index 4583f530..6508f6ed 100644
--- a/bindings/java/src/docs/PackagesApi.md
+++ b/bindings/java/src/docs/PackagesApi.md
@@ -7,6 +7,7 @@ Method | HTTP request | Description
 [**packagesCopy**](PackagesApi.md#packagesCopy) | **POST** /packages/{owner}/{repo}/{identifier}/copy/ | Copy a package to another repository.
 [**packagesDelete**](PackagesApi.md#packagesDelete) | **DELETE** /packages/{owner}/{repo}/{identifier}/ | Delete a specific package in a repository.
 [**packagesDependencies**](PackagesApi.md#packagesDependencies) | **GET** /packages/{owner}/{repo}/{identifier}/dependencies/ | Get the list of dependencies for a package. Transitive dependencies are included where supported.
+[**packagesGroupsList**](PackagesApi.md#packagesGroupsList) | **GET** /packages/{owner}/{repo}/groups/ | Return a list of Package Groups in a repository.
 [**packagesList**](PackagesApi.md#packagesList) | **GET** /packages/{owner}/{repo}/ | Get a list of all packages associated with repository.
 [**packagesMove**](PackagesApi.md#packagesMove) | **POST** /packages/{owner}/{repo}/{identifier}/move/ | Move a package to another repository.
 [**packagesQuarantine**](PackagesApi.md#packagesQuarantine) | **POST** /packages/{owner}/{repo}/{identifier}/quarantine/ | Quarantine or release a package.
@@ -255,6 +256,78 @@ Name | Type | Description  | Notes
 
 [apikey](../README.md#apikey), [basic](../README.md#basic)
 
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **packagesGroupsList**
+> InlineResponse200 packagesGroupsList(owner, repo, page, pageSize, groupBy, query, sort)
+
+Return a list of Package Groups in a repository.
+
+Return a list of Package Groups in a repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.PackagesApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+PackagesApi apiInstance = new PackagesApi();
+String owner = "owner_example"; // String | 
+String repo = "repo_example"; // String | 
+java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
+java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
+String groupBy = "name"; // String | A field to group packages by. Available options: name, backend_kind.
+String query = ""; // String | A search term for querying names, filenames, versions, distributions, architectures, formats, or statuses of packages.
+String sort = "name"; // String | A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name, count, num_downloads, size, last_push, backend_kind.
+try {
+    InlineResponse200 result = apiInstance.packagesGroupsList(owner, repo, page, pageSize, groupBy, query, sort);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling PackagesApi#packagesGroupsList");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **repo** | **String**|  |
+ **page** | **java.math.BigInteger**| A page number within the paginated result set. | [optional]
+ **pageSize** | **java.math.BigInteger**| Number of results to return per page. | [optional]
+ **groupBy** | **String**| A field to group packages by. Available options: name, backend_kind. | [optional] [default to name]
+ **query** | **String**| A search term for querying names, filenames, versions, distributions, architectures, formats, or statuses of packages. | [optional] [default to ]
+ **sort** | **String**| A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name, count, num_downloads, size, last_push, backend_kind. | [optional] [default to name]
+
+### Return type
+
+[**InlineResponse200**](InlineResponse200.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
 ### HTTP request headers
 
  - **Content-Type**: application/json
diff --git a/bindings/java/src/docs/ReposApi.md b/bindings/java/src/docs/ReposApi.md
index bea19b2c..1b96dabc 100644
--- a/bindings/java/src/docs/ReposApi.md
+++ b/bindings/java/src/docs/ReposApi.md
@@ -31,6 +31,12 @@ Method | HTTP request | Description
 [**reposRsaList**](ReposApi.md#reposRsaList) | **GET** /repos/{owner}/{identifier}/rsa/ | Retrieve the active RSA key for the Repository.
 [**reposRsaRegenerate**](ReposApi.md#reposRsaRegenerate) | **POST** /repos/{owner}/{identifier}/rsa/regenerate/ | Regenerate RSA Key for the Repository.
 [**reposTransferRegion**](ReposApi.md#reposTransferRegion) | **POST** /repos/{owner}/{repo}/transfer-region/ | Transfer a repository to a different region.
+[**reposUpstreamCargoCreate**](ReposApi.md#reposUpstreamCargoCreate) | **POST** /repos/{owner}/{identifier}/upstream/cargo/ | Create a Cargo upstream config for this repository.
+[**reposUpstreamCargoDelete**](ReposApi.md#reposUpstreamCargoDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Delete a Cargo upstream config for this repository.
+[**reposUpstreamCargoList**](ReposApi.md#reposUpstreamCargoList) | **GET** /repos/{owner}/{identifier}/upstream/cargo/ | List Cargo upstream configs for this repository.
+[**reposUpstreamCargoPartialUpdate**](ReposApi.md#reposUpstreamCargoPartialUpdate) | **PATCH** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Partially update a Cargo upstream config for this repository.
+[**reposUpstreamCargoRead**](ReposApi.md#reposUpstreamCargoRead) | **GET** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Retrieve a Cargo upstream config for this repository.
+[**reposUpstreamCargoUpdate**](ReposApi.md#reposUpstreamCargoUpdate) | **PUT** /repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/ | Update a Cargo upstream config for this repository.
 [**reposUpstreamComposerCreate**](ReposApi.md#reposUpstreamComposerCreate) | **POST** /repos/{owner}/{identifier}/upstream/composer/ | Create a Composer upstream config for this repository.
 [**reposUpstreamComposerDelete**](ReposApi.md#reposUpstreamComposerDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/composer/{slug_perm}/ | Delete a Composer upstream config for this repository.
 [**reposUpstreamComposerList**](ReposApi.md#reposUpstreamComposerList) | **GET** /repos/{owner}/{identifier}/upstream/composer/ | List Composer upstream configs for this repository.
@@ -61,6 +67,12 @@ Method | HTTP request | Description
 [**reposUpstreamDockerPartialUpdate**](ReposApi.md#reposUpstreamDockerPartialUpdate) | **PATCH** /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ | Partially update a Docker upstream config for this repository.
 [**reposUpstreamDockerRead**](ReposApi.md#reposUpstreamDockerRead) | **GET** /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ | Retrieve a Docker upstream config for this repository.
 [**reposUpstreamDockerUpdate**](ReposApi.md#reposUpstreamDockerUpdate) | **PUT** /repos/{owner}/{identifier}/upstream/docker/{slug_perm}/ | Update a Docker upstream config for this repository.
+[**reposUpstreamGoCreate**](ReposApi.md#reposUpstreamGoCreate) | **POST** /repos/{owner}/{identifier}/upstream/go/ | Create a Go upstream config for this repository.
+[**reposUpstreamGoDelete**](ReposApi.md#reposUpstreamGoDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Delete a Go upstream config for this repository.
+[**reposUpstreamGoList**](ReposApi.md#reposUpstreamGoList) | **GET** /repos/{owner}/{identifier}/upstream/go/ | List Go upstream configs for this repository.
+[**reposUpstreamGoPartialUpdate**](ReposApi.md#reposUpstreamGoPartialUpdate) | **PATCH** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Partially update a Go upstream config for this repository.
+[**reposUpstreamGoRead**](ReposApi.md#reposUpstreamGoRead) | **GET** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Retrieve a Go upstream config for this repository.
+[**reposUpstreamGoUpdate**](ReposApi.md#reposUpstreamGoUpdate) | **PUT** /repos/{owner}/{identifier}/upstream/go/{slug_perm}/ | Update a Go upstream config for this repository.
 [**reposUpstreamHelmCreate**](ReposApi.md#reposUpstreamHelmCreate) | **POST** /repos/{owner}/{identifier}/upstream/helm/ | Create a Helm upstream config for this repository.
 [**reposUpstreamHelmDelete**](ReposApi.md#reposUpstreamHelmDelete) | **DELETE** /repos/{owner}/{identifier}/upstream/helm/{slug_perm}/ | Delete a Helm upstream config for this repository.
 [**reposUpstreamHelmList**](ReposApi.md#reposUpstreamHelmList) | **GET** /repos/{owner}/{identifier}/upstream/helm/ | List Helm upstream configs for this repository.
@@ -1820,13 +1832,13 @@ null (empty response body)
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamComposerCreate**
-> ComposerUpstream reposUpstreamComposerCreate(owner, identifier, data)
+
+# **reposUpstreamCargoCreate**
+> CargoUpstream reposUpstreamCargoCreate(owner, identifier, data)
 
-Create a Composer upstream config for this repository.
+Create a Cargo upstream config for this repository.
 
-Create a Composer upstream config for this repository.
+Create a Cargo upstream config for this repository.
 
 ### Example
 ```java
@@ -1853,12 +1865,12 @@ basic.setPassword("YOUR PASSWORD");
 ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
-ComposerUpstreamRequest data = new ComposerUpstreamRequest(); // ComposerUpstreamRequest | 
+CargoUpstreamRequest data = new CargoUpstreamRequest(); // CargoUpstreamRequest | 
 try {
-    ComposerUpstream result = apiInstance.reposUpstreamComposerCreate(owner, identifier, data);
+    CargoUpstream result = apiInstance.reposUpstreamCargoCreate(owner, identifier, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamComposerCreate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamCargoCreate");
     e.printStackTrace();
 }
 ```
@@ -1869,11 +1881,11 @@ Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **owner** | **String**|  |
  **identifier** | **String**|  |
- **data** | [**ComposerUpstreamRequest**](ComposerUpstreamRequest.md)|  | [optional]
+ **data** | [**CargoUpstreamRequest**](CargoUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**ComposerUpstream**](ComposerUpstream.md)
+[**CargoUpstream**](CargoUpstream.md)
 
 ### Authorization
 
@@ -1884,13 +1896,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamComposerDelete**
-> reposUpstreamComposerDelete(owner, identifier, slugPerm)
+
+# **reposUpstreamCargoDelete**
+> reposUpstreamCargoDelete(owner, identifier, slugPerm)
 
-Delete a Composer upstream config for this repository.
+Delete a Cargo upstream config for this repository.
 
-Delete a Composer upstream config for this repository.
+Delete a Cargo upstream config for this repository.
 
 ### Example
 ```java
@@ -1919,9 +1931,9 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    apiInstance.reposUpstreamComposerDelete(owner, identifier, slugPerm);
+    apiInstance.reposUpstreamCargoDelete(owner, identifier, slugPerm);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamComposerDelete");
+    System.err.println("Exception when calling ReposApi#reposUpstreamCargoDelete");
     e.printStackTrace();
 }
 ```
@@ -1947,13 +1959,13 @@ null (empty response body)
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamComposerList**
-> List<ComposerUpstream> reposUpstreamComposerList(owner, identifier, page, pageSize)
+
+# **reposUpstreamCargoList**
+> List<CargoUpstream> reposUpstreamCargoList(owner, identifier, page, pageSize)
 
-List Composer upstream configs for this repository.
+List Cargo upstream configs for this repository.
 
-List Composer upstream configs for this repository.
+List Cargo upstream configs for this repository.
 
 ### Example
 ```java
@@ -1983,10 +1995,10 @@ String identifier = "identifier_example"; // String |
 java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
 java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
 try {
-    List result = apiInstance.reposUpstreamComposerList(owner, identifier, page, pageSize);
+    List result = apiInstance.reposUpstreamCargoList(owner, identifier, page, pageSize);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamComposerList");
+    System.err.println("Exception when calling ReposApi#reposUpstreamCargoList");
     e.printStackTrace();
 }
 ```
@@ -2002,7 +2014,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**List<ComposerUpstream>**](ComposerUpstream.md)
+[**List<CargoUpstream>**](CargoUpstream.md)
 
 ### Authorization
 
@@ -2013,13 +2025,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamComposerPartialUpdate**
-> ComposerUpstream reposUpstreamComposerPartialUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamCargoPartialUpdate**
+> CargoUpstream reposUpstreamCargoPartialUpdate(owner, identifier, slugPerm, data)
 
-Partially update a Composer upstream config for this repository.
+Partially update a Cargo upstream config for this repository.
 
-Partially update a Composer upstream config for this repository.
+Partially update a Cargo upstream config for this repository.
 
 ### Example
 ```java
@@ -2047,12 +2059,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-ComposerUpstreamRequestPatch data = new ComposerUpstreamRequestPatch(); // ComposerUpstreamRequestPatch | 
+CargoUpstreamRequestPatch data = new CargoUpstreamRequestPatch(); // CargoUpstreamRequestPatch | 
 try {
-    ComposerUpstream result = apiInstance.reposUpstreamComposerPartialUpdate(owner, identifier, slugPerm, data);
+    CargoUpstream result = apiInstance.reposUpstreamCargoPartialUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamComposerPartialUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamCargoPartialUpdate");
     e.printStackTrace();
 }
 ```
@@ -2064,11 +2076,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**ComposerUpstreamRequestPatch**](ComposerUpstreamRequestPatch.md)|  | [optional]
+ **data** | [**CargoUpstreamRequestPatch**](CargoUpstreamRequestPatch.md)|  | [optional]
 
 ### Return type
 
-[**ComposerUpstream**](ComposerUpstream.md)
+[**CargoUpstream**](CargoUpstream.md)
 
 ### Authorization
 
@@ -2079,13 +2091,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamComposerRead**
-> ComposerUpstream reposUpstreamComposerRead(owner, identifier, slugPerm)
+
+# **reposUpstreamCargoRead**
+> CargoUpstream reposUpstreamCargoRead(owner, identifier, slugPerm)
 
-Retrieve a Composer upstream config for this repository.
+Retrieve a Cargo upstream config for this repository.
 
-Retrieve a Composer upstream config for this repository.
+Retrieve a Cargo upstream config for this repository.
 
 ### Example
 ```java
@@ -2114,10 +2126,10 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    ComposerUpstream result = apiInstance.reposUpstreamComposerRead(owner, identifier, slugPerm);
+    CargoUpstream result = apiInstance.reposUpstreamCargoRead(owner, identifier, slugPerm);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamComposerRead");
+    System.err.println("Exception when calling ReposApi#reposUpstreamCargoRead");
     e.printStackTrace();
 }
 ```
@@ -2132,7 +2144,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**ComposerUpstream**](ComposerUpstream.md)
+[**CargoUpstream**](CargoUpstream.md)
 
 ### Authorization
 
@@ -2143,13 +2155,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamComposerUpdate**
-> ComposerUpstream reposUpstreamComposerUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamCargoUpdate**
+> CargoUpstream reposUpstreamCargoUpdate(owner, identifier, slugPerm, data)
 
-Update a Composer upstream config for this repository.
+Update a Cargo upstream config for this repository.
 
-Update a Composer upstream config for this repository.
+Update a Cargo upstream config for this repository.
 
 ### Example
 ```java
@@ -2177,12 +2189,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-ComposerUpstreamRequest data = new ComposerUpstreamRequest(); // ComposerUpstreamRequest | 
+CargoUpstreamRequest data = new CargoUpstreamRequest(); // CargoUpstreamRequest | 
 try {
-    ComposerUpstream result = apiInstance.reposUpstreamComposerUpdate(owner, identifier, slugPerm, data);
+    CargoUpstream result = apiInstance.reposUpstreamCargoUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamComposerUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamCargoUpdate");
     e.printStackTrace();
 }
 ```
@@ -2194,11 +2206,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**ComposerUpstreamRequest**](ComposerUpstreamRequest.md)|  | [optional]
+ **data** | [**CargoUpstreamRequest**](CargoUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**ComposerUpstream**](ComposerUpstream.md)
+[**CargoUpstream**](CargoUpstream.md)
 
 ### Authorization
 
@@ -2209,13 +2221,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamCranCreate**
-> CranUpstream reposUpstreamCranCreate(owner, identifier, data)
+
+# **reposUpstreamComposerCreate**
+> ComposerUpstream reposUpstreamComposerCreate(owner, identifier, data)
 
-Create a CRAN upstream config for this repository.
+Create a Composer upstream config for this repository.
 
-Create a CRAN upstream config for this repository.
+Create a Composer upstream config for this repository.
 
 ### Example
 ```java
@@ -2242,12 +2254,12 @@ basic.setPassword("YOUR PASSWORD");
 ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
-CranUpstreamRequest data = new CranUpstreamRequest(); // CranUpstreamRequest | 
+ComposerUpstreamRequest data = new ComposerUpstreamRequest(); // ComposerUpstreamRequest | 
 try {
-    CranUpstream result = apiInstance.reposUpstreamCranCreate(owner, identifier, data);
+    ComposerUpstream result = apiInstance.reposUpstreamComposerCreate(owner, identifier, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamCranCreate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamComposerCreate");
     e.printStackTrace();
 }
 ```
@@ -2258,11 +2270,11 @@ Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **owner** | **String**|  |
  **identifier** | **String**|  |
- **data** | [**CranUpstreamRequest**](CranUpstreamRequest.md)|  | [optional]
+ **data** | [**ComposerUpstreamRequest**](ComposerUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**CranUpstream**](CranUpstream.md)
+[**ComposerUpstream**](ComposerUpstream.md)
 
 ### Authorization
 
@@ -2273,13 +2285,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamCranDelete**
-> reposUpstreamCranDelete(owner, identifier, slugPerm)
+
+# **reposUpstreamComposerDelete**
+> reposUpstreamComposerDelete(owner, identifier, slugPerm)
 
-Delete a CRAN upstream config for this repository.
+Delete a Composer upstream config for this repository.
 
-Delete a CRAN upstream config for this repository.
+Delete a Composer upstream config for this repository.
 
 ### Example
 ```java
@@ -2308,9 +2320,9 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    apiInstance.reposUpstreamCranDelete(owner, identifier, slugPerm);
+    apiInstance.reposUpstreamComposerDelete(owner, identifier, slugPerm);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamCranDelete");
+    System.err.println("Exception when calling ReposApi#reposUpstreamComposerDelete");
     e.printStackTrace();
 }
 ```
@@ -2336,13 +2348,13 @@ null (empty response body)
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamCranList**
-> List<CranUpstream> reposUpstreamCranList(owner, identifier, page, pageSize)
+
+# **reposUpstreamComposerList**
+> List<ComposerUpstream> reposUpstreamComposerList(owner, identifier, page, pageSize)
 
-List CRAN upstream configs for this repository.
+List Composer upstream configs for this repository.
 
-List CRAN upstream configs for this repository.
+List Composer upstream configs for this repository.
 
 ### Example
 ```java
@@ -2372,10 +2384,10 @@ String identifier = "identifier_example"; // String |
 java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
 java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
 try {
-    List result = apiInstance.reposUpstreamCranList(owner, identifier, page, pageSize);
+    List result = apiInstance.reposUpstreamComposerList(owner, identifier, page, pageSize);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamCranList");
+    System.err.println("Exception when calling ReposApi#reposUpstreamComposerList");
     e.printStackTrace();
 }
 ```
@@ -2391,7 +2403,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**List<CranUpstream>**](CranUpstream.md)
+[**List<ComposerUpstream>**](ComposerUpstream.md)
 
 ### Authorization
 
@@ -2402,13 +2414,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamCranPartialUpdate**
-> CranUpstream reposUpstreamCranPartialUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamComposerPartialUpdate**
+> ComposerUpstream reposUpstreamComposerPartialUpdate(owner, identifier, slugPerm, data)
 
-Partially update a CRAN upstream config for this repository.
+Partially update a Composer upstream config for this repository.
 
-Partially update a CRAN upstream config for this repository.
+Partially update a Composer upstream config for this repository.
 
 ### Example
 ```java
@@ -2436,12 +2448,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-CranUpstreamRequestPatch data = new CranUpstreamRequestPatch(); // CranUpstreamRequestPatch | 
+ComposerUpstreamRequestPatch data = new ComposerUpstreamRequestPatch(); // ComposerUpstreamRequestPatch | 
 try {
-    CranUpstream result = apiInstance.reposUpstreamCranPartialUpdate(owner, identifier, slugPerm, data);
+    ComposerUpstream result = apiInstance.reposUpstreamComposerPartialUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamCranPartialUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamComposerPartialUpdate");
     e.printStackTrace();
 }
 ```
@@ -2453,11 +2465,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**CranUpstreamRequestPatch**](CranUpstreamRequestPatch.md)|  | [optional]
+ **data** | [**ComposerUpstreamRequestPatch**](ComposerUpstreamRequestPatch.md)|  | [optional]
 
 ### Return type
 
-[**CranUpstream**](CranUpstream.md)
+[**ComposerUpstream**](ComposerUpstream.md)
 
 ### Authorization
 
@@ -2468,13 +2480,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamCranRead**
-> CranUpstream reposUpstreamCranRead(owner, identifier, slugPerm)
+
+# **reposUpstreamComposerRead**
+> ComposerUpstream reposUpstreamComposerRead(owner, identifier, slugPerm)
 
-Retrieve a CRAN upstream config for this repository.
+Retrieve a Composer upstream config for this repository.
 
-Retrieve a CRAN upstream config for this repository.
+Retrieve a Composer upstream config for this repository.
 
 ### Example
 ```java
@@ -2503,10 +2515,10 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    CranUpstream result = apiInstance.reposUpstreamCranRead(owner, identifier, slugPerm);
+    ComposerUpstream result = apiInstance.reposUpstreamComposerRead(owner, identifier, slugPerm);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamCranRead");
+    System.err.println("Exception when calling ReposApi#reposUpstreamComposerRead");
     e.printStackTrace();
 }
 ```
@@ -2521,7 +2533,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**CranUpstream**](CranUpstream.md)
+[**ComposerUpstream**](ComposerUpstream.md)
 
 ### Authorization
 
@@ -2532,13 +2544,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamCranUpdate**
-> CranUpstream reposUpstreamCranUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamComposerUpdate**
+> ComposerUpstream reposUpstreamComposerUpdate(owner, identifier, slugPerm, data)
 
-Update a CRAN upstream config for this repository.
+Update a Composer upstream config for this repository.
 
-Update a CRAN upstream config for this repository.
+Update a Composer upstream config for this repository.
 
 ### Example
 ```java
@@ -2566,12 +2578,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-CranUpstreamRequest data = new CranUpstreamRequest(); // CranUpstreamRequest | 
+ComposerUpstreamRequest data = new ComposerUpstreamRequest(); // ComposerUpstreamRequest | 
 try {
-    CranUpstream result = apiInstance.reposUpstreamCranUpdate(owner, identifier, slugPerm, data);
+    ComposerUpstream result = apiInstance.reposUpstreamComposerUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamCranUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamComposerUpdate");
     e.printStackTrace();
 }
 ```
@@ -2583,6 +2595,70 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
+ **data** | [**ComposerUpstreamRequest**](ComposerUpstreamRequest.md)|  | [optional]
+
+### Return type
+
+[**ComposerUpstream**](ComposerUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamCranCreate**
+> CranUpstream reposUpstreamCranCreate(owner, identifier, data)
+
+Create a CRAN upstream config for this repository.
+
+Create a CRAN upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+CranUpstreamRequest data = new CranUpstreamRequest(); // CranUpstreamRequest | 
+try {
+    CranUpstream result = apiInstance.reposUpstreamCranCreate(owner, identifier, data);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamCranCreate");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
  **data** | [**CranUpstreamRequest**](CranUpstreamRequest.md)|  | [optional]
 
 ### Return type
@@ -2598,13 +2674,727 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDartCreate**
-> DartUpstream reposUpstreamDartCreate(owner, identifier, data)
+
+# **reposUpstreamCranDelete**
+> reposUpstreamCranDelete(owner, identifier, slugPerm)
 
-Create a Dart upstream config for this repository.
+Delete a CRAN upstream config for this repository.
 
-Create a Dart upstream config for this repository.
+Delete a CRAN upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+try {
+    apiInstance.reposUpstreamCranDelete(owner, identifier, slugPerm);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamCranDelete");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+
+### Return type
+
+null (empty response body)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamCranList**
+> List<CranUpstream> reposUpstreamCranList(owner, identifier, page, pageSize)
+
+List CRAN upstream configs for this repository.
+
+List CRAN upstream configs for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
+java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
+try {
+    List result = apiInstance.reposUpstreamCranList(owner, identifier, page, pageSize);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamCranList");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **page** | **java.math.BigInteger**| A page number within the paginated result set. | [optional]
+ **pageSize** | **java.math.BigInteger**| Number of results to return per page. | [optional]
+
+### Return type
+
+[**List<CranUpstream>**](CranUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamCranPartialUpdate**
+> CranUpstream reposUpstreamCranPartialUpdate(owner, identifier, slugPerm, data)
+
+Partially update a CRAN upstream config for this repository.
+
+Partially update a CRAN upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+CranUpstreamRequestPatch data = new CranUpstreamRequestPatch(); // CranUpstreamRequestPatch | 
+try {
+    CranUpstream result = apiInstance.reposUpstreamCranPartialUpdate(owner, identifier, slugPerm, data);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamCranPartialUpdate");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+ **data** | [**CranUpstreamRequestPatch**](CranUpstreamRequestPatch.md)|  | [optional]
+
+### Return type
+
+[**CranUpstream**](CranUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamCranRead**
+> CranUpstream reposUpstreamCranRead(owner, identifier, slugPerm)
+
+Retrieve a CRAN upstream config for this repository.
+
+Retrieve a CRAN upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+try {
+    CranUpstream result = apiInstance.reposUpstreamCranRead(owner, identifier, slugPerm);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamCranRead");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+
+### Return type
+
+[**CranUpstream**](CranUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamCranUpdate**
+> CranUpstream reposUpstreamCranUpdate(owner, identifier, slugPerm, data)
+
+Update a CRAN upstream config for this repository.
+
+Update a CRAN upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+CranUpstreamRequest data = new CranUpstreamRequest(); // CranUpstreamRequest | 
+try {
+    CranUpstream result = apiInstance.reposUpstreamCranUpdate(owner, identifier, slugPerm, data);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamCranUpdate");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+ **data** | [**CranUpstreamRequest**](CranUpstreamRequest.md)|  | [optional]
+
+### Return type
+
+[**CranUpstream**](CranUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDartCreate**
+> DartUpstream reposUpstreamDartCreate(owner, identifier, data)
+
+Create a Dart upstream config for this repository.
+
+Create a Dart upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+DartUpstreamRequest data = new DartUpstreamRequest(); // DartUpstreamRequest | 
+try {
+    DartUpstream result = apiInstance.reposUpstreamDartCreate(owner, identifier, data);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamDartCreate");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **data** | [**DartUpstreamRequest**](DartUpstreamRequest.md)|  | [optional]
+
+### Return type
+
+[**DartUpstream**](DartUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDartDelete**
+> reposUpstreamDartDelete(owner, identifier, slugPerm)
+
+Delete a Dart upstream config for this repository.
+
+Delete a Dart upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+try {
+    apiInstance.reposUpstreamDartDelete(owner, identifier, slugPerm);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamDartDelete");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+
+### Return type
+
+null (empty response body)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDartList**
+> List<DartUpstream> reposUpstreamDartList(owner, identifier, page, pageSize)
+
+List Dart upstream configs for this repository.
+
+List Dart upstream configs for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
+java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
+try {
+    List result = apiInstance.reposUpstreamDartList(owner, identifier, page, pageSize);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamDartList");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **page** | **java.math.BigInteger**| A page number within the paginated result set. | [optional]
+ **pageSize** | **java.math.BigInteger**| Number of results to return per page. | [optional]
+
+### Return type
+
+[**List<DartUpstream>**](DartUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDartPartialUpdate**
+> DartUpstream reposUpstreamDartPartialUpdate(owner, identifier, slugPerm, data)
+
+Partially update a Dart upstream config for this repository.
+
+Partially update a Dart upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+DartUpstreamRequestPatch data = new DartUpstreamRequestPatch(); // DartUpstreamRequestPatch | 
+try {
+    DartUpstream result = apiInstance.reposUpstreamDartPartialUpdate(owner, identifier, slugPerm, data);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamDartPartialUpdate");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+ **data** | [**DartUpstreamRequestPatch**](DartUpstreamRequestPatch.md)|  | [optional]
+
+### Return type
+
+[**DartUpstream**](DartUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDartRead**
+> DartUpstream reposUpstreamDartRead(owner, identifier, slugPerm)
+
+Retrieve a Dart upstream config for this repository.
+
+Retrieve a Dart upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+try {
+    DartUpstream result = apiInstance.reposUpstreamDartRead(owner, identifier, slugPerm);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamDartRead");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+
+### Return type
+
+[**DartUpstream**](DartUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDartUpdate**
+> DartUpstream reposUpstreamDartUpdate(owner, identifier, slugPerm, data)
+
+Update a Dart upstream config for this repository.
+
+Update a Dart upstream config for this repository.
+
+### Example
+```java
+// Import classes:
+//import io.cloudsmith.api.ApiClient;
+//import io.cloudsmith.api.ApiException;
+//import io.cloudsmith.api.Configuration;
+//import io.cloudsmith.api.auth.*;
+//import io.cloudsmith.api.apis.ReposApi;
+
+ApiClient defaultClient = Configuration.getDefaultApiClient();
+
+// Configure API key authorization: apikey
+ApiKeyAuth apikey = (ApiKeyAuth) defaultClient.getAuthentication("apikey");
+apikey.setApiKey("YOUR API KEY");
+// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+//apikey.setApiKeyPrefix("Token");
+
+// Configure HTTP basic authorization: basic
+HttpBasicAuth basic = (HttpBasicAuth) defaultClient.getAuthentication("basic");
+basic.setUsername("YOUR USERNAME");
+basic.setPassword("YOUR PASSWORD");
+
+ReposApi apiInstance = new ReposApi();
+String owner = "owner_example"; // String | 
+String identifier = "identifier_example"; // String | 
+String slugPerm = "slugPerm_example"; // String | 
+DartUpstreamRequest data = new DartUpstreamRequest(); // DartUpstreamRequest | 
+try {
+    DartUpstream result = apiInstance.reposUpstreamDartUpdate(owner, identifier, slugPerm, data);
+    System.out.println(result);
+} catch (ApiException e) {
+    System.err.println("Exception when calling ReposApi#reposUpstreamDartUpdate");
+    e.printStackTrace();
+}
+```
+
+### Parameters
+
+Name | Type | Description  | Notes
+------------- | ------------- | ------------- | -------------
+ **owner** | **String**|  |
+ **identifier** | **String**|  |
+ **slugPerm** | **String**|  |
+ **data** | [**DartUpstreamRequest**](DartUpstreamRequest.md)|  | [optional]
+
+### Return type
+
+[**DartUpstream**](DartUpstream.md)
+
+### Authorization
+
+[apikey](../README.md#apikey), [basic](../README.md#basic)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+
+# **reposUpstreamDebCreate**
+> DebUpstream reposUpstreamDebCreate(owner, identifier, data)
+
+Create a Debian upstream config for this repository.
+
+Create a Debian upstream config for this repository.
 
 ### Example
 ```java
@@ -2631,12 +3421,12 @@ basic.setPassword("YOUR PASSWORD");
 ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
-DartUpstreamRequest data = new DartUpstreamRequest(); // DartUpstreamRequest | 
+DebUpstreamRequest data = new DebUpstreamRequest(); // DebUpstreamRequest | 
 try {
-    DartUpstream result = apiInstance.reposUpstreamDartCreate(owner, identifier, data);
+    DebUpstream result = apiInstance.reposUpstreamDebCreate(owner, identifier, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDartCreate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDebCreate");
     e.printStackTrace();
 }
 ```
@@ -2647,11 +3437,11 @@ Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **owner** | **String**|  |
  **identifier** | **String**|  |
- **data** | [**DartUpstreamRequest**](DartUpstreamRequest.md)|  | [optional]
+ **data** | [**DebUpstreamRequest**](DebUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**DartUpstream**](DartUpstream.md)
+[**DebUpstream**](DebUpstream.md)
 
 ### Authorization
 
@@ -2662,13 +3452,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDartDelete**
-> reposUpstreamDartDelete(owner, identifier, slugPerm)
+
+# **reposUpstreamDebDelete**
+> reposUpstreamDebDelete(owner, identifier, slugPerm)
 
-Delete a Dart upstream config for this repository.
+Delete a Debian upstream config for this repository.
 
-Delete a Dart upstream config for this repository.
+Delete a Debian upstream config for this repository.
 
 ### Example
 ```java
@@ -2697,9 +3487,9 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    apiInstance.reposUpstreamDartDelete(owner, identifier, slugPerm);
+    apiInstance.reposUpstreamDebDelete(owner, identifier, slugPerm);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDartDelete");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDebDelete");
     e.printStackTrace();
 }
 ```
@@ -2725,13 +3515,13 @@ null (empty response body)
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDartList**
-> List<DartUpstream> reposUpstreamDartList(owner, identifier, page, pageSize)
+
+# **reposUpstreamDebList**
+> List<DebUpstream> reposUpstreamDebList(owner, identifier, page, pageSize)
 
-List Dart upstream configs for this repository.
+List Debian upstream configs for this repository.
 
-List Dart upstream configs for this repository.
+List Debian upstream configs for this repository.
 
 ### Example
 ```java
@@ -2761,10 +3551,10 @@ String identifier = "identifier_example"; // String |
 java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
 java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
 try {
-    List result = apiInstance.reposUpstreamDartList(owner, identifier, page, pageSize);
+    List result = apiInstance.reposUpstreamDebList(owner, identifier, page, pageSize);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDartList");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDebList");
     e.printStackTrace();
 }
 ```
@@ -2780,7 +3570,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**List<DartUpstream>**](DartUpstream.md)
+[**List<DebUpstream>**](DebUpstream.md)
 
 ### Authorization
 
@@ -2791,13 +3581,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDartPartialUpdate**
-> DartUpstream reposUpstreamDartPartialUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamDebPartialUpdate**
+> DebUpstream reposUpstreamDebPartialUpdate(owner, identifier, slugPerm, data)
 
-Partially update a Dart upstream config for this repository.
+Partially update a Debian upstream config for this repository.
 
-Partially update a Dart upstream config for this repository.
+Partially update a Debian upstream config for this repository.
 
 ### Example
 ```java
@@ -2825,12 +3615,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-DartUpstreamRequestPatch data = new DartUpstreamRequestPatch(); // DartUpstreamRequestPatch | 
+DebUpstreamRequestPatch data = new DebUpstreamRequestPatch(); // DebUpstreamRequestPatch | 
 try {
-    DartUpstream result = apiInstance.reposUpstreamDartPartialUpdate(owner, identifier, slugPerm, data);
+    DebUpstream result = apiInstance.reposUpstreamDebPartialUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDartPartialUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDebPartialUpdate");
     e.printStackTrace();
 }
 ```
@@ -2842,11 +3632,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**DartUpstreamRequestPatch**](DartUpstreamRequestPatch.md)|  | [optional]
+ **data** | [**DebUpstreamRequestPatch**](DebUpstreamRequestPatch.md)|  | [optional]
 
 ### Return type
 
-[**DartUpstream**](DartUpstream.md)
+[**DebUpstream**](DebUpstream.md)
 
 ### Authorization
 
@@ -2857,13 +3647,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDartRead**
-> DartUpstream reposUpstreamDartRead(owner, identifier, slugPerm)
+
+# **reposUpstreamDebRead**
+> DebUpstream reposUpstreamDebRead(owner, identifier, slugPerm)
 
-Retrieve a Dart upstream config for this repository.
+Retrieve a Debian upstream config for this repository.
 
-Retrieve a Dart upstream config for this repository.
+Retrieve a Debian upstream config for this repository.
 
 ### Example
 ```java
@@ -2892,10 +3682,10 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    DartUpstream result = apiInstance.reposUpstreamDartRead(owner, identifier, slugPerm);
+    DebUpstream result = apiInstance.reposUpstreamDebRead(owner, identifier, slugPerm);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDartRead");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDebRead");
     e.printStackTrace();
 }
 ```
@@ -2910,7 +3700,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**DartUpstream**](DartUpstream.md)
+[**DebUpstream**](DebUpstream.md)
 
 ### Authorization
 
@@ -2921,13 +3711,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDartUpdate**
-> DartUpstream reposUpstreamDartUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamDebUpdate**
+> DebUpstream reposUpstreamDebUpdate(owner, identifier, slugPerm, data)
 
-Update a Dart upstream config for this repository.
+Update a Debian upstream config for this repository.
 
-Update a Dart upstream config for this repository.
+Update a Debian upstream config for this repository.
 
 ### Example
 ```java
@@ -2955,12 +3745,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-DartUpstreamRequest data = new DartUpstreamRequest(); // DartUpstreamRequest | 
+DebUpstreamRequest data = new DebUpstreamRequest(); // DebUpstreamRequest | 
 try {
-    DartUpstream result = apiInstance.reposUpstreamDartUpdate(owner, identifier, slugPerm, data);
+    DebUpstream result = apiInstance.reposUpstreamDebUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDartUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDebUpdate");
     e.printStackTrace();
 }
 ```
@@ -2972,11 +3762,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**DartUpstreamRequest**](DartUpstreamRequest.md)|  | [optional]
+ **data** | [**DebUpstreamRequest**](DebUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**DartUpstream**](DartUpstream.md)
+[**DebUpstream**](DebUpstream.md)
 
 ### Authorization
 
@@ -2987,13 +3777,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDebCreate**
-> DebUpstream reposUpstreamDebCreate(owner, identifier, data)
+
+# **reposUpstreamDockerCreate**
+> DockerUpstream reposUpstreamDockerCreate(owner, identifier, data)
 
-Create a Debian upstream config for this repository.
+Create a Docker upstream config for this repository.
 
-Create a Debian upstream config for this repository.
+Create a Docker upstream config for this repository.
 
 ### Example
 ```java
@@ -3020,12 +3810,12 @@ basic.setPassword("YOUR PASSWORD");
 ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
-DebUpstreamRequest data = new DebUpstreamRequest(); // DebUpstreamRequest | 
+DockerUpstreamRequest data = new DockerUpstreamRequest(); // DockerUpstreamRequest | 
 try {
-    DebUpstream result = apiInstance.reposUpstreamDebCreate(owner, identifier, data);
+    DockerUpstream result = apiInstance.reposUpstreamDockerCreate(owner, identifier, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDebCreate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDockerCreate");
     e.printStackTrace();
 }
 ```
@@ -3036,11 +3826,11 @@ Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **owner** | **String**|  |
  **identifier** | **String**|  |
- **data** | [**DebUpstreamRequest**](DebUpstreamRequest.md)|  | [optional]
+ **data** | [**DockerUpstreamRequest**](DockerUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**DebUpstream**](DebUpstream.md)
+[**DockerUpstream**](DockerUpstream.md)
 
 ### Authorization
 
@@ -3051,13 +3841,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDebDelete**
-> reposUpstreamDebDelete(owner, identifier, slugPerm)
+
+# **reposUpstreamDockerDelete**
+> reposUpstreamDockerDelete(owner, identifier, slugPerm)
 
-Delete a Debian upstream config for this repository.
+Delete a Docker upstream config for this repository.
 
-Delete a Debian upstream config for this repository.
+Delete a Docker upstream config for this repository.
 
 ### Example
 ```java
@@ -3086,9 +3876,9 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    apiInstance.reposUpstreamDebDelete(owner, identifier, slugPerm);
+    apiInstance.reposUpstreamDockerDelete(owner, identifier, slugPerm);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDebDelete");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDockerDelete");
     e.printStackTrace();
 }
 ```
@@ -3114,13 +3904,13 @@ null (empty response body)
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDebList**
-> List<DebUpstream> reposUpstreamDebList(owner, identifier, page, pageSize)
+
+# **reposUpstreamDockerList**
+> List<DockerUpstream> reposUpstreamDockerList(owner, identifier, page, pageSize)
 
-List Debian upstream configs for this repository.
+List Docker upstream configs for this repository.
 
-List Debian upstream configs for this repository.
+List Docker upstream configs for this repository.
 
 ### Example
 ```java
@@ -3150,10 +3940,10 @@ String identifier = "identifier_example"; // String |
 java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
 java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
 try {
-    List result = apiInstance.reposUpstreamDebList(owner, identifier, page, pageSize);
+    List result = apiInstance.reposUpstreamDockerList(owner, identifier, page, pageSize);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDebList");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDockerList");
     e.printStackTrace();
 }
 ```
@@ -3169,7 +3959,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**List<DebUpstream>**](DebUpstream.md)
+[**List<DockerUpstream>**](DockerUpstream.md)
 
 ### Authorization
 
@@ -3180,13 +3970,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDebPartialUpdate**
-> DebUpstream reposUpstreamDebPartialUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamDockerPartialUpdate**
+> DockerUpstream reposUpstreamDockerPartialUpdate(owner, identifier, slugPerm, data)
 
-Partially update a Debian upstream config for this repository.
+Partially update a Docker upstream config for this repository.
 
-Partially update a Debian upstream config for this repository.
+Partially update a Docker upstream config for this repository.
 
 ### Example
 ```java
@@ -3214,12 +4004,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-DebUpstreamRequestPatch data = new DebUpstreamRequestPatch(); // DebUpstreamRequestPatch | 
+DockerUpstreamRequestPatch data = new DockerUpstreamRequestPatch(); // DockerUpstreamRequestPatch | 
 try {
-    DebUpstream result = apiInstance.reposUpstreamDebPartialUpdate(owner, identifier, slugPerm, data);
+    DockerUpstream result = apiInstance.reposUpstreamDockerPartialUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDebPartialUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDockerPartialUpdate");
     e.printStackTrace();
 }
 ```
@@ -3231,11 +4021,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**DebUpstreamRequestPatch**](DebUpstreamRequestPatch.md)|  | [optional]
+ **data** | [**DockerUpstreamRequestPatch**](DockerUpstreamRequestPatch.md)|  | [optional]
 
 ### Return type
 
-[**DebUpstream**](DebUpstream.md)
+[**DockerUpstream**](DockerUpstream.md)
 
 ### Authorization
 
@@ -3246,13 +4036,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDebRead**
-> DebUpstream reposUpstreamDebRead(owner, identifier, slugPerm)
+
+# **reposUpstreamDockerRead**
+> DockerUpstream reposUpstreamDockerRead(owner, identifier, slugPerm)
 
-Retrieve a Debian upstream config for this repository.
+Retrieve a Docker upstream config for this repository.
 
-Retrieve a Debian upstream config for this repository.
+Retrieve a Docker upstream config for this repository.
 
 ### Example
 ```java
@@ -3281,10 +4071,10 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    DebUpstream result = apiInstance.reposUpstreamDebRead(owner, identifier, slugPerm);
+    DockerUpstream result = apiInstance.reposUpstreamDockerRead(owner, identifier, slugPerm);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDebRead");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDockerRead");
     e.printStackTrace();
 }
 ```
@@ -3299,7 +4089,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**DebUpstream**](DebUpstream.md)
+[**DockerUpstream**](DockerUpstream.md)
 
 ### Authorization
 
@@ -3310,13 +4100,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDebUpdate**
-> DebUpstream reposUpstreamDebUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamDockerUpdate**
+> DockerUpstream reposUpstreamDockerUpdate(owner, identifier, slugPerm, data)
 
-Update a Debian upstream config for this repository.
+Update a Docker upstream config for this repository.
 
-Update a Debian upstream config for this repository.
+Update a Docker upstream config for this repository.
 
 ### Example
 ```java
@@ -3344,12 +4134,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-DebUpstreamRequest data = new DebUpstreamRequest(); // DebUpstreamRequest | 
+DockerUpstreamRequest data = new DockerUpstreamRequest(); // DockerUpstreamRequest | 
 try {
-    DebUpstream result = apiInstance.reposUpstreamDebUpdate(owner, identifier, slugPerm, data);
+    DockerUpstream result = apiInstance.reposUpstreamDockerUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDebUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamDockerUpdate");
     e.printStackTrace();
 }
 ```
@@ -3361,11 +4151,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**DebUpstreamRequest**](DebUpstreamRequest.md)|  | [optional]
+ **data** | [**DockerUpstreamRequest**](DockerUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**DebUpstream**](DebUpstream.md)
+[**DockerUpstream**](DockerUpstream.md)
 
 ### Authorization
 
@@ -3376,13 +4166,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDockerCreate**
-> DockerUpstream reposUpstreamDockerCreate(owner, identifier, data)
+
+# **reposUpstreamGoCreate**
+> GoUpstream reposUpstreamGoCreate(owner, identifier, data)
 
-Create a Docker upstream config for this repository.
+Create a Go upstream config for this repository.
 
-Create a Docker upstream config for this repository.
+Create a Go upstream config for this repository.
 
 ### Example
 ```java
@@ -3409,12 +4199,12 @@ basic.setPassword("YOUR PASSWORD");
 ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
-DockerUpstreamRequest data = new DockerUpstreamRequest(); // DockerUpstreamRequest | 
+GoUpstreamRequest data = new GoUpstreamRequest(); // GoUpstreamRequest | 
 try {
-    DockerUpstream result = apiInstance.reposUpstreamDockerCreate(owner, identifier, data);
+    GoUpstream result = apiInstance.reposUpstreamGoCreate(owner, identifier, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDockerCreate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamGoCreate");
     e.printStackTrace();
 }
 ```
@@ -3425,11 +4215,11 @@ Name | Type | Description  | Notes
 ------------- | ------------- | ------------- | -------------
  **owner** | **String**|  |
  **identifier** | **String**|  |
- **data** | [**DockerUpstreamRequest**](DockerUpstreamRequest.md)|  | [optional]
+ **data** | [**GoUpstreamRequest**](GoUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**DockerUpstream**](DockerUpstream.md)
+[**GoUpstream**](GoUpstream.md)
 
 ### Authorization
 
@@ -3440,13 +4230,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDockerDelete**
-> reposUpstreamDockerDelete(owner, identifier, slugPerm)
+
+# **reposUpstreamGoDelete**
+> reposUpstreamGoDelete(owner, identifier, slugPerm)
 
-Delete a Docker upstream config for this repository.
+Delete a Go upstream config for this repository.
 
-Delete a Docker upstream config for this repository.
+Delete a Go upstream config for this repository.
 
 ### Example
 ```java
@@ -3475,9 +4265,9 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    apiInstance.reposUpstreamDockerDelete(owner, identifier, slugPerm);
+    apiInstance.reposUpstreamGoDelete(owner, identifier, slugPerm);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDockerDelete");
+    System.err.println("Exception when calling ReposApi#reposUpstreamGoDelete");
     e.printStackTrace();
 }
 ```
@@ -3503,13 +4293,13 @@ null (empty response body)
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDockerList**
-> List<DockerUpstream> reposUpstreamDockerList(owner, identifier, page, pageSize)
+
+# **reposUpstreamGoList**
+> List<GoUpstream> reposUpstreamGoList(owner, identifier, page, pageSize)
 
-List Docker upstream configs for this repository.
+List Go upstream configs for this repository.
 
-List Docker upstream configs for this repository.
+List Go upstream configs for this repository.
 
 ### Example
 ```java
@@ -3539,10 +4329,10 @@ String identifier = "identifier_example"; // String |
 java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
 java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
 try {
-    List result = apiInstance.reposUpstreamDockerList(owner, identifier, page, pageSize);
+    List result = apiInstance.reposUpstreamGoList(owner, identifier, page, pageSize);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDockerList");
+    System.err.println("Exception when calling ReposApi#reposUpstreamGoList");
     e.printStackTrace();
 }
 ```
@@ -3558,7 +4348,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**List<DockerUpstream>**](DockerUpstream.md)
+[**List<GoUpstream>**](GoUpstream.md)
 
 ### Authorization
 
@@ -3569,13 +4359,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDockerPartialUpdate**
-> DockerUpstream reposUpstreamDockerPartialUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamGoPartialUpdate**
+> GoUpstream reposUpstreamGoPartialUpdate(owner, identifier, slugPerm, data)
 
-Partially update a Docker upstream config for this repository.
+Partially update a Go upstream config for this repository.
 
-Partially update a Docker upstream config for this repository.
+Partially update a Go upstream config for this repository.
 
 ### Example
 ```java
@@ -3603,12 +4393,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-DockerUpstreamRequestPatch data = new DockerUpstreamRequestPatch(); // DockerUpstreamRequestPatch | 
+GoUpstreamRequestPatch data = new GoUpstreamRequestPatch(); // GoUpstreamRequestPatch | 
 try {
-    DockerUpstream result = apiInstance.reposUpstreamDockerPartialUpdate(owner, identifier, slugPerm, data);
+    GoUpstream result = apiInstance.reposUpstreamGoPartialUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDockerPartialUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamGoPartialUpdate");
     e.printStackTrace();
 }
 ```
@@ -3620,11 +4410,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**DockerUpstreamRequestPatch**](DockerUpstreamRequestPatch.md)|  | [optional]
+ **data** | [**GoUpstreamRequestPatch**](GoUpstreamRequestPatch.md)|  | [optional]
 
 ### Return type
 
-[**DockerUpstream**](DockerUpstream.md)
+[**GoUpstream**](GoUpstream.md)
 
 ### Authorization
 
@@ -3635,13 +4425,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDockerRead**
-> DockerUpstream reposUpstreamDockerRead(owner, identifier, slugPerm)
+
+# **reposUpstreamGoRead**
+> GoUpstream reposUpstreamGoRead(owner, identifier, slugPerm)
 
-Retrieve a Docker upstream config for this repository.
+Retrieve a Go upstream config for this repository.
 
-Retrieve a Docker upstream config for this repository.
+Retrieve a Go upstream config for this repository.
 
 ### Example
 ```java
@@ -3670,10 +4460,10 @@ String owner = "owner_example"; // String |
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
 try {
-    DockerUpstream result = apiInstance.reposUpstreamDockerRead(owner, identifier, slugPerm);
+    GoUpstream result = apiInstance.reposUpstreamGoRead(owner, identifier, slugPerm);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDockerRead");
+    System.err.println("Exception when calling ReposApi#reposUpstreamGoRead");
     e.printStackTrace();
 }
 ```
@@ -3688,7 +4478,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**DockerUpstream**](DockerUpstream.md)
+[**GoUpstream**](GoUpstream.md)
 
 ### Authorization
 
@@ -3699,13 +4489,13 @@ Name | Type | Description  | Notes
  - **Content-Type**: application/json
  - **Accept**: application/json
 
-
-# **reposUpstreamDockerUpdate**
-> DockerUpstream reposUpstreamDockerUpdate(owner, identifier, slugPerm, data)
+
+# **reposUpstreamGoUpdate**
+> GoUpstream reposUpstreamGoUpdate(owner, identifier, slugPerm, data)
 
-Update a Docker upstream config for this repository.
+Update a Go upstream config for this repository.
 
-Update a Docker upstream config for this repository.
+Update a Go upstream config for this repository.
 
 ### Example
 ```java
@@ -3733,12 +4523,12 @@ ReposApi apiInstance = new ReposApi();
 String owner = "owner_example"; // String | 
 String identifier = "identifier_example"; // String | 
 String slugPerm = "slugPerm_example"; // String | 
-DockerUpstreamRequest data = new DockerUpstreamRequest(); // DockerUpstreamRequest | 
+GoUpstreamRequest data = new GoUpstreamRequest(); // GoUpstreamRequest | 
 try {
-    DockerUpstream result = apiInstance.reposUpstreamDockerUpdate(owner, identifier, slugPerm, data);
+    GoUpstream result = apiInstance.reposUpstreamGoUpdate(owner, identifier, slugPerm, data);
     System.out.println(result);
 } catch (ApiException e) {
-    System.err.println("Exception when calling ReposApi#reposUpstreamDockerUpdate");
+    System.err.println("Exception when calling ReposApi#reposUpstreamGoUpdate");
     e.printStackTrace();
 }
 ```
@@ -3750,11 +4540,11 @@ Name | Type | Description  | Notes
  **owner** | **String**|  |
  **identifier** | **String**|  |
  **slugPerm** | **String**|  |
- **data** | [**DockerUpstreamRequest**](DockerUpstreamRequest.md)|  | [optional]
+ **data** | [**GoUpstreamRequest**](GoUpstreamRequest.md)|  | [optional]
 
 ### Return type
 
-[**DockerUpstream**](DockerUpstream.md)
+[**GoUpstream**](GoUpstream.md)
 
 ### Authorization
 
diff --git a/bindings/java/src/docs/UserApi.md b/bindings/java/src/docs/UserApi.md
index 0ea733ec..73e8dbfc 100644
--- a/bindings/java/src/docs/UserApi.md
+++ b/bindings/java/src/docs/UserApi.md
@@ -179,7 +179,7 @@ This endpoint does not need any parameter.
 
 
 # **userTokensList**
-> InlineResponse200 userTokensList(page, pageSize)
+> InlineResponse2001 userTokensList(page, pageSize)
 
 Retrieve the API key assigned to the user that is currently authenticated.
 
@@ -211,7 +211,7 @@ UserApi apiInstance = new UserApi();
 java.math.BigInteger page = new java.math.BigInteger(); // java.math.BigInteger | A page number within the paginated result set.
 java.math.BigInteger pageSize = new java.math.BigInteger(); // java.math.BigInteger | Number of results to return per page.
 try {
-    InlineResponse200 result = apiInstance.userTokensList(page, pageSize);
+    InlineResponse2001 result = apiInstance.userTokensList(page, pageSize);
     System.out.println(result);
 } catch (ApiException e) {
     System.err.println("Exception when calling UserApi#userTokensList");
@@ -228,7 +228,7 @@ Name | Type | Description  | Notes
 
 ### Return type
 
-[**InlineResponse200**](InlineResponse200.md)
+[**InlineResponse2001**](InlineResponse2001.md)
 
 ### Authorization
 
diff --git a/bindings/java/src/pom.xml b/bindings/java/src/pom.xml
index 46346fc6..548c7ad6 100644
--- a/bindings/java/src/pom.xml
+++ b/bindings/java/src/pom.xml
@@ -5,7 +5,7 @@
     cloudsmith-api
     jar
     cloudsmith-api
-    2.0.18
+    2.0.1
     https://api.cloudsmith.io/?format=openapi
     Cloudsmith API
     
diff --git a/bindings/java/src/src/main/java/io/cloudsmith/api/ApiClient.java b/bindings/java/src/src/main/java/io/cloudsmith/api/ApiClient.java
index 3d58d0d4..84e4b78f 100644
--- a/bindings/java/src/src/main/java/io/cloudsmith/api/ApiClient.java
+++ b/bindings/java/src/src/main/java/io/cloudsmith/api/ApiClient.java
@@ -87,7 +87,7 @@ public ApiClient() {
         json = new JSON();
 
         // Set default User-Agent.
-        setUserAgent("Swagger-Codegen/2.0.18/java");
+        setUserAgent("Swagger-Codegen/2.0.1/java");
 
         // Setup authentications (key: authentication name, value: authentication).
         authentications = new HashMap();
diff --git a/bindings/java/src/src/main/java/io/cloudsmith/api/JSON.java b/bindings/java/src/src/main/java/io/cloudsmith/api/JSON.java
index 196e19d4..02276001 100644
--- a/bindings/java/src/src/main/java/io/cloudsmith/api/JSON.java
+++ b/bindings/java/src/src/main/java/io/cloudsmith/api/JSON.java
@@ -280,6 +280,14 @@
 import io.cloudsmith.api.models.*;
 import io.cloudsmith.api.models.*;
 import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
+import io.cloudsmith.api.models.*;
 import okio.ByteString;
 
 import java.io.IOException;
diff --git a/bindings/java/src/src/main/java/io/cloudsmith/api/apis/PackagesApi.java b/bindings/java/src/src/main/java/io/cloudsmith/api/apis/PackagesApi.java
index 24c5d9e5..b14f7853 100644
--- a/bindings/java/src/src/main/java/io/cloudsmith/api/apis/PackagesApi.java
+++ b/bindings/java/src/src/main/java/io/cloudsmith/api/apis/PackagesApi.java
@@ -63,6 +63,7 @@
 import io.cloudsmith.api.models.HelmPackageUploadRequest;
 import io.cloudsmith.api.models.HexPackageUpload;
 import io.cloudsmith.api.models.HexPackageUploadRequest;
+import io.cloudsmith.api.models.InlineResponse200;
 import io.cloudsmith.api.models.LuarocksPackageUpload;
 import io.cloudsmith.api.models.LuarocksPackageUploadRequest;
 import io.cloudsmith.api.models.MavenPackageUpload;
@@ -579,6 +580,181 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
+    /**
+     * Build call for packagesGroupsList
+     * @param owner  (required)
+     * @param repo  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @param groupBy A field to group packages by. Available options: name, backend_kind. (optional, default to name)
+     * @param query A search term for querying names, filenames, versions, distributions, architectures, formats, or statuses of packages. (optional, default to )
+     * @param sort A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name, count, num_downloads, size, last_push, backend_kind. (optional, default to name)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call packagesGroupsListCall(String owner, String repo, java.math.BigInteger page, java.math.BigInteger pageSize, String groupBy, String query, String sort, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = null;
+
+        // create path and map variables
+        String localVarPath = "/packages/{owner}/{repo}/groups/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "repo" + "\\}", apiClient.escapeString(repo.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+        if (page != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
+        if (pageSize != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("page_size", pageSize));
+        if (groupBy != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("group_by", groupBy));
+        if (query != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("query", query));
+        if (sort != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("sort", sort));
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call packagesGroupsListValidateBeforeCall(String owner, String repo, java.math.BigInteger page, java.math.BigInteger pageSize, String groupBy, String query, String sort, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, repo, page, pageSize, groupBy, query, sort };
+            Method method = this.getClass().getMethod("packagesGroupsListWithHttpInfo", String.class, String.class, java.math.BigInteger.class, java.math.BigInteger.class, String.class, String.class, String.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = packagesGroupsListCall(owner, repo, page, pageSize, groupBy, query, sort, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Return a list of Package Groups in a repository.
+     * Return a list of Package Groups in a repository.
+     * @param owner  (required)
+     * @param repo  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @param groupBy A field to group packages by. Available options: name, backend_kind. (optional, default to name)
+     * @param query A search term for querying names, filenames, versions, distributions, architectures, formats, or statuses of packages. (optional, default to )
+     * @param sort A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name, count, num_downloads, size, last_push, backend_kind. (optional, default to name)
+     * @return InlineResponse200
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public InlineResponse200 packagesGroupsList(String owner, String repo, java.math.BigInteger page, java.math.BigInteger pageSize, String groupBy, String query, String sort) throws ApiException {
+        ApiResponse resp = packagesGroupsListWithHttpInfo(owner, repo, page, pageSize, groupBy, query, sort);
+        return resp.getData();
+    }
+
+    /**
+     * Return a list of Package Groups in a repository.
+     * Return a list of Package Groups in a repository.
+     * @param owner  (required)
+     * @param repo  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @param groupBy A field to group packages by. Available options: name, backend_kind. (optional, default to name)
+     * @param query A search term for querying names, filenames, versions, distributions, architectures, formats, or statuses of packages. (optional, default to )
+     * @param sort A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name, count, num_downloads, size, last_push, backend_kind. (optional, default to name)
+     * @return ApiResponse<InlineResponse200>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse packagesGroupsListWithHttpInfo( @NotNull String owner,  @NotNull String repo,  java.math.BigInteger page,  java.math.BigInteger pageSize,  String groupBy,  String query,  String sort) throws ApiException {
+        com.squareup.okhttp.Call call = packagesGroupsListValidateBeforeCall(owner, repo, page, pageSize, groupBy, query, sort, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Return a list of Package Groups in a repository. (asynchronously)
+     * Return a list of Package Groups in a repository.
+     * @param owner  (required)
+     * @param repo  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @param groupBy A field to group packages by. Available options: name, backend_kind. (optional, default to name)
+     * @param query A search term for querying names, filenames, versions, distributions, architectures, formats, or statuses of packages. (optional, default to )
+     * @param sort A field for sorting objects in ascending or descending order. Use `-` prefix for descending order (e.g., `-name`). Available options: name, count, num_downloads, size, last_push, backend_kind. (optional, default to name)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call packagesGroupsListAsync(String owner, String repo, java.math.BigInteger page, java.math.BigInteger pageSize, String groupBy, String query, String sort, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = packagesGroupsListValidateBeforeCall(owner, repo, page, pageSize, groupBy, query, sort, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
     /**
      * Build call for packagesList
      * @param owner  (required)
diff --git a/bindings/java/src/src/main/java/io/cloudsmith/api/apis/ReposApi.java b/bindings/java/src/src/main/java/io/cloudsmith/api/apis/ReposApi.java
index 3cff604f..08e29caf 100644
--- a/bindings/java/src/src/main/java/io/cloudsmith/api/apis/ReposApi.java
+++ b/bindings/java/src/src/main/java/io/cloudsmith/api/apis/ReposApi.java
@@ -36,6 +36,9 @@
 import java.lang.reflect.Method;
 import java.lang.reflect.Type;
 
+import io.cloudsmith.api.models.CargoUpstream;
+import io.cloudsmith.api.models.CargoUpstreamRequest;
+import io.cloudsmith.api.models.CargoUpstreamRequestPatch;
 import io.cloudsmith.api.models.ComposerUpstream;
 import io.cloudsmith.api.models.ComposerUpstreamRequest;
 import io.cloudsmith.api.models.ComposerUpstreamRequestPatch;
@@ -52,6 +55,9 @@
 import io.cloudsmith.api.models.DockerUpstreamRequest;
 import io.cloudsmith.api.models.DockerUpstreamRequestPatch;
 import io.cloudsmith.api.models.ErrorDetail;
+import io.cloudsmith.api.models.GoUpstream;
+import io.cloudsmith.api.models.GoUpstreamRequest;
+import io.cloudsmith.api.models.GoUpstreamRequestPatch;
 import io.cloudsmith.api.models.HelmUpstream;
 import io.cloudsmith.api.models.HelmUpstreamRequest;
 import io.cloudsmith.api.models.HelmUpstreamRequestPatch;
@@ -4097,7 +4103,7 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
         return call;
     }
     /**
-     * Build call for reposUpstreamComposerCreate
+     * Build call for reposUpstreamCargoCreate
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
@@ -4106,11 +4112,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerCreateCall(String owner, String identifier, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoCreateCall(String owner, String identifier, CargoUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = data;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cargo/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
 
@@ -4153,18 +4159,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamComposerCreateValidateBeforeCall(String owner, String identifier, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamCargoCreateValidateBeforeCall(String owner, String identifier, CargoUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, data };
-            Method method = this.getClass().getMethod("reposUpstreamComposerCreateWithHttpInfo", String.class, String.class, ComposerUpstreamRequest.class);
+            Method method = this.getClass().getMethod("reposUpstreamCargoCreateWithHttpInfo", String.class, String.class, CargoUpstreamRequest.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamComposerCreateCall(owner, identifier, data, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamCargoCreateCall(owner, identifier, data, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -4181,37 +4187,37 @@ private com.squareup.okhttp.Call reposUpstreamComposerCreateValidateBeforeCall(S
     }
 
     /**
-     * Create a Composer upstream config for this repository.
-     * Create a Composer upstream config for this repository.
+     * Create a Cargo upstream config for this repository.
+     * Create a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
-     * @return ComposerUpstream
+     * @return CargoUpstream
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ComposerUpstream reposUpstreamComposerCreate(String owner, String identifier, ComposerUpstreamRequest data) throws ApiException {
-        ApiResponse resp = reposUpstreamComposerCreateWithHttpInfo(owner, identifier, data);
+    public CargoUpstream reposUpstreamCargoCreate(String owner, String identifier, CargoUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamCargoCreateWithHttpInfo(owner, identifier, data);
         return resp.getData();
     }
 
     /**
-     * Create a Composer upstream config for this repository.
-     * Create a Composer upstream config for this repository.
+     * Create a Cargo upstream config for this repository.
+     * Create a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
-     * @return ApiResponse<ComposerUpstream>
+     * @return ApiResponse<CargoUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamComposerCreateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  ComposerUpstreamRequest data) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamComposerCreateValidateBeforeCall(owner, identifier, data, null, null);
-        Type localVarReturnType = new TypeToken(){}.getType();
+    public ApiResponse reposUpstreamCargoCreateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  CargoUpstreamRequest data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCargoCreateValidateBeforeCall(owner, identifier, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * Create a Composer upstream config for this repository. (asynchronously)
-     * Create a Composer upstream config for this repository.
+     * Create a Cargo upstream config for this repository. (asynchronously)
+     * Create a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
@@ -4219,7 +4225,7 @@ public ApiResponse reposUpstreamComposerCreateWithHttpInfo( @N
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerCreateAsync(String owner, String identifier, ComposerUpstreamRequest data, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoCreateAsync(String owner, String identifier, CargoUpstreamRequest data, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -4240,13 +4246,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamComposerCreateValidateBeforeCall(owner, identifier, data, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamCargoCreateValidateBeforeCall(owner, identifier, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamComposerDelete
+     * Build call for reposUpstreamCargoDelete
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4255,11 +4261,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerDeleteCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoDeleteCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = null;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
             .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
@@ -4303,18 +4309,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamComposerDeleteValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamCargoDeleteValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, slugPerm };
-            Method method = this.getClass().getMethod("reposUpstreamComposerDeleteWithHttpInfo", String.class, String.class, String.class);
+            Method method = this.getClass().getMethod("reposUpstreamCargoDeleteWithHttpInfo", String.class, String.class, String.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamComposerDeleteCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamCargoDeleteCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -4331,34 +4337,34 @@ private com.squareup.okhttp.Call reposUpstreamComposerDeleteValidateBeforeCall(S
     }
 
     /**
-     * Delete a Composer upstream config for this repository.
-     * Delete a Composer upstream config for this repository.
+     * Delete a Cargo upstream config for this repository.
+     * Delete a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public void reposUpstreamComposerDelete(String owner, String identifier, String slugPerm) throws ApiException {
-        reposUpstreamComposerDeleteWithHttpInfo(owner, identifier, slugPerm);
+    public void reposUpstreamCargoDelete(String owner, String identifier, String slugPerm) throws ApiException {
+        reposUpstreamCargoDeleteWithHttpInfo(owner, identifier, slugPerm);
     }
 
     /**
-     * Delete a Composer upstream config for this repository.
-     * Delete a Composer upstream config for this repository.
+     * Delete a Cargo upstream config for this repository.
+     * Delete a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @return ApiResponse<Void>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamComposerDeleteWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamComposerDeleteValidateBeforeCall(owner, identifier, slugPerm, null, null);
+    public ApiResponse reposUpstreamCargoDeleteWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCargoDeleteValidateBeforeCall(owner, identifier, slugPerm, null, null);
         return apiClient.execute(call);
     }
 
     /**
-     * Delete a Composer upstream config for this repository. (asynchronously)
-     * Delete a Composer upstream config for this repository.
+     * Delete a Cargo upstream config for this repository. (asynchronously)
+     * Delete a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4366,7 +4372,7 @@ public ApiResponse reposUpstreamComposerDeleteWithHttpInfo( @NotNull Strin
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerDeleteAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoDeleteAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -4387,12 +4393,12 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamComposerDeleteValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+        com.squareup.okhttp.Call call = reposUpstreamCargoDeleteValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
         apiClient.executeAsync(call, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamComposerList
+     * Build call for reposUpstreamCargoList
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
@@ -4402,11 +4408,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerListCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoListCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = null;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cargo/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
 
@@ -4453,18 +4459,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamComposerListValidateBeforeCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamCargoListValidateBeforeCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, page, pageSize };
-            Method method = this.getClass().getMethod("reposUpstreamComposerListWithHttpInfo", String.class, String.class, java.math.BigInteger.class, java.math.BigInteger.class);
+            Method method = this.getClass().getMethod("reposUpstreamCargoListWithHttpInfo", String.class, String.class, java.math.BigInteger.class, java.math.BigInteger.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamComposerListCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamCargoListCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -4481,39 +4487,39 @@ private com.squareup.okhttp.Call reposUpstreamComposerListValidateBeforeCall(Str
     }
 
     /**
-     * List Composer upstream configs for this repository.
-     * List Composer upstream configs for this repository.
+     * List Cargo upstream configs for this repository.
+     * List Cargo upstream configs for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
      * @param pageSize Number of results to return per page. (optional)
-     * @return List<ComposerUpstream>
+     * @return List<CargoUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public List reposUpstreamComposerList(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize) throws ApiException {
-        ApiResponse> resp = reposUpstreamComposerListWithHttpInfo(owner, identifier, page, pageSize);
+    public List reposUpstreamCargoList(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize) throws ApiException {
+        ApiResponse> resp = reposUpstreamCargoListWithHttpInfo(owner, identifier, page, pageSize);
         return resp.getData();
     }
 
     /**
-     * List Composer upstream configs for this repository.
-     * List Composer upstream configs for this repository.
+     * List Cargo upstream configs for this repository.
+     * List Cargo upstream configs for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
      * @param pageSize Number of results to return per page. (optional)
-     * @return ApiResponse<List<ComposerUpstream>>
+     * @return ApiResponse<List<CargoUpstream>>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse> reposUpstreamComposerListWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  java.math.BigInteger page,  java.math.BigInteger pageSize) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamComposerListValidateBeforeCall(owner, identifier, page, pageSize, null, null);
-        Type localVarReturnType = new TypeToken>(){}.getType();
+    public ApiResponse> reposUpstreamCargoListWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  java.math.BigInteger page,  java.math.BigInteger pageSize) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCargoListValidateBeforeCall(owner, identifier, page, pageSize, null, null);
+        Type localVarReturnType = new TypeToken>(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * List Composer upstream configs for this repository. (asynchronously)
-     * List Composer upstream configs for this repository.
+     * List Cargo upstream configs for this repository. (asynchronously)
+     * List Cargo upstream configs for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
@@ -4522,7 +4528,7 @@ public ApiResponse> reposUpstreamComposerListWithHttpInfo
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerListAsync(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ApiCallback> callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoListAsync(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ApiCallback> callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -4543,13 +4549,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamComposerListValidateBeforeCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken>(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamCargoListValidateBeforeCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken>(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamComposerPartialUpdate
+     * Build call for reposUpstreamCargoPartialUpdate
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4559,11 +4565,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoPartialUpdateCall(String owner, String identifier, String slugPerm, CargoUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = data;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
             .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
@@ -4607,18 +4613,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamCargoPartialUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, CargoUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, slugPerm, data };
-            Method method = this.getClass().getMethod("reposUpstreamComposerPartialUpdateWithHttpInfo", String.class, String.class, String.class, ComposerUpstreamRequestPatch.class);
+            Method method = this.getClass().getMethod("reposUpstreamCargoPartialUpdateWithHttpInfo", String.class, String.class, String.class, CargoUpstreamRequestPatch.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamComposerPartialUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamCargoPartialUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -4635,39 +4641,39 @@ private com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateValidateBefor
     }
 
     /**
-     * Partially update a Composer upstream config for this repository.
-     * Partially update a Composer upstream config for this repository.
+     * Partially update a Cargo upstream config for this repository.
+     * Partially update a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @param data  (optional)
-     * @return ComposerUpstream
+     * @return CargoUpstream
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ComposerUpstream reposUpstreamComposerPartialUpdate(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data) throws ApiException {
-        ApiResponse resp = reposUpstreamComposerPartialUpdateWithHttpInfo(owner, identifier, slugPerm, data);
+    public CargoUpstream reposUpstreamCargoPartialUpdate(String owner, String identifier, String slugPerm, CargoUpstreamRequestPatch data) throws ApiException {
+        ApiResponse resp = reposUpstreamCargoPartialUpdateWithHttpInfo(owner, identifier, slugPerm, data);
         return resp.getData();
     }
 
     /**
-     * Partially update a Composer upstream config for this repository.
-     * Partially update a Composer upstream config for this repository.
+     * Partially update a Cargo upstream config for this repository.
+     * Partially update a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @param data  (optional)
-     * @return ApiResponse<ComposerUpstream>
+     * @return ApiResponse<CargoUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamComposerPartialUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  ComposerUpstreamRequestPatch data) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamComposerPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
-        Type localVarReturnType = new TypeToken(){}.getType();
+    public ApiResponse reposUpstreamCargoPartialUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  CargoUpstreamRequestPatch data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCargoPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * Partially update a Composer upstream config for this repository. (asynchronously)
-     * Partially update a Composer upstream config for this repository.
+     * Partially update a Cargo upstream config for this repository. (asynchronously)
+     * Partially update a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4676,7 +4682,7 @@ public ApiResponse reposUpstreamComposerPartialUpdateWithHttpI
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateAsync(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoPartialUpdateAsync(String owner, String identifier, String slugPerm, CargoUpstreamRequestPatch data, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -4697,13 +4703,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamComposerPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamCargoPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamComposerRead
+     * Build call for reposUpstreamCargoRead
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4712,11 +4718,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerReadCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoReadCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = null;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
             .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
@@ -4760,18 +4766,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamComposerReadValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamCargoReadValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, slugPerm };
-            Method method = this.getClass().getMethod("reposUpstreamComposerReadWithHttpInfo", String.class, String.class, String.class);
+            Method method = this.getClass().getMethod("reposUpstreamCargoReadWithHttpInfo", String.class, String.class, String.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamComposerReadCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamCargoReadCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -4788,37 +4794,37 @@ private com.squareup.okhttp.Call reposUpstreamComposerReadValidateBeforeCall(Str
     }
 
     /**
-     * Retrieve a Composer upstream config for this repository.
-     * Retrieve a Composer upstream config for this repository.
+     * Retrieve a Cargo upstream config for this repository.
+     * Retrieve a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
-     * @return ComposerUpstream
+     * @return CargoUpstream
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ComposerUpstream reposUpstreamComposerRead(String owner, String identifier, String slugPerm) throws ApiException {
-        ApiResponse resp = reposUpstreamComposerReadWithHttpInfo(owner, identifier, slugPerm);
+    public CargoUpstream reposUpstreamCargoRead(String owner, String identifier, String slugPerm) throws ApiException {
+        ApiResponse resp = reposUpstreamCargoReadWithHttpInfo(owner, identifier, slugPerm);
         return resp.getData();
     }
 
     /**
-     * Retrieve a Composer upstream config for this repository.
-     * Retrieve a Composer upstream config for this repository.
+     * Retrieve a Cargo upstream config for this repository.
+     * Retrieve a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
-     * @return ApiResponse<ComposerUpstream>
+     * @return ApiResponse<CargoUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamComposerReadWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamComposerReadValidateBeforeCall(owner, identifier, slugPerm, null, null);
-        Type localVarReturnType = new TypeToken(){}.getType();
+    public ApiResponse reposUpstreamCargoReadWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCargoReadValidateBeforeCall(owner, identifier, slugPerm, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * Retrieve a Composer upstream config for this repository. (asynchronously)
-     * Retrieve a Composer upstream config for this repository.
+     * Retrieve a Cargo upstream config for this repository. (asynchronously)
+     * Retrieve a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4826,7 +4832,7 @@ public ApiResponse reposUpstreamComposerReadWithHttpInfo( @Not
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerReadAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoReadAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -4847,13 +4853,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamComposerReadValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamCargoReadValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamComposerUpdate
+     * Build call for reposUpstreamCargoUpdate
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4863,11 +4869,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerUpdateCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoUpdateCall(String owner, String identifier, String slugPerm, CargoUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = data;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cargo/{slug_perm}/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
             .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
@@ -4911,18 +4917,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamComposerUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamCargoUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, CargoUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, slugPerm, data };
-            Method method = this.getClass().getMethod("reposUpstreamComposerUpdateWithHttpInfo", String.class, String.class, String.class, ComposerUpstreamRequest.class);
+            Method method = this.getClass().getMethod("reposUpstreamCargoUpdateWithHttpInfo", String.class, String.class, String.class, CargoUpstreamRequest.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamComposerUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamCargoUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -4939,39 +4945,39 @@ private com.squareup.okhttp.Call reposUpstreamComposerUpdateValidateBeforeCall(S
     }
 
     /**
-     * Update a Composer upstream config for this repository.
-     * Update a Composer upstream config for this repository.
+     * Update a Cargo upstream config for this repository.
+     * Update a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @param data  (optional)
-     * @return ComposerUpstream
+     * @return CargoUpstream
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ComposerUpstream reposUpstreamComposerUpdate(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data) throws ApiException {
-        ApiResponse resp = reposUpstreamComposerUpdateWithHttpInfo(owner, identifier, slugPerm, data);
+    public CargoUpstream reposUpstreamCargoUpdate(String owner, String identifier, String slugPerm, CargoUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamCargoUpdateWithHttpInfo(owner, identifier, slugPerm, data);
         return resp.getData();
     }
 
     /**
-     * Update a Composer upstream config for this repository.
-     * Update a Composer upstream config for this repository.
+     * Update a Cargo upstream config for this repository.
+     * Update a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @param data  (optional)
-     * @return ApiResponse<ComposerUpstream>
+     * @return ApiResponse<CargoUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamComposerUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  ComposerUpstreamRequest data) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamComposerUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
-        Type localVarReturnType = new TypeToken(){}.getType();
+    public ApiResponse reposUpstreamCargoUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  CargoUpstreamRequest data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCargoUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * Update a Composer upstream config for this repository. (asynchronously)
-     * Update a Composer upstream config for this repository.
+     * Update a Cargo upstream config for this repository. (asynchronously)
+     * Update a Cargo upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -4980,7 +4986,7 @@ public ApiResponse reposUpstreamComposerUpdateWithHttpInfo( @N
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamComposerUpdateAsync(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamCargoUpdateAsync(String owner, String identifier, String slugPerm, CargoUpstreamRequest data, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -5001,13 +5007,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamComposerUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamCargoUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamCranCreate
+     * Build call for reposUpstreamComposerCreate
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
@@ -5016,11 +5022,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranCreateCall(String owner, String identifier, CranUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerCreateCall(String owner, String identifier, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = data;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
 
@@ -5063,18 +5069,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamCranCreateValidateBeforeCall(String owner, String identifier, CranUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamComposerCreateValidateBeforeCall(String owner, String identifier, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, data };
-            Method method = this.getClass().getMethod("reposUpstreamCranCreateWithHttpInfo", String.class, String.class, CranUpstreamRequest.class);
+            Method method = this.getClass().getMethod("reposUpstreamComposerCreateWithHttpInfo", String.class, String.class, ComposerUpstreamRequest.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamCranCreateCall(owner, identifier, data, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamComposerCreateCall(owner, identifier, data, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -5091,37 +5097,37 @@ private com.squareup.okhttp.Call reposUpstreamCranCreateValidateBeforeCall(Strin
     }
 
     /**
-     * Create a CRAN upstream config for this repository.
-     * Create a CRAN upstream config for this repository.
+     * Create a Composer upstream config for this repository.
+     * Create a Composer upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
-     * @return CranUpstream
+     * @return ComposerUpstream
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public CranUpstream reposUpstreamCranCreate(String owner, String identifier, CranUpstreamRequest data) throws ApiException {
-        ApiResponse resp = reposUpstreamCranCreateWithHttpInfo(owner, identifier, data);
+    public ComposerUpstream reposUpstreamComposerCreate(String owner, String identifier, ComposerUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamComposerCreateWithHttpInfo(owner, identifier, data);
         return resp.getData();
     }
 
     /**
-     * Create a CRAN upstream config for this repository.
-     * Create a CRAN upstream config for this repository.
+     * Create a Composer upstream config for this repository.
+     * Create a Composer upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
-     * @return ApiResponse<CranUpstream>
+     * @return ApiResponse<ComposerUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamCranCreateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  CranUpstreamRequest data) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamCranCreateValidateBeforeCall(owner, identifier, data, null, null);
-        Type localVarReturnType = new TypeToken(){}.getType();
+    public ApiResponse reposUpstreamComposerCreateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  ComposerUpstreamRequest data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamComposerCreateValidateBeforeCall(owner, identifier, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * Create a CRAN upstream config for this repository. (asynchronously)
-     * Create a CRAN upstream config for this repository.
+     * Create a Composer upstream config for this repository. (asynchronously)
+     * Create a Composer upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param data  (optional)
@@ -5129,7 +5135,7 @@ public ApiResponse reposUpstreamCranCreateWithHttpInfo( @NotNull S
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranCreateAsync(String owner, String identifier, CranUpstreamRequest data, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerCreateAsync(String owner, String identifier, ComposerUpstreamRequest data, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -5150,13 +5156,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamCranCreateValidateBeforeCall(owner, identifier, data, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamComposerCreateValidateBeforeCall(owner, identifier, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamCranDelete
+     * Build call for reposUpstreamComposerDelete
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -5165,11 +5171,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranDeleteCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerDeleteCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = null;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/{slug_perm}/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
             .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
@@ -5213,18 +5219,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamCranDeleteValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamComposerDeleteValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, slugPerm };
-            Method method = this.getClass().getMethod("reposUpstreamCranDeleteWithHttpInfo", String.class, String.class, String.class);
+            Method method = this.getClass().getMethod("reposUpstreamComposerDeleteWithHttpInfo", String.class, String.class, String.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamCranDeleteCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamComposerDeleteCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -5241,34 +5247,34 @@ private com.squareup.okhttp.Call reposUpstreamCranDeleteValidateBeforeCall(Strin
     }
 
     /**
-     * Delete a CRAN upstream config for this repository.
-     * Delete a CRAN upstream config for this repository.
+     * Delete a Composer upstream config for this repository.
+     * Delete a Composer upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public void reposUpstreamCranDelete(String owner, String identifier, String slugPerm) throws ApiException {
-        reposUpstreamCranDeleteWithHttpInfo(owner, identifier, slugPerm);
+    public void reposUpstreamComposerDelete(String owner, String identifier, String slugPerm) throws ApiException {
+        reposUpstreamComposerDeleteWithHttpInfo(owner, identifier, slugPerm);
     }
 
     /**
-     * Delete a CRAN upstream config for this repository.
-     * Delete a CRAN upstream config for this repository.
+     * Delete a Composer upstream config for this repository.
+     * Delete a Composer upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
      * @return ApiResponse<Void>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse reposUpstreamCranDeleteWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamCranDeleteValidateBeforeCall(owner, identifier, slugPerm, null, null);
+    public ApiResponse reposUpstreamComposerDeleteWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamComposerDeleteValidateBeforeCall(owner, identifier, slugPerm, null, null);
         return apiClient.execute(call);
     }
 
     /**
-     * Delete a CRAN upstream config for this repository. (asynchronously)
-     * Delete a CRAN upstream config for this repository.
+     * Delete a Composer upstream config for this repository. (asynchronously)
+     * Delete a Composer upstream config for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -5276,7 +5282,7 @@ public ApiResponse reposUpstreamCranDeleteWithHttpInfo( @NotNull String ow
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranDeleteAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerDeleteAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -5297,12 +5303,12 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamCranDeleteValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+        com.squareup.okhttp.Call call = reposUpstreamComposerDeleteValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
         apiClient.executeAsync(call, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamCranList
+     * Build call for reposUpstreamComposerList
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
@@ -5312,11 +5318,11 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranListCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerListCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = null;
 
         // create path and map variables
-        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/"
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/"
             .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
             .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
 
@@ -5363,18 +5369,18 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
     }
 
     @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reposUpstreamCranListValidateBeforeCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    private com.squareup.okhttp.Call reposUpstreamComposerListValidateBeforeCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         try {
             ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
             ExecutableValidator executableValidator = factory.getValidator().forExecutables();
 
             Object[] parameterValues = { owner, identifier, page, pageSize };
-            Method method = this.getClass().getMethod("reposUpstreamCranListWithHttpInfo", String.class, String.class, java.math.BigInteger.class, java.math.BigInteger.class);
+            Method method = this.getClass().getMethod("reposUpstreamComposerListWithHttpInfo", String.class, String.class, java.math.BigInteger.class, java.math.BigInteger.class);
             Set> violations = executableValidator.validateParameters(this, method,
                     parameterValues);
 
             if (violations.size() == 0) {
-                com.squareup.okhttp.Call call = reposUpstreamCranListCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
+                com.squareup.okhttp.Call call = reposUpstreamComposerListCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
                 return call;
 
             } else {
@@ -5391,39 +5397,39 @@ private com.squareup.okhttp.Call reposUpstreamCranListValidateBeforeCall(String
     }
 
     /**
-     * List CRAN upstream configs for this repository.
-     * List CRAN upstream configs for this repository.
+     * List Composer upstream configs for this repository.
+     * List Composer upstream configs for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
      * @param pageSize Number of results to return per page. (optional)
-     * @return List<CranUpstream>
+     * @return List<ComposerUpstream>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public List reposUpstreamCranList(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize) throws ApiException {
-        ApiResponse> resp = reposUpstreamCranListWithHttpInfo(owner, identifier, page, pageSize);
+    public List reposUpstreamComposerList(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize) throws ApiException {
+        ApiResponse> resp = reposUpstreamComposerListWithHttpInfo(owner, identifier, page, pageSize);
         return resp.getData();
     }
 
     /**
-     * List CRAN upstream configs for this repository.
-     * List CRAN upstream configs for this repository.
+     * List Composer upstream configs for this repository.
+     * List Composer upstream configs for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
      * @param pageSize Number of results to return per page. (optional)
-     * @return ApiResponse<List<CranUpstream>>
+     * @return ApiResponse<List<ComposerUpstream>>
      * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
      */
-    public ApiResponse> reposUpstreamCranListWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  java.math.BigInteger page,  java.math.BigInteger pageSize) throws ApiException {
-        com.squareup.okhttp.Call call = reposUpstreamCranListValidateBeforeCall(owner, identifier, page, pageSize, null, null);
-        Type localVarReturnType = new TypeToken>(){}.getType();
+    public ApiResponse> reposUpstreamComposerListWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  java.math.BigInteger page,  java.math.BigInteger pageSize) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamComposerListValidateBeforeCall(owner, identifier, page, pageSize, null, null);
+        Type localVarReturnType = new TypeToken>(){}.getType();
         return apiClient.execute(call, localVarReturnType);
     }
 
     /**
-     * List CRAN upstream configs for this repository. (asynchronously)
-     * List CRAN upstream configs for this repository.
+     * List Composer upstream configs for this repository. (asynchronously)
+     * List Composer upstream configs for this repository.
      * @param owner  (required)
      * @param identifier  (required)
      * @param page A page number within the paginated result set. (optional)
@@ -5432,7 +5438,7 @@ public ApiResponse> reposUpstreamCranListWithHttpInfo( @NotNu
      * @return The request call
      * @throws ApiException If fail to process the API call, e.g. serializing the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranListAsync(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ApiCallback> callback) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerListAsync(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ApiCallback> callback) throws ApiException {
 
         ProgressResponseBody.ProgressListener progressListener = null;
         ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
@@ -5453,13 +5459,13 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
             };
         }
 
-        com.squareup.okhttp.Call call = reposUpstreamCranListValidateBeforeCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken>(){}.getType();
+        com.squareup.okhttp.Call call = reposUpstreamComposerListValidateBeforeCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken>(){}.getType();
         apiClient.executeAsync(call, localVarReturnType, callback);
         return call;
     }
     /**
-     * Build call for reposUpstreamCranPartialUpdate
+     * Build call for reposUpstreamComposerPartialUpdate
      * @param owner  (required)
      * @param identifier  (required)
      * @param slugPerm  (required)
@@ -5469,7 +5475,1221 @@ public void onRequestProgress(long bytesWritten, long contentLength, boolean don
      * @return Call to execute
      * @throws ApiException If fail to serialize the request body object
      */
-    public com.squareup.okhttp.Call reposUpstreamCranPartialUpdateCall(String owner, String identifier, String slugPerm, CranUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+    public com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = data;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
+            .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm, data };
+            Method method = this.getClass().getMethod("reposUpstreamComposerPartialUpdateWithHttpInfo", String.class, String.class, String.class, ComposerUpstreamRequestPatch.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamComposerPartialUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Partially update a Composer upstream config for this repository.
+     * Partially update a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return ComposerUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ComposerUpstream reposUpstreamComposerPartialUpdate(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data) throws ApiException {
+        ApiResponse resp = reposUpstreamComposerPartialUpdateWithHttpInfo(owner, identifier, slugPerm, data);
+        return resp.getData();
+    }
+
+    /**
+     * Partially update a Composer upstream config for this repository.
+     * Partially update a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return ApiResponse<ComposerUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamComposerPartialUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  ComposerUpstreamRequestPatch data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamComposerPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Partially update a Composer upstream config for this repository. (asynchronously)
+     * Partially update a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamComposerPartialUpdateAsync(String owner, String identifier, String slugPerm, ComposerUpstreamRequestPatch data, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamComposerPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamComposerRead
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamComposerReadCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = null;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
+            .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamComposerReadValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm };
+            Method method = this.getClass().getMethod("reposUpstreamComposerReadWithHttpInfo", String.class, String.class, String.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamComposerReadCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Retrieve a Composer upstream config for this repository.
+     * Retrieve a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @return ComposerUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ComposerUpstream reposUpstreamComposerRead(String owner, String identifier, String slugPerm) throws ApiException {
+        ApiResponse resp = reposUpstreamComposerReadWithHttpInfo(owner, identifier, slugPerm);
+        return resp.getData();
+    }
+
+    /**
+     * Retrieve a Composer upstream config for this repository.
+     * Retrieve a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @return ApiResponse<ComposerUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamComposerReadWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamComposerReadValidateBeforeCall(owner, identifier, slugPerm, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Retrieve a Composer upstream config for this repository. (asynchronously)
+     * Retrieve a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamComposerReadAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamComposerReadValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamComposerUpdate
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamComposerUpdateCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = data;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/composer/{slug_perm}/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
+            .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamComposerUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm, data };
+            Method method = this.getClass().getMethod("reposUpstreamComposerUpdateWithHttpInfo", String.class, String.class, String.class, ComposerUpstreamRequest.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamComposerUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Update a Composer upstream config for this repository.
+     * Update a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return ComposerUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ComposerUpstream reposUpstreamComposerUpdate(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamComposerUpdateWithHttpInfo(owner, identifier, slugPerm, data);
+        return resp.getData();
+    }
+
+    /**
+     * Update a Composer upstream config for this repository.
+     * Update a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return ApiResponse<ComposerUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamComposerUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  ComposerUpstreamRequest data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamComposerUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Update a Composer upstream config for this repository. (asynchronously)
+     * Update a Composer upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamComposerUpdateAsync(String owner, String identifier, String slugPerm, ComposerUpstreamRequest data, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamComposerUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamCranCreate
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranCreateCall(String owner, String identifier, CranUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = data;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamCranCreateValidateBeforeCall(String owner, String identifier, CranUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, data };
+            Method method = this.getClass().getMethod("reposUpstreamCranCreateWithHttpInfo", String.class, String.class, CranUpstreamRequest.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamCranCreateCall(owner, identifier, data, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Create a CRAN upstream config for this repository.
+     * Create a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @return CranUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public CranUpstream reposUpstreamCranCreate(String owner, String identifier, CranUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamCranCreateWithHttpInfo(owner, identifier, data);
+        return resp.getData();
+    }
+
+    /**
+     * Create a CRAN upstream config for this repository.
+     * Create a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @return ApiResponse<CranUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamCranCreateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  CranUpstreamRequest data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCranCreateValidateBeforeCall(owner, identifier, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Create a CRAN upstream config for this repository. (asynchronously)
+     * Create a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranCreateAsync(String owner, String identifier, CranUpstreamRequest data, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamCranCreateValidateBeforeCall(owner, identifier, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamCranDelete
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranDeleteCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = null;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/{slug_perm}/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
+            .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamCranDeleteValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm };
+            Method method = this.getClass().getMethod("reposUpstreamCranDeleteWithHttpInfo", String.class, String.class, String.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamCranDeleteCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Delete a CRAN upstream config for this repository.
+     * Delete a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public void reposUpstreamCranDelete(String owner, String identifier, String slugPerm) throws ApiException {
+        reposUpstreamCranDeleteWithHttpInfo(owner, identifier, slugPerm);
+    }
+
+    /**
+     * Delete a CRAN upstream config for this repository.
+     * Delete a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @return ApiResponse<Void>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamCranDeleteWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCranDeleteValidateBeforeCall(owner, identifier, slugPerm, null, null);
+        return apiClient.execute(call);
+    }
+
+    /**
+     * Delete a CRAN upstream config for this repository. (asynchronously)
+     * Delete a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranDeleteAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamCranDeleteValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+        apiClient.executeAsync(call, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamCranList
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranListCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = null;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+        if (page != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
+        if (pageSize != null)
+        localVarQueryParams.addAll(apiClient.parameterToPair("page_size", pageSize));
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamCranListValidateBeforeCall(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, page, pageSize };
+            Method method = this.getClass().getMethod("reposUpstreamCranListWithHttpInfo", String.class, String.class, java.math.BigInteger.class, java.math.BigInteger.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamCranListCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * List CRAN upstream configs for this repository.
+     * List CRAN upstream configs for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @return List<CranUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public List reposUpstreamCranList(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize) throws ApiException {
+        ApiResponse> resp = reposUpstreamCranListWithHttpInfo(owner, identifier, page, pageSize);
+        return resp.getData();
+    }
+
+    /**
+     * List CRAN upstream configs for this repository.
+     * List CRAN upstream configs for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @return ApiResponse<List<CranUpstream>>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse> reposUpstreamCranListWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  java.math.BigInteger page,  java.math.BigInteger pageSize) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCranListValidateBeforeCall(owner, identifier, page, pageSize, null, null);
+        Type localVarReturnType = new TypeToken>(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * List CRAN upstream configs for this repository. (asynchronously)
+     * List CRAN upstream configs for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param page A page number within the paginated result set. (optional)
+     * @param pageSize Number of results to return per page. (optional)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranListAsync(String owner, String identifier, java.math.BigInteger page, java.math.BigInteger pageSize, final ApiCallback> callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamCranListValidateBeforeCall(owner, identifier, page, pageSize, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken>(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamCranPartialUpdate
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranPartialUpdateCall(String owner, String identifier, String slugPerm, CranUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = data;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/{slug_perm}/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
+            .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamCranPartialUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, CranUpstreamRequestPatch data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm, data };
+            Method method = this.getClass().getMethod("reposUpstreamCranPartialUpdateWithHttpInfo", String.class, String.class, String.class, CranUpstreamRequestPatch.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamCranPartialUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Partially update a CRAN upstream config for this repository.
+     * Partially update a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return CranUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public CranUpstream reposUpstreamCranPartialUpdate(String owner, String identifier, String slugPerm, CranUpstreamRequestPatch data) throws ApiException {
+        ApiResponse resp = reposUpstreamCranPartialUpdateWithHttpInfo(owner, identifier, slugPerm, data);
+        return resp.getData();
+    }
+
+    /**
+     * Partially update a CRAN upstream config for this repository.
+     * Partially update a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return ApiResponse<CranUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamCranPartialUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  CranUpstreamRequestPatch data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCranPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Partially update a CRAN upstream config for this repository. (asynchronously)
+     * Partially update a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranPartialUpdateAsync(String owner, String identifier, String slugPerm, CranUpstreamRequestPatch data, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamCranPartialUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamCranRead
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranReadCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = null;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/cran/{slug_perm}/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()))
+            .replaceAll("\\{" + "slug_perm" + "\\}", apiClient.escapeString(slugPerm.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamCranReadValidateBeforeCall(String owner, String identifier, String slugPerm, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm };
+            Method method = this.getClass().getMethod("reposUpstreamCranReadWithHttpInfo", String.class, String.class, String.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamCranReadCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Retrieve a CRAN upstream config for this repository.
+     * Retrieve a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @return CranUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public CranUpstream reposUpstreamCranRead(String owner, String identifier, String slugPerm) throws ApiException {
+        ApiResponse resp = reposUpstreamCranReadWithHttpInfo(owner, identifier, slugPerm);
+        return resp.getData();
+    }
+
+    /**
+     * Retrieve a CRAN upstream config for this repository.
+     * Retrieve a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @return ApiResponse<CranUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamCranReadWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCranReadValidateBeforeCall(owner, identifier, slugPerm, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Retrieve a CRAN upstream config for this repository. (asynchronously)
+     * Retrieve a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranReadAsync(String owner, String identifier, String slugPerm, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamCranReadValidateBeforeCall(owner, identifier, slugPerm, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamCranUpdate
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranUpdateCall(String owner, String identifier, String slugPerm, CranUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
         Object localVarPostBody = data;
 
         // create path and map variables
@@ -5509,6 +6729,612 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
             });
         }
 
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamCranUpdateValidateBeforeCall(String owner, String identifier, String slugPerm, CranUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, slugPerm, data };
+            Method method = this.getClass().getMethod("reposUpstreamCranUpdateWithHttpInfo", String.class, String.class, String.class, CranUpstreamRequest.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamCranUpdateCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Update a CRAN upstream config for this repository.
+     * Update a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return CranUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public CranUpstream reposUpstreamCranUpdate(String owner, String identifier, String slugPerm, CranUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamCranUpdateWithHttpInfo(owner, identifier, slugPerm, data);
+        return resp.getData();
+    }
+
+    /**
+     * Update a CRAN upstream config for this repository.
+     * Update a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @return ApiResponse<CranUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse reposUpstreamCranUpdateWithHttpInfo( @NotNull String owner,  @NotNull String identifier,  @NotNull String slugPerm,  CranUpstreamRequest data) throws ApiException {
+        com.squareup.okhttp.Call call = reposUpstreamCranUpdateValidateBeforeCall(owner, identifier, slugPerm, data, null, null);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        return apiClient.execute(call, localVarReturnType);
+    }
+
+    /**
+     * Update a CRAN upstream config for this repository. (asynchronously)
+     * Update a CRAN upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param slugPerm  (required)
+     * @param data  (optional)
+     * @param callback The callback to be executed when the API call finishes
+     * @return The request call
+     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamCranUpdateAsync(String owner, String identifier, String slugPerm, CranUpstreamRequest data, final ApiCallback callback) throws ApiException {
+
+        ProgressResponseBody.ProgressListener progressListener = null;
+        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
+
+        if (callback != null) {
+            progressListener = new ProgressResponseBody.ProgressListener() {
+                @Override
+                public void update(long bytesRead, long contentLength, boolean done) {
+                    callback.onDownloadProgress(bytesRead, contentLength, done);
+                }
+            };
+
+            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
+                @Override
+                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
+                    callback.onUploadProgress(bytesWritten, contentLength, done);
+                }
+            };
+        }
+
+        com.squareup.okhttp.Call call = reposUpstreamCranUpdateValidateBeforeCall(owner, identifier, slugPerm, data, progressListener, progressRequestListener);
+        Type localVarReturnType = new TypeToken(){}.getType();
+        apiClient.executeAsync(call, localVarReturnType, callback);
+        return call;
+    }
+    /**
+     * Build call for reposUpstreamDartCreate
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @param progressListener Progress listener
+     * @param progressRequestListener Progress request listener
+     * @return Call to execute
+     * @throws ApiException If fail to serialize the request body object
+     */
+    public com.squareup.okhttp.Call reposUpstreamDartCreateCall(String owner, String identifier, DartUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        Object localVarPostBody = data;
+
+        // create path and map variables
+        String localVarPath = "/repos/{owner}/{identifier}/upstream/dart/"
+            .replaceAll("\\{" + "owner" + "\\}", apiClient.escapeString(owner.toString()))
+            .replaceAll("\\{" + "identifier" + "\\}", apiClient.escapeString(identifier.toString()));
+
+        List localVarQueryParams = new ArrayList();
+        List localVarCollectionQueryParams = new ArrayList();
+
+        Map localVarHeaderParams = new HashMap();
+
+        Map localVarFormParams = new HashMap();
+
+        final String[] localVarAccepts = {
+            "application/json"
+        };
+        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
+        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
+
+        final String[] localVarContentTypes = {
+            "application/json"
+        };
+        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
+        localVarHeaderParams.put("Content-Type", localVarContentType);
+
+        if(progressListener != null) {
+            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
+                @Override
+                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
+                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
+                    return originalResponse.newBuilder()
+                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
+                    .build();
+                }
+            });
+        }
+
+        String[] localVarAuthNames = new String[] { "apikey", "basic" };
+        if (headers != null) {
+            localVarHeaderParams.putAll(headers);
+        }
+        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+    }
+
+    @SuppressWarnings("rawtypes")
+    private com.squareup.okhttp.Call reposUpstreamDartCreateValidateBeforeCall(String owner, String identifier, DartUpstreamRequest data, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+        try {
+            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
+            ExecutableValidator executableValidator = factory.getValidator().forExecutables();
+
+            Object[] parameterValues = { owner, identifier, data };
+            Method method = this.getClass().getMethod("reposUpstreamDartCreateWithHttpInfo", String.class, String.class, DartUpstreamRequest.class);
+            Set> violations = executableValidator.validateParameters(this, method,
+                    parameterValues);
+
+            if (violations.size() == 0) {
+                com.squareup.okhttp.Call call = reposUpstreamDartCreateCall(owner, identifier, data, progressListener, progressRequestListener);
+                return call;
+
+            } else {
+                throw new BeanValidationException((Set) violations);
+            }
+        } catch (NoSuchMethodException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        } catch (SecurityException e) {
+            e.printStackTrace();
+            throw new ApiException(e.getMessage());
+        }
+
+    }
+
+    /**
+     * Create a Dart upstream config for this repository.
+     * Create a Dart upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @return DartUpstream
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public DartUpstream reposUpstreamDartCreate(String owner, String identifier, DartUpstreamRequest data) throws ApiException {
+        ApiResponse resp = reposUpstreamDartCreateWithHttpInfo(owner, identifier, data);
+        return resp.getData();
+    }
+
+    /**
+     * Create a Dart upstream config for this repository.
+     * Create a Dart upstream config for this repository.
+     * @param owner  (required)
+     * @param identifier  (required)
+     * @param data  (optional)
+     * @return ApiResponse<DartUpstream>
+     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+     */
+    public ApiResponse