> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

# List suborganizations by organization

GET https://api-sandbox.payabli.com/api/Query/organizations/{orgId}

Retrieves a list of an organization's suborganizations and their full details such as orgId, users, and settings. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response.

Reference: https://docs.payabli.com/developers/api-reference/organization/get-list-of-organizations-for-entrypoint

## Authentication

- `Authorization` header (bearer token, required)
- `requestToken` header (required) — Long-lived API token sent in the `requestToken` header. See [API token authentication](/developers/api-tokens).

## Servers

- `https://api-sandbox.payabli.com/api` (Sandbox, default)
- `https://api.payabli.com/api` (Production)

## Request

### Path parameters

- `orgId` (integer, required) — The numeric identifier for organization, assigned by Payabli.

### Query parameters

- `exportFormat` (enum, optional) — Export format for file downloads. When specified, returns data as a file instead of JSON.
  - Allowed values: `csv`, `xlsx`
- `fromRecord` (integer, optional, default: 0) — The number of records to skip before starting to collect the result set.
- `limitRecord` (integer, optional, default: 20) — Max number of records to return for the query. Use `0` or negative value to return all records.
- `parameters` (map from string to string, optional) — Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client, for example: \--url [https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000\&limitRecord=20](https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount\(gt\)=1000\&limitRecord=20) should become: \--url [https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000\&limitRecord=20](https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount\(gt\)=1000\&limitRecord=20) **Accepted field names:** * `createdAt` (gt, ge, lt, le, eq, ne) * `startDate` (gt, ge, lt, le, eq, ne) * `dbaname` (ct, nct) * `legalname` (ct, nct) * `ein` (ct, nct) * `address` (ct, nct) * `city` (ct, nct) * `state` (ct, nct) * `phone` (ct, nct) * `mcc` (ct, nct) * `owntype` (ct, nct) * `ownerName` (ct, nct) * `contactName` (ct, nct) * `orgParentname` (ct, nct) * `boardingId` (eq, ne) * `entryName` (ct, nct) **Accepted comparison operators - enclosed between parentheses:** * `eq` or empty => equal * `gt` => greater than * `ge` => greater or equal * `lt` => less than * `le` => less or equal * `ne` => not equal * `ct` => contains * `nct` => not contains * `in` => inside array * `nin` => not inside array **Accepted parameters:** * `limitRecord` : max number of records for query (default="20", "0" or negative value for all) * `fromRecord` : initial record in query Example: `dbaname(ct)=hoa` returns all records with a `dbaname` containing "hoa"
- `sortBy` (string, optional) — The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`.

## Response

### 200

Success

- `Records` (list of object, required)
  - `services` (list of object, optional)
    - `description` (string, optional)
    - `enabled` (boolean, optional)
    - `monthlyCost` (double, optional)
    - `name` (string, optional)
    - `reseller` (boolean, optional)
    - `setupCost` (double, optional)
    - `txCost` (double, optional)
    - `txPercentCost` (double, optional)
  - `billingInfo` (object, optional)
    - `achAccount` (string, required) — Bank account number.
    - `achRouting` (string, required) — ABA/routing number of Bank account.
    - `billingAddress` (string, optional) — Billing address.
    - `billingCity` (string, optional) — Billing city.
    - `billingCountry` (string, optional) — Billing address country.
    - `billingState` (string, optional) — Billing state. Must be a 2-letter state code for addresses in the US.
    - `billingZip` (string, optional) — Billing address ZIP code.
  - `contacts` (list of object, optional) — List of contacts.
    - `contactEmail` (string, optional) — Contact email address.
    - `contactName` (string, optional) — Contact name.
    - `contactPhone` (string, optional) — Contact phone number.
    - `contactTitle` (string, optional) — Contact title.
    - `additionalData` (string, optional) — Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ```
  - `createdAt` (datetime, optional) — Timestamp of when record was created, in UTC.
  - `hasBilling` (boolean, optional)
  - `hasResidual` (boolean, optional)
  - `idOrg` (long, optional) — Organization ID. Unique identifier assigned to an org by Payabli.
  - `isRoot` (boolean, optional) — When `true`, indicates that this is the organization's root template.
  - `orgAddress` (string, optional) — The organization's address.
  - `orgCity` (string, optional) — The organization's city.
  - `orgCountry` (string, optional) — The organization's country.
  - `orgEntryName` (string, optional) — The entryname for the org, in string format. If you leave this blank, Payabli uses the DBA name.
  - `orgId` (string, optional) — An alternate ID for the organization, in string format. This can be your internal identifier for an org, and is typically a name, like "My Suborganization".
  - `orgLogo` (object, optional) — Contains details about a file. Max upload size is 30 MB.
    - `fContent` (string, optional) — Content of file, Base64-encoded. Ignored if `furl` is specified. Max upload size is 30 MB.
    - `filename` (string, optional) — The name of the attached file.
    - `ftype` (enum, optional) — The MIME type of the file (if content is provided).
      - Allowed values: `pdf`, `doc`, `docx`, `jpg`, `jpeg`, `png`, `gif`, `txt`
    - `furl` (string, optional) — Optional URL provided to show or download the file remotely.
  - `orgName` (string, optional) — The name of the organization.
  - `orgParentId` (long, optional) — The ID of the org's parent organization.
  - `orgParentName` (string, optional) — The name of the parent organization.
  - `orgState` (string, optional) — The organization's state.
  - `orgTimezone` (integer, optional) — The org's timezone, in UTC offset. For example, -5 is Eastern time.
  - `orgType` (integer, optional) — The organization type. Currently, this must be `0`.
  - `orgWebsite` (string, optional) — The organization's website.
  - `orgZip` (string, optional) — The organization's ZIP code.
  - `recipientEmailNotification` (boolean, optional) — When `true`, Payabli will send the applicant a boarding link. Set this value to `false` if you are sending pre-filled applications via the API and don't want Payabli to send the applicant an email to complete the boarding application.
  - `replyToEmail` (string, optional) — Email address for organization-level communications, such as messages about why an application was declined. This is required by commerce laws in the US.
  - `resumable` (boolean, optional) — When `true`, the applicant can save an incomplete application and resume it later. When `false`, the applicant won't have an option to save their progress, and must complete the application in one session.
  - `summary` (object, optional)
    - `amountSubs` (double, optional)
    - `amountTx` (double, optional)
    - `childOrgs` (integer, optional)
    - `childPaypoints` (integer, optional)
    - `countSubs` (integer, optional)
    - `countTx` (integer, optional)
  - `users` (list of object, optional)
    - `Access` (list of object, optional)
      - `roleLabel` (string, optional)
      - `roleValue` (boolean, optional)
    - `AdditionalData` (string, optional) — Custom dictionary of key:value pairs. You can use this field to store any data related to the object or for your system. Example usage: ```json { "additionalData": { "key1": "value1", "key2": "value2", "key3": "value3" } } ```
    - `createdAt` (datetime, optional) — The timestamp for the user's creation, in UTC.
    - `Email` (string, optional) — The user's email address.
    - `language` (string, optional) — The language code.
    - `lastAccess` (datetime, optional) — The timestamp for the user's last activity, in UTC.
    - `Name` (string, optional)
    - `Phone` (string, optional) — The user's phone number.
    - `Scope` (list of object, optional)
      - `orgEntry` (string, optional) — The entryname for the org, in string format. If you leave this blank, Payabli uses the DBA name.
      - `orgId` (long, optional) — Organization ID. Unique identifier assigned to an org by Payabli.
      - `orgType` (integer, optional) — The organization type. Currently, this must be `0`.
    - `snData` (string, optional) — Additional data provided by the social network related to the customer.
    - `snIdentifier` (string, optional) — Identifier or token for customer in linked social network.
    - `snProvider` (string, optional) — Social network linked to customer. Possible values: facebook, google, twitter, microsoft.
    - `timeZone` (integer, optional) — Timezone, in UTC offset. For example, -5 is Eastern time.
    - `userId` (long, optional) — The user's ID in Payabli.
    - `UsrMFA` (boolean, optional) — When `true`, multi-factor authentication (MFA) is enabled.
    - `UsrMFAMode` (integer, optional)
    - `UsrStatus` (integer, optional) — The user's status: - Inactive: `0` - Active: `1` - Deleted: `-99` - Locked: `85`
