Skip to content
This repository was archived by the owner on Jul 22, 2026. It is now read-only.

Latest commit

 

History

History
300 lines (209 loc) · 10.6 KB

File metadata and controls

300 lines (209 loc) · 10.6 KB

Meters

Overview

Available Operations

list

List meters.

Scopes: meters:read meters:write

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Polar;
use Polar\Models\Operations;

$sdk = Polar\Polar::builder()
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();

$request = new Operations\MetersListRequest(
    organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737',
);

$responses = $sdk->meters->list(
    request: $request
);


foreach ($responses as $response) {
    if ($response->statusCode === 200) {
        // handle response
    }
}

Parameters

Parameter Type Required Description
$request Operations\MetersListRequest ✔️ The request object to use for the request.

Response

?Operations\MetersListResponse

Errors

Error Type Status Code Content Type
Errors\HTTPValidationError 422 application/json
Errors\APIException 4XX, 5XX */*

create

Create a meter.

Scopes: meters:write

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Polar;
use Polar\Models\Components;

$sdk = Polar\Polar::builder()
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();

$request = new Components\MeterCreate(
    name: '<value>',
    filter: new Components\Filter(
        conjunction: Components\FilterConjunction::Or,
        clauses: [
            new Components\FilterClause(
                property: '<value>',
                operator: Components\FilterOperator::Ne,
                value: '<value>',
            ),
        ],
    ),
    aggregation: new Components\PropertyAggregation(
        func: Components\Func::Max,
        property: '<value>',
    ),
    organizationId: '1dbfc517-0bbf-4301-9ba8-555ca42b9737',
);

$response = $sdk->meters->create(
    request: $request
);

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

Parameters

Parameter Type Required Description
$request Components\MeterCreate ✔️ The request object to use for the request.

Response

?Operations\MetersCreateResponse

Errors

Error Type Status Code Content Type
Errors\HTTPValidationError 422 application/json
Errors\APIException 4XX, 5XX */*

get

Get a meter by ID.

Scopes: meters:read meters:write

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Polar;

$sdk = Polar\Polar::builder()
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();



$response = $sdk->meters->get(
    id: '<value>'
);

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

Parameters

Parameter Type Required Description
id string ✔️ The meter ID.

Response

?Operations\MetersGetResponse

Errors

Error Type Status Code Content Type
Errors\ResourceNotFound 404 application/json
Errors\HTTPValidationError 422 application/json
Errors\APIException 4XX, 5XX */*

update

Update a meter.

Scopes: meters:write

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Polar;
use Polar\Models\Components;

$sdk = Polar\Polar::builder()
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();

$meterUpdate = new Components\MeterUpdate();

$response = $sdk->meters->update(
    id: '<value>',
    meterUpdate: $meterUpdate

);

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

Parameters

Parameter Type Required Description
id string ✔️ The meter ID.
meterUpdate Components\MeterUpdate ✔️ N/A

Response

?Operations\MetersUpdateResponse

Errors

Error Type Status Code Content Type
Errors\ResourceNotFound 404 application/json
Errors\HTTPValidationError 422 application/json
Errors\APIException 4XX, 5XX */*

quantities

Get quantities of a meter over a time period.

Scopes: meters:read meters:write

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Polar;
use Polar\Models\Components;
use Polar\Models\Operations;
use Polar\Utils;

$sdk = Polar\Polar::builder()
    ->setSecurity(
        '<YOUR_BEARER_TOKEN_HERE>'
    )
    ->build();

$request = new Operations\MetersQuantitiesRequest(
    id: '<value>',
    startTimestamp: Utils\Utils::parseDateTime('2025-11-25T04:37:16.823Z'),
    endTimestamp: Utils\Utils::parseDateTime('2025-11-26T17:06:00.727Z'),
    interval: Components\TimeInterval::Day,
);

$response = $sdk->meters->quantities(
    request: $request
);

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

Parameters

Parameter Type Required Description
$request Operations\MetersQuantitiesRequest ✔️ The request object to use for the request.

Response

?Operations\MetersQuantitiesResponse

Errors

Error Type Status Code Content Type
Errors\ResourceNotFound 404 application/json
Errors\HTTPValidationError 422 application/json
Errors\APIException 4XX, 5XX */*