For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://developers.hellosign.com/api/api-app/llms.txt. For full documentation content, see https://developers.hellosign.com/api/api-app/llms-full.txt.

# 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

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: Dropbox Sign API
  version: 1.0.0
paths:
  /api_app/{client_id}:
    put:
      operationId: update
      summary: Update API App
      description: >-
        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.
      tags:
        - subpackage_apiApp
      parameters:
        - name: client_id
          in: path
          description: The client id of the API App to update.
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: Basic authentication
          required: true
          schema:
            type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiAppGetResponse'
        '400':
          description: failed_operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiAppUpdateRequest'
servers:
  - url: https://api.hellosign.com/v3
components:
  schemas:
    SubOAuthScopesItems:
      type: string
      enum:
        - request_signature
        - basic_account_info
        - account_access
        - signature_request_access
        - template_access
        - team_access
        - api_app_access
        - ''
      title: SubOAuthScopesItems
    SubOAuth:
      type: object
      properties:
        callback_url:
          type: string
          description: >-
            The callback URL to be used for OAuth flows. (Required if
            `oauth[scopes]` is provided)
        scopes:
          type: array
          items:
            $ref: '#/components/schemas/SubOAuthScopesItems'
          description: >-
            A list of [OAuth scopes](/api/reference/tag/OAuth) to be granted to
            the app. (Required if `oauth[callback_url]` is provided).
      description: OAuth related parameters.
      title: SubOAuth
    SubOptions:
      type: object
      properties:
        can_insert_everywhere:
          type: boolean
          default: false
          description: >-
            Determines if signers can use "Insert Everywhere" when signing a
            document.
      description: Additional options supported by API App.
      title: SubOptions
    SubWhiteLabelingOptionsLegalVersion:
      type: string
      enum:
        - terms1
        - terms2
      default: terms1
      title: SubWhiteLabelingOptionsLegalVersion
    SubWhiteLabelingOptions:
      type: object
      properties:
        header_background_color:
          type: string
          default: '#1a1a1a'
        legal_version:
          $ref: '#/components/schemas/SubWhiteLabelingOptionsLegalVersion'
        link_color:
          type: string
          default: '#0061FE'
        page_background_color:
          type: string
          default: '#f7f8f9'
        primary_button_color:
          type: string
          default: '#0061FE'
        primary_button_color_hover:
          type: string
          default: '#0061FE'
        primary_button_text_color:
          type: string
          default: '#ffffff'
        primary_button_text_color_hover:
          type: string
          default: '#ffffff'
        secondary_button_color:
          type: string
          default: '#ffffff'
        secondary_button_color_hover:
          type: string
          default: '#ffffff'
        secondary_button_text_color:
          type: string
          default: '#0061FE'
        secondary_button_text_color_hover:
          type: string
          default: '#0061FE'
        text_color1:
          type: string
          default: '#808080'
        text_color2:
          type: string
          default: '#ffffff'
        reset_to_default:
          type: boolean
          description: >-
            Resets white labeling options to defaults. Only useful when updating
            an API App.
      description: >-
        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.
      title: SubWhiteLabelingOptions
    ApiAppUpdateRequest:
      type: object
      properties:
        callback_url:
          type: string
          description: The URL at which the API App should receive event callbacks.
        custom_logo_file:
          type: string
          format: binary
          description: >-
            An image file to use as a custom logo in embedded contexts. (Only
            applies to some API plans)
        domains:
          type: array
          items:
            type: string
          description: The domain names the ApiApp will be associated with.
        name:
          type: string
          description: The name you want to assign to the ApiApp.
        oauth:
          $ref: '#/components/schemas/SubOAuth'
        options:
          $ref: '#/components/schemas/SubOptions'
        white_labeling_options:
          $ref: '#/components/schemas/SubWhiteLabelingOptions'
      title: ApiAppUpdateRequest
    ApiAppResponseOAuth:
      type: object
      properties:
        callback_url:
          type: string
          description: The app's OAuth callback URL.
        secret:
          type:
            - string
            - 'null'
          description: The app's OAuth secret, or null if the app does not belong to user.
        scopes:
          type: array
          items:
            type: string
          description: Array of OAuth scopes used by the app.
        charges_users:
          type: boolean
          description: >-
            Boolean indicating whether the app owner or the account granting
            permission is billed for OAuth requests.
      description: >-
        An object describing the app's OAuth properties, or null if OAuth is not
        configured for the app.
      title: ApiAppResponseOAuth
    ApiAppResponseOptions:
      type: object
      properties:
        can_insert_everywhere:
          type: boolean
          description: >-
            Boolean denoting if signers can "Insert Everywhere" in one click
            while signing a document
      description: An object with options that override account settings.
      title: ApiAppResponseOptions
    ApiAppResponseOwnerAccount:
      type: object
      properties:
        account_id:
          type: string
          description: The owner account's ID
        email_address:
          type: string
          description: The owner account's email address
      description: An object describing the app's owner
      title: ApiAppResponseOwnerAccount
    ApiAppResponseWhiteLabelingOptions:
      type: object
      properties:
        header_background_color:
          type: string
        legal_version:
          type: string
        link_color:
          type: string
        page_background_color:
          type: string
        primary_button_color:
          type: string
        primary_button_color_hover:
          type: string
        primary_button_text_color:
          type: string
        primary_button_text_color_hover:
          type: string
        secondary_button_color:
          type: string
        secondary_button_color_hover:
          type: string
        secondary_button_text_color:
          type: string
        secondary_button_text_color_hover:
          type: string
        text_color1:
          type: string
        text_color2:
          type: string
      description: An object with options to customize the app's signer page
      title: ApiAppResponseWhiteLabelingOptions
    ApiAppResponse:
      type: object
      properties:
        callback_url:
          type:
            - string
            - 'null'
          description: The app's callback URL (for events)
        client_id:
          type: string
          description: The app's client id
        created_at:
          type: integer
          description: The time that the app was created
        domains:
          type: array
          items:
            type: string
          description: The domain name(s) associated with the app
        name:
          type: string
          description: The name of the app
        is_approved:
          type: boolean
          description: Boolean to indicate if the app has been approved
        oauth:
          $ref: '#/components/schemas/ApiAppResponseOAuth'
        options:
          $ref: '#/components/schemas/ApiAppResponseOptions'
        owner_account:
          $ref: '#/components/schemas/ApiAppResponseOwnerAccount'
        white_labeling_options:
          $ref: '#/components/schemas/ApiAppResponseWhiteLabelingOptions'
      description: Contains information about an API App.
      title: ApiAppResponse
    WarningResponse:
      type: object
      properties:
        warning_msg:
          type: string
          description: Warning message
        warning_name:
          type: string
          description: Warning name
      required:
        - warning_msg
        - warning_name
      description: A list of warnings.
      title: WarningResponse
    ApiAppGetResponse:
      type: object
      properties:
        api_app:
          $ref: '#/components/schemas/ApiAppResponse'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/WarningResponse'
          description: A list of warnings.
      required:
        - api_app
      title: ApiAppGetResponse
    ErrorResponseError:
      type: object
      properties:
        error_msg:
          type: string
          description: Message describing an error.
        error_path:
          type: string
          description: Path at which an error occurred.
        error_name:
          type: string
          description: Name of the error.
      required:
        - error_msg
        - error_name
      description: Contains information about an error that occurred.
      title: ErrorResponseError
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorResponseError'
      required:
        - error
      title: ErrorResponse
  securitySchemes:
    Basic:
      type: http
      scheme: basic
    Bearer:
      type: http
      scheme: bearer

```

## SDK Code Examples

```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>", "")
	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 API App Update
import Foundation

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

let headers = [
  "Authorization": "Basic \(credentials)",
  "Content-Type": "application/json"
]

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()
```

```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()
```