- `Summary` (object, required)
  - `pageIdentifier` (string, optional) — Auxiliary validation used internally by payment pages and components.
  - `pageSize` (integer, optional) — Number of records on each response page.
  - `totalAmount` (double, optional) — Total amount for the records.
  - `totalNetAmount` (double, optional) — Total net amount for the records.
  - `totalPages` (integer, optional) — Total number of records in response.
  - `totalRecords` (integer, optional) — Total number of records in response.

## Examples

**Response**

```json
{
  "Records": [
    {
      "services": [
        {}
      ],
      "contacts": [
        {}
      ],
      "createdAt": "2022-07-01T15:00:01Z",
      "hasBilling": true,
      "hasResidual": true,
      "idOrg": 123,
      "isRoot": false,
      "orgAddress": "123 Walnut Street",
      "orgCity": "Johnson City",
      "orgCountry": "US",
      "orgEntryName": "pilgrim-planner",
      "orgId": "123",
      "orgName": "Pilgrim Planner",
      "orgParentId": 236,
      "orgParentName": "PropertyManager Pro",
      "orgState": "TN",
      "orgTimezone": -5,
      "orgType": 0,
      "orgWebsite": "www.pilgrimageplanner.com",
      "orgZip": "orgZip",
      "recipientEmailNotification": true,
      "replyToEmail": "example@email.com",
      "resumable": false,
      "users": [
        {
          "createdAt": "2022-07-01T15:00:01Z",
          "UsrMFAMode": 0
        }
      ]
    }
  ],
  "Summary": {
    "pageIdentifier": "null",
    "pageSize": 20,
    "totalAmount": 77.22,
    "totalNetAmount": 77.22,
    "totalPages": 2,
    "totalRecords": 2
  }
}
```

