Advanced API Resources


The below API is our advanced API based on REST. A simpler API can be found here.

Resource Description


GS SQL
GET gql Executes a GS Query string and returns a result set.


Query
GET query Returns a list of all query entities or a single query if an ID parameter is used.
GET query/new Returns a new query entity with default attributes and a unique uid.
GET query/{queryUid} Returns a query entity.
GET query/{queryUid}/results Returns a query's cached results.
POST query/{queryUid}/run Runs a query's GS SQL and updates the cache.
PUT query Inserts a new query.
POST query Updates a query entity.
DELETE query/{queryUid} Deletes a query entity.


Batch Feeds
GET feed Returns a list of feed ranges. A list of component and stream uids are passed as parameters.
PUT feed
Updates or Inserts a set of feed samples for one or more components. Note that there is no POST for Feeds. PUT will insert or update intervals.
DELETE feed Deletes a list of feed ranges.


User
GET user/{userUid} Returns user information.
GET user/new Returns a user with default attributes and a unique uid (does not create the user's account).
GET user/ Returns user information via email address.
GET user/email_exists/{email} Determines if a user exists with the passed in password.
POST user/{userUid}/password Resets user's password.
POST user Updates user information.
GET user/confirm/{userEmail}/{confirmationCode} Confirms user account.
PUT user Registers a new user.
DELETE user/{userUid} Removes user's account.


Organization
GET organization/new Returns an organization with default attributes and a unique uid (does not register the org).
GET organization/{orgUid} Returns organization information.
PUT organization Registers a new organization.
POST organization/{orgUid} Updates an organization's information.
GET organization/new Returns an organization with default attributes and a unique uid.
GET organization/nameexists/{orgName} Returns a flag indicating whether an organization name has been registered.
GET organization/{orgUid}/name Returns the name of an organization.
GET organization/{orgUid}/public
Returns organization public information.
POST organization/{orgUid}/public Updates organization public information.
GET organization/{orgUid}/public/indicator Returns a flag that indicates whether an organization is public or private.
DELETE organization/{orgUid} Deletes an organization all resources within it.


Organization User
GET org_user Returns a list of users that are members of the organization.
GET org_user/{userUid} Returns an org_user entity.
GET org_user/new Returns an organization user with default attributes and a unique uid.
PUT org_user Inserts an org_user. An org_user creates an association between an organization and a user.
POST org_user
Updates an org_user.
DELETE org_user/(userUid} Deletes an org_user. Removes association between an organization and a user.


Organization Job
GET org_job Returns a list of all organization jobs.
GET org_job/new Returns a new org_job entity with default attributes and a unique uid.
GET org_job/{jobUid}
Returns an org_job entity.
POST org_job/{jobUid}/cancel Cancels an organization job if it is running.
GET org_job/{jobUid}/status Returns the status of an organization job.
GET org_job/{jobUid}/errors Returns a list of errors that occurred during the running of the organization job.
DELETE org_job/{jobUid} Deletes an org_job resource. Cancels the job before deleting it if it is running.
POST org_job/jobUid}/acknowledge Sets the org_job acknowledged flag to true.


Notifications
GET gs_notification/system Returns a list of all organization system notifications.
GET gs_notification/system/{gsnUid} Returns a GroveStreams organization system notification message.
POST gs_notification/system/{gsnUid}/acknowledge Sets the organization system notification acknowledged flag to true.
POST gs_notification/system Bulk delete a collection of notifications.
DELETE gs_notification/system/{gsnUid} Deletes an organization system notification.
GET gs_notification/org_user Returns a list of all organization user notifications.
GET gs_notification/org_user/{gsnUid} Returns a GroveStreams organization user notification message.
POST gs_notification/org_user/{gsnUid}/acknowledge Sets the organization user notification acknowledged flag to true.
POST gs_notification/org_user Bulk delete a collection of notifications.
DELETE gs_notification/org_user Deletes an organization user notification.
GET gs_notification/new_count Returns the count of unacknowledged user, system and job notifications


API Key
GET api_key Returns a list of all api keys.
GET api_key/new Returns a new api_key with default attributes and a unique uid.
GET api_key/{keyUid} Returns an api_key entity.
PUT api_key Inserts a new api_key entity.
POST api_key Updates an api_key entity.
DELETE api_key/{keyUid} Deletes an api_key entity.
GET api_key/{keyUid}/secret_key Gets the secret key for an api_key (note that the api_key uid is not the secret key).


Unit
GET unit Returns a list of all units.
GET unit/new Returns a new unit with default attributes and a unique uid.
GET unit/{unitUid} Returns a unit entity.
PUT unit Inserts a new unit.
POST unit Updates a unit.
DELETE unit/{unitUid} Deletes a unit.


Cycle
GET cycle Returns a list of all cycles.
GET cycle/new Returns a new cycle with default attributes and a unique uid.
GET cycle/{cycleUid} Returns a cycle entity.
PUT cycle Inserts a cycle.
POST cycle Updates a cycle.
DELETE cycle/{cycleUid} Deletes a cycle.


Rollup Calendar
GET rollup_calendar Returns a list of all rollup_calendars.
GET rollup_calendar/new Returns a rollup_calendar with default attributes and a unique uid.
GET rollup_calendar/{rollupCalendarUid} Returns a rollup_calendar.
PUT rollup_calendar Inserts a rollup_calendar.
POST rollup_calendar Updates a rollup_calendar
DELETE rollup_calendar/{rollupCalendarUid}
Deletes a rollup_calendar.


Time Filter
GET time_filter Returns a list of all time_filters.
GET time_filter/new Returns a time_filter with default attributes and a unique uid.
GET time_filter/{timeFilterUid}
Returns a time_filter.
PUT time_filter Inserts a time_filter.
POST time_filter Updates a time_filter.
DELETE time_filter/{timeFilterUid} Deletes a time_filter.


