Skip to main content
GET
/
beneficial-owners
cURL
curl --request GET \
  --url https://api.lightspark.com/grid/2025-10-13/beneficial-owners \
  --header 'Authorization: Basic <encoded-value>'
import LightsparkGrid from '@lightsparkdev/grid';

const client = new LightsparkGrid({
username: process.env['GRID_CLIENT_ID'], // This is the default and can be omitted
password: process.env['GRID_CLIENT_SECRET'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const beneficialOwner of client.beneficialOwners.list({ customerId: 'customerId' })) {
console.log(beneficialOwner.id);
}
package com.lightspark.grid.example

import com.lightspark.grid.client.LightsparkGridClient
import com.lightspark.grid.client.okhttp.LightsparkGridOkHttpClient
import com.lightspark.grid.models.beneficialowners.BeneficialOwnerListPage
import com.lightspark.grid.models.beneficialowners.BeneficialOwnerListParams

fun main() {
val client: LightsparkGridClient = LightsparkGridOkHttpClient.fromEnv()

val params: BeneficialOwnerListParams = BeneficialOwnerListParams.builder()
.customerId("customerId")
.build()
val page: BeneficialOwnerListPage = client.beneficialOwners().list(params)
}
{
  "data": [
    {
      "id": "BeneficialOwner:019542f5-b3e7-1d02-0000-000000000001",
      "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
      "roles": [
        "UBO",
        "DIRECTOR"
      ],
      "ownershipPercentage": 51,
      "personalInfo": {
        "firstName": "Jane",
        "lastName": "Smith",
        "birthDate": "1978-06-15",
        "nationality": "US",
        "address": {
          "line1": "123 Main Street",
          "postalCode": "94105",
          "country": "US",
          "line2": "Apt 4B",
          "city": "San Francisco",
          "state": "CA"
        },
        "idType": "SSN",
        "identifier": "123-45-6789",
        "middleName": "Marie",
        "email": "jane.smith@acmecorp.com",
        "phoneNumber": "+14155550192",
        "countryOfIssuance": "US"
      },
      "kycStatus": "APPROVED",
      "createdAt": "2025-10-03T12:00:00Z",
      "updatedAt": "2025-10-03T12:00:00Z"
    }
  ],
  "hasMore": true,
  "nextCursor": "<string>",
  "totalCount": 123
}
{
"status": 400,
"message": "<string>",
"details": {}
}
{
"status": 401,
"message": "<string>",
"details": {}
}
{
"status": 500,
"message": "<string>",
"details": {}
}

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Query Parameters

customerId
string
required

The business customer ID

limit
integer
default:20

Maximum number of results to return (default 20, max 100)

Required range: 1 <= x <= 100
cursor
string

Cursor for pagination (returned from previous request)

Response

Successful operation

data
object[]
required

List of beneficial owners matching the filter criteria

hasMore
boolean
required

Indicates if more results are available beyond this page

nextCursor
string

Cursor to retrieve the next page of results (only present if hasMore is true)

totalCount
integer

Total number of results matching the criteria