> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.hellosign.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.hellosign.com/_mcp/server.

# Update API App

PUT https://api.hellosign.com/v3/api_app/{client_id}
Content-Type: application/json

Updates an existing API App. Can only be invoked for apps you own. Only the fields you provide will be updated. If you wish to clear an existing optional field, provide an empty string.

Reference: https://developers.hellosign.com/api/api-app/update

## Authentication

- `Authorization` header (basic auth, required) — Your API key can be used to make calls to the Dropbox Sign API. See [Authentication](/api/reference/authentication) for more information. ✅ Supported by Try it console (calls sent in `test_mode` only).
- `Authorization` header (bearer token, required) — You can use an Access Token issued through an OAuth flow to send calls to the Dropbox Sign API from your app. The access scopes required by this endpoint are listed in the gray box above. See [Authentication](/api/reference/authentication) for more information. ❌ **Not supported** by Try it console.

## Request

### Path parameters

- `client_id` (string, required) — The client id of the API App to update.

### Body (application/json)

- `callback_url` (string, optional) — The URL at which the API App should receive event callbacks.
- `custom_logo_file` (string, optional) — An image file to use as a custom logo in embedded contexts. (Only applies to some API plans)
- `domains` (list of string, optional) — The domain names the ApiApp will be associated with.
- `name` (string, optional) — The name you want to assign to the ApiApp.
- `oauth` (object, optional) — OAuth related parameters.
  - `callback_url` (string, optional) — The callback URL to be used for OAuth flows. (Required if `oauth[scopes]` is provided)
  - `scopes` (list of enum, optional) — A list of [OAuth scopes](/api/reference/tag/OAuth) to be granted to the app. (Required if `oauth[callback_url]` is provided).
    - Allowed values: `request_signature`, `basic_account_info`, `account_access`, `signature_request_access`, `template_access`, `team_access`, `api_app_access`, ``
- `options` (object, optional) — Additional options supported by API App.
  - `can_insert_everywhere` (boolean, optional, default: false) — Determines if signers can use "Insert Everywhere" when signing a document.
