Skip to content
Snippets Groups Projects
api-documentation.md 59.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • Cam Saul's avatar
    Cam Saul committed
    # API Documentation for Metabase v0.32.2
    
    
    ## `GET /api/activity/`
    
    Get recent activity.
    
    
    ## `GET /api/activity/recent_views`
    
    Get the list of 10 things the current user has been viewing most recently.
    
    
    
    Ryan Senior's avatar
    Ryan Senior committed
    ## `DELETE /api/alert/:id`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Delete an Alert. (DEPRECATED -- don't delete a Alert anymore -- archive it instead.)
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    ## `GET /api/alert/`
    
    Fetch all alerts
    
    
    Cam Saul's avatar
    Cam Saul committed
    ##### PARAMS:
    
    *  **`archived`** value may be nil, or if non-nil, value must be a valid boolean string ('true' or 'false').
    
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    ## `GET /api/alert/question/:id`
    
    Fetch all questions for the given question (`Card`) id
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    ## `POST /api/alert/`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Create a new Alert.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    ##### PARAMS:
    
    *  **`alert_condition`** value must be one of: `goal`, `rows`.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card`** value must be a map with the keys `id`, `include_csv`, and `include_xls`.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    *  **`channels`** value must be an array. Each value must be a map. The array cannot be empty.
    
    *  **`alert_first_only`** value must be a boolean.
    
    *  **`alert_above_goal`** value may be nil, or if non-nil, value must be a boolean.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`new-alert-request-body`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    ## `PUT /api/alert/:id`
    
    Update a `Alert` with ID.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`alert_condition`** value may be nil, or if non-nil, value must be one of: `goal`, `rows`.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card`** value may be nil, or if non-nil, value must be a map with the keys `id`, `include_csv`, and `include_xls`.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`channels`** value may be nil, or if non-nil, value must be an array. Each value must be a map. The array cannot be empty.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`alert_first_only`** value may be nil, or if non-nil, value must be a boolean.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    *  **`alert_above_goal`** value may be nil, or if non-nil, value must be a boolean.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`archived`** value may be nil, or if non-nil, value must be a boolean.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`alert-updates`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    ## `PUT /api/alert/:id/unsubscribe`
    
    Unsubscribes a user from the given alert
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    
    Cam Saul's avatar
    Cam Saul committed
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query`
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    Return an automagic dashboard for entity `entity` with id `ìd`.
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`show`** invalid show value
    
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/cell/:cell-query`
    
    Return an automagic dashboard analyzing cell in  automagic dashboard for entity `entity`
       defined by
       query `cell-querry`.
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`cell-query`** value couldn't be parsed as base64 encoded JSON
    
    *  **`show`** invalid show value
    
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/cell/:cell-query/compare/:comparison-entity/:comparison-entity-id-or-query`
    
    Return an automagic comparison dashboard for cell in automagic dashboard for entity `entity`
       with id `ìd` defined by query `cell-querry`; compared with entity `comparison-entity` with id
       `comparison-entity-id-or-query.`.
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`cell-query`** value couldn't be parsed as base64 encoded JSON
    
    *  **`show`** invalid show value
    
    *  **`comparison-entity`** Invalid comparison entity type. Can only be one of "table", "segment", or "adhoc"
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`comparison-entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/cell/:cell-query/rule/:prefix/:rule`
    
    Return an automagic dashboard analyzing cell in question  with id `id` defined by
       query `cell-querry` using rule `rule`.
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`cell-query`** value couldn't be parsed as base64 encoded JSON
    
    *  **`prefix`** invalid value for prefix
    
    *  **`rule`** invalid value for rule name
    
    *  **`show`** invalid show value
    
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/cell/:cell-query/rule/:prefix/:rule/compare/:comparison-entity/:comparison-entity-id-or-query`
    
    Return an automagic comparison dashboard for cell in automagic dashboard for entity `entity`
       with id `ìd` defined by query `cell-querry` using rule `rule`; compared with entity
       `comparison-entity` with id `comparison-entity-id-or-query.`.
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`cell-query`** value couldn't be parsed as base64 encoded JSON
    
    *  **`prefix`** invalid value for prefix
    
    *  **`rule`** invalid value for rule name
    
    *  **`show`** invalid show value
    
    *  **`comparison-entity`** Invalid comparison entity type. Can only be one of "table", "segment", or "adhoc"
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`comparison-entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/compare/:comparison-entity/:comparison-entity-id-or-query`
    
    Return an automagic comparison dashboard for entity `entity` with id `ìd` compared with entity
       `comparison-entity` with id `comparison-entity-id-or-query.`
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`show`** invalid show value
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`comparison-entity`** Invalid comparison entity type. Can only be one of "table", "segment", or "adhoc"
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`comparison-entity-id-or-query`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    Cam Saul's avatar
    Cam Saul committed
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/rule/:prefix/:rule`
    
    Return an automagic dashboard for entity `entity` with id `ìd` using rule `rule`.
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`prefix`** invalid value for prefix
    
    *  **`rule`** invalid value for rule name
    
    *  **`show`** invalid show value
    
    
    ## `GET /api/automagic-dashboards/:entity/:entity-id-or-query/rule/:prefix/:rule/compare/:comparison-entity/:comparison-entity-id-or-query`
    
    Return an automagic comparison dashboard for entity `entity` with id `ìd` using rule `rule`;
       compared with entity `comparison-entity` with id `comparison-entity-id-or-query.`.
    
    ##### PARAMS:
    
    *  **`entity`** Invalid entity type
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    *  **`prefix`** invalid value for prefix
    
    *  **`rule`** invalid value for rule name
    
    *  **`show`** invalid show value
    
    *  **`comparison-entity`** Invalid comparison entity type. Can only be one of "table", "segment", or "adhoc"
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`comparison-entity-id-or-query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    
    ## `GET /api/automagic-dashboards/database/:id/candidates`
    
    Return a list of candidates for automagic dashboards orderd by interestingness.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    ## `DELETE /api/card/:card-id/favorite`
    
    Unfavorite a Card.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-id`** 
    
    ## `DELETE /api/card/:card-id/public_link`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Delete the publicly-accessible link to this Card.
    
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-id`** 
    
    ## `DELETE /api/card/:id`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Delete a Card. (DEPRECATED -- don't delete a Card anymore -- archive it instead.)
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    Get all the Cards. Option filter param `f` can be used to change the set of Cards that are returned; default is
    
      `all`, but other options include `mine`, `fav`, `database`, `table`, `recent`, `popular`, and `archived`. See
      corresponding implementation functions above for the specific behavior of each filter option. :card_index:
    
    *  **`f`** value may be nil, or if non-nil, value must be one of: `all`, `archived`, `database`, `fav`, `mine`, `popular`, `recent`, `table`.
    
    
    *  **`model_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    ## `GET /api/card/:id`
    
    Get `Card` with ID.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    ## `GET /api/card/:id/related`
    
    Return related entities.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    ## `GET /api/card/embeddable`
    
    
    Fetch a list of Cards where `enable_embedding` is `true`. The cards can be embedded using the embedding endpoints
      and a signed JWT.
    
    
    You must be a superuser to do this.
    
    
    ## `GET /api/card/public`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch a list of Cards with public UUIDs. These cards are publicly-accessible *if* public sharing is enabled.
    
    
    You must be a superuser to do this.
    
    
    
    ## `POST /api/card/`
    
    Create a new `Card`.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`visualization_settings`** value must be a map.
    
    *  **`description`** value may be nil, or if non-nil, value must be a non-blank string.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection_position`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    Ryan Senior's avatar
    Ryan Senior committed
    *  **`result_metadata`** value may be nil, or if non-nil, value must be an array of valid results column metadata maps.
    
    *  **`metadata_checksum`** value may be nil, or if non-nil, value must be a non-blank string.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`name`** value must be a non-blank string.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dataset_query`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`display`** value must be a non-blank string.
    
    Cam Saul's avatar
    Cam Saul committed
    ## `POST /api/card/:card-id/favorite`
    
    Cam Saul's avatar
    Cam Saul committed
    Favorite a Card.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-id`** 
    
    ## `POST /api/card/:card-id/public_link`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Generate publicly-accessible links for this Card. Returns UUID to be used in public links. (If this Card has
    
      already been shared, it will return the existing public link rather than creating a new one.)  Public sharing must
      be enabled.
    
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-id`** 
    
    ## `POST /api/card/:card-id/query`
    
    Run the query associated with a Card.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`parameters`** 
    
    *  **`ignore_cache`** value may be nil, or if non-nil, value must be a boolean.
    
    
    ## `POST /api/card/:card-id/query/:export-format`
    
    Run the query associated with a Card, and return its results as a file in the specified format. Note that this
      expects the parameters as serialized JSON in the 'parameters' parameter
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-id`** 
    
    *  **`export-format`** value must be one of: `csv`, `json`, `xlsx`.
    
    
    *  **`parameters`** value may be nil, or if non-nil, value must be a valid JSON string.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`respond`** 
    
    *  **`raise`** 
    
    
    ## `POST /api/card/collections`
    
    
    Bulk update endpoint for Card Collections. Move a set of `Cards` with CARD_IDS into a `Collection` with
      COLLECTION_ID, or remove them from any Collections by passing a `null` COLLECTION_ID.
    
    
    ##### PARAMS:
    
    *  **`card_ids`** value must be an array. Each value must be an integer greater than zero.
    
    *  **`collection_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    
    Cam Saul's avatar
    Cam Saul committed
    ## `POST /api/card/related`
    
    Return related entities for an ad-hoc query.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`query`** 
    
    ## `PUT /api/card/:id`
    
    Update a `Card`.
    
    ##### PARAMS:
    
    
    *  **`visualization_settings`** value may be nil, or if non-nil, value must be a map.
    
    *  **`description`** value may be nil, or if non-nil, value must be a string.
    
    *  **`archived`** value may be nil, or if non-nil, value must be a boolean.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection_position`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    Ryan Senior's avatar
    Ryan Senior committed
    *  **`result_metadata`** value may be nil, or if non-nil, value must be an array of valid results column metadata maps.
    
    *  **`metadata_checksum`** value may be nil, or if non-nil, value must be a non-blank string.
    
    
    *  **`enable_embedding`** value may be nil, or if non-nil, value must be a boolean.
    
    *  **`collection_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`card-updates`** 
    
    *  **`name`** value may be nil, or if non-nil, value must be a non-blank string.
    
    
    *  **`embedding_params`** value may be nil, or if non-nil, value must be a valid embedding params map.
    
    *  **`dataset_query`** value may be nil, or if non-nil, value must be a map.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    *  **`display`** value may be nil, or if non-nil, value must be a non-blank string.
    
    
    
    ## `GET /api/collection/`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch a list of all Collections that the current user has read permissions for (`:can_write` is returned as an
      additional property of each Collection so you can tell which of these you have write permissions for.)
    
    Cam Saul's avatar
    Cam Saul committed
      By default, this returns non-archived Collections, but instead you can show archived ones by passing
      `?archived=true`.
    
    *  **`archived`** value may be nil, or if non-nil, value must be a valid boolean string ('true' or 'false').
    
    
    
    ## `GET /api/collection/:id`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch a specific Collection with standard details added
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    
    ## `GET /api/collection/:id/items`
    
    Fetch a specific Collection's items with the following options:
    
      *  `model` - only include objects of a specific `model`. If unspecified, returns objects of all models
      *  `archived` - when `true`, return archived objects *instead* of unarchived ones. Defaults to `false`.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`model`** value may be nil, or if non-nil, value must be one of: `card`, `collection`, `dashboard`, `pulse`.
    
    *  **`archived`** value may be nil, or if non-nil, value must be a valid boolean string ('true' or 'false').
    
    
    
    ## `GET /api/collection/graph`
    
    Fetch a graph of all Collection Permissions.
    
    
    You must be a superuser to do this.
    
    
    Cam Saul's avatar
    Cam Saul committed
    ## `GET /api/collection/root`
    
    Return the 'Root' Collection object with standard details added
    
    
    ## `GET /api/collection/root/items`
    
    Fetch objects that the current user should see at their root level. As mentioned elsewhere, the 'Root' Collection
      doesn't actually exist as a row in the application DB: it's simply a virtual Collection where things with no
      `collection_id` exist. It does, however, have its own set of Permissions.
    
      This endpoint will actually show objects with no `collection_id` for Users that have Root Collection
      permissions, but for people without Root Collection perms, we'll just show the objects that have an effective
      location of `/`.
    
      This endpoint is intended to power a 'Root Folder View' for the Current User, so regardless you'll see all the
      top-level objects you're allowed to access.
    
    ##### PARAMS:
    
    *  **`model`** value may be nil, or if non-nil, value must be one of: `card`, `collection`, `dashboard`, `pulse`.
    
    *  **`archived`** value may be nil, or if non-nil, value must be a valid boolean string ('true' or 'false').
    
    
    
    ## `POST /api/collection/`
    
    Create a new Collection.
    
    ##### PARAMS:
    
    *  **`name`** value must be a non-blank string.
    
    *  **`color`** value must be a string that matches the regex `^#[0-9A-Fa-f]{6}$`.
    
    *  **`description`** value may be nil, or if non-nil, value must be a non-blank string.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`parent_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    Cam Saul's avatar
    Cam Saul committed
    ## `PUT /api/collection/:id`
    
    Cam Saul's avatar
    Cam Saul committed
    Modify an existing Collection, including archiving or unarchiving it, or moving it.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`name`** value may be nil, or if non-nil, value must be a non-blank string.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`color`** value may be nil, or if non-nil, value must be a string that matches the regex `^#[0-9A-Fa-f]{6}$`.
    
    
    *  **`description`** value may be nil, or if non-nil, value must be a non-blank string.
    
    *  **`archived`** value may be nil, or if non-nil, value must be a boolean.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`parent_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection-updates`** 
    
    
    ## `PUT /api/collection/graph`
    
    Do a batch update of Collections Permissions by passing in a modified graph.
    
    
    You must be a superuser to do this.
    
    
    ##### PARAMS:
    
    *  **`body`** value must be a map.
    
    
    ## `DELETE /api/dashboard/:dashboard-id/public_link`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Delete the publicly-accessible link to this Dashboard.
    
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dashboard-id`** 
    
    ## `DELETE /api/dashboard/:id`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Delete a Dashboard.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    
    ## `DELETE /api/dashboard/:id/cards`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Remove a DashboardCard from a Dashboard.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    *  **`dashcardId`** value must be a valid integer greater than zero.
    
    
    
    ## `DELETE /api/dashboard/:id/favorite`
    
    Unfavorite a Dashboard.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    ## `GET /api/dashboard/`
    
    Get `Dashboards`. With filter option `f` (default `all`), restrict results as follows:
    
    
      *  `all`      - Return all Dashboards.
      *  `mine`     - Return Dashboards created by the current user.
      *  `archived` - Return Dashboards that have been archived. (By default, these are *excluded*.)
    
    *  **`f`** value may be nil, or if non-nil, value must be one of: `all`, `archived`, `mine`.
    
    Cam Saul's avatar
    Cam Saul committed
    Get Dashboard with `id`.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    ## `GET /api/dashboard/:id/related`
    
    Return related entities.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    ## `GET /api/dashboard/:id/revisions`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch Revisions for Dashboard with `id`.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    ## `GET /api/dashboard/embeddable`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch a list of Dashboards where `enable_embedding` is `true`. The dashboards can be embedded using the embedding
      endpoints and a signed JWT.
    
    
    You must be a superuser to do this.
    
    
    ## `GET /api/dashboard/public`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch a list of Dashboards with public UUIDs. These dashboards are publicly-accessible *if* public sharing is
      enabled.
    
    
    You must be a superuser to do this.
    
    
    
    ## `POST /api/dashboard/`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Create a new Dashboard.
    
    
    ##### PARAMS:
    
    *  **`name`** value must be a non-blank string.
    
    
    Ryan Senior's avatar
    Ryan Senior committed
    *  **`description`** value may be nil, or if non-nil, value must be a string.
    
    
    *  **`parameters`** value must be an array. Each value must be a map.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    *  **`collection_position`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dashboard`** 
    
    ## `POST /api/dashboard/:dashboard-id/public_link`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Generate publicly-accessible links for this Dashboard. Returns UUID to be used in public links. (If this
      Dashboard has already been shared, it will return the existing public link rather than creating a new one.) Public
      sharing must be enabled.
    
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dashboard-id`** 
    
    
    ## `POST /api/dashboard/:from-dashboard-id/copy`
    
    Copy a Dashboard.
    
    ##### PARAMS:
    
    *  **`from-dashboard-id`** 
    
    *  **`name`** value may be nil, or if non-nil, value must be a non-blank string.
    
    *  **`description`** value may be nil, or if non-nil, value must be a string.
    
    *  **`collection_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    *  **`collection_position`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    *  **`dashboard`** 
    
    ## `POST /api/dashboard/:id/cards`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Add a Card to a Dashboard.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`cardId`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    *  **`parameter_mappings`** value must be an array. Each value must be a map.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`series`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dashboard-card`** 
    
    ## `POST /api/dashboard/:id/favorite`
    
    Favorite a Dashboard.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    ## `POST /api/dashboard/:id/revert`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Revert a Dashboard to a prior Revision.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    *  **`revision_id`** value must be an integer greater than zero.
    
    
    
    Cam Saul's avatar
    Cam Saul committed
    ## `POST /api/dashboard/save`
    
    Save a denormalized description of dashboard.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dashboard`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    
    ## `POST /api/dashboard/save/collection/:parent-collection-id`
    
    Save a denormalized description of dashboard into collection with ID `:parent-collection-id`.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`parent-collection-id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dashboard`** 
    
    ## `PUT /api/dashboard/:id`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Update a Dashboard.
    
    Cam Saul's avatar
    Cam Saul committed
      Usually, you just need write permissions for this Dashboard to do this (which means you have appropriate
      permissions for the Cards belonging to this Dashboard), but to change the value of `enable_embedding` you must be a
      superuser.
    
    *  **`parameters`** value may be nil, or if non-nil, value must be an array. Each value must be a map.
    
    *  **`points_of_interest`** value may be nil, or if non-nil, value must be a string.
    
    *  **`description`** value may be nil, or if non-nil, value must be a string.
    
    *  **`archived`** value may be nil, or if non-nil, value must be a boolean.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection_position`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    *  **`show_in_getting_started`** value may be nil, or if non-nil, value must be a boolean.
    
    *  **`enable_embedding`** value may be nil, or if non-nil, value must be a boolean.
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`collection_id`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`dash-updates`** 
    
    *  **`name`** value may be nil, or if non-nil, value must be a non-blank string.
    
    *  **`caveats`** value may be nil, or if non-nil, value must be a string.
    
    *  **`embedding_params`** value may be nil, or if non-nil, value must be a valid embedding params map.
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    *  **`position`** value may be nil, or if non-nil, value must be an integer greater than zero.
    
    
    
    ## `PUT /api/dashboard/:id/cards`
    
    
    Cam Saul's avatar
    Cam Saul committed
    Update Cards on a Dashboard. Request body should have the form:
    
        {:cards [{:id     ...
                  :sizeX  ...
                  :sizeY  ...
                  :row    ...
                  :col    ...
    
                  :series [{:id 123
                            ...}]} ...]}
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`cards`** 
    
    
    
    ## `DELETE /api/database/:id`
    
    Delete a `Database`.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    Fetch all `Databases`. `include_tables` means we should hydrate the Tables belonging to each DB. `include_cards` here
      means we should also include virtual Table entries for saved Questions, e.g. so we can easily use them as source
      Tables in queries. Default for both is `false`.
    
    Ryan Senior's avatar
    Ryan Senior committed
    *  **`include_tables`** value may be nil, or if non-nil, value must be a valid boolean string ('true' or 'false').
    
    *  **`include_cards`** value may be nil, or if non-nil, value must be a valid boolean string ('true' or 'false').
    
    
    
    ## `GET /api/database/:id`
    
    Get `Database` with ID.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    
    ## `GET /api/database/:id/autocomplete_suggestions`
    
    Return a list of autocomplete suggestions for a given PREFIX.
       This is intened for use with the ACE Editor when the User is typing raw SQL.
       Suggestions include matching `Tables` and `Fields` in this `Database`.
    
       Tables are returned in the format `[table_name "Table"]`;
       Fields are returned in the format `[field_name "table_name base_type special_type"]`
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    *  **`prefix`** value must be a non-blank string.
    
    
    ## `GET /api/database/:id/fields`
    
    Get a list of all `Fields` in `Database`.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    
    ## `GET /api/database/:id/idfields`
    
    Get a list of all primary key `Fields` for `Database`.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    
    ## `GET /api/database/:id/metadata`
    
    Get metadata about a `Database`, including all of its `Tables` and `Fields`.
       Returns DB, fields, and field values.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    ## `GET /api/database/:id/schema/:schema`
    
    Returns a list of tables for the given database `id` and `schema`
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`schema`** 
    
    Cam Saul's avatar
    Cam Saul committed
    
    
    ## `GET /api/database/:id/schemas`
    
    Returns a list of all the schemas found for the database `id`
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    ## `GET /api/database/:virtual-db/metadata`
    
    Endpoint that provides metadata for the Saved Questions 'virtual' database. Used for fooling the frontend
       and allowing it to treat the Saved Questions virtual DB just like any other database.
    
    
    
    ## `POST /api/database/`
    
    Add a new `Database`.
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    *  **`name`** value must be a non-blank string.
    
    *  **`engine`** value must be a valid database engine.
    
    *  **`details`** value must be a map.
    
    
    Ryan Senior's avatar
    Ryan Senior committed
    *  **`is_full_sync`** value may be nil, or if non-nil, value must be a boolean.
    
    *  **`is_on_demand`** value may be nil, or if non-nil, value must be a boolean.
    
    *  **`schedules`** value may be nil, or if non-nil, value must be a valid map of schedule maps for a DB.
    
    
    ## `POST /api/database/:id/discard_values`
    
    Discards all saved field values for this `Database`.
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    ## `POST /api/database/:id/rescan_values`
    
    Trigger a manual scan of the field values for this `Database`.
    
    You must be a superuser to do this.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    
    
    ## `POST /api/database/:id/sync`
    
    
    Ryan Senior's avatar
    Ryan Senior committed
    Update the metadata for this `Database`. This happens asynchronously.
    
    ##### PARAMS:
    
    
    Cam Saul's avatar
    Cam Saul committed
    *  **`id`** 
    
    Ryan Senior's avatar
    Ryan Senior committed
    
    
    ## `POST /api/database/:id/sync_schema`
    
    Trigger a manual update of the schema metadata for this `Database`.
    
    You must be a superuser to do this.