GET
/
v1
/
customer-meters
package main

import(
	"context"
	"os"
	polargo "github.com/polarsource/polar-go"
	"github.com/polarsource/polar-go/models/operations"
	"log"
)

func main() {
    ctx := context.Background()

    s := polargo.New(
        polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
    )

    res, err := s.CustomerMeters.List(ctx, operations.CustomerMetersListRequest{
        OrganizationID: polargo.Pointer(operations.CreateCustomerMetersListQueryParamOrganizationIDFilterArrayOfStr(
            []string{
                "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
            },
        )),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.ListResourceCustomerMeter != nil {
        for {
            // handle items

            res, err = res.Next()

            if err != nil {
                // handle error
            }

            if res == nil {
                break
            }
        }
    }
}
{
  "items": [
    {
      "id": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "modified_at": "2023-11-07T05:31:56Z",
      "customer_id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
      "meter_id": "d498a884-e2cd-4d3e-8002-f536468a8b22",
      "consumed_units": 25,
      "credited_units": 100,
      "balance": 75,
      "customer": {
        "id": "992fae2a-2a17-4b7a-8d9e-e287cf90131b",
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "metadata": {},
        "external_id": "usr_1337",
        "email": "customer@example.com",
        "email_verified": true,
        "name": "John Doe",
        "billing_address": {
          "line1": "<string>",
          "line2": "<string>",
          "postal_code": "<string>",
          "city": "<string>",
          "state": "<string>",
          "country": "US"
        },
        "tax_id": [
          "911144442",
          "us_ein"
        ],
        "organization_id": "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
        "deleted_at": "2023-11-07T05:31:56Z",
        "avatar_url": "https://www.gravatar.com/avatar/xxx?d=blank"
      },
      "meter": {
        "metadata": {},
        "created_at": "2023-11-07T05:31:56Z",
        "modified_at": "2023-11-07T05:31:56Z",
        "id": "<string>",
        "name": "<string>",
        "filter": {
          "conjunction": "and",
          "clauses": [
            {
              "property": "<string>",
              "operator": "eq",
              "value": "<string>"
            }
          ]
        },
        "aggregation": {
          "func": "count"
        },
        "organization_id": "<string>"
      }
    }
  ],
  "pagination": {
    "total_count": 123,
    "max_page": 123
  }
}

Authorizations

Authorization
string
header
required

You can generate an Organization Access Token from your organization's settings.

Query Parameters

organization_id

Filter by organization ID.

Example:

"1dbfc517-0bbf-4301-9ba8-555ca42b9737"

customer_id

Filter by customer ID.

external_customer_id

Filter by external customer ID.

meter_id

Filter by meter ID.

page
integer
default:1

Page number, defaults to 1.

Required range: x > 0
limit
integer
default:10

Size of a page, defaults to 10. Maximum is 100.

Required range: x > 0
sorting
enum<string>[] | null

Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.

Available options:
created_at,
-created_at,
modified_at,
-modified_at,
customer_id,
-customer_id,
customer_name,
-customer_name,
meter_id,
-meter_id,
meter_name,
-meter_name,
consumed_units,
-consumed_units,
credited_units,
-credited_units,
balance,
-balance

Response

200
application/json
Successful Response
items
object[]
required

An active customer meter, with current consumed and credited units.

pagination
object
required