Baserow Dashboard data sources API

The Dashboard data sources API from Baserow — 3 operation(s) for dashboard data sources.

OpenAPI Specification

baserow-dashboard-data-sources-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Baserow API spec Admin Dashboard data sources API
  version: 2.2.2
  description: 'For more information about our REST API, please visit [this page](https://baserow.io/docs/apis%2Frest-api).


    For more information about our deprecation policy, please visit [this page](https://baserow.io/docs/apis%2Fdeprecations).'
  contact:
    url: https://baserow.io/contact
  license:
    name: MIT
    url: https://github.com/baserow/baserow/blob/develop/LICENSE
tags:
- name: Dashboard data sources
paths:
  /api/dashboard/{dashboard_id}/data-sources/:
    get:
      operationId: list_dashboard_data_sources
      description: Lists all the data sources of the dashboard if the user has access to the related dashboard's workspace.
      parameters:
      - in: path
        name: dashboard_id
        schema:
          type: integer
        description: Returns only the data sources of the dashboard related to the provided Id.
        required: true
      tags:
      - Dashboard data sources
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Integration_ServiceDashboardDataSource'
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_PERMISSION_DENIED
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_DASHBOARD_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
  /api/dashboard/data-sources/{data_source_id}/:
    patch:
      operationId: update_dashboard_data_source
      description: Updates an existing dashboard data source.
      parameters:
      - in: header
        name: ClientSessionId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular client session. Then using the undo/redo endpoints with the same ClientSessionId header this action can be undone/redone.
      - in: header
        name: ClientUndoRedoActionGroupId
        schema:
          type: string
          format: uuid
        description: An optional header that marks the action performed by this request as having occurred in a particular action group.Then calling the undo/redo endpoint with the same ClientSessionId header, all the actions belonging to the same action group can be undone/redone together in a single API call.
      - in: path
        name: data_source_id
        schema:
          type: integer
        description: The id of the dashboard data source.
        required: true
      tags:
      - Dashboard data sources
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedIntegration_ServiceUpdateDashboardDataSource'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedIntegration_ServiceUpdateDashboardDataSource'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedIntegration_ServiceUpdateDashboardDataSource'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Integration_ServiceDashboardDataSource'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_REQUEST_BODY_VALIDATION
                    - ERROR_SERVICE_INVALID_TYPE
                    - ERROR_SERVICE_CONFIGURATION_NOT_ALLOWED
                    - ERROR_DASHBOARD_DATA_SOURCE_CANNOT_USE_SERVICE_TYPE
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_PERMISSION_DENIED
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_DASHBOARD_DATA_SOURCE_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
  /api/dashboard/data-sources/{data_source_id}/dispatch/:
    post:
      operationId: dispatch_dashboard_data_source
      description: Dispatches the service of the related data source and returns the result.
      parameters:
      - in: path
        name: data_source_id
        schema:
          type: integer
        description: The id of the data source you want to call the dispatch for
        required: true
      tags:
      - Dashboard data sources
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_DASHBOARD_DATA_SOURCE_DOES_NOT_EXIST
                    - ERROR_DASHBOARD_DATA_DOES_NOT_EXIST
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_DASHBOARD_DATA_SOURCE_IMPROPERLY_CONFIGURED
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
        '401':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_PERMISSION_DENIED
                  detail:
                    oneOf:
                    - type: string
                      format: string
                      description: Human readable details about what went wrong.
                    - type: object
                      format: object
                      description: Machine readable object about what went wrong.
          description: ''
components:
  schemas:
    LocalBaserowListRowsDashboardDataSource:
      type: object
      description: 'A serializer mixin for services which implement the local Baserow filterable mixin.

        It ensures that when serialize the service, *all* filters (including those pointing

        to trashed fields) are serialized.'
      properties:
        id:
          type: integer
          readOnly: true
          description: Data source id.
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration we want the data for.
        type:
          type: string
          readOnly: true
          description: The type of the data source.
        schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema of the service.
        context_data:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The context data of the service.
        context_data_schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema context data of the service.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
        name:
          type: string
          readOnly: true
          description: Human name for this data source.
        dashboard_id:
          type: integer
          readOnly: true
          description: Dashboard this data source is linked to.
        order:
          type: string
          readOnly: true
          description: Lowest first.
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
        view_id:
          type: integer
          nullable: true
          description: The id of the Baserow view we want the data for.
        filter_type:
          allOf:
          - $ref: '#/components/schemas/ConditionTypeEnum'
          description: 'Indicates whether all the rows should apply to all filters (AND) or to any filter (OR).


            * `AND` - And

            * `OR` - Or'
        search_query:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: Any search queries to apply to the service when it is dispatched.
        default_result_count:
          type: integer
          maximum: 2147483647
          minimum: 0
          description: The default record count returned with each page.
      required:
      - context_data
      - context_data_schema
      - dashboard_id
      - id
      - name
      - order
      - sample_data
      - schema
      - type
    CoreSMTPEmailServiceDashboardDataSource:
      type: object
      description: 'Basic data source serializer mostly for returned values.

        This serializer flatten the service properties so that from

        an API POV only the data source object exists.'
      properties:
        id:
          type: integer
          readOnly: true
          description: Data source id.
        integration_id:
          type: integer
          nullable: true
          description: The id of the SMTP integration.
        type:
          type: string
          readOnly: true
          description: The type of the data source.
        schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema of the service.
        context_data:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The context data of the service.
        context_data_schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema context data of the service.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
        name:
          type: string
          readOnly: true
          description: Human name for this data source.
        dashboard_id:
          type: integer
          readOnly: true
          description: Dashboard this data source is linked to.
        order:
          type: string
          readOnly: true
          description: Lowest first.
        use_instance_smtp_settings:
          type: boolean
          default: false
          description: Whether to use the instance-level Django SMTP configuration.
        instance_smtp_settings_enabled:
          type: boolean
          readOnly: true
          description: Whether the instance SMTP configuration can be used and should be the default option in the UI.
        from_email:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The sender's email address.
        from_name:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The sender's name.
        to_emails:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: Comma-separated list of recipient email addresses.
        cc_emails:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: Comma-separated list of CC email addresses.
        bcc_emails:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: Comma-separated list of BCC email addresses.
        subject:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The email subject.
        body_type:
          allOf:
          - $ref: '#/components/schemas/BodyTypeD6eEnum'
          default: plain
          description: 'The type of the email body (plain text or HTML).


            * `plain` - Plain Text

            * `html` - HTML'
        body:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The email body content.
      required:
      - context_data
      - context_data_schema
      - dashboard_id
      - id
      - instance_smtp_settings_enabled
      - name
      - order
      - sample_data
      - schema
      - type
    AIAgentServiceUpdateDashboardDataSource:
      type: object
      properties:
        integration_id:
          type: integer
          nullable: true
          description: The ID of the AI integration to use for this service.
        name:
          type: string
        ai_generative_ai_type:
          type: string
          nullable: true
          description: The generative AI provider type (e.g., 'openai', 'anthropic').
        ai_generative_ai_model:
          type: string
          nullable: true
          description: The specific AI model to use (e.g., 'gpt-4', 'claude-3-opus').
        ai_output_type:
          allOf:
          - $ref: '#/components/schemas/AiOutputType5efEnum'
          default: text
          description: 'The output type: ''text'' for raw text, ''choice'' for constrained selection.


            * `text` - Text

            * `choice` - Choice'
        ai_temperature:
          type: number
          format: double
          maximum: 2
          minimum: 0
          nullable: true
          description: Temperature for response randomness (0-2). Lower is more focused.
        ai_prompt:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The prompt to send to the AI model. Can be a formula.
        ai_choices:
          type: array
          items:
            type: string
          description: List of choice options for 'choice' output type.
    LocalBaserowGroupedAggregateRowsDashboardDataSource:
      type: object
      description: 'A serializer mixin for services which implement the local Baserow filterable mixin.

        It ensures that when serialize the service, *all* filters (including those pointing

        to trashed fields) are serialized.'
      properties:
        id:
          type: integer
          readOnly: true
          description: Data source id.
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration we want the data for.
        type:
          type: string
          readOnly: true
          description: The type of the data source.
        schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema of the service.
        context_data:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The context data of the service.
        context_data_schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema context data of the service.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
        name:
          type: string
          readOnly: true
          description: Human name for this data source.
        dashboard_id:
          type: integer
          readOnly: true
          description: Dashboard this data source is linked to.
        order:
          type: string
          readOnly: true
          description: Lowest first.
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
        view_id:
          type: integer
          nullable: true
          description: The id of the Baserow view we want the data for.
        filter_type:
          allOf:
          - $ref: '#/components/schemas/ConditionTypeEnum'
          description: 'Indicates whether all the rows should apply to all filters (AND) or to any filter (OR).


            * `AND` - And

            * `OR` - Or'
        aggregation_series:
          type: array
          items:
            $ref: '#/components/schemas/LocalBaserowTableServiceAggregationSeries'
        aggregation_group_bys:
          type: array
          items:
            $ref: '#/components/schemas/LocalBaserowTableServiceAggregationGroupBy'
        aggregation_sorts:
          type: array
          items:
            $ref: '#/components/schemas/LocalBaserowTableServiceAggregationSortBy'
      required:
      - context_data
      - context_data_schema
      - dashboard_id
      - id
      - name
      - order
      - sample_data
      - schema
      - type
    SlackWriteMessageServiceDashboardDataSource:
      type: object
      description: 'Basic data source serializer mostly for returned values.

        This serializer flatten the service properties so that from

        an API POV only the data source object exists.'
      properties:
        id:
          type: integer
          readOnly: true
          description: Data source id.
        integration_id:
          type: integer
          nullable: true
          description: The id of the Slack bot integration.
        type:
          type: string
          readOnly: true
          description: The type of the data source.
        schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema of the service.
        context_data:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The context data of the service.
        context_data_schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema context data of the service.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
        name:
          type: string
          readOnly: true
          description: Human name for this data source.
        dashboard_id:
          type: integer
          readOnly: true
          description: Dashboard this data source is linked to.
        order:
          type: string
          readOnly: true
          description: Lowest first.
        channel:
          type: string
          default: ''
          description: The Slack channel ID where the message will be sent.
        text:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The text content of the Slack message.
      required:
      - context_data
      - context_data_schema
      - dashboard_id
      - id
      - name
      - order
      - sample_data
      - schema
      - type
    LocalBaserowTableServiceAggregationSortBy:
      type: object
      properties:
        order:
          type: integer
          readOnly: true
        sort_on:
          $ref: '#/components/schemas/SortOnEnum'
        reference:
          type: string
          maxLength: 255
        direction:
          $ref: '#/components/schemas/DirectionEnum'
      required:
      - direction
      - order
      - reference
      - sort_on
    LocalBaserowRowsUpdatedDashboardDataSource:
      type: object
      description: 'Basic data source serializer mostly for returned values.

        This serializer flatten the service properties so that from

        an API POV only the data source object exists.'
      properties:
        id:
          type: integer
          readOnly: true
          description: Data source id.
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration we want the data for.
        type:
          type: string
          readOnly: true
          description: The type of the data source.
        schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema of the service.
        context_data:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The context data of the service.
        context_data_schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema context data of the service.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
        name:
          type: string
          readOnly: true
          description: Human name for this data source.
        dashboard_id:
          type: integer
          readOnly: true
          description: Dashboard this data source is linked to.
        order:
          type: string
          readOnly: true
          description: Lowest first.
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
      required:
      - context_data
      - context_data_schema
      - dashboard_id
      - id
      - name
      - order
      - sample_data
      - schema
      - type
    CorePeriodicServiceUpdateDashboardDataSource:
      type: object
      properties:
        integration_id:
          type: integer
          nullable: true
          description: The related integration id.
        name:
          type: string
        interval:
          allOf:
          - $ref: '#/components/schemas/Interval3bdEnum'
          description: 'The interval frequency for running the service.


            * `MINUTE` - MINUTE

            * `HOUR` - HOUR

            * `DAY` - DAY

            * `WEEK` - WEEK

            * `MONTH` - MONTH'
        minute:
          type: integer
          maximum: 59
          minimum: 0
          nullable: true
          description: The minute of the hour when to run (0-59). Required for hourly, daily, weekly, monthly intervals.
        hour:
          type: integer
          maximum: 23
          minimum: 0
          nullable: true
          description: The hour of the day when to run (0-23). Required for daily, weekly, monthly intervals.
        day_of_week:
          type: integer
          maximum: 6
          minimum: 0
          nullable: true
          description: The day of the week when to run (0=Monday, 6=Sunday). Required for weekly intervals.
        day_of_month:
          type: integer
          maximum: 31
          minimum: 1
          nullable: true
          description: The day of the month when to run (1-31). Required for monthly intervals.
        next_run_at:
          type: string
          format: date-time
          nullable: true
          description: The next scheduled time for this service to run. Automatically calculated based on the interval and schedule fields.
      required:
      - interval
    CoreHTTPRequestServiceUpdateDashboardDataSource:
      type: object
      properties:
        integration_id:
          type: integer
          nullable: true
          description: The related integration id.
        name:
          type: string
        http_method:
          allOf:
          - $ref: '#/components/schemas/HttpMethodEnum'
          default: GET
          description: 'The HTTP method to use for the request (e.g., GET, POST).


            * `GET` - GET

            * `POST` - POST

            * `PUT` - PUT

            * `DELETE` - DELETE

            * `PATCH` - PATCH

            * `HEAD` - HEAD

            * `OPTIONS` - OPTIONS'
        url:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The URL to which the HTTP request will be sent.
        headers:
          type: array
          items:
            $ref: '#/components/schemas/HTTPHeader'
          description: The headers for the request.
        query_params:
          type: array
          items:
            $ref: '#/components/schemas/HTTPQueryParam'
          description: The query params for the request.
        form_data:
          type: array
          items:
            $ref: '#/components/schemas/HTTPFormData'
          description: The form data for the request.
        body_type:
          allOf:
          - $ref: '#/components/schemas/BodyType870Enum'
          default: none
          description: 'The type of the body content (e.g., JSON, Form Data).


            * `json` - JSON

            * `form` - Form Data

            * `raw` - Raw

            * `none` - None'
        body_content:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The content of the body of the HTTP request.
        timeout:
          type: integer
          maximum: 120
          minimum: 1
          description: The timeout for the HTTP request in seconds.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
      required:
      - sample_data
    LocalBaserowRowsUpdatedUpdateDashboardDataSource:
      type: object
      properties:
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration we want the data for.
        name:
          type: string
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
    LocalBaserowRowsCreatedUpdateDashboardDataSource:
      type: object
      properties:
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration we want the data for.
        name:
          type: string
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
    HTTPFormData:
      type: object
      description: Serializer for the Form data model.
      properties:
        id:
          type: integer
          readOnly: true
        key:
          type: string
          maxLength: 255
        value:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
      required:
      - id
      - key
    CorePeriodicServiceDashboardDataSource:
      type: object
      description: 'Basic data source serializer mostly for returned values.

        This serializer flatten the service properties so that from

        an API POV only the data source object exists.'
      properties:
        id:
          type: integer
          readOnly: true
          description: Data source id.
        integration_id:
          type: integer
          nullable: true
          description: The integration used to establish the connection with the service.
          readOnly: true
        type:
          type: string
          readOnly: true
          description: The type of the data source.
        schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema of the service.
        context_data:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The context data of the service.
        context_data_schema:
          type: object
          additionalProperties: {}
          readOnly: true
          description: The schema context data of the service.
        sample_data:
          readOnly: true
          nullable: true
          description: Store the sample data used for generating a schema.
        name:
          type: string
          readOnly: true
          description: Human name for this data source.
        dashboard_id:
          type: integer
          readOnly: true
          description: Dashboard this data source is linked to.


# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/baserow/refs/heads/main/openapi/baserow-dashboard-data-sources-api-openapi.yml