swagger: '2.0' info: title: Mr Fusion description: Fuel for Chronograf version: "1.1.0" host: Chronograf.influxdata.com schemes: - http basePath: /chronograf/v1 consumes: - application/json produces: - application/json paths: '/': get: summary: Lists all the endpoints description: List of the endpoints. responses: 200: description: Returns the links to the top level endpoints. schema: $ref: '#/definitions/Routes' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources: get: summary: Configured data sources description: These data sources store time series data. responses: 200: description: An array of data sources schema: $ref: '#/definitions/Sources' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' post: summary: Create new data source parameters: - name: source in: body description: Configuration options for data source schema: $ref: '#/definitions/Source' responses: 201: description: Successfully create data source headers: Location: type: string format: url description: Location of the newly created data source resource. schema: $ref: '#/definitions/Source' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' /sources/{id}: get: parameters: - name: id in: path type: string description: ID of the data source required: true summary: Configured data sources description: These data sources store time series data. responses: 200: description: Data source used to supply time series to dashboards. schema: $ref: '#/definitions/Source' 404: description: Unknown source id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' patch: summary: Update data source configuration parameters: - name: id in: path type: string description: ID of a data source required: true - name: config in: body description: data source configuration schema: $ref: '#/definitions/Source' required: true responses: 204: description: Data source's configuration was changed 404: description: Happens when trying to access a non-existent data source. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' delete: parameters: - name: id in: path type: string description: ID of the source required: true summary: This specific data source will be removed from the data store responses: 204: description: data source has been removed 404: description: Unknown data source id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/proxy: post: description: Query the backend time series data source and return the response according to `format` parameters: - name: id in: path type: string description: ID of the data source required: true - name: query in: body description: Query Parameters schema: $ref: '#/definitions/Proxy' required: true responses: 200: description: Result of the query from the backend time series data source. schema: $ref: '#/definitions/ProxyResponse' 400: description: Any query that results in a data source error (syntax error, etc) will cause this response. The error message will be passed back in the body schema: $ref: '#/definitions/Error' 404: description: Data source id does not exist. schema: $ref: '#/definitions/Error' 408: description: Timeout trying to query data source. schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/permissions: get: summary: Returns the list of possible permissions supported by the backend time series data source. parameters: - name: id in: path type: string description: ID of the data source required: true responses: 200: description: An array of permissions schema: $ref: '#/definitions/AllPermissions' 404: description: Data source id does not exist. schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/monitored: get: summary: Returns a list of all being services being monitored parameters: - name: id in: path type: string description: ID of the data source required: true responses: 200: description: An array of permissions schema: $ref: '#/definitions/Services' 404: description: Data source id does not exist. schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/users: get: parameters: - name: id in: path type: string description: ID of the data source required: true summary: List of all users on this data source responses: 200: description: An array of users schema: $ref: '#/definitions/Users' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' post: summary: Create new user for this data source parameters: - name: id in: path type: string description: ID of the data source required: true - name: user in: body description: Configuration options for new user schema: $ref: '#/definitions/User' responses: 201: description: Successfully created new user headers: Location: type: string format: url description: Location of the newly created user resource. schema: $ref: '#/definitions/User' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' /sources/{id}/users/{user_id}: get: parameters: - name: id in: path type: string description: ID of the data source required: true - name: user_id in: path type: string description: ID of the specific user required: true summary: Returns information about a specific user description: | Specific User and their permissions. responses: 200: description: Information relating to the user schema: $ref: '#/definitions/User' 404: description: Unknown source id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' patch: summary: Update user configuration parameters: - name: id in: path type: string description: ID of a data source required: true - name: user_id in: path type: string description: ID of the specific user required: true - name: config in: body description: user configuration schema: $ref: '#/definitions/User' required: true responses: 204: description: Users's configuration was changed 404: description: Happens when trying to access a non-existent user. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' delete: parameters: - name: id in: path type: string description: ID of the source required: true - name: user_id in: path type: string description: ID of the specific user required: true summary: This specific user will be removed from the data store responses: 204: description: User has been removed 404: description: Unknown user id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/users/{user_id}/explorations: get: parameters: - name: id in: path type: string description: ID of the data source required: true - name: user_id in: path type: string description: All Data Explorations returned only for this user. required: true responses: 200: description: Data Explorations saved sessions for user are returned. schema: $ref: '#/definitions/Explorations' 404: description: Data source id or user does not exist. schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' post: summary: Create new named exploration for this user parameters: - name: id in: path type: string description: ID of the data source required: true - name: user_id in: path type: string description: ID of user to associate this exploration with. required: true - name: exploration in: body description: Exploration session to save schema: $ref: '#/definitions/Exploration' responses: 201: description: Successfully created new Exploration session headers: Location: type: string format: url description: Location of the newly created exploration resource. schema: $ref: '#/definitions/Exploration' 404: description: Data source id or user does not exist. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' /sources/{id}/users/{user_id}/explorations/{exploration_id}: get: parameters: - name: id in: path type: string description: ID of the data source required: true - name: user_id in: path type: string description: ID of user to associate this exploration with. required: true - name: exploration_id in: path type: string description: ID of the specific exploration. required: true summary: Returns the specified data exploration session description: | A data exploration session specifies query information. responses: 200: description: Information relating to the exploration schema: $ref: '#/definitions/Exploration' 404: description: Data source id, user, or exploration does not exist. schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' patch: summary: Update exploration configuration parameters: - name: id in: path type: string description: ID of the data source required: true - name: user_id in: path type: string description: ID of user required: true - name: exploration_id in: path type: string description: ID of the specific exploration. required: true - name: exploration in: body description: Update the exploration information to this. required: true schema: $ref: "#/definitions/Exploration" responses: 200: description: Exploration's configuration was changed schema: $ref: '#/definitions/Exploration' 404: description: Data source id, user, or exploration does not exist. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' delete: parameters: - name: id in: path type: string description: ID of the data source required: true - name: user_id in: path type: string description: ID of user to associate this exploration with. required: true - name: exploration_id in: path type: string description: ID of the specific exploration. required: true summary: This specific exporer session will be removed. responses: 204: description: Exploration session has been removed 404: description: Data source id, user, or exploration does not exist. schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/roles: get: parameters: - name: id in: path type: string description: ID of the data source required: true summary: List of all roles on this data source responses: 200: description: An array of roles schema: $ref: '#/definitions/Roles' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' post: summary: Create new role for this data source parameters: - name: id in: path type: string description: ID of the data source required: true - name: role in: body description: Configuration options for new role schema: $ref: '#/definitions/Role' responses: 201: description: Successfully created new role headers: Location: type: string format: url description: Location of the newly created role resource. schema: $ref: '#/definitions/Role' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' /sources/{id}/roles/{role_id}: get: parameters: - name: id in: path type: string description: ID of the data source required: true - name: role_id in: path type: string description: ID of the specific role required: true summary: Returns information about a specific role description: | Specific Role and its associated permissions. responses: 200: description: Information relating to the role schema: $ref: '#/definitions/Role' 404: description: Unknown source id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' patch: summary: Update role configuration parameters: - name: id in: path type: string description: ID of a data source required: true - name: role_id in: path type: string description: ID of the specific role required: true - name: config in: body description: role configuration schema: $ref: '#/definitions/Role' required: true responses: 204: description: Role's configuration was changed 404: description: Happens when trying to access a non-existent role. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' delete: parameters: - name: id in: path type: string description: ID of the source required: true - name: role_id in: path type: string description: ID of the specific role required: true summary: This specific role will be removed from the data store responses: 204: description: Role has been removed 404: description: Unknown role id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/kapacitors: get: parameters: - name: id in: path type: string description: ID of the source required: true summary: Configured kapacitors responses: 200: description: An array of kapacitors schema: $ref: '#/definitions/Kapacitors' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' post: summary: Create new kapacitor backend parameters: - name: id in: path type: string description: ID of the source required: true - name: kapacitor in: body description: Configuration options for kapacitor schema: $ref: '#/definitions/Kapacitor' responses: 201: description: Successfully created kapacitor source headers: Location: type: string format: url description: Location of the newly created kapacitor resource. schema: $ref: '#/definitions/Kapacitor' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' /sources/{id}/kapacitors/{kapa_id}: get: parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of the kapacitor required: true summary: Configured kapacitors description: These kapacitors are used for monitoring and alerting. responses: 200: description: Kapacitor connection information schema: $ref: '#/definitions/Kapacitor' 404: description: Unknown data source or kapacitor id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' patch: summary: Update kapacitor configuration parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of a kapacitor backend required: true - name: config in: body description: kapacitor configuration schema: $ref: '#/definitions/Kapacitor' required: true responses: 204: description: Kapacitor's configuration was changed 404: description: Happens when trying to access a non-existent data source or kapacitor. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' delete: parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of the kapacitor required: true summary: This specific kapacitor will be removed. responses: 204: description: kapacitor has been removed. 404: description: Unknown Data source or Kapacitor id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' /sources/{id}/kapacitors/{kapa_id}/proxy: get: description: GET to `path` of kapacitor. The response and status code from kapacitor is directly returned. parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of the kapacitor backend. required: true - name: path in: query type: string description: The kapacitor API path to use in the proxy redirect required: true responses: 204: description: Kapacitor returned no content 404: description: Data source or Kapacitor ID does not exist. schema: $ref: '#/definitions/Error' default: description: Response directly from kapacitor schema: $ref: '#/definitions/KapacitorProxyResponse' delete: description: DELETE to `path` of kapacitor. The response and status code from kapacitor is directly returned. parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of the kapacitor backend. required: true - name: path in: query type: string description: The kapacitor API path to use in the proxy redirect required: true responses: 204: description: Kapacitor returned no content 404: description: Data source or Kapacitor ID does not exist. schema: $ref: '#/definitions/Error' default: description: Response directly from kapacitor schema: $ref: '#/definitions/KapacitorProxyResponse' patch: description: PATCH body directly to configured kapacitor. The response and status code from kapacitor is directly returned. parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of the kapacitor backend. required: true - name: path in: query type: string description: The kapacitor API path to use in the proxy redirect required: true - name: query in: body description: Kapacitor body schema: $ref: '#/definitions/KapacitorProxy' required: true responses: 204: description: Kapacitor returned no content 404: description: Data source or Kapacitor ID does not exist. schema: $ref: '#/definitions/Error' default: description: Response directly from kapacitor schema: $ref: '#/definitions/KapacitorProxyResponse' post: description: POST body directly to configured kapacitor. The response and status code from kapacitor is directly returned. parameters: - name: id in: path type: string description: ID of the source required: true - name: kapa_id in: path type: string description: ID of the kapacitor backend. required: true - name: path in: query type: string description: The kapacitor API path to use in the proxy redirect required: true - name: query in: body description: Kapacitor body schema: $ref: '#/definitions/KapacitorProxy' required: true responses: 204: description: Kapacitor returned no content 404: description: Kapacitor ID does not exist. schema: $ref: '#/definitions/Error' default: description: Response directly from kapacitor schema: $ref: '#/definitions/KapacitorProxyResponse' /dashboards: get: summary: Pre-configured dashboards description: | Dashboards are a collection of `Cells` that visualize time-series data. responses: 200: description: An array of dashboards schema: $ref: '#/definitions/Dashboards' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' post: summary: Create new Dashboard parameters: - name: dashboard in: body description: Defines the dashboard and queries of the cells within the dashboard. schema: $ref: '#/definitions/Dashboard' responses: 201: description: Successfully created new dashboard headers: Location: type: string format: url description: Location of the newly created dashboard schema: $ref: '#/definitions/Dashboard' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' /dashboards/{id}: get: parameters: - name: id in: path type: string description: ID of the dashboard required: true summary: Specific pre-configured dashboard containing cells and queries. description: | dashboards will hold information about how to layout the page of graphs. responses: 200: description: Returns the specified dashboard containing `cells`. schema: $ref: '#/definitions/Dashboard' 404: description: Unknown dashboard id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' delete: parameters: - name: id in: path type: string description: ID of the dashboard required: true summary: This specific dashboard will be removed from the data store responses: 204: description: An array of dashboards 404: description: Unknown dashboard id schema: $ref: '#/definitions/Error' default: description: Unexpected internal service error schema: $ref: '#/definitions/Error' put: summary: Replace dashboard configuration. parameters: - name: id in: path type: string description: ID of a dashboard required: true - name: config in: body description: dashboard configuration update parameters schema: $ref: '#/definitions/Dashboard' required: true responses: 204: description: Dashboard's configuration was changed 404: description: Happens when trying to access a non-existent dashboard. schema: $ref: '#/definitions/Error' default: description: A processing or an unexpected error. schema: $ref: '#/definitions/Error' definitions: Kapacitors: type: object required: - kapacitors properties: kapacitors: type: array items: $ref: '#/definitions/Kapacitor' Kapacitor: type: object required: - name - url properties: id: type: string description: Unique identifier representing a kapacitor instance. readOnly: True name: type: string description: User facing name of kapacitor instance. username: type: string description: Username for authentication to kapacitor password: type: string description: Password in cleartext! url: type: string format: url description: URL for the kapacitor backend (e.g. http://localhost:9092) links: type: object properties: self: type: string description: Self link mapping to this resource format: url proxy: type: string description: URL location of proxy endpoint for this source format: url KapacitorProxy: description: Entirely used as the body for the request to the kapacitor backend. type: object KapacitorProxyResponse: description: Entire response from the kapacitor backend. type: object Sources: type: object required: - sources properties: sources: type: array items: $ref: '#/definitions/Source' Source: type: object required: - name - url properties: id: type: string description: Unique identifier representing a specific data source. readOnly: True name: type: string description: User facing name of data source type: type: string description: Format of the data source enum: - influx - influx-enterprise username: type: string description: Username for authentication to data source password: type: string description: Password in cleartext! url: type: string format: url description: URL for the time series data source backend (e.g. http://localhost:8086) default: type: boolean description: Indicates whether this source is the default source links: type: object properties: self: type: string description: Self link mapping to this resource format: url users: type: string description: URL location of users endpoint for this source format: url roles: type: string description: URL location of the roles endpoint for this source format: url proxy: type: string description: URL location of proxy endpoint for this source format: url permissions: type: string description: URL location of the permissions endpoint for this source format: url kapacitors: type: string description: URL location of the kapacitors endpoint for this source format: url monitored: type: string description: URL location of the monitored services endpoint for this source format: url Proxy: type: object required: - query properties: query: type: string db: type: string rp: type: string format: type: string enum: - raw default: raw ProxyResponse: type: object properties: results: description: results from influx type: object Explorations: type: object required: - explorations properties: explorations: type: array items: $ref: "#/definitions/Exploration" Exploration: type: object properties: created_at: type: string format: date-time updated_at: type: string format: date-time description: Latest time the exploration was updated. name: type: string description: Exploration name given by user. data: type: object description: Serialization of the exploration query configuration. link: $ref: "#/definitions/Link" Roles: type: object properties: roles: type: array items: $ref: "#/definitions/Role" Role: type: object required: - permissions - name properties: name: type: string maxLength: 64 permissions: $ref: '#/definitions/Permissions' users: $ref: "#/definitions/Users" link: $ref: "#/definitions/Link" Users: type: object properties: users: type: array items: $ref: "#/definitions/User" User: type: object required: - permissions - username properties: username: type: string maxLength: 64 permissions: $ref: '#/definitions/Permissions' roles: $ref: '#/definitions/Roles' link: $ref: "#/definitions/Link" Permissions: type: object properties: database: description: permissions are scoped to a specific database type: string permissions: type: array items: $ref: "#/definitions/Permission" Permission: type: string description: Specific access enum: - ViewAdmin - ViewChronograf - CreateDatabase - CreateUserAndRole - AddRemoveNode - DropDatabase - DropData - ReadData - WriteData - Rebalance - ManageShard AllPermissions: description: All Possible permission strings type: array items: $ref: "#/definitions/Permission" Dashboards: type: object properties: dashboards: type: array items: $ref: "#/definitions/Dashboard" Dashboard: type: object required: - cells properties: cells: type: array description: Cells are the individual visualization elements. items: $ref: "#/definitions/Cell" link: $ref: "#/definitions/Link" Cell: type: object properties: x: description: X-coordinate of Cell in the Dashboard type: integer format: int32 'y': description: Y-coordinate of Cell in the Dashboard type: integer format: int32 w: description: Width of Cell in the Dashboard type: integer format: int32 h: description: Height of Cell in the Dashboard type: integer format: int32 queries: description: Time-series data queries for Cell. type: array items: type: string Routes: type: object properties: users: description: Location of the users endpoint type: string format: url dashboards: description: Location of the dashboards endpoint type: string format: url sources: description: Location of the sources endpoint type: string format: url apps: description: Location of the apps endpoint type: string format: url Services: type: object properties: services: type: array items: $ref: "#/definitions/Service" Service: type: object properties: 'type': description: Type of service type: string enum: - containers - kubernetes - host tagKey: description: The key part of the key-value pair that makes up a tag. Used to identify a service type. type: string tagValue: description: The value part of the key-value pair that makes up a tag. type: string Links: type: object properties: links: type: array items: $ref: "#/definitions/Link" Link: type: object required: [rel, href] readOnly: true description: URI of resource. properties: rel: type: string href: type: string format: url Error: type: object properties: code: type: integer format: int32 message: type: string