**SDK Code**

```typescript
import { PayabliClient } from "@payabli/sdk-node";

async function main() {
    const client = new PayabliClient({
        clientId: "YOUR_CLIENT_ID",
        clientSecret: "YOUR_CLIENT_SECRET",
    });
    await client.query.listOrganizations(123, {
        fromRecord: 251,
        limitRecord: 0,
        sortBy: "desc(field_name)",
    });
}
main();

```

```python
from payabli import payabli

client = payabli(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
)

client.query.list_organizations(
    org_id=123,
    from_record=251,
    limit_record=0,
    sort_by="desc(field_name)",
)

```

```java
package com.example.usage;

import io.github.payabli.api.PayabliApiClient;
import io.github.payabli.api.resources.query.requests.ListOrganizationsRequest;

public class Example {
    public static void main(String[] args) {
        PayabliApiClient client = PayabliApiClient.withCredentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
            .build()
        ;

        client.query().listOrganizations(
            123,
            ListOrganizationsRequest
                .builder()
                .fromRecord(251)
                .limitRecord(0)
                .sortBy("desc(field_name)")
                .build()
        );
    }
}
```

```ruby
require "payabli"

client = Payabli::Client.new(api_key: "YOUR_API_KEY_HERE")

client.query.list_organizations(
  org_id: 123,
  from_record: 251,
  limit_record: 0,
  sort_by: "desc(field_name)"
)

```

```csharp
using PayabliApi;
using System.Threading.Tasks;

public partial class Examples
{
    public async Task Example() {
        var client = new PayabliApiClient(
            clientId: "YOUR_CLIENT_ID",
            clientSecret: "YOUR_CLIENT_SECRET"
        );

        await client.Query.ListOrganizationsAsync(
            orgId: 123,
            request: new ListOrganizationsRequest {
                FromRecord = 251,
                LimitRecord = 0,
                SortBy = "desc(field_name)"
            }
        );
    }

}

```

```go
package example

import (
    context "context"

    payabli "github.com/payabli/sdk-go"
    client "github.com/payabli/sdk-go/client"
    option "github.com/payabli/sdk-go/option"
)

func do() {
    client := client.NewClient(
        option.WithClientCredentials(
            "YOUR_CLIENT_ID",
            "YOUR_CLIENT_SECRET",
        ),
    )
    request := &payabli.ListOrganizationsRequest{
        FromRecord: payabli.Int(
            251,
        ),
        LimitRecord: payabli.Int(
            0,
        ),
        SortBy: payabli.String(
            "desc(field_name)",
        ),
    }
    client.Query.ListOrganizations(
        context.TODO(),
        123,
        request,
    )
}

```

```php
<?php

namespace Example;

use Payabli\PayabliClient;
use Payabli\Query\Requests\ListOrganizationsRequest;

$client = new PayabliClient(
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
);
$client->query->listOrganizations(
    123,
    new ListOrganizationsRequest([
        'fromRecord' => 251,
        'limitRecord' => 0,
        'sortBy' => 'desc(field_name)',
    ]),
);

```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/organizations/123?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! 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()
```