Difference between revisions of "EfficientMetering/APIProposalv1"
(add "origin" column) |
|||
Line 10: | Line 10: | ||
| '''URL''' | | '''URL''' | ||
| '''Parameters''' | | '''Parameters''' | ||
+ | | '''Expected result''' | ||
|- | |- | ||
| GET | | GET | ||
| v1 | | v1 | ||
| - | | - | ||
+ | | Returns detailed information about this specific version of the API. | ||
|- | |- | ||
| GET | | GET | ||
| v1/EXTENSIONS | | v1/EXTENSIONS | ||
| - | | - | ||
+ | | Returns list of all available extensions | ||
|- | |- | ||
| GET | | GET | ||
| v1/EXTENSIONS/<ALIAS> | | v1/EXTENSIONS/<ALIAS> | ||
| - | | - | ||
+ | | Gets details about a specific extension. Extensions enable the introduction of new features in the API without requiring a version change and they allow the introduction of vendor-specific functionality | ||
|- | |- | ||
| GET | | GET | ||
| v1/SOURCES | | v1/SOURCES | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of sources which are known | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]LIST | | v1/[SOURCES/<SOURCE>/]LIST | ||
| - | | - | ||
+ | | Returns list of information topic the server can provide | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]LIST/COMPONENTS | | v1/[SOURCES/<SOURCE>/]LIST/COMPONENTS | ||
| - | | - | ||
+ | | Returns list of components which provide metering data | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]LIST/<COMPONENT>/METERS | | v1/[SOURCES/<SOURCE>/]LIST/<COMPONENT>/METERS | ||
| - | | - | ||
+ | | Returns list of meters which are provided for a given component | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]LIST/METERS | | v1/[SOURCES/<SOURCE>/]LIST/METERS | ||
| - | | - | ||
+ | | Returns list of meters type which are known | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]LIST/RESOURCES | | v1/[SOURCES/<SOURCE>/]LIST/RESOURCES | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of resource_ID type which are known along with meta data info for the last occurrence of this ressource | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS | | v1/[SOURCES/<SOURCE>/]USERS | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of USERS_ID which are known | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID> | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID> | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of raw events for given user | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER> | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER> | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of raw events for given user and a given meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER>/VOLUME | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER>/VOLUME | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_volume for the given user and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER>/DURATION | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER>/DURATION | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_duration for the given use and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of resources for a given user along with meta data info for the last occurrence of this ressource | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/ | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/ | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of events for given user and a given resource | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER> | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER> | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of events for given user, resource and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER>/VOLUME | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER>/VOLUME | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_volume for the given user, resource and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER>/DURATION | | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER>/DURATION | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_duration for the given user, resource and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS | | v1/[SOURCES/<SOURCE>/]PROJECTS | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of PROJECT_ID which are known | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID> | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID> | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of raw events for given project | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER> | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER> | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of raw events for given project and a given meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER>/VOLUME | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER>/VOLUME | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_volume for the given project and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER>/DURATION | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER>/DURATION | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_duration for the given project and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of resources for a given project along with meta data info for the last occurrence of this ressource | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/ | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/ | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of events for given project and a given resource | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER> | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER> | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Returns list of events for given project, resource and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER>/VOLUME | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER>/VOLUME | ||
| [start_time and end_time] | | [start_time and end_time] | ||
+ | | Return sum of meter_volume for the project, resource and meter | ||
|- | |- | ||
| GET | | GET | ||
| v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER>/DURATION | | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER>/DURATION | ||
− | | [start_time and end_time] | + | | [start_time and end_time] |
+ | | Return sum of meter_duration for the project, resource and meter |
Revision as of 22:28, 18 June 2012
Notes:
- All results are provided JSON or XML format.
- [] denotes optional information
- date_time is assumed to use ISO format and to use UTC
- [start_time and end_time] are optional date_times for most of the request. It has previously been agreed that the range is exclusive for start and inclusive for end.
Verb | URL | Parameters | Expected result |
GET | v1 | - | Returns detailed information about this specific version of the API. |
GET | v1/EXTENSIONS | - | Returns list of all available extensions |
GET | v1/EXTENSIONS/<ALIAS> | - | Gets details about a specific extension. Extensions enable the introduction of new features in the API without requiring a version change and they allow the introduction of vendor-specific functionality |
GET | v1/SOURCES | [start_time and end_time] | Returns list of sources which are known |
GET | v1/[SOURCES/<SOURCE>/]LIST | - | Returns list of information topic the server can provide |
GET | v1/[SOURCES/<SOURCE>/]LIST/COMPONENTS | - | Returns list of components which provide metering data |
GET | v1/[SOURCES/<SOURCE>/]LIST/<COMPONENT>/METERS | - | Returns list of meters which are provided for a given component |
GET | v1/[SOURCES/<SOURCE>/]LIST/METERS | - | Returns list of meters type which are known |
GET | v1/[SOURCES/<SOURCE>/]LIST/RESOURCES | [start_time and end_time] | Returns list of resource_ID type which are known along with meta data info for the last occurrence of this ressource |
GET | v1/[SOURCES/<SOURCE>/]USERS | [start_time and end_time] | Returns list of USERS_ID which are known |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID> | [start_time and end_time] | Returns list of raw events for given user |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER> | [start_time and end_time] | Returns list of raw events for given user and a given meter |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER>/VOLUME | [start_time and end_time] | Return sum of meter_volume for the given user and meter |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/<METER>/DURATION | [start_time and end_time] | Return sum of meter_duration for the given use and meter |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES | [start_time and end_time] | Returns list of resources for a given user along with meta data info for the last occurrence of this ressource |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/ | [start_time and end_time] | Returns list of events for given user and a given resource |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER> | [start_time and end_time] | Returns list of events for given user, resource and meter |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER>/VOLUME | [start_time and end_time] | Return sum of meter_volume for the given user, resource and meter |
GET | v1/[SOURCES/<SOURCE>/]USERS/<USER_ID>/RESOURCES/<RESOURCE_ID>/<METER>/DURATION | [start_time and end_time] | Return sum of meter_duration for the given user, resource and meter |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS | [start_time and end_time] | Returns list of PROJECT_ID which are known |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID> | [start_time and end_time] | Returns list of raw events for given project |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER> | [start_time and end_time] | Returns list of raw events for given project and a given meter |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER>/VOLUME | [start_time and end_time] | Return sum of meter_volume for the given project and meter |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/<METER>/DURATION | [start_time and end_time] | Return sum of meter_duration for the given project and meter |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES | [start_time and end_time] | Returns list of resources for a given project along with meta data info for the last occurrence of this ressource |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/ | [start_time and end_time] | Returns list of events for given project and a given resource |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER> | [start_time and end_time] | Returns list of events for given project, resource and meter |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER>/VOLUME | [start_time and end_time] | Return sum of meter_volume for the project, resource and meter |
GET | v1/[SOURCES/<SOURCE>/]PROJECTS/<PROJECT_ID>/RESOURCES/<RESOURCE_ID>/<METER>/DURATION | [start_time and end_time] | Return sum of meter_duration for the project, resource and meter |