> 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.

# List API Apps

GET https://api.hellosign.com/v3/api_app/list

Returns a list of API Apps that are accessible by you. If you are on a team with an Admin or Developer role, this list will include apps owned by teammates.

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

## 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

### Query parameters

- `page` (integer, optional, default: 1) — Which page number of the API App List to return. Defaults to `1`.
- `page_size` (integer, optional, default: 20) — Number of objects to be returned per page. Must be between `1` and `100`. Default is `20`.

## Response

### 200

successful operation

- `api_apps` (list of object, required) — Contains information about API Apps.
  - `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)
- `list_info` (object, required) — Contains pagination information about the data returned.
  - `num_pages` (integer, optional) — Total number of pages available.
  - `num_results` (integer, optional, nullable) — Total number of objects available.
  - `page` (integer, optional) — Number of the page being returned.
  - `page_size` (integer, optional) — Objects returned per page.
- `warnings` (list of object, optional) — A list of warnings.
  - `warning_msg` (string, required) — Warning message
  - `warning_name` (string, required) — Warning name

## Examples

**Response**

```json
{
  "api_apps": [
    {
      "callback_url": null,
      "client_id": "0dd3b823a682527788c4e40cb7b6f7e9",
      "created_at": 1436232339,
      "domains": [
        "example.com"
      ],
      "name": "My Production App",
      "is_approved": true,
      "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"
      }
    },
    {
      "callback_url": null,
      "client_id": "bff6d867fafcca27554cf89b1ca98793",
      "created_at": 1433458421,
      "domains": [
        "example.com"
      ],
      "name": "My Other App",
      "is_approved": false,
      "owner_account": {
        "account_id": "dc5deeb9e10b044c591ef2475aafad1d1d3bd888",
        "email_address": "john@example.com"
      }
    }
  ],
  "list_info": {
    "num_pages": 1,
    "num_results": 2,
    "page": 1,
    "page_size": 20
  }
}
```

**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");

try {
    $response = (new Dropbox\Sign\Api\ApiAppApi(config: $config))->apiAppList(
        page: 1,
        page_size: 20,
    );

    print_r($response);
} catch (Dropbox\Sign\ApiException $e) {
    echo "Exception when calling ApiAppApi#apiAppList: {$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 ApiAppListExample
{
    public static void Run()
    {
        var config = new Configuration();
        config.Username = "YOUR_API_KEY";
        // config.AccessToken = "YOUR_ACCESS_TOKEN";

        try
        {
            var response = new ApiAppApi(config).ApiAppList(
                page: 1,
                pageSize: 20
            );

            Console.WriteLine(response);
        }
        catch (ApiException e)
        {
            Console.WriteLine("Exception when calling ApiAppApi#ApiAppList: " + 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";

apiCaller.apiAppList(
  1, // page
  20, // pageSize
).then(response => {
  console.log(response.body);
}).catch(error => {
  console.log("Exception when calling ApiAppApi#apiAppList:");
  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 ApiAppListExample
{
    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");

        try
        {
            var response = new ApiAppApi(config).apiAppList(
                1, // page
                20 // pageSize
            );

            System.out.println(response);
        } catch (ApiException e) {
            System.err.println("Exception when calling ApiAppApi#apiAppList");
            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

begin
    response = Dropbox::Sign::ApiAppApi.new.api_app_list(
        {
            page: 1,
            page_size: 20,
        },
    )

    p response
rescue Dropbox::Sign::ApiError => e
    puts "Exception when calling ApiAppApi#api_app_list: #{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:
    try:
        response = api.ApiAppApi(api_client).api_app_list(
            page=1,
            page_size=20,
        )

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

```

```go API App List
package main

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

func main() {

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

	req, _ := http.NewRequest("GET", 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 List
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/list")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
```