Every API here is available over the APIs.io API and to AI agents over MCP.
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "DCX GBC API V2",
"description": "The Green Button Connect API provides an access to RESTful services provided by ConEdison and Third Party Applications. These APIs allow application developers full access, in Green Button Format, to Energy Usage Information for the purpose of developing new Green Button Applications.Access to Green Button APIs requires an OAuth2 Access Token. Insert Access Tokens in the field labelled 'Access Token: ' at the top of the page prior to selecting the 'Try It Out!' button:"
},
"host": "provided-by-coned",
"basePath": "/gbc/espi/1_1",
"schemes": [
"https"
],
"paths": {
"/resource/ApplicationInformation/{applicationInformationId}": {
"get": {
"tags": [
"ApplicationInformation"
],
"operationId": "getThirdPartyApplicationById",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "applicationInformationId",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Authorization": {
"get": {
"tags": [
"Authorization"
],
"operationId": "Get all Third Party Authorizations",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "publishedMax",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "publishedMin",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "updatedMax",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "updatedMin",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Authorization/{authorizationId}": {
"get": {
"tags": [
"Authorization"
],
"operationId": "Get Third Party Authorization by ID",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "authorizationId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "publishedMax",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "publishedMin",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "updatedMax",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "updatedMin",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/ReadServiceStatus": {
"get": {
"tags": [
"ServiceStatus"
],
"operationId": "readServiceStatus",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/oauth/Token": {
"post": {
"tags": [
"Authorization"
],
"operationId": "Token",
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded",
"application/atom+xml"
],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "tokenRequest",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/TokenRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
}
},
"schemes": [
"https"
]
}
},
"/resource/Batch/Bulk/{bulkId}": {
"get": {
"tags": [
"Batch"
],
"operationId": "getAllUsageDataInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "bulkId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Batch/Subscription/{subscriptionId}": {
"get": {
"tags": [
"Batch"
],
"operationId": "getAllUsageDataForSubscriptionInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Batch/Subscription/{subscriptionId}/UsagePoint/{usagePointId}": {
"get": {
"tags": [
"Batch"
],
"operationId": "getUsagePointBySubscriptionInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Batch/RetailCustomer/{subscriptionId}": {
"get": {
"tags": [
"Batch"
],
"operationId": "getCustomerInformationInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock": {
"get": {
"tags": [
"IntervalBlock"
],
"operationId": "getAllIntervalBlocksForUsagePointMeterReadingInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "meterReadingId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock/{intervalBlockId}": {
"get": {
"tags": [
"IntervalBlock"
],
"operationId": "getIntervalBlocksForUsagePointMeterReadingInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "meterReadingId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "intervalBlockId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/LocalTimeParameters": {
"get": {
"tags": [
"LocalTimeParameters"
],
"operationId": "getLocalTimeParameters",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/LocalTimeParameters/{localTimeParameterId}": {
"get": {
"tags": [
"LocalTimeParameters"
],
"operationId": "getLocalTimeParametersById",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "localTimeParameterId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading": {
"get": {
"tags": [
"MeterReading"
],
"operationId": "getAllMeterReadingsForUsagePointInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}": {
"get": {
"tags": [
"MeterReading"
],
"operationId": "getMeterReadingForUsagePointInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "meterReadingId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/ReadingType": {
"get": {
"tags": [
"ReadingType"
],
"operationId": "getAllReadingTypes",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/ReadingType/{readingTypeId}": {
"get": {
"tags": [
"ReadingType"
],
"operationId": "getReadingTypesById",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "readingTypeId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/Batch/Bulk/{bulkId}": {
"get": {
"tags": [
"RealTimeBatch"
],
"operationId": "getAllRealTimeUsageDataInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "bulkId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/Batch/Subscription/{subscriptionId}": {
"get": {
"tags": [
"RealTimeBatch"
],
"operationId": "getAllRealTimeUsageDataForSubscriptionInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/Batch/Subscription/{subscriptionId}/UsagePoint/{usagePointId}": {
"get": {
"tags": [
"RealTimeBatch"
],
"operationId": "getRealTimeUsagePointBySubscriptionInBatch",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "published-min",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "published-max",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock": {
"get": {
"tags": [
"RealTimeIntervalBlock"
],
"operationId": "getAllRealTimeIntervalBlocksForUsagePointMeterReadingInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "meterReadingId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/Subscription/{subscriptionId}/UsagePoint/{usagePointId}/MeterReading/{meterReadingId}/IntervalBlock/{intervalBlockId}": {
"get": {
"tags": [
"RealTimeIntervalBlock"
],
"operationId": "getRealTimeIntervalBlockForUsagePointMeterReadingInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "usagePointId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "meterReadingId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "intervalBlockId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/ReadingType": {
"get": {
"tags": [
"RealTimeReadingType"
],
"operationId": "getAllRealTimeReadingTypes",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/RealTime/ReadingType/{readingTypeId}": {
"get": {
"tags": [
"RealTimeReadingType"
],
"operationId": "getRealTimeReadingTypeById",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "readingTypeId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "startIndex",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Customer/{subscriptionId}": {
"get": {
"tags": [
"RetailCustomer"
],
"operationId": "getCustomerInformationBySubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Customer/{subscriptionId}/CustomerAccount": {
"get": {
"tags": [
"RetailCustomer"
],
"operationId": "getCustomerAccountInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"schemes": [
"https"
]
}
},
"/resource/Customer/{subscriptionId}/CustomerAccount/{accountId}": {
"get": {
"tags": [
"RetailCustomer"
],
"operationId": "getCustomerAccountByAccountIdInSubscription",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/atom+xml"
],
"parameters": [
{
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "accountId",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest"
},
"401": {
"description": "Unauthorized"
}
},
"scheme
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/con-edison/refs/heads/main/openapi/con-edison-green-button-connect-my-data-swagger.json