| GET | /api/v5/meteringpoints/ | Show list of all metering points linked to the provided ApiKey | |
|---|---|---|---|
| GET | /api/v5/meteringpoints/{Ean} | Get detailed information about the requested metering point |
import Foundation
import ServiceStack
/**
* Get list of metering points
*/
// @Api(Description="Get list of metering points")
public class Meteringpoints : Generic
{
/**
* Skip the first ... metering points
*/
// @ApiMember(DataType="Integer", Description="Skip the first ... metering points", Name="Offset")
public var offset:Int
/**
* Limit response to ... metering points
*/
// @ApiMember(DataType="Integer", Description="Limit response to ... metering points", Name="Limit")
public var limit:Int
/**
* Request of details of specific metering point with Ean
*/
// @ApiMember(DataType="EAN (18 numbers)", Description="Request of details of specific metering point with Ean", Name="Ean")
public var ean:String
/**
* Include metering points with ended contracts (Default: false)
*/
// @ApiMember(DataType="Boolean", Description="Include metering points with ended contracts (Default: false)", Name="ShowEnded")
public var showEnded:Bool
/**
* Include additional info about the metering point (Default: false)
*/
// @ApiMember(DataType="Boolean", Description="Include additional info about the metering point (Default: false)", Name="AddExtraInfo")
public var addExtraInfo:Bool
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case offset
case limit
case ean
case showEnded
case addExtraInfo
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
offset = try container.decodeIfPresent(Int.self, forKey: .offset)
limit = try container.decodeIfPresent(Int.self, forKey: .limit)
ean = try container.decodeIfPresent(String.self, forKey: .ean)
showEnded = try container.decodeIfPresent(Bool.self, forKey: .showEnded)
addExtraInfo = try container.decodeIfPresent(Bool.self, forKey: .addExtraInfo)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if offset != nil { try container.encode(offset, forKey: .offset) }
if limit != nil { try container.encode(limit, forKey: .limit) }
if ean != nil { try container.encode(ean, forKey: .ean) }
if showEnded != nil { try container.encode(showEnded, forKey: .showEnded) }
if addExtraInfo != nil { try container.encode(addExtraInfo, forKey: .addExtraInfo) }
}
}
public class Generic : Codable
{
/**
* Api-key. Used to provide credentials to the api. Can also be provided through the request headers with key: X-API-KEY
*/
// @ApiMember(DataType="String", Description="Api-key. Used to provide credentials to the api. Can also be provided through the request headers with key: X-API-KEY", IsRequired=true, Name="ApiKey")
public var apiKey:String
/**
* Normally the result of the request is put inside a resultobject with some status information about the request. If you want the output as csv this outer object can be irritating. Default value: FALSE
*/
// @ApiMember(DataType="Boolean", Description="Normally the result of the request is put inside a resultobject with some status information about the request. If you want the output as csv this outer object can be irritating. Default value: FALSE ", Name="OnlyPayload")
public var onlyPayload:Bool
/**
* Show the request as interpreted by the api. Useful to see how filters / dates are parsed. If no value us provided, the default value is: FALSE
*/
// @ApiMember(DataType="Boolean", Description="Show the request as interpreted by the api. Useful to see how filters / dates are parsed. If no value us provided, the default value is: FALSE ", Name="ShowRequest")
public var showRequest:Bool
/**
* Format all DateTime in the response object. If used in browser, sometimes ISO8601 is not correctly transformed. Enum options: ISO8601 (DEFAULT), UTC, NL, NLOffset, Unix, UnixMillis
*/
// @ApiMember(DataType="Enum", Description="Format all DateTime in the response object. If used in browser, sometimes ISO8601 is not correctly transformed. Enum options: ISO8601 (DEFAULT), UTC, NL, NLOffset, Unix, UnixMillis", Name="DateTimeFormat")
public var dateTimeFormat:DateTimeFormat
required public init(){}
}
public enum DateTimeFormat : String, Codable
{
case ISO8601
case UTC
case NL
case NLOffset
case IN
case INOffset
case Unix
case UnixMillis
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/v5/meteringpoints/ HTTP/1.1 Host: p4v8.smartdatasolutions.nl Accept: text/jsonl