Baserow Automation nodes API

The Automation nodes API from Baserow — 6 operation(s) for automation nodes.

OpenAPI Specification

baserow-automation-nodes-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Baserow API spec Admin Automation nodes 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: Automation nodes
paths:
  /api/automation/node/{node_id}/:
    patch:
      operationId: update_automation_node
      description: Updates an existing automation node.
      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: path
        name: node_id
        schema:
          type: integer
        description: The id of the node to update.
        required: true
      tags:
      - Automation nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedAutomation_Node_TypeUpdateAutomationNode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedAutomation_Node_TypeUpdateAutomationNode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedAutomation_Node_TypeUpdateAutomationNode'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          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
                  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_AUTOMATION_NODE_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: ''
    delete:
      operationId: delete_automation_node
      description: Deletes an existing automation node.
      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: path
        name: node_id
        schema:
          type: integer
        description: The id of the node to delete.
        required: true
      tags:
      - Automation nodes
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '204':
          description: No response body
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_REQUEST_BODY_VALIDATION
                  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_AUTOMATION_NODE_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/automation/node/{node_id}/duplicate/:
    post:
      operationId: duplicate_automation_node
      description: Duplicate a node of a workflow.
      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: path
        name: node_id
        schema:
          type: integer
        description: The node that is to be duplicated.
        required: true
      tags:
      - Automation nodes
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_AUTOMATION_NODE_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/automation/node/{node_id}/move/:
    post:
      operationId: move_automation_node
      description: Move a node in a workflow to a new position.
      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: path
        name: node_id
        schema:
          type: integer
        description: The node that is to be moved.
        required: true
      tags:
      - Automation nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveAutomationNode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MoveAutomationNode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MoveAutomationNode'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_AUTOMATION_NODE_NOT_MOVABLE
                  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_AUTOMATION_NODE_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/automation/node/{node_id}/replace/:
    post:
      operationId: replace_automation_node
      description: Replace a node in a workflow with one of a new type.
      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: path
        name: node_id
        schema:
          type: integer
        description: The node that is to be replaced.
        required: true
      tags:
      - Automation nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReplaceAutomationNode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ReplaceAutomationNode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ReplaceAutomationNode'
        required: true
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_AUTOMATION_NODE_NOT_REPLACEABLE
                  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_AUTOMATION_NODE_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/automation/node/{node_id}/simulate-dispatch/:
    post:
      operationId: simulate_dispatch_automation_node
      description: Simulate a dispatch for a node.
      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: path
        name: node_id
        schema:
          type: integer
        description: The node to simulate the dispatch for.
        required: true
      tags:
      - Automation nodes
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_AUTOMATION_NODE_SIMULATE_DISPATCH
                  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_AUTOMATION_NODE_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/automation/workflow/{workflow_id}/nodes/:
    get:
      operationId: list_nodes
      description: Lists all the nodes of the workflow related to the provided parameter if the user has access to the related automation's workspace. If the workspace is related to a template, then this endpoint will be publicly accessible.
      parameters:
      - in: path
        name: workflow_id
        schema:
          type: integer
        description: Returns the nodes related to a specific workflow.
        required: true
      tags:
      - Automation nodes
      security:
      - UserSource JWT: []
      - JWT: []
      - {}
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          description: ''
        '404':
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Machine readable error indicating what went wrong.
                    enum:
                    - ERROR_AUTOMATION_WORKFLOW_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: ''
    post:
      operationId: create_automation_node
      description: Creates a new automation workflow node
      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: path
        name: workflow_id
        schema:
          type: integer
        description: Creates an automation node for the associated workflow.
        required: true
      tags:
      - Automation nodes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Automation_Node_TypeCreateAutomationNode'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Automation_Node_TypeCreateAutomationNode'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Automation_Node_TypeCreateAutomationNode'
      security:
      - UserSource JWT: []
      - JWT: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Automation_Node_TypeAutomationNode'
          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
                  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_AUTOMATION_WORKFLOW_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: ''
