Retrieve Bill Statement in CSV Format - m3ter Documentation

Retrieve Bill Statement in CSV Format

cURL

curl --request GET \
  --url https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv \
  --header 'Authorization: Bearer <token>'

Python

import requests

url = "https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)

JavaScript (Fetch)

const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));

PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>

Go

package main

import (
    "fmt"
    "net/http"
    "io"
)

func main() {

url := "https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))
}

Java (Unirest)

HttpResponse<String> response = Unirest.get("https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv")
  .header("Authorization", "Bearer <token>")
  .asString();

Ruby

require 'uri'
require 'net/http'

url = URI("https://api.m3ter.com/organizations/{orgId}/bills/{id}/statement/csv")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body

Response Codes

200

{
  "downloadUrl": "<string>"
}

4XX

{
  "message": "<string>"
}

5XX

{
  "message": "<string>"
}

Authorizations

Authorization

m3ter supports machine to machine authentication using the clientCredentials OAuth2 flow. The authorizationCode flow controls access for human users via the m3ter Console application.

Path Parameters

orgId

id

Response

200

downloadUrl