From 6bd25449f1a82a308ca8b853ac7992f5aee96333 Mon Sep 17 00:00:00 2001 From: Lance Bailey Date: Wed, 22 Aug 2018 14:52:05 +0200 Subject: [PATCH 1/3] Fix for createProperty in Resource, the previous way was not appending the body data correctly resulting in fatal error Fix for getCommand to include organizationKey, this was resulting in invalid input and tripping up Guzzle before even attempting the http request --- src/Client/KeenIOClient.php | 1 + src/Client/Resources/keen-io-3_0.php | 871 ++++++++++++++------------- 2 files changed, 438 insertions(+), 434 deletions(-) diff --git a/src/Client/KeenIOClient.php b/src/Client/KeenIOClient.php index 70fc81f..c4ce6db 100755 --- a/src/Client/KeenIOClient.php +++ b/src/Client/KeenIOClient.php @@ -106,6 +106,7 @@ public function getCommand($name, array $params = []) $params['writeKey'] = $this->getKeyForWriting(); $params['readKey'] = $this->getKeyForReading(); $params['organizationId'] = $this->getConfig('organizationId'); + $params['organizationKey'] = $this->getConfig('organizationKey'); return parent::getCommand($name, $params); } diff --git a/src/Client/Resources/keen-io-3_0.php b/src/Client/Resources/keen-io-3_0.php index f2741e0..c790d61 100755 --- a/src/Client/Resources/keen-io-3_0.php +++ b/src/Client/Resources/keen-io-3_0.php @@ -1,17 +1,17 @@ 'KeenIO', - 'baseUri' => 'https://api.keen.io/3.0/', - 'apiVersion' => '3.0', - 'operations' => array( - 'getResources' => array( +return array ( + 'name' => 'KeenIO', + 'baseUri' => 'https://api.keen.io/3.0/', + 'apiVersion' => '3.0', + 'operations' => array ( + 'getResources' => array ( 'uri' => '/', 'description' => 'Returns the available child resources. Currently, the only child ' - . 'resource is the Projects Resource.', + . 'resource is the Projects Resource.', 'httpMethod' => 'GET', - 'parameters' => array( - 'masterKey' => array( + 'parameters' => array ( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master Api Key', 'sentAs' => 'Authorization', @@ -22,17 +22,17 @@ ), ), - 'createProject' => array( - 'uri' => 'organizations/{organizationId}/projects', - 'description' => 'Creates a project for the specified organization and returns the ' - . 'project id for later usage.', - 'httpMethod' => 'POST', - 'parameters' => array( - 'organizationId' => array( - 'location' => 'uri', - 'type' => 'string' - ), - 'organizationKey' => array( + 'createProject' => array ( + 'uri' => 'organizations/{organizationId}/projects', + 'description' => 'Creates a project for the specified organization and returns the ' + . 'project id for later usage.', + 'httpMethod' => 'POST', + 'parameters' => array ( + 'organizationId' => array ( + 'location' => 'uri', + 'type' => 'string', + ), + 'organizationKey' => array ( 'location' => 'header', 'description' => 'The Organization Key.', 'sentAs' => 'Authorization', @@ -40,20 +40,19 @@ 'type' => 'string', 'required' => true, ), - 'project_data' => array( - 'location' => 'json', - 'type' => 'array', - ), + ), + 'additionalParameters' => array ( + 'location' => 'json', ), ), - 'getProjects' => array( + 'getProjects' => array ( 'uri' => 'projects', 'description' => 'Returns the projects accessible to the API user, as well as ' - . 'links to project sub-resources for discovery.', + . 'links to project sub-resources for discovery.', 'httpMethod' => 'GET', - 'parameters' => array( - 'masterKey' => array( + 'parameters' => array ( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -64,17 +63,17 @@ ), ), - 'getProject' => array( + 'getProject' => array ( 'uri' => 'projects/{projectId}', 'description' => 'GET returns detailed information about the specific project, ' - . 'as well as links to related resources.', + . 'as well as links to related resources.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -85,16 +84,16 @@ ), ), - 'getSavedQueries' => array( + 'getSavedQueries' => array ( 'uri' => 'projects/{projectId}/queries/saved', 'description' => 'Returns the saved queries accessible to the API user on the specified project.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -105,17 +104,17 @@ ), ), - 'getSavedQuery' => array( + 'getSavedQuery' => array ( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Returns the detailed information about the specified query, as ' - . 'well as links to retrieve results.', + . 'well as links to retrieve results.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -123,7 +122,7 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array( + 'query_name' => array ( 'location' => 'uri', 'description' => 'The saved query.', 'required' => true, @@ -131,16 +130,16 @@ ), ), - 'createSavedQuery' => array( + 'createSavedQuery' => array ( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Creates the described query.', 'httpMethod' => 'PUT', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -148,32 +147,34 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array( + 'query_name' => array ( 'location' => 'uri', 'description' => 'The desired name of the query.', - 'filters' => array([ - "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', - "args" => ["@value"] - ]), + 'filters' => array ( + [ + "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', + "args" => [ "@value" ], + ], + ), 'required' => true, ), - 'query' => array( + 'query' => array ( 'location' => 'json', 'type' => 'array', ), ), ), - 'updateSavedQuery' => array( + 'updateSavedQuery' => array ( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Creates the described query.', 'httpMethod' => 'PUT', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -181,32 +182,34 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array( + 'query_name' => array ( 'location' => 'uri', 'description' => 'The desired name of the query.', - 'filters' => array([ - "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', - "args" => ["@value"] - ]), + 'filters' => array ( + [ + "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', + "args" => [ "@value" ], + ], + ), 'required' => true, ), - 'query' => array( + 'query' => array ( 'location' => 'json', 'type' => 'array', ), ), ), - 'deleteSavedQuery' => array( + 'deleteSavedQuery' => array ( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Deletes the specified query.', 'httpMethod' => 'DELETE', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -214,7 +217,7 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array( + 'query_name' => array ( 'location' => 'uri', 'description' => 'The saved query.', 'required' => true, @@ -222,16 +225,16 @@ ), ), - 'getSavedQueryResults' => array( + 'getSavedQueryResults' => array ( 'uri' => 'projects/{projectId}/queries/saved/{query_name}/result', 'description' => 'Returns the results of executing the specified query.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -239,7 +242,7 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array( + 'query_name' => array ( 'location' => 'uri', 'description' => 'The saved query.', 'required' => true, @@ -247,17 +250,17 @@ ), ), - 'getCollections' => array( + 'getCollections' => array ( 'uri' => 'projects/{projectId}/events', 'description' => 'GET returns schema information for all the event collections in this project, ' - . 'including properties and their type. It also returns links to sub-resources.', + . 'including properties and their type. It also returns links to sub-resources.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -268,21 +271,21 @@ ), ), - 'getEventSchemas' => array( - 'extends' => 'getCollections' + 'getEventSchemas' => array ( + 'extends' => 'getCollections', ), - 'getCollection' => array( + 'getCollection' => array ( 'uri' => 'projects/{projectId}/events/{event_collection}', 'description' => 'GET returns available schema information for this event collection, including ' - . 'properties and their type. It also returns links to sub-resources.', + . 'properties and their type. It also returns links to sub-resources.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -290,7 +293,7 @@ 'type' => 'string', 'required' => true, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, @@ -298,16 +301,16 @@ ), ), - 'getProperty' => array( + 'getProperty' => array ( 'uri' => 'projects/{projectId}/events/{event_collection}/properties/{property_name}', 'description' => 'GET returns the property name, type, and a link to sub-resources.', 'httpMethod' => 'GET', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -315,12 +318,12 @@ 'type' => 'string', 'required' => true, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), - 'property_name' => array( + 'property_name' => array ( 'location' => 'uri', 'description' => 'The property name to inspect', 'type' => 'string', @@ -329,16 +332,16 @@ ), ), - 'addEvent' => array( - 'uri' => 'projects/{projectId}/events/{event_collection}', - 'description' => 'POST inserts an event into the specified collection.', - 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' - ), - 'writeKey' => array( + 'addEvent' => array ( + 'uri' => 'projects/{projectId}/events/{event_collection}', + 'description' => 'POST inserts an event into the specified collection.', + 'httpMethod' => 'POST', + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', + ), + 'writeKey' => array ( 'location' => 'header', 'description' => 'The Write Key for the project.', 'sentAs' => 'Authorization', @@ -346,30 +349,30 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), ), - 'additionalParameters' => array( - 'location' => 'json' + 'additionalParameters' => array ( + 'location' => 'json', ), ), - 'addEvents' => array( - 'uri' => 'projects/{projectId}/events', - 'description' => 'POST inserts multiple events in one or more collections, in a single request. The API ' - . 'expects a JSON object whose keys are the names of each event collection you want to ' - . 'insert into. Each key should point to a list of events to insert for that event ' - . 'collection.', - 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' - ), - 'writeKey' => array( + 'addEvents' => array ( + 'uri' => 'projects/{projectId}/events', + 'description' => 'POST inserts multiple events in one or more collections, in a single request. The API ' + . 'expects a JSON object whose keys are the names of each event collection you want to ' + . 'insert into. Each key should point to a list of events to insert for that event ' + . 'collection.', + 'httpMethod' => 'POST', + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', + ), + 'writeKey' => array ( 'location' => 'header', 'description' => 'The Write Key for the project.', 'sentAs' => 'Authorization', @@ -378,22 +381,22 @@ 'required' => false, ), ), - 'additionalParameters' => array( + 'additionalParameters' => array ( 'location' => 'json', ), ), - 'deleteEvents' => array( + 'deleteEvents' => array ( 'uri' => 'projects/{projectId}/events/{event_collection}', 'description' => 'DELETE one or multiple events from a collection. You can optionally add filters, ' - . 'timeframe or timezone. You can delete up to 50,000 events using one method call', + . 'timeframe or timezone. You can delete up to 50,000 events using one method call', 'httpMethod' => 'DELETE', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'masterKey' => array( + 'masterKey' => array ( 'location' => 'header', 'description' => 'The Master API key.', 'sentAs' => 'Authorization', @@ -401,47 +404,47 @@ 'type' => 'string', 'required' => true, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'query', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'query', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), - 'filters' => array('KeenIO\Client\Filter\MultiTypeFiltering::encodeValue'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), + 'filters' => array ( 'KeenIO\Client\Filter\MultiTypeFiltering::encodeValue' ), 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'query', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), ), ), - 'deleteEventProperties' => array( + 'deleteEventProperties' => array ( 'uri' => 'projects/{projectId}/events/{event_collection}/properties/{property_name}', 'description' => 'DELETE one property for events. This only works for properties with less than 10,000 ' - . 'events.', + . 'events.', 'httpMethod' => 'DELETE', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'writeKey' => array( + 'writeKey' => array ( 'location' => 'header', 'description' => 'The Write Key for the project.', 'sentAs' => 'Authorization', @@ -449,12 +452,12 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), - 'property_name' => array( + 'property_name' => array ( 'location' => 'uri', 'description' => 'Name of the property to delete.', 'type' => 'string', @@ -463,17 +466,17 @@ ), ), - 'count' => array( + 'count' => array ( 'uri' => 'projects/{projectId}/queries/count', 'description' => 'POST returns the number of resources in the event collection matching the given criteria.' - . ' The response will be a simple JSON object with one key: a numeric result.', + . ' The response will be a simple JSON object with one key: a numeric result.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -481,62 +484,62 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array('string', 'array'), + . 'like to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'countUnique' => array( + 'countUnique' => array ( 'uri' => 'projects/{projectId}/queries/count_unique', 'description' => 'POST returns the number of UNIQUE resources in the event collection matching the given ' - . 'criteria. The response will be a simple JSON object with one key: result, which maps ' - . 'to the numeric result described previously.', + . 'criteria. The response will be a simple JSON object with one key: result, which maps ' + . 'to the numeric result described previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -544,69 +547,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array('string', 'array'), + . 'like to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'minimum' => array( + 'minimum' => array ( 'uri' => 'projects/{projectId}/queries/minimum', 'description' => 'POST returns the minimum numeric value for the target property in the event collection ' - . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' - . 'simple JSON object with one key: result, which maps to the numeric result described ' - . 'previously.', + . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' + . 'simple JSON object with one key: result, which maps to the numeric result described ' + . 'previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -614,69 +617,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array('string', 'array'), + . 'like to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'maximum' => array( + 'maximum' => array ( 'uri' => 'projects/{projectId}/queries/maximum', 'description' => 'POST returns the maximum numeric value for the target property in the event collection ' - . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' - . 'simple JSON object with one key: result, which maps to the numeric result described ' - . 'previously.', + . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' + . 'simple JSON object with one key: result, which maps to the numeric result described ' + . 'previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -684,69 +687,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array('string', 'array'), + . 'to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'average' => array( + 'average' => array ( 'uri' => 'projects/{projectId}/queries/average', 'description' => 'POST returns the average across all numeric values for the target property in the event ' - . 'collection matching the given criteria. Non-numeric values are ignored. The response ' - . 'will be a simple JSON object with one key: result, which maps to the numeric result ' - . 'described previously.', + . 'collection matching the given criteria. Non-numeric values are ignored. The response ' + . 'will be a simple JSON object with one key: result, which maps to the numeric result ' + . 'described previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -754,69 +757,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request ' - . 'based on event property values.', + . 'based on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of ' - . 'time. If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'time. If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array('string', 'array'), + . 'to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'sum' => array( + 'sum' => array ( 'uri' => 'projects/{projectId}/queries/sum', 'description' => 'POST returns the sum if all numeric values for the target property in the event ' - . 'collection matching the given criteria. Non-numeric values are ignored. The ' - . 'response will be a simple JSON object with one key: result, which maps to the ' - . 'numeric result described previously.', + . 'collection matching the given criteria. Non-numeric values are ignored. The ' + . 'response will be a simple JSON object with one key: result, which maps to the ' + . 'numeric result described previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -824,68 +827,68 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based ' - . 'on event property values.', + . 'on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array('string', 'array'), + . 'to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'selectUnique' => array( + 'selectUnique' => array ( 'uri' => 'projects/{projectId}/queries/select_unique', 'description' => 'POST returns a list of UNIQUE resources in the event collection matching the given ' - . 'criteria. The response will be a simple JSON object with one key: result, which ' - . 'maps to an array of unique property values.', + . 'criteria. The response will be a simple JSON object with one key: result, which ' + . 'maps to an array of unique property values.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -893,66 +896,66 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based ' - . 'on event property values.', + . 'on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array('string', 'array'), + . 'like to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'funnel' => array( + 'funnel' => array ( 'uri' => 'projects/{projectId}/queries/funnel', 'description' => 'Funnels count relevant events in succession.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -960,7 +963,7 @@ 'type' => 'string', 'required' => false, ), - 'steps' => array( + 'steps' => array ( 'location' => 'json', 'description' => 'A URL encoded JSON Array defining the Steps in the Funnel.', 'type' => 'array', @@ -969,17 +972,17 @@ ), ), - 'multiAnalysis' => array( + 'multiAnalysis' => array ( 'uri' => 'projects/{projectId}/queries/multi_analysis', 'description' => 'Multi-analysis lets you run multiple types of analysis over the same data. Performing a ' - . 'multi-analysis call is very similar to a Metric or a Series.', + . 'multi-analysis call is very similar to a Metric or a Series.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -987,72 +990,72 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'analyses' => array( + 'analyses' => array ( 'location' => 'json', 'description' => 'A URL encoded JSON object that defines the multiple types of analyses to ' - . 'perform.', + . 'perform.', 'type' => 'array', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request ' - . 'based on event property values.', + . 'based on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array('string', 'number'), + . 'timezone.', + 'type' => array ( 'string', 'number' ), 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array('string', 'array'), + . 'like to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'extraction' => array( + 'extraction' => array ( 'uri' => 'projects/{projectId}/queries/extraction', 'description' => 'POST creates an extraction request for full-form event data with all property values. ' - . 'If the query string parameter email is specified, then the extraction will be ' - . 'processed asynchronously and an e-mail will be sent to the specified address when it ' - . 'completes. The email will include a link to a downloadable CSV file. If email is ' - . 'omitted, then the extraction will be processed in-line and JSON results will be ' - . 'returned in the GET request.', + . 'If the query string parameter email is specified, then the extraction will be ' + . 'processed asynchronously and an e-mail will be sent to the specified address when it ' + . 'completes. The email will include a link to a downloadable CSV file. If email is ' + . 'omitted, then the extraction will be processed in-line and JSON results will be ' + . 'returned in the GET request.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -1060,61 +1063,61 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request ' - . ' based on event property values.', + . ' based on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'email' => array( + 'email' => array ( 'location' => 'json', 'description' => 'Email that will be notified when your extraction is ready for download.', 'type' => 'string', 'required' => false, ), - 'latest' => array( + 'latest' => array ( 'location' => 'json', 'description' => 'An integer containing the number of most recent events to extract.', 'type' => 'number', 'required' => false, ), - 'property_names' => array( + 'property_names' => array ( 'location' => 'json', 'description' => 'A URL-encoded array of strings containing properties you wish to extract. If ' - . 'this parameter is omitted, all properties will be returned.', + . 'this parameter is omitted, all properties will be returned.', 'type' => 'array', 'required' => false, ), ), ), - 'median' => array( + 'median' => array ( 'uri' => 'projects/{projectId}/queries/median', 'description' => 'POST returns the median across all numeric values for the target property in the event ' - . 'collection matching the given criteria. Non-numeric values are ignored. The response ' - . 'will be a simple JSON object with one key: result, which maps to the numeric result ' - . 'described previously.', + . 'collection matching the given criteria. Non-numeric values are ignored. The response ' + . 'will be a simple JSON object with one key: result, which maps to the numeric result ' + . 'described previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -1122,69 +1125,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', + . 'timezone.', 'type' => 'number', 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array('string', 'array'), + . 'like to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), ), ), - 'percentile' => array( + 'percentile' => array ( 'uri' => 'projects/{projectId}/queries/percentile', 'description' => 'POST returns the Xth percentile value across all numeric values for the target property ' - . 'in the event collection matching the given criteria. Non-numeric values are ignored. ' - . 'The response will be a simple JSON object with one key: result, which maps to the ' - . 'numeric result described previously.', + . 'in the event collection matching the given criteria. Non-numeric values are ignored. ' + . 'The response will be a simple JSON object with one key: result, which maps to the ' + . 'numeric result described previously.', 'httpMethod' => 'POST', - 'parameters' => array( - 'projectId' => array( - 'location' => 'uri', - 'type' => 'string' + 'parameters' => array ( + 'projectId' => array ( + 'location' => 'uri', + 'type' => 'string', ), - 'readKey' => array( + 'readKey' => array ( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -1192,54 +1195,54 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array( + 'event_collection' => array ( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array( + 'target_property' => array ( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array( + 'filters' => array ( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array( + 'timeframe' => array ( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . ' If no timeframe is specified, all events will be counted.', - 'type' => array('string', 'array'), + . ' If no timeframe is specified, all events will be counted.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'interval' => array( + 'interval' => array ( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array( + 'timezone' => array ( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', + . 'timezone.', 'type' => 'number', 'required' => false, ), - 'group_by' => array( + 'group_by' => array ( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array('string', 'array'), + . 'to group the results.', + 'type' => array ( 'string', 'array' ), 'required' => false, ), - 'percentile' => array( + 'percentile' => array ( 'location' => 'json', 'description' => 'The desired Xth percentile you want to get in your analysis.', 'type' => 'number', @@ -1248,12 +1251,12 @@ ), ), ), - 'models' => array( - 'getResponse' => array( - 'type' => 'object', - 'addtionalProperties' => array( - 'location' => 'json' - ) - ) - ) + 'models' => array ( + 'getResponse' => array ( + 'type' => 'object', + 'addtionalProperties' => array ( + 'location' => 'json', + ), + ), + ), ); From ac2be817af84f3e968f1bf58e81ffff30352a87d Mon Sep 17 00:00:00 2001 From: Lance Bailey Date: Wed, 22 Aug 2018 14:55:33 +0200 Subject: [PATCH 2/3] reverted to correct syntax styling for Resource file --- src/Client/Resources/keen-io-3_0.php | 868 +++++++++++++-------------- 1 file changed, 432 insertions(+), 436 deletions(-) diff --git a/src/Client/Resources/keen-io-3_0.php b/src/Client/Resources/keen-io-3_0.php index c790d61..9eff6e1 100755 --- a/src/Client/Resources/keen-io-3_0.php +++ b/src/Client/Resources/keen-io-3_0.php @@ -1,17 +1,17 @@ 'KeenIO', - 'baseUri' => 'https://api.keen.io/3.0/', - 'apiVersion' => '3.0', - 'operations' => array ( - 'getResources' => array ( +return array( + 'name' => 'KeenIO', + 'baseUri' => 'https://api.keen.io/3.0/', + 'apiVersion' => '3.0', + 'operations' => array( + 'getResources' => array( 'uri' => '/', 'description' => 'Returns the available child resources. Currently, the only child ' - . 'resource is the Projects Resource.', + . 'resource is the Projects Resource.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'masterKey' => array ( + 'parameters' => array( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master Api Key', 'sentAs' => 'Authorization', @@ -22,17 +22,17 @@ ), ), - 'createProject' => array ( - 'uri' => 'organizations/{organizationId}/projects', - 'description' => 'Creates a project for the specified organization and returns the ' - . 'project id for later usage.', - 'httpMethod' => 'POST', - 'parameters' => array ( - 'organizationId' => array ( - 'location' => 'uri', - 'type' => 'string', - ), - 'organizationKey' => array ( + 'createProject' => array( + 'uri' => 'organizations/{organizationId}/projects', + 'description' => 'Creates a project for the specified organization and returns the ' + . 'project id for later usage.', + 'httpMethod' => 'POST', + 'parameters' => array( + 'organizationId' => array( + 'location' => 'uri', + 'type' => 'string' + ), + 'organizationKey' => array( 'location' => 'header', 'description' => 'The Organization Key.', 'sentAs' => 'Authorization', @@ -41,18 +41,18 @@ 'required' => true, ), ), - 'additionalParameters' => array ( - 'location' => 'json', + 'additionalParameters' => array( + 'location' => 'json' ), ), - 'getProjects' => array ( + 'getProjects' => array( 'uri' => 'projects', 'description' => 'Returns the projects accessible to the API user, as well as ' - . 'links to project sub-resources for discovery.', + . 'links to project sub-resources for discovery.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'masterKey' => array ( + 'parameters' => array( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -63,17 +63,17 @@ ), ), - 'getProject' => array ( + 'getProject' => array( 'uri' => 'projects/{projectId}', 'description' => 'GET returns detailed information about the specific project, ' - . 'as well as links to related resources.', + . 'as well as links to related resources.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -84,16 +84,16 @@ ), ), - 'getSavedQueries' => array ( + 'getSavedQueries' => array( 'uri' => 'projects/{projectId}/queries/saved', 'description' => 'Returns the saved queries accessible to the API user on the specified project.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -104,17 +104,17 @@ ), ), - 'getSavedQuery' => array ( + 'getSavedQuery' => array( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Returns the detailed information about the specified query, as ' - . 'well as links to retrieve results.', + . 'well as links to retrieve results.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -122,7 +122,7 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array ( + 'query_name' => array( 'location' => 'uri', 'description' => 'The saved query.', 'required' => true, @@ -130,16 +130,16 @@ ), ), - 'createSavedQuery' => array ( + 'createSavedQuery' => array( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Creates the described query.', 'httpMethod' => 'PUT', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -147,34 +147,32 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array ( + 'query_name' => array( 'location' => 'uri', 'description' => 'The desired name of the query.', - 'filters' => array ( - [ - "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', - "args" => [ "@value" ], - ], - ), + 'filters' => array([ + "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', + "args" => ["@value"] + ]), 'required' => true, ), - 'query' => array ( + 'query' => array( 'location' => 'json', 'type' => 'array', ), ), ), - 'updateSavedQuery' => array ( + 'updateSavedQuery' => array( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Creates the described query.', 'httpMethod' => 'PUT', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -182,34 +180,32 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array ( + 'query_name' => array( 'location' => 'uri', 'description' => 'The desired name of the query.', - 'filters' => array ( - [ - "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', - "args" => [ "@value" ], - ], - ), + 'filters' => array([ + "method" => '\KeenIO\Client\KeenIOClient::cleanQueryName', + "args" => ["@value"] + ]), 'required' => true, ), - 'query' => array ( + 'query' => array( 'location' => 'json', 'type' => 'array', ), ), ), - 'deleteSavedQuery' => array ( + 'deleteSavedQuery' => array( 'uri' => 'projects/{projectId}/queries/saved/{query_name}', 'description' => 'Deletes the specified query.', 'httpMethod' => 'DELETE', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -217,7 +213,7 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array ( + 'query_name' => array( 'location' => 'uri', 'description' => 'The saved query.', 'required' => true, @@ -225,16 +221,16 @@ ), ), - 'getSavedQueryResults' => array ( + 'getSavedQueryResults' => array( 'uri' => 'projects/{projectId}/queries/saved/{query_name}/result', 'description' => 'Returns the results of executing the specified query.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -242,7 +238,7 @@ 'type' => 'string', 'required' => true, ), - 'query_name' => array ( + 'query_name' => array( 'location' => 'uri', 'description' => 'The saved query.', 'required' => true, @@ -250,17 +246,17 @@ ), ), - 'getCollections' => array ( + 'getCollections' => array( 'uri' => 'projects/{projectId}/events', 'description' => 'GET returns schema information for all the event collections in this project, ' - . 'including properties and their type. It also returns links to sub-resources.', + . 'including properties and their type. It also returns links to sub-resources.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -271,21 +267,21 @@ ), ), - 'getEventSchemas' => array ( - 'extends' => 'getCollections', + 'getEventSchemas' => array( + 'extends' => 'getCollections' ), - 'getCollection' => array ( + 'getCollection' => array( 'uri' => 'projects/{projectId}/events/{event_collection}', 'description' => 'GET returns available schema information for this event collection, including ' - . 'properties and their type. It also returns links to sub-resources.', + . 'properties and their type. It also returns links to sub-resources.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -293,7 +289,7 @@ 'type' => 'string', 'required' => true, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, @@ -301,16 +297,16 @@ ), ), - 'getProperty' => array ( + 'getProperty' => array( 'uri' => 'projects/{projectId}/events/{event_collection}/properties/{property_name}', 'description' => 'GET returns the property name, type, and a link to sub-resources.', 'httpMethod' => 'GET', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API Key.', 'sentAs' => 'Authorization', @@ -318,12 +314,12 @@ 'type' => 'string', 'required' => true, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), - 'property_name' => array ( + 'property_name' => array( 'location' => 'uri', 'description' => 'The property name to inspect', 'type' => 'string', @@ -332,16 +328,16 @@ ), ), - 'addEvent' => array ( - 'uri' => 'projects/{projectId}/events/{event_collection}', - 'description' => 'POST inserts an event into the specified collection.', - 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', - ), - 'writeKey' => array ( + 'addEvent' => array( + 'uri' => 'projects/{projectId}/events/{event_collection}', + 'description' => 'POST inserts an event into the specified collection.', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' + ), + 'writeKey' => array( 'location' => 'header', 'description' => 'The Write Key for the project.', 'sentAs' => 'Authorization', @@ -349,30 +345,30 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), ), - 'additionalParameters' => array ( - 'location' => 'json', + 'additionalParameters' => array( + 'location' => 'json' ), ), - 'addEvents' => array ( - 'uri' => 'projects/{projectId}/events', - 'description' => 'POST inserts multiple events in one or more collections, in a single request. The API ' - . 'expects a JSON object whose keys are the names of each event collection you want to ' - . 'insert into. Each key should point to a list of events to insert for that event ' - . 'collection.', - 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', - ), - 'writeKey' => array ( + 'addEvents' => array( + 'uri' => 'projects/{projectId}/events', + 'description' => 'POST inserts multiple events in one or more collections, in a single request. The API ' + . 'expects a JSON object whose keys are the names of each event collection you want to ' + . 'insert into. Each key should point to a list of events to insert for that event ' + . 'collection.', + 'httpMethod' => 'POST', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' + ), + 'writeKey' => array( 'location' => 'header', 'description' => 'The Write Key for the project.', 'sentAs' => 'Authorization', @@ -381,22 +377,22 @@ 'required' => false, ), ), - 'additionalParameters' => array ( + 'additionalParameters' => array( 'location' => 'json', ), ), - 'deleteEvents' => array ( + 'deleteEvents' => array( 'uri' => 'projects/{projectId}/events/{event_collection}', 'description' => 'DELETE one or multiple events from a collection. You can optionally add filters, ' - . 'timeframe or timezone. You can delete up to 50,000 events using one method call', + . 'timeframe or timezone. You can delete up to 50,000 events using one method call', 'httpMethod' => 'DELETE', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'masterKey' => array ( + 'masterKey' => array( 'location' => 'header', 'description' => 'The Master API key.', 'sentAs' => 'Authorization', @@ -404,47 +400,47 @@ 'type' => 'string', 'required' => true, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'query', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'query', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), - 'filters' => array ( 'KeenIO\Client\Filter\MultiTypeFiltering::encodeValue' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), + 'filters' => array('KeenIO\Client\Filter\MultiTypeFiltering::encodeValue'), 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'query', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), ), ), - 'deleteEventProperties' => array ( + 'deleteEventProperties' => array( 'uri' => 'projects/{projectId}/events/{event_collection}/properties/{property_name}', 'description' => 'DELETE one property for events. This only works for properties with less than 10,000 ' - . 'events.', + . 'events.', 'httpMethod' => 'DELETE', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'writeKey' => array ( + 'writeKey' => array( 'location' => 'header', 'description' => 'The Write Key for the project.', 'sentAs' => 'Authorization', @@ -452,12 +448,12 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'uri', 'description' => 'The event collection.', 'required' => true, ), - 'property_name' => array ( + 'property_name' => array( 'location' => 'uri', 'description' => 'Name of the property to delete.', 'type' => 'string', @@ -466,17 +462,17 @@ ), ), - 'count' => array ( + 'count' => array( 'uri' => 'projects/{projectId}/queries/count', 'description' => 'POST returns the number of resources in the event collection matching the given criteria.' - . ' The response will be a simple JSON object with one key: a numeric result.', + . ' The response will be a simple JSON object with one key: a numeric result.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -484,62 +480,62 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array ( 'string', 'array' ), + . 'like to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'countUnique' => array ( + 'countUnique' => array( 'uri' => 'projects/{projectId}/queries/count_unique', 'description' => 'POST returns the number of UNIQUE resources in the event collection matching the given ' - . 'criteria. The response will be a simple JSON object with one key: result, which maps ' - . 'to the numeric result described previously.', + . 'criteria. The response will be a simple JSON object with one key: result, which maps ' + . 'to the numeric result described previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -547,69 +543,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array ( 'string', 'array' ), + . 'like to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'minimum' => array ( + 'minimum' => array( 'uri' => 'projects/{projectId}/queries/minimum', 'description' => 'POST returns the minimum numeric value for the target property in the event collection ' - . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' - . 'simple JSON object with one key: result, which maps to the numeric result described ' - . 'previously.', + . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' + . 'simple JSON object with one key: result, which maps to the numeric result described ' + . 'previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -617,69 +613,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array ( 'string', 'array' ), + . 'like to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'maximum' => array ( + 'maximum' => array( 'uri' => 'projects/{projectId}/queries/maximum', 'description' => 'POST returns the maximum numeric value for the target property in the event collection ' - . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' - . 'simple JSON object with one key: result, which maps to the numeric result described ' - . 'previously.', + . 'matching the given criteria. Non-numeric values are ignored. The response will be a ' + . 'simple JSON object with one key: result, which maps to the numeric result described ' + . 'previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -687,69 +683,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array ( 'string', 'array' ), + . 'to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'average' => array ( + 'average' => array( 'uri' => 'projects/{projectId}/queries/average', 'description' => 'POST returns the average across all numeric values for the target property in the event ' - . 'collection matching the given criteria. Non-numeric values are ignored. The response ' - . 'will be a simple JSON object with one key: result, which maps to the numeric result ' - . 'described previously.', + . 'collection matching the given criteria. Non-numeric values are ignored. The response ' + . 'will be a simple JSON object with one key: result, which maps to the numeric result ' + . 'described previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -757,69 +753,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request ' - . 'based on event property values.', + . 'based on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of ' - . 'time. If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'time. If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array ( 'string', 'array' ), + . 'to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'sum' => array ( + 'sum' => array( 'uri' => 'projects/{projectId}/queries/sum', 'description' => 'POST returns the sum if all numeric values for the target property in the event ' - . 'collection matching the given criteria. Non-numeric values are ignored. The ' - . 'response will be a simple JSON object with one key: result, which maps to the ' - . 'numeric result described previously.', + . 'collection matching the given criteria. Non-numeric values are ignored. The ' + . 'response will be a simple JSON object with one key: result, which maps to the ' + . 'numeric result described previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -827,68 +823,68 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based ' - . 'on event property values.', + . 'on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array ( 'string', 'array' ), + . 'to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'selectUnique' => array ( + 'selectUnique' => array( 'uri' => 'projects/{projectId}/queries/select_unique', 'description' => 'POST returns a list of UNIQUE resources in the event collection matching the given ' - . 'criteria. The response will be a simple JSON object with one key: result, which ' - . 'maps to an array of unique property values.', + . 'criteria. The response will be a simple JSON object with one key: result, which ' + . 'maps to an array of unique property values.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -896,66 +892,66 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based ' - . 'on event property values.', + . 'on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array ( 'string', 'array' ), + . 'like to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'funnel' => array ( + 'funnel' => array( 'uri' => 'projects/{projectId}/queries/funnel', 'description' => 'Funnels count relevant events in succession.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -963,7 +959,7 @@ 'type' => 'string', 'required' => false, ), - 'steps' => array ( + 'steps' => array( 'location' => 'json', 'description' => 'A URL encoded JSON Array defining the Steps in the Funnel.', 'type' => 'array', @@ -972,17 +968,17 @@ ), ), - 'multiAnalysis' => array ( + 'multiAnalysis' => array( 'uri' => 'projects/{projectId}/queries/multi_analysis', 'description' => 'Multi-analysis lets you run multiple types of analysis over the same data. Performing a ' - . 'multi-analysis call is very similar to a Metric or a Series.', + . 'multi-analysis call is very similar to a Metric or a Series.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -990,72 +986,72 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'analyses' => array ( + 'analyses' => array( 'location' => 'json', 'description' => 'A URL encoded JSON object that defines the multiple types of analyses to ' - . 'perform.', + . 'perform.', 'type' => 'array', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request ' - . 'based on event property values.', + . 'based on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', - 'type' => array ( 'string', 'number' ), + . 'timezone.', + 'type' => array('string', 'number'), 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array ( 'string', 'array' ), + . 'like to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'extraction' => array ( + 'extraction' => array( 'uri' => 'projects/{projectId}/queries/extraction', 'description' => 'POST creates an extraction request for full-form event data with all property values. ' - . 'If the query string parameter email is specified, then the extraction will be ' - . 'processed asynchronously and an e-mail will be sent to the specified address when it ' - . 'completes. The email will include a link to a downloadable CSV file. If email is ' - . 'omitted, then the extraction will be processed in-line and JSON results will be ' - . 'returned in the GET request.', + . 'If the query string parameter email is specified, then the extraction will be ' + . 'processed asynchronously and an e-mail will be sent to the specified address when it ' + . 'completes. The email will include a link to a downloadable CSV file. If email is ' + . 'omitted, then the extraction will be processed in-line and JSON results will be ' + . 'returned in the GET request.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -1063,61 +1059,61 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request ' - . ' based on event property values.', + . ' based on event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'email' => array ( + 'email' => array( 'location' => 'json', 'description' => 'Email that will be notified when your extraction is ready for download.', 'type' => 'string', 'required' => false, ), - 'latest' => array ( + 'latest' => array( 'location' => 'json', 'description' => 'An integer containing the number of most recent events to extract.', 'type' => 'number', 'required' => false, ), - 'property_names' => array ( + 'property_names' => array( 'location' => 'json', 'description' => 'A URL-encoded array of strings containing properties you wish to extract. If ' - . 'this parameter is omitted, all properties will be returned.', + . 'this parameter is omitted, all properties will be returned.', 'type' => 'array', 'required' => false, ), ), ), - 'median' => array ( + 'median' => array( 'uri' => 'projects/{projectId}/queries/median', 'description' => 'POST returns the median across all numeric values for the target property in the event ' - . 'collection matching the given criteria. Non-numeric values are ignored. The response ' - . 'will be a simple JSON object with one key: result, which maps to the numeric result ' - . 'described previously.', + . 'collection matching the given criteria. Non-numeric values are ignored. The response ' + . 'will be a simple JSON object with one key: result, which maps to the numeric result ' + . 'described previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -1125,69 +1121,69 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . 'If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . 'If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', + . 'timezone.', 'type' => 'number', 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would ' - . 'like to group the results.', - 'type' => array ( 'string', 'array' ), + . 'like to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), ), ), - 'percentile' => array ( + 'percentile' => array( 'uri' => 'projects/{projectId}/queries/percentile', 'description' => 'POST returns the Xth percentile value across all numeric values for the target property ' - . 'in the event collection matching the given criteria. Non-numeric values are ignored. ' - . 'The response will be a simple JSON object with one key: result, which maps to the ' - . 'numeric result described previously.', + . 'in the event collection matching the given criteria. Non-numeric values are ignored. ' + . 'The response will be a simple JSON object with one key: result, which maps to the ' + . 'numeric result described previously.', 'httpMethod' => 'POST', - 'parameters' => array ( - 'projectId' => array ( - 'location' => 'uri', - 'type' => 'string', + 'parameters' => array( + 'projectId' => array( + 'location' => 'uri', + 'type' => 'string' ), - 'readKey' => array ( + 'readKey' => array( 'location' => 'header', 'description' => 'The Read Key for the project.', 'sentAs' => 'Authorization', @@ -1195,54 +1191,54 @@ 'type' => 'string', 'required' => false, ), - 'event_collection' => array ( + 'event_collection' => array( 'location' => 'json', 'description' => 'The name of the event collection you are analyzing.', 'type' => 'string', 'required' => true, ), - 'target_property' => array ( + 'target_property' => array( 'location' => 'json', 'description' => 'The name of the property you are analyzing.', 'type' => 'string', 'required' => true, ), - 'filters' => array ( + 'filters' => array( 'location' => 'json', 'description' => 'Filters are used to narrow down the events used in an analysis request based on ' - . 'event property values.', + . 'event property values.', 'type' => 'array', 'required' => false, ), - 'timeframe' => array ( + 'timeframe' => array( 'location' => 'json', 'description' => 'A Timeframe specifies the events to use for analysis based on a window of time. ' - . ' If no timeframe is specified, all events will be counted.', - 'type' => array ( 'string', 'array' ), + . ' If no timeframe is specified, all events will be counted.', + 'type' => array('string', 'array'), 'required' => false, ), - 'interval' => array ( + 'interval' => array( 'location' => 'json', 'description' => 'Intervals are used when creating a Series API call. The interval specifies the ' - . 'length of each sub-timeframe in a Series.', + . 'length of each sub-timeframe in a Series.', 'type' => 'string', 'required' => false, ), - 'timezone' => array ( + 'timezone' => array( 'location' => 'json', 'description' => 'Modifies the timeframe filters for Relative Timeframes to match a specific ' - . 'timezone.', + . 'timezone.', 'type' => 'number', 'required' => false, ), - 'group_by' => array ( + 'group_by' => array( 'location' => 'json', 'description' => 'The group_by parameter specifies the name of a property by which you would like ' - . 'to group the results.', - 'type' => array ( 'string', 'array' ), + . 'to group the results.', + 'type' => array('string', 'array'), 'required' => false, ), - 'percentile' => array ( + 'percentile' => array( 'location' => 'json', 'description' => 'The desired Xth percentile you want to get in your analysis.', 'type' => 'number', @@ -1251,12 +1247,12 @@ ), ), ), - 'models' => array ( - 'getResponse' => array ( - 'type' => 'object', - 'addtionalProperties' => array ( - 'location' => 'json', - ), - ), - ), + 'models' => array( + 'getResponse' => array( + 'type' => 'object', + 'addtionalProperties' => array( + 'location' => 'json' + ) + ) + ) ); From 24c492818a516696928ceaf4c77868730a7a0eaf Mon Sep 17 00:00:00 2001 From: Lance Bailey Date: Thu, 23 Aug 2018 12:11:45 +0200 Subject: [PATCH 3/3] - Bumped KeenIOClient Version - Added comments in CHANGE.md about new version fixes Signed-off-by: Lance Bailey --- CHANGE.md | 5 +++++ src/Client/KeenIOClient.php | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGE.md b/CHANGE.md index c9e0606..431f50c 100755 --- a/CHANGE.md +++ b/CHANGE.md @@ -1,6 +1,11 @@ Change Log ========== +VERSION 2.5.13 +------------- +* Fix for invalid request "Missing required organizationKey" when using createProject +* Fix for no body content being sent when using createProject + VERSION 2.5.12 ------------- * Fix a bug that caused arrays in the POST body to be encoded as strings diff --git a/src/Client/KeenIOClient.php b/src/Client/KeenIOClient.php index c4ce6db..022a9dd 100755 --- a/src/Client/KeenIOClient.php +++ b/src/Client/KeenIOClient.php @@ -41,7 +41,7 @@ class KeenIOClient extends GuzzleClient { - const VERSION = '2.5.12'; + const VERSION = '2.5.13'; /** * Factory to create new KeenIOClient instance.