Skip to content
  • Auto
  • Light
  • Dark
Talk to an expert

List Customers

List customers on a plan
client.v1.plans.listCustomers(PlanListCustomersParamsparams, RequestOptionsoptions?): CursorPage<customer_detailsCustomerDetailplan_detailsPlanDetailsPlanListCustomersResponse>
get/v1/planDetails/{plan_id}/customers

Fetches a list of customers on a specific plan (by default, only currently active plans are included)

Parameters
paramsplan_idstringlimitnumbernext_pagestringstatusunionPlanListCustomersParams
Hide ParametersShow Parameters
plan_idstring

Path param:

formatuuid
limitnumber
optional

Query param: Max number of results that should be returned

minimum1
maximum100
next_pagestring
optional

Query param: Cursor that indicates where the next page of results should start.

statusunion
optional
"all" | "active" | "ended" | "upcoming"

Query param: Status of customers on a given plan. Defaults to active.

  • all - Return current, past, and upcoming customers of the plan.
  • active - Return current customers of the plan.
  • ended - Return past customers of the plan.
  • upcoming - Return upcoming customers of the plan.

Multiple statuses can be OR'd together using commas, e.g. active,ended. Note: ended,upcoming combination is not yet supported.

Hide ParametersShow Parameters
"all"
"active"
"ended"
"upcoming"
Returns
PlanListCustomersResponse
Hide ParametersShow Parameters
customer_detailsidstringcreated_atstringcustom_fieldsRecord<string, string>customer_configCustomerConfigexternal_idstringingest_aliasesarraynamestringarchived_atunioncurrent_billable_statusCurrentBillableStatusCustomerDetail
plan_detailsidstringcustom_fieldsRecord<string, string>customer_plan_idstringnamestringstarting_onstringending_beforeunionPlanDetails
Hide ParametersShow Parameters
idstring
formatuuid
custom_fieldsRecord<string, string>
customer_plan_idstring
formatuuid
namestring
starting_onstring

The start date of the plan

formatdate-time
ending_beforeunion
optional
string | null

The end date of the plan

formatdate-time
import Metronome from '@metronome/sdk';

const client = new Metronome({
  bearerToken: 'My Bearer Token',
});

// Automatically fetches more pages as needed.
for await (const planListCustomersResponse of client.v1.plans.listCustomers({
  plan_id: 'd7abd0cd-4ae9-4db7-8676-e986a4ebd8dc',
})) {
  console.log(planListCustomersResponse.customer_details);
}
200 Example
{
  "data": [
    {
      "customer_details": {
        "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "created_at": "2019-12-27T18:11:19.117Z",
        "custom_fields": {
          "foo": "string"
        },
        "customer_config": {
          "salesforce_account_id": "salesforce_account_id"
        },
        "external_id": "external_id",
        "ingest_aliases": [
          "string"
        ],
        "name": "name",
        "archived_at": "2019-12-27T18:11:19.117Z",
        "current_billable_status": {
          "value": "billable",
          "effective_at": "2019-12-27T18:11:19.117Z"
        }
      },
      "plan_details": {
        "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "custom_fields": {
          "foo": "string"
        },
        "customer_plan_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
        "name": "name",
        "starting_on": "2019-12-27T18:11:19.117Z",
        "ending_before": "2019-12-27T18:11:19.117Z"
      }
    }
  ],
  "next_page": "next_page"
}