components:
  schemas:
    CorePeriodicTriggerNodeAutomationNode:
      type: object
      description: Basic automation node serializer.
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceService'
          description: The service associated with this automation node.
        workflow:
          type: integer
        type:
          type: string
          readOnly: true
          description: The automation node type.
      required:
      - id
      - service
      - type
      - workflow
    AIAgentActionNodeAutomationNode:
      type: object
      description: Basic automation node serializer.
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceService'
          description: The service associated with this automation node.
        workflow:
          type: integer
        type:
          type: string
          readOnly: true
          description: The automation node type.
      required:
      - id
      - service
      - type
      - workflow
    CorePeriodicServiceBasePolymorphicRequest:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        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:
      - id
      - interval
    LocalBaserowUpdateRowActionNodeCreateAutomationNode:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/TypeFbcEnum'
          description: 'The type of the automation node


            * `local_baserow_create_row` - local_baserow_create_row

            * `local_baserow_update_row` - local_baserow_update_row

            * `local_baserow_delete_row` - local_baserow_delete_row

            * `local_baserow_get_row` - local_baserow_get_row

            * `local_baserow_list_rows` - local_baserow_list_rows

            * `local_baserow_aggregate_rows` - local_baserow_aggregate_rows

            * `http_request` - http_request

            * `iterator` - iterator

            * `smtp_email` - smtp_email

            * `router` - router

            * `local_baserow_rows_created` - local_baserow_rows_created

            * `local_baserow_rows_updated` - local_baserow_rows_updated

            * `local_baserow_rows_deleted` - local_baserow_rows_deleted

            * `periodic` - periodic

            * `http_trigger` - http_trigger

            * `ai_agent` - ai_agent

            * `slack_write_message` - slack_write_message'
        reference_node_id:
          type: integer
          nullable: true
          description: If provided, creates the node relative to the node with the given id.
        position:
          description: 'The position of the new node relative to the reference node.


            * `south` - South

            * `child` - Child'
          oneOf:
          - $ref: '#/components/schemas/PositionEnum'
          - $ref: '#/components/schemas/BlankEnum'
        output:
          type: string
          description: The unique ID of the branch this node is an output for.
      required:
      - id
      - type
    LocalBaserowRowsCreatedTriggerNodeAutomationNode:
      type: object
      description: Basic automation node serializer.
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceService'
          description: The service associated with this automation node.
        workflow:
          type: integer
        type:
          type: string
          readOnly: true
          description: The automation node type.
      required:
      - id
      - service
      - type
      - workflow
    CoreRouterActionNodeUpdateAutomationNode:
      type: object
      properties:
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceBasePolymorphicRequest'
          description: The service associated with this automation node.
    CoreIteratorServiceBasePolymorphicRequest:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        source:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: The path of the array.
      required:
      - id
    LocalBaserowAggregateRowsActionNodeAutomationNode:
      type: object
      description: Basic automation node serializer.
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceService'
          description: The service associated with this automation node.
        workflow:
          type: integer
        type:
          type: string
          readOnly: true
          description: The automation node type.
      required:
      - id
      - service
      - type
      - workflow
    LocalBaserowDeleteRowActionNodeUpdateAutomationNode:
      type: object
      properties:
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceBasePolymorphicRequest'
          description: The service associated with this automation node.
    LocalBaserowRowsDeletedBasePolymorphicRequest:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration we want the data for.
      required:
      - id
    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
    LocalBaserowGetRowBasePolymorphicRequest:
      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
        table_id:
          type: integer
          nullable: true
          description: The id of the Baserow table we want the data for.
        integration_id:
          type: integer
          nullable: true
          description: The id of the Baserow integration 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.
        row_id:
          type: object
          additionalProperties: {}
          default:
            formula: ''
            version: '0.1'
            mode: simple
          description: A formula for defining the intended row.
      required:
      - id
    CoreHTTPTriggerNodeUpdateAutomationNode:
      type: object
      properties:
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceBasePolymorphicRequest'
          description: The service associated with this automation node.
    LocalBaserowUpdateRowActionNodeAutomationNode:
      type: object
      description: Basic automation node serializer.
      properties:
        id:
          type: integer
          readOnly: true
        label:
          type: string
          description: A label to use when displaying this node in a graph.
          maxLength: 75
        service:
          allOf:
          - $ref: '#/components/schemas/Integration_ServiceService'
          description: The service associated with this automation node.
        workflow:
          type: integer
        type:
          type: string
          readOnly: true
          description: The automation node type.
      required:
      - id
      - service
      - type
      - workflow
    LocalBaserowRowsDeletedService:
      type: object
      description: Basic service serializer mostly for returned values.
      properties:
        id:
          type: integer
          readOnly: true
        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 service.
        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

# --- truncated at 32 KB (146 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/baserow/refs/heads/main/openapi/baserow-automation-nodes-api-openapi.yml