- `white_labeling_options` (object, optional) — An array of elements and values serialized to a string, to be used to customize the app's signer page. (Only applies to some API plans) Take a look at our [white labeling guide](https://developers.hellosign.com/api/reference/premium-branding/) to learn more.
  - `header_background_color` (string, optional, default: #1a1a1a)
  - `legal_version` (enum, optional, default: terms1)
    - Allowed values: `terms1`, `terms2`
  - `link_color` (string, optional, default: #0061FE)
  - `page_background_color` (string, optional, default: #f7f8f9)
  - `primary_button_color` (string, optional, default: #0061FE)
  - `primary_button_color_hover` (string, optional, default: #0061FE)
  - `primary_button_text_color` (string, optional, default: #ffffff)
  - `primary_button_text_color_hover` (string, optional, default: #ffffff)
  - `secondary_button_color` (string, optional, default: #ffffff)
  - `secondary_button_color_hover` (string, optional, default: #ffffff)
  - `secondary_button_text_color` (string, optional, default: #0061FE)
  - `secondary_button_text_color_hover` (string, optional, default: #0061FE)
  - `text_color1` (string, optional, default: #808080)
  - `text_color2` (string, optional, default: #ffffff)
  - `reset_to_default` (boolean, optional) — Resets white labeling options to defaults. Only useful when updating an API App.

## Response

### 200

successful operation

- `api_app` (object, required) — Contains information about an API App.
  - `callback_url` (string, optional, nullable) — The app's callback URL (for events)
  - `client_id` (string, optional) — The app's client id
  - `created_at` (integer, optional) — The time that the app was created
  - `domains` (list of string, optional) — The domain name(s) associated with the app
  - `name` (string, optional) — The name of the app
  - `is_approved` (boolean, optional) — Boolean to indicate if the app has been approved
  - `oauth` (object, optional) — An object describing the app's OAuth properties, or null if OAuth is not configured for the app.
    - `callback_url` (string, optional) — The app's OAuth callback URL.
    - `secret` (string, optional, nullable) — The app's OAuth secret, or null if the app does not belong to user.
    - `scopes` (list of string, optional) — Array of OAuth scopes used by the app.
    - `charges_users` (boolean, optional) — Boolean indicating whether the app owner or the account granting permission is billed for OAuth requests.
  - `options` (object, optional) — An object with options that override account settings.
    - `can_insert_everywhere` (boolean, optional) — Boolean denoting if signers can "Insert Everywhere" in one click while signing a document
  - `owner_account` (object, optional) — An object describing the app's owner
    - `account_id` (string, optional) — The owner account's ID
    - `email_address` (string, optional) — The owner account's email address
  - `white_labeling_options` (object, optional) — An object with options to customize the app's signer page
    - `header_background_color` (string, optional)
    - `legal_version` (string, optional)
    - `link_color` (string, optional)
    - `page_background_color` (string, optional)
    - `primary_button_color` (string, optional)
    - `primary_button_color_hover` (string, optional)
    - `primary_button_text_color` (string, optional)
    - `primary_button_text_color_hover` (string, optional)
    - `secondary_button_color` (string, optional)
    - `secondary_button_color_hover` (string, optional)
    - `secondary_button_text_color` (string, optional)
    - `secondary_button_text_color_hover` (string, optional)
    - `text_color1` (string, optional)
    - `text_color2` (string, optional)
- `warnings` (list of object, optional) — A list of warnings.
  - `warning_msg` (string, required) — Warning message
  - `warning_name` (string, required) — Warning name

## Examples

### API App Update

**Request**

```json
undefined
```

**Response**

```json
{
  "api_app": {
    "callback_url": "https://example.com/dropboxsign",
    "client_id": "0dd3b823a682527788c4e40cb7b6f7e9",
    "created_at": 1436232339,
    "domains": [
      "example.com"
    ],
    "name": "New Name",
    "is_approved": false,
    "oauth": {
      "callback_url": "https://example.com/oauth",
      "secret": "98891a1b59f312d04cd88e4e0c498d75",
      "scopes": [
        "basic_account_info",
        "request_signature"
      ]
    },
    "owner_account": {
      "account_id": "dc5deeb9e10b044c591ef2475aafad1d1d3bd888",
      "email_address": "john@example.com"
    },
    "white_labeling_options": {
      "primary_button_color": "#00b3e6",
      "primary_button_text_color": "#ffffff"
    }
  }
}
```

**SDK Code**

```php PHP
<?php

namespace Dropbox\SignSandbox;

require_once __DIR__ . '/../vendor/autoload.php';

use SplFileObject;
use Dropbox;

$config = Dropbox\Sign\Configuration::getDefaultConfiguration();
$config->setUsername("YOUR_API_KEY");
// $config->setAccessToken("YOUR_ACCESS_TOKEN");

$oauth = (new Dropbox\Sign\Model\SubOAuth())
    ->setCallbackUrl("https://example.com/oauth")
    ->setScopes([
        Dropbox\Sign\Model\SubOAuth::SCOPES_BASIC_ACCOUNT_INFO,
        Dropbox\Sign\Model\SubOAuth::SCOPES_REQUEST_SIGNATURE,
    ]);

$white_labeling_options = (new Dropbox\Sign\Model\SubWhiteLabelingOptions())
    ->setPrimaryButtonColor("#00b3e6")
    ->setPrimaryButtonTextColor("#ffffff");

$api_app_update_request = (new Dropbox\Sign\Model\ApiAppUpdateRequest())
    ->setCallbackUrl("https://example.com/dropboxsign")
    ->setName("New Name")
    ->setDomains([
        "example.com",
    ])
    ->setCustomLogoFile(new SplFileObject("CustomLogoFile.png"))
    ->setOauth($oauth)
    ->setWhiteLabelingOptions($white_labeling_options);

try {
    $response = (new Dropbox\Sign\Api\ApiAppApi(config: $config))->apiAppUpdate(
        client_id: "0dd3b823a682527788c4e40cb7b6f7e9",
        api_app_update_request: $api_app_update_request,
    );

    print_r($response);
} catch (Dropbox\Sign\ApiException $e) {
    echo "Exception when calling ApiAppApi#apiAppUpdate: {$e->getMessage()}";
}

```

```csharp C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;

using Dropbox.Sign.Api;
using Dropbox.Sign.Client;
using Dropbox.Sign.Model;

namespace Dropbox.SignSandbox;

public class ApiAppUpdateExample
{
    public static void Run()
    {
        var config = new Configuration();
        config.Username = "YOUR_API_KEY";
        // config.AccessToken = "YOUR_ACCESS_TOKEN";

        var oauth = new SubOAuth(
            callbackUrl: "https://example.com/oauth",
            scopes: [
                SubOAuth.ScopesEnum.BasicAccountInfo,
                SubOAuth.ScopesEnum.RequestSignature,
            ]
        );

        var whiteLabelingOptions = new SubWhiteLabelingOptions(
            primaryButtonColor: "#00b3e6",
            primaryButtonTextColor: "#ffffff"
        );

        var apiAppUpdateRequest = new ApiAppUpdateRequest(
            callbackUrl: "https://example.com/dropboxsign",
            name: "New Name",
            domains: [
                "example.com",
            ],
            customLogoFile: new FileStream(
                path: "CustomLogoFile.png",
                mode: FileMode.Open
            ),
            oauth: oauth,
            whiteLabelingOptions: whiteLabelingOptions
        );

        try
        {
            var response = new ApiAppApi(config).ApiAppUpdate(
                clientId: "0dd3b823a682527788c4e40cb7b6f7e9",
                apiAppUpdateRequest: apiAppUpdateRequest
            );

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling ApiAppApi#ApiAppUpdate: " + e.Message);
            Console.WriteLine("Status Code: " + e.ErrorCode);
            Console.WriteLine(e.StackTrace);
        }
    }
}

```

```typescript TypeScript
import * as fs from 'fs';
import api from "@dropbox/sign"
import models from "@dropbox/sign"

const apiCaller = new api.ApiAppApi();
apiCaller.username = "YOUR_API_KEY";
// apiCaller.accessToken = "YOUR_ACCESS_TOKEN";

const oauth: models.SubOAuth = {
  callbackUrl: "https://example.com/oauth",
  scopes: [
    models.SubOAuth.ScopesEnum.BasicAccountInfo,
    models.SubOAuth.ScopesEnum.RequestSignature,
  ],
};

const whiteLabelingOptions: models.SubWhiteLabelingOptions = {
  primaryButtonColor: "#00b3e6",
  primaryButtonTextColor: "#ffffff",
};

const apiAppUpdateRequest: models.ApiAppUpdateRequest = {
  callbackUrl: "https://example.com/dropboxsign",
  name: "New Name",
  domains: [
    "example.com",
  ],
  customLogoFile: fs.createReadStream("CustomLogoFile.png"),
  oauth: oauth,
  whiteLabelingOptions: whiteLabelingOptions,
};

apiCaller.apiAppUpdate(
  "0dd3b823a682527788c4e40cb7b6f7e9", // clientId
  apiAppUpdateRequest,
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling ApiAppApi#apiAppUpdate:");
  console.log(error.body);
});

```

```java Java
package com.dropbox.sign_sandbox;

import com.dropbox.sign.ApiException;
import com.dropbox.sign.Configuration;
import com.dropbox.sign.api.*;
import com.dropbox.sign.auth.*;
import com.dropbox.sign.JSON;
import com.dropbox.sign.model.*;

import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class ApiAppUpdateExample
{
    public static void main(String[] args)
    {
        var config = Configuration.getDefaultApiClient();
        ((HttpBasicAuth) config.getAuthentication("api_key")).setUsername("YOUR_API_KEY");
        // ((HttpBearerAuth) config.getAuthentication("oauth2")).setBearerToken("YOUR_ACCESS_TOKEN");

        var oauth = new SubOAuth();
        oauth.callbackUrl("https://example.com/oauth");
        oauth.scopes(List.of (
            SubOAuth.ScopesEnum.BASIC_ACCOUNT_INFO,
            SubOAuth.ScopesEnum.REQUEST_SIGNATURE
        ));

        var whiteLabelingOptions = new SubWhiteLabelingOptions();
        whiteLabelingOptions.primaryButtonColor("#00b3e6");
        whiteLabelingOptions.primaryButtonTextColor("#ffffff");

        var apiAppUpdateRequest = new ApiAppUpdateRequest();
        apiAppUpdateRequest.callbackUrl("https://example.com/dropboxsign");
        apiAppUpdateRequest.name("New Name");
        apiAppUpdateRequest.domains(List.of (
            "example.com"
        ));
        apiAppUpdateRequest.customLogoFile(new File("CustomLogoFile.png"));
        apiAppUpdateRequest.oauth(oauth);
        apiAppUpdateRequest.whiteLabelingOptions(whiteLabelingOptions);

        try
        {
            var response = new ApiAppApi(config).apiAppUpdate(
                "0dd3b823a682527788c4e40cb7b6f7e9", // clientId
                apiAppUpdateRequest
            );

            System.out.println(response);
        } catch (ApiException e) {
            System.err.println("Exception when calling ApiAppApi#apiAppUpdate");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            System.err.println("Response headers: " + e.getResponseHeaders());
            e.printStackTrace();
        }
    }
}

```

```ruby Ruby
require "json"
require "dropbox-sign"

Dropbox::Sign.configure do |config|
    config.username = "YOUR_API_KEY"
    # config.access_token = "YOUR_ACCESS_TOKEN"
end

oauth = Dropbox::Sign::SubOAuth.new
oauth.callback_url = "https://example.com/oauth"
oauth.scopes = [
    "basic_account_info",
    "request_signature",
]

white_labeling_options = Dropbox::Sign::SubWhiteLabelingOptions.new
white_labeling_options.primary_button_color = "#00b3e6"
white_labeling_options.primary_button_text_color = "#ffffff"

api_app_update_request = Dropbox::Sign::ApiAppUpdateRequest.new
api_app_update_request.callback_url = "https://example.com/dropboxsign"
api_app_update_request.name = "New Name"
api_app_update_request.domains = [
    "example.com",
]
api_app_update_request.custom_logo_file = File.new("CustomLogoFile.png", "r")
api_app_update_request.oauth = oauth
api_app_update_request.white_labeling_options = white_labeling_options

begin
    response = Dropbox::Sign::ApiAppApi.new.api_app_update(
        "0dd3b823a682527788c4e40cb7b6f7e9", # client_id
        api_app_update_request,
    )

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling ApiAppApi#api_app_update: #{e}"
end

```

```python Python
import json
from datetime import date, datetime
from pprint import pprint

from dropbox_sign import ApiClient, ApiException, Configuration, api, models

configuration = Configuration(
    username="YOUR_API_KEY",
    # access_token="YOUR_ACCESS_TOKEN",
)

with ApiClient(configuration) as api_client:
    oauth = models.SubOAuth(
        callback_url="https://example.com/oauth",
        scopes=[
            "basic_account_info",
            "request_signature",
        ],
    )

    white_labeling_options = models.SubWhiteLabelingOptions(
        primary_button_color="#00b3e6",
        primary_button_text_color="#ffffff",
    )

    api_app_update_request = models.ApiAppUpdateRequest(
        callback_url="https://example.com/dropboxsign",
        name="New Name",
        domains=[
            "example.com",
        ],
        custom_logo_file=open("CustomLogoFile.png", "rb").read(),
        oauth=oauth,
        white_labeling_options=white_labeling_options,
    )

    try:
        response = api.ApiAppApi(api_client).api_app_update(
            client_id="0dd3b823a682527788c4e40cb7b6f7e9",
            api_app_update_request=api_app_update_request,
        )

        pprint(response)
    except ApiException as e:
        print("Exception when calling ApiAppApi#api_app_update: %s\n" % e)

```

```go API App Update
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hellosign.com/v3/api_app/0dd3b823a682527788c4e40cb7b6f7e9"

	req, _ := http.NewRequest("PUT", url, nil)

	req.SetBasicAuth("<apiKey>", "")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```swift API App Update
import Foundation

let credentials = Data("<apiKey>:".utf8).base64EncodedString()

let headers = ["Authorization": "Basic \(credentials)"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/api_app/0dd3b823a682527788c4e40cb7b6f7e9")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Default Example

**Request**

```json
{
  "callback_url": "https://example.com/dropboxsign",
  "custom_logo_file": "CustomLogoFile.png",
  "domains": [
    "example.com"
  ],
  "name": "New Name",
  "oauth": {
    "callback_url": "https://example.com/oauth",
    "scopes": [
      "basic_account_info",
      "request_signature"
    ]
  },
  "white_labeling_options": {
    "primary_button_color": "#00b3e6",
    "primary_button_text_color": "#ffffff"
  }
}
```

**Response**

```json
{
  "api_app": {
    "callback_url": "https://example.com/dropboxsign",
    "client_id": "0dd3b823a682527788c4e40cb7b6f7e9",
    "created_at": 1436232339,
    "domains": [
      "example.com"
    ],
    "name": "New Name",
    "is_approved": false,
    "oauth": {
      "callback_url": "https://example.com/oauth",
      "secret": "98891a1b59f312d04cd88e4e0c498d75",
      "scopes": [
        "basic_account_info",
        "request_signature"
      ]
    },
    "owner_account": {
      "account_id": "dc5deeb9e10b044c591ef2475aafad1d1d3bd888",
      "email_address": "john@example.com"
    },
    "white_labeling_options": {
      "primary_button_color": "#00b3e6",
      "primary_button_text_color": "#ffffff"
    }
  }
}
```

**SDK Code**

```php PHP
<?php

namespace Dropbox\SignSandbox;

require_once __DIR__ . '/../vendor/autoload.php';

use SplFileObject;
use Dropbox;

$config = Dropbox\Sign\Configuration::getDefaultConfiguration();
$config->setUsername("YOUR_API_KEY");
// $config->setAccessToken("YOUR_ACCESS_TOKEN");

$oauth = (new Dropbox\Sign\Model\SubOAuth())
    ->setCallbackUrl("https://example.com/oauth")
    ->setScopes([
        Dropbox\Sign\Model\SubOAuth::SCOPES_BASIC_ACCOUNT_INFO,
        Dropbox\Sign\Model\SubOAuth::SCOPES_REQUEST_SIGNATURE,
    ]);

$white_labeling_options = (new Dropbox\Sign\Model\SubWhiteLabelingOptions())
    ->setPrimaryButtonColor("#00b3e6")
    ->setPrimaryButtonTextColor("#ffffff");

$api_app_update_request = (new Dropbox\Sign\Model\ApiAppUpdateRequest())
    ->setCallbackUrl("https://example.com/dropboxsign")
    ->setName("New Name")
    ->setDomains([
        "example.com",
    ])
    ->setCustomLogoFile(new SplFileObject("CustomLogoFile.png"))
    ->setOauth($oauth)
    ->setWhiteLabelingOptions($white_labeling_options);

try {
    $response = (new Dropbox\Sign\Api\ApiAppApi(config: $config))->apiAppUpdate(
        client_id: "0dd3b823a682527788c4e40cb7b6f7e9",
        api_app_update_request: $api_app_update_request,
    );

    print_r($response);
} catch (Dropbox\Sign\ApiException $e) {
    echo "Exception when calling ApiAppApi#apiAppUpdate: {$e->getMessage()}";
}

```

```csharp C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;

using Dropbox.Sign.Api;
using Dropbox.Sign.Client;
using Dropbox.Sign.Model;

namespace Dropbox.SignSandbox;

public class ApiAppUpdateExample
{
    public static void Run()
    {
        var config = new Configuration();
        config.Username = "YOUR_API_KEY";
        // config.AccessToken = "YOUR_ACCESS_TOKEN";

        var oauth = new SubOAuth(
            callbackUrl: "https://example.com/oauth",
            scopes: [
                SubOAuth.ScopesEnum.BasicAccountInfo,
                SubOAuth.ScopesEnum.RequestSignature,
            ]
        );

        var whiteLabelingOptions = new SubWhiteLabelingOptions(
            primaryButtonColor: "#00b3e6",
            primaryButtonTextColor: "#ffffff"
        );

        var apiAppUpdateRequest = new ApiAppUpdateRequest(
            callbackUrl: "https://example.com/dropboxsign",
            name: "New Name",
            domains: [
                "example.com",
            ],
            customLogoFile: new FileStream(
                path: "CustomLogoFile.png",
                mode: FileMode.Open
            ),
            oauth: oauth,
            whiteLabelingOptions: whiteLabelingOptions
        );

        try
        {
            var response = new ApiAppApi(config).ApiAppUpdate(
                clientId: "0dd3b823a682527788c4e40cb7b6f7e9",
                apiAppUpdateRequest: apiAppUpdateRequest
            );

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling ApiAppApi#ApiAppUpdate: " + e.Message);
            Console.WriteLine("Status Code: " + e.ErrorCode);
            Console.WriteLine(e.StackTrace);
        }
    }
}

```

```typescript TypeScript
import * as fs from 'fs';
import api from "@dropbox/sign"
import models from "@dropbox/sign"

const apiCaller = new api.ApiAppApi();
apiCaller.username = "YOUR_API_KEY";
// apiCaller.accessToken = "YOUR_ACCESS_TOKEN";

const oauth: models.SubOAuth = {
  callbackUrl: "https://example.com/oauth",
  scopes: [
    models.SubOAuth.ScopesEnum.BasicAccountInfo,
    models.SubOAuth.ScopesEnum.RequestSignature,
  ],
};

const whiteLabelingOptions: models.SubWhiteLabelingOptions = {
  primaryButtonColor: "#00b3e6",
  primaryButtonTextColor: "#ffffff",
};

const apiAppUpdateRequest: models.ApiAppUpdateRequest = {
  callbackUrl: "https://example.com/dropboxsign",
  name: "New Name",
  domains: [
    "example.com",
  ],
  customLogoFile: fs.createReadStream("CustomLogoFile.png"),
  oauth: oauth,
  whiteLabelingOptions: whiteLabelingOptions,
};

apiCaller.apiAppUpdate(
  "0dd3b823a682527788c4e40cb7b6f7e9", // clientId
  apiAppUpdateRequest,
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling ApiAppApi#apiAppUpdate:");
  console.log(error.body);
});

```

```java Java
package com.dropbox.sign_sandbox;

import com.dropbox.sign.ApiException;
import com.dropbox.sign.Configuration;
import com.dropbox.sign.api.*;
import com.dropbox.sign.auth.*;
import com.dropbox.sign.JSON;
import com.dropbox.sign.model.*;

import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class ApiAppUpdateExample
{
    public static void main(String[] args)
    {
        var config = Configuration.getDefaultApiClient();
        ((HttpBasicAuth) config.getAuthentication("api_key")).setUsername("YOUR_API_KEY");
        // ((HttpBearerAuth) config.getAuthentication("oauth2")).setBearerToken("YOUR_ACCESS_TOKEN");

        var oauth = new SubOAuth();
        oauth.callbackUrl("https://example.com/oauth");
        oauth.scopes(List.of (
            SubOAuth.ScopesEnum.BASIC_ACCOUNT_INFO,
            SubOAuth.ScopesEnum.REQUEST_SIGNATURE
        ));

        var whiteLabelingOptions = new SubWhiteLabelingOptions();
        whiteLabelingOptions.primaryButtonColor("#00b3e6");
        whiteLabelingOptions.primaryButtonTextColor("#ffffff");

        var apiAppUpdateRequest = new ApiAppUpdateRequest();
        apiAppUpdateRequest.callbackUrl("https://example.com/dropboxsign");
        apiAppUpdateRequest.name("New Name");
        apiAppUpdateRequest.domains(List.of (
            "example.com"
        ));
        apiAppUpdateRequest.customLogoFile(new File("CustomLogoFile.png"));
        apiAppUpdateRequest.oauth(oauth);
        apiAppUpdateRequest.whiteLabelingOptions(whiteLabelingOptions);

        try
        {
            var response = new ApiAppApi(config).apiAppUpdate(
                "0dd3b823a682527788c4e40cb7b6f7e9", // clientId
                apiAppUpdateRequest
            );

            System.out.println(response);
        } catch (ApiException e) {
            System.err.println("Exception when calling ApiAppApi#apiAppUpdate");
            System.err.println("Status code: " + e.getCode());
            System.err.println("Reason: " + e.getResponseBody());
            System.err.println("Response headers: " + e.getResponseHeaders());
            e.printStackTrace();
        }
    }
}

```

```ruby Ruby
require "json"
require "dropbox-sign"

Dropbox::Sign.configure do |config|
    config.username = "YOUR_API_KEY"
    # config.access_token = "YOUR_ACCESS_TOKEN"
end

oauth = Dropbox::Sign::SubOAuth.new
oauth.callback_url = "https://example.com/oauth"
oauth.scopes = [
    "basic_account_info",
    "request_signature",
]

white_labeling_options = Dropbox::Sign::SubWhiteLabelingOptions.new
white_labeling_options.primary_button_color = "#00b3e6"
white_labeling_options.primary_button_text_color = "#ffffff"

api_app_update_request = Dropbox::Sign::ApiAppUpdateRequest.new
api_app_update_request.callback_url = "https://example.com/dropboxsign"
api_app_update_request.name = "New Name"
api_app_update_request.domains = [
    "example.com",
]
api_app_update_request.custom_logo_file = File.new("CustomLogoFile.png", "r")
api_app_update_request.oauth = oauth
api_app_update_request.white_labeling_options = white_labeling_options

begin
    response = Dropbox::Sign::ApiAppApi.new.api_app_update(
        "0dd3b823a682527788c4e40cb7b6f7e9", # client_id
        api_app_update_request,
    )

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling ApiAppApi#api_app_update: #{e}"
end

```

```python Python
import json
from datetime import date, datetime
from pprint import pprint

from dropbox_sign import ApiClient, ApiException, Configuration, api, models

configuration = Configuration(
    username="YOUR_API_KEY",
    # access_token="YOUR_ACCESS_TOKEN",
)

with ApiClient(configuration) as api_client:
    oauth = models.SubOAuth(
        callback_url="https://example.com/oauth",
        scopes=[
            "basic_account_info",
            "request_signature",
        ],
    )

    white_labeling_options = models.SubWhiteLabelingOptions(
        primary_button_color="#00b3e6",
        primary_button_text_color="#ffffff",
    )

    api_app_update_request = models.ApiAppUpdateRequest(
        callback_url="https://example.com/dropboxsign",
        name="New Name",
        domains=[
            "example.com",
        ],
        custom_logo_file=open("CustomLogoFile.png", "rb").read(),
        oauth=oauth,
        white_labeling_options=white_labeling_options,
    )

    try:
        response = api.ApiAppApi(api_client).api_app_update(
            client_id="0dd3b823a682527788c4e40cb7b6f7e9",
            api_app_update_request=api_app_update_request,
        )

        pprint(response)
    except ApiException as e:
        print("Exception when calling ApiAppApi#api_app_update: %s\n" % e)

```

```go Default Example
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hellosign.com/v3/api_app/0dd3b823a682527788c4e40cb7b6f7e9"

	payload := strings.NewReader("{\n  \"callback_url\": \"https://example.com/dropboxsign\",\n  \"custom_logo_file\": \"CustomLogoFile.png\",\n  \"domains\": [\n    \"example.com\"\n  ],\n  \"name\": \"New Name\",\n  \"oauth\": {\n    \"callback_url\": \"https://example.com/oauth\",\n    \"scopes\": [\n      \"basic_account_info\",\n      \"request_signature\"\n    ]\n  },\n  \"white_labeling_options\": {\n    \"primary_button_color\": \"#00b3e6\",\n    \"primary_button_text_color\": \"#ffffff\"\n  }\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.SetBasicAuth("<apiKey>", "")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```swift Default Example
import Foundation

let credentials = Data("<apiKey>:".utf8).base64EncodedString()

let headers = [
  "Authorization": "Basic \(credentials)",
  "Content-Type": "application/json"
]
let parameters = [
  "callback_url": "https://example.com/dropboxsign",
  "custom_logo_file": "CustomLogoFile.png",
  "domains": ["example.com"],
  "name": "New Name",
  "oauth": [
    "callback_url": "https://example.com/oauth",
    "scopes": ["basic_account_info", "request_signature"]
  ],
  "white_labeling_options": [
    "primary_button_color": "#00b3e6",
    "primary_button_text_color": "#ffffff"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hellosign.com/v3/api_app/0dd3b823a682527788c4e40cb7b6f7e9")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```