Delete Profile
GET delete_profile Return a list of all delete_profile.
GET delete_profile/new Returns a delete_profile with default attributes and a unique uid.
GET delete_profile/{deleteProfileUid} Returns a delete_profile.
PUT delete_profile Inserts a delete_profile.
POST delete_profile Updates a delete_profile.
DELETE delete_profile/{deleteProfileUid} Deletes a delete_profile.


Action Package
GET action_pkg Return a list of all action packages.
GET action_pkg/new Returns an action package with default attributes and a unique uid.
GET action_pkg/{actionPkgUid} Returns an action package.
PUT action_pkg Inserts an action package.
POST action_pkg Updates an action package.
DELETE action_pkg/{actionPkgUid} Deletes an action package.
GET action/new Returns a new action.


Component Template
GET component_template Returns a list of all component_template.
GET component_template/new Returns a component_template with default attributes and a unique uid.
GET component_template/{templateUid} Returns a component_template matching the templateUid.
GET component_template/{templateId} Returns a component_template matching the templateId.
PUT component_template Inserts a component_template.
POST component_template Updates a component_template.
DELETE component_template/{templateUid} Deletes a component_template.


Component
GET component Returns a list of components or one component with the passed in id.
GET component/new Returns a new component with default attributes and a unique uid. Used to also create a new component from a component_template.
GET component/{componentUid} Returns a component entity.
GET component/{componentUid}/location Returns a component's current location.
PUT component/{componentUid}/reconcile_changes Usually called before POSTing a component to determine if the changes to the component (and its streams) will trigger a reconcile job to be created during a POST.
PUT component Inserts a new component. Can also be used to create, save and return a component from a component_template of the component does not already exist.
POST component Updates a component.
DELETE component/{componentUid} Deletes a component and all of its children including stream feeds.


Component - Stream
GET component/{compUid}/stream Returns a list of streams for a component.
GET component/{compUid}/stream/new Returns a new stream with default attributes and a unique uid. Does not insert the new stream into the store.
GET component/{compUid}/stream/{streamUid}
Returns a component stream.
GET comp_event/new
Returns a new component event definition.


Component - Stream Feeds
GET component/{compUid}/feed
Returns the feed range for each of the component's streams.
GET component/{compUid}/feed/{streamUid} Returns the feed range for a component stream.
DELETE component/{compUid}/feed Deletes the feed range for all component streams.
DELETE component/{compUid}/feed/{streamUid} Deletes the feed range for a component stream.


Batch Stream Metadata
GET stream_metadata Returns a list of stream metadata that is typically used for graphing and displaying stream feed information. Component and Stream uids are passed as arguments.
GET stream_metadata/{componentUid} Returns metadata for each stream for the given componentUid.


Login
POST login Takes user's id (email) and password. If successful this call will create a session. The session uid is passed back and forth as a cookie or argument and will timeout with inactivity.
DELETE login Expires the current session.
POST login_guest This can only be called for organizations declared as public by their owner. This call is similar to "POST login" except it associates the session with a "Guest" user.


Billing Metrics
GET billing_metrics
Returns a list of organization billing metrics.


View Map
GET view_map/new Returns a view_map with default attributes and a unique uid.
GET view_map/{mapUid} Returns a view_map entity.
PUT view_map Inserts a view_map.
POST view_map Updates a view_map.
DELETE view_map/{mapUid} Deletes a view_map.


View Dashboard
GET view_dashboard/new Returns a view_dashboard with default attributes and a unique uid.
GET view_dashboard/{dashboardUid} Returns a view_dashboard entity.
PUT view_dashboard Inserts a view_dashboard.
POST view_dashboard Updates a view_dashboard.
DELETE view_dashboard/{dashboardUid} Deletes a view_dashboard.
GET view_widget/{dashboardUid}/new Returns view_widget with default attributes and a unique uid.


Content Repository - Components
GET cr/comp/new Returns a cr_node with default attributes and a unique uid.
GET cr/comp Returns the root cr_node or another by full path.
GET cr/comp/{nodeUid} Returns a cr_node. If nodeUid is blank then the root folder is returned.
GET cr/comp/{nodeUid}/children Returns a list of children for a node.
PUT cr/comp Inserts a new cr_node.
POST cr/comp Updates a node.
DELETE cr/comp/{nodeUid} Deletes node and all child nodes (recursive).
GET cr/comp/{nodeUid}/children Returns a list of children for a node.


Content Repository - Dashboards and Maps
GET cr/content/new Returns a cr_node with default attributes and a unique uid.
GET cr/content Returns the root cr_node or another by full path.
GET cr/content/{nodeUid} Returns a cr_node. If nodeUid is blank then the root folder is returned.
GET cr/content/{nodeUid}/children Returns a list of children for a node.
PUT cr/content Inserts a new cr_node.
POST cr/content Updates a node.
DELETE cr/content/{nodeUid} Deletes node and all child nodes (recursive).
GET cr/content/{nodeUid}/children Returns a list of children for a node.


Content Repository - Tools
GET cr/tools/new Returns a cr_node with default attributes and a unique uid.
GET cr/tools Returns the root cr_node or another by full path..
GET cr/tools/{nodeUid} Returns a cr_node. If nodeUid is blank then the root folder is returned.
GET cr/tools/{nodeUid}/children Returns a list of children for a node.
PUT cr/tools Inserts a new cr_node.
POST cr/tools Updates a node.
DELETE cr/tools/{nodeUid} Deletes node and all child nodes (recursive).
GET cr/tools/{nodeUid}/children Returns a list of children for a node.