# List accounts

List or search accounts to which the caller is connected.

All supported query parameters are optional. If none are provided the response will include all connected accounts. Pagination is supported via the `skip` and `count` query parameters. Searching by name and email will overlap and return results based on relevance. Accounts with AccountType `guest` will not be included in the response.

To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need to specify the `/accounts.read` scope.

## GET

```shell
curl -X GET "https://api.moov.io/accounts" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
```

## Example Requests

### Go
```go
mc, _ := moov.NewClient()

mc.ListAccounts(ctx)
```

### TypeScript
```typescript
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.accounts.list({
    type: "business",
    skip: 60,
    count: 20,
  });

console.log(result);
}

run();
```

### PHP
```php
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;
use Moov\MoovPhp\Models\Operations;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$request = new Operations\ListAccountsRequest(
    type: Components\CreateAccountType::Business,
    skip: 60,
    count: 20,
);

$response = $sdk->accounts->list(
    request: $request
);

if ($response->accounts !== null) {
    // handle response
}
```

### Java
```java
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.CreateAccountType;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListAccountsRequest;
import io.moov.sdk.models.operations.ListAccountsResponse;
import java.lang.Exception;

public class Application {
    public static void main(String[] args) throws Exception {
        Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

ListAccountsRequest req = ListAccountsRequest.builder()
                .type(CreateAccountType.BUSINESS)
                .skip(60L)
                .count(20L)
                .build();

ListAccountsResponse res = sdk.accounts().list()
                .request(req)
                .call();

if (res.accounts().isPresent()) {
            System.out.println(res.accounts().get());
        }
    }
}
```

### Python
```python
from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:
    res = moov.accounts.list(type_=components.CreateAccountType.BUSINESS, skip=60, count=20)
    # Handle response
    print(res)
```

### Ruby
```ruby
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)

req = Models::Operations::ListAccountsRequest.new(
  type: Models::Components::CreateAccountType::BUSINESS,
  skip: 60,
  count: 20
)
res = s.accounts.list(request: req)

unless res.accounts.nil?
  # handle response
end
```

### C#
```csharp
using Moov.Sdk;
using Moov.Sdk.Models.Components;
using Moov.Sdk.Models.Requests;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

ListAccountsRequest req = new ListAccountsRequest() {
    Skip = 60,
    Count = 20,
};

var res = await sdk.Accounts.ListAsync(req);

// handle response
```

## Example Response

```json
[
  {
    "mode": "sandbox",
    "accountID": "53ca67ea-6fd3-423f-9544-ce2404159d33",
    "accountType": "business",
    "displayName": "Whole Body Fitness LLC",
    "profile": {
      "business": {
        "legalBusinessName": "Whole Body Fitness LLC",
        "ownersProvided": false
      }
    },
    "verification": {
      "verificationStatus": "unverified",
      "status": "unverified"
    },
    "settings": {
      "cardPayment": {
        "statementDescriptor": "Whole Body Fitness LLC"
      },
      "achPayment": {
        "companyName": "Whole Body Fitne"
      }
    },
    "createdOn": "2024-12-16T17:55:20.557151867Z",
    "updatedOn": "2024-12-16T17:55:20.557151867Z"
  }
]
```

## Response Headers

Unique identifier used to trace requests.
