> ## Documentation Index
> Fetch the complete documentation index at: https://docs.journeybee.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Add a block to a room



## OpenAPI

````yaml /openapi.json post /rooms/{uuid}/blocks
openapi: 3.1.0
info:
  title: Journeybee API
  description: >-
    Public REST API for the Journeybee PRM platform.


    Manage partners, leads, deals, products, pricing calculators, tasks, and
    more programmatically.


    All endpoints require authentication via API key. Use `Authorization: Bearer
    <api_key>` or `Api-Key <api_key>` header.


    See the [Authentication guide](/guides/authentication) for details.
  version: 1.0.0
servers:
  - url: https://api.journeybee.io/v1
    description: Production
security:
  - apiKey: []
tags:
  - name: Account
    description: >-
      Authenticated company account info, API key permissions, and enabled
      modules
  - name: Analytics
    description: >-
      Dashboard analytics and reporting — commission, engagement, LMS, and
      partner revenue metrics
  - name: Assets
    description: File and media asset management
  - name: Attributions
    description: Attribution type definitions
  - name: Audit Log
    description: Unified audit log of company activity (read-only)
  - name: Automations
    description: Workflow automation rule configurations
  - name: Campaign Audience
    description: Audience filters on a campaign
  - name: Campaign Partners
    description: Partners shared into a campaign audience
  - name: Campaigns
    description: Partner marketing campaigns
  - name: Card Assignees
    description: Assigned users on a card
  - name: Card Partners
    description: Partners linked to a card
  - name: Card Tags
    description: Tags on a card
  - name: Cards
    description: Kanban project cards
  - name: Categories
    description: Partner categories
  - name: Certification Categories
    description: Categories on a certification
  - name: Certification Enrollments
    description: User enrollments in a certification
  - name: Certification Folders
    description: Folders on a certification
  - name: Certification Resources
    description: Curriculum resources in a certification
  - name: Certifications
    description: LMS certifications
  - name: Commissions
    description: >-
      Commission rule configurations with calculation entries,
      tier/category/partnership scoping
  - name: Contacts
    description: Partner contacts across partnerships
  - name: Currencies
    description: Available currencies
  - name: Custom Field Options
    description: Options on select/multi-select custom fields
  - name: Custom Field Rules
    description: Visibility and requirement rules on custom fields
  - name: Custom Field Values
    description: Custom field values
  - name: Custom Fields
    description: Custom field definitions
  - name: Deal Commission
    description: Commission calculation on a deal
  - name: Deal Custom Field Values
    description: Custom field values on a deal
  - name: Deal Notes
    description: Notes on a deal
  - name: Deal Payments
    description: Payment records on a deal (read-only)
  - name: Deal Products
    description: Products attached to a deal
  - name: Deal Stages
    description: Deal pipeline stages
  - name: Deal Tags
    description: Tags on a deal
  - name: Deal Tasks
    description: Tasks on a deal
  - name: Deals
    description: Deal management
  - name: Folders
    description: Content folders
  - name: Lead Attributions
    description: Attribution records on a lead
  - name: Lead Contacts
    description: Partner contacts on a lead
  - name: Lead Custom Field Values
    description: Custom field values on a lead
  - name: Lead Distributor
    description: Distributors for a lead
  - name: Lead Notes
    description: Notes on a lead
  - name: Lead Products
    description: Products attached to a lead
  - name: Lead Quotes
    description: >-
      Quotes on a lead — generated from pricing calculators with line items and
      totals
  - name: Lead Tags
    description: Tags on a lead
  - name: Lead Tasks
    description: Tasks on a lead
  - name: Lead Users
    description: Assigned users on a lead
  - name: Leads
    description: Lead management
  - name: Marketing Templates
    description: Marketing email templates
  - name: Partner Contacts
    description: Contacts on a partner
  - name: Partner Custom Field Values
    description: Custom field values on a partner
  - name: Partner Domains
    description: Domains on a partner
  - name: Partner Notes
    description: Notes on a partner
  - name: Partner Resellers
    description: Reseller assignments on a distributor
  - name: Partner Stages
    description: Partner pipeline stages
  - name: Partner Tags
    description: Tags on a partner
  - name: Partner Users
    description: Assigned users on a partner
  - name: Partners
    description: Core partner CRUD
  - name: Pricing Calculator Fields
    description: Input fields on a pricing calculator
  - name: Pricing Calculator Formulas
    description: Discount/tax/surcharge formulas on a pricing calculator
  - name: Pricing Calculator Products
    description: Products attached to a pricing calculator
  - name: Pricing Calculators
    description: Pricing calculator configurations
  - name: Products
    description: Product catalog
  - name: Resource Blocks
    description: Content blocks within a resource
  - name: Resource Categories
    description: Categories on a resource
  - name: Resource Folders
    description: Folders on a resource
  - name: Resource Tags
    description: Tags on a resource
  - name: Resources
    description: Learning resources
  - name: Room Blocks
    description: Content blocks within a room
  - name: Room Categories
    description: Category-based room access control
  - name: Room Partnerships
    description: Direct partnership room access
  - name: Room Stages
    description: Stage-based room access control
  - name: Room Tags
    description: Tag-based room access control
  - name: Room Tiers
    description: Tier-based room access control
  - name: Rooms
    description: Partner portal rooms
  - name: Tags
    description: Tag definitions
  - name: Task Users
    description: Assigned users on a task
  - name: Tasks
    description: Task management
  - name: Tiers
    description: Partner tiers
  - name: Users
    description: Company team members
  - name: Webhook Events
    description: Outbound webhook payloads sent to your configured URLs when events occur
paths:
  /rooms/{uuid}/blocks:
    post:
      tags:
        - Room Blocks
      summary: Add a block to a room
      operationId: addRoomBlock
      parameters:
        - schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: path
          name: uuid
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                block_type:
                  type: string
                  enum:
                    - text
                    - image
                    - video
                    - document
                    - embed
                    - introduction
                    - action_bar
                    - banner
                    - lead_deal_analytics
                    - goals
                    - link
                    - advanced_search
                    - files
                    - pricing_calculator
                    - partner_details
                  description: >-
                    Block type. Determines how content is interpreted: text
                    (TipTap JSON), image (use asset_uuid), video (use
                    asset_uuid), document (use asset_uuid), embed (use content
                    with url), introduction (TipTap JSON), action_bar (use
                    block_settings.action_bar), banner (use
                    block_settings.banner), lead_deal_analytics (no content),
                    goals (content with goals array), link (content with links),
                    advanced_search (use block_settings.advanced_search), files
                    (content with files array), pricing_calculator (use
                    block_settings.pricing_calculator).
                label:
                  anyOf:
                    - type: string
                    - type: 'null'
                content:
                  description: >-
                    Block content. Shape depends on block_type:
                    text/introduction -> TipTap JSON; goals -> {title,
                    description, goals: [...]}; link -> link collection; files
                    -> {files: [...]}; embed -> {url}; image/video/document ->
                    null (use asset_uuid);
                    action_bar/banner/advanced_search/pricing_calculator/lead_deal_analytics
                    -> null (use block_settings).
                  type: object
                  additionalProperties: {}
                series:
                  type: number
                  description: >-
                    Display order (1-indexed). Blocks are rendered in ascending
                    series order.
                block_settings:
                  description: >-
                    Block-type-specific settings. See apiRoomBlockSettingsSchema
                    for details.
                  type: object
                  properties:
                    display:
                      type: object
                      properties:
                        height:
                          description: Block height in pixels
                          type: number
                        fullScreen:
                          description: Expand block to full viewport width
                          type: boolean
                        showExternalLink:
                          description: Show external link icon
                          type: boolean
                        directEmbed:
                          description: >-
                            Skip the iframely embed lookup and frame the embed
                            URL directly.
                          type: boolean
                      additionalProperties: false
                      description: Display settings for the block.
                    action_bar:
                      type: object
                      properties:
                        buttons:
                          maxItems: 20
                          type: array
                          items:
                            type: object
                            properties:
                              label:
                                type: string
                                maxLength: 200
                                description: Button label text
                              icon:
                                description: Phosphor icon name
                                type: string
                                maxLength: 100
                              url:
                                description: URL for external link buttons
                                type: string
                                maxLength: 2000
                              event:
                                type: string
                                enum:
                                  - send_lead
                                  - send_deal
                                  - leads
                                  - messages
                                  - resources
                                  - resource
                                  - resource_folder
                                  - deals
                                  - projects
                                  - contacts
                                  - certifications
                                  - certification
                                  - certification_folder
                                  - url
                                  - room_id
                                description: >-
                                  Button action: navigate to a room section,
                                  open URL, or send_lead to submit a lead form
                              background_color:
                                description: CSS color
                                type: string
                                maxLength: 50
                              text_color:
                                description: CSS color
                                type: string
                                maxLength: 50
                              icon_color:
                                description: CSS color
                                type: string
                                maxLength: 50
                              room_uuid:
                                description: Target room UUID (when event is room_id)
                                type: string
                              resource_id:
                                description: Target resource ID (when event is resource)
                                type: number
                              folder_id:
                                description: Target folder ID (when event is a folder link)
                                type: number
                              certification_id:
                                description: >-
                                  Target certification ID (when event is
                                  certification)
                                type: number
                              series:
                                description: Display order
                                type: integer
                                minimum: 1
                                maximum: 1000
                            required:
                              - label
                              - event
                            additionalProperties: false
                            description: Action bar button configuration.
                          description: Buttons in the action bar (max 20)
                      required:
                        - buttons
                      additionalProperties: false
                      description: >-
                        Action bar block settings — configurable navigation
                        buttons.
                    goals:
                      type: object
                      properties:
                        showProgress:
                          description: Show overall progress percentage
                          type: boolean
                        showCountdown:
                          description: Show countdown to target date
                          type: boolean
                        allowResourceLinks:
                          description: Allow linking goals to resources
                          type: boolean
                      additionalProperties: false
                      description: Goals block settings.
                    advanced_search:
                      type: object
                      properties:
                        title:
                          description: Search section title
                          type: string
                          maxLength: 500
                        placeholder:
                          description: Search input placeholder text
                          type: string
                          maxLength: 500
                        showAITab:
                          description: Show AI-powered search tab
                          type: boolean
                        showQuickActions:
                          description: Show quick action buttons
                          type: boolean
                      additionalProperties: false
                      description: Advanced search block settings.
                    pricing_calculator:
                      type: object
                      properties:
                        allowCreateLead:
                          description: Allow creating a lead from the calculator
                          type: boolean
                        enable_lead_submission:
                          description: Enable lead submission form
                          type: boolean
                        defaultCustomerName:
                          description: Default customer name source
                          type: string
                          enum:
                            - partner_company_name
                            - custom
                        customCustomerName:
                          description: >-
                            Custom customer name when defaultCustomerName is
                            custom
                          type: string
                          maxLength: 500
                      additionalProperties: false
                      description: Pricing calculator block settings.
                    banner:
                      type: object
                      properties:
                        displayMode:
                          description: >-
                            Whose logo(s) to display: company only, partner
                            only, both, or custom image
                          type: string
                          enum:
                            - company
                            - partner
                            - both
                            - custom
                        companyLogoPosition:
                          description: Logo position when displayMode is both
                          type: string
                          enum:
                            - left
                            - right
                      additionalProperties: false
                      description: >-
                        Banner block settings — header banner with logo display
                        options.
                  additionalProperties: false
                asset_uuid:
                  description: Asset UUID for image, video, or document blocks.
                  type: string
                markdown:
                  description: >-
                    Markdown content for text blocks. When provided, converts to
                    TipTap JSON and overrides the content field.
                  type: string
                  maxLength: 100000
              required:
                - block_type
                - series
              additionalProperties: false
              description: >-
                Create a content block. Rooms are composed of ordered blocks —
                each block is a distinct content unit (text, image, video,
                goals, action bar, etc.).
        description: >-
          Create a content block. Rooms are composed of ordered blocks — each
          block is a distinct content unit (text, image, video, goals, action
          bar, etc.).
      responses:
        '201':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  uuid:
                    type: string
                  block_type:
                    type: string
                    enum:
                      - text
                      - image
                      - video
                      - document
                      - embed
                      - introduction
                      - action_bar
                      - banner
                      - lead_deal_analytics
                      - goals
                      - link
                      - advanced_search
                      - files
                      - pricing_calculator
                      - partner_details
                  label:
                    anyOf:
                      - type: string
                      - type: 'null'
                  series:
                    type: number
                    description: Display order (1-indexed)
                  content:
                    description: >-
                      Block content — shape varies by block_type. See
                      documentation.
                  block_settings:
                    type: object
                    properties:
                      display:
                        type: object
                        properties:
                          height:
                            description: Block height in pixels
                            type: number
                          fullScreen:
                            description: Expand block to full viewport width
                            type: boolean
                          showExternalLink:
                            description: Show external link icon
                            type: boolean
                          directEmbed:
                            description: >-
                              Skip the iframely embed lookup and frame the embed
                              URL directly.
                            type: boolean
                        additionalProperties: false
                        description: Display settings for the block.
                      action_bar:
                        type: object
                        properties:
                          buttons:
                            maxItems: 20
                            type: array
                            items:
                              type: object
                              properties:
                                label:
                                  type: string
                                  maxLength: 200
                                  description: Button label text
                                icon:
                                  description: Phosphor icon name
                                  type: string
                                  maxLength: 100
                                url:
                                  description: URL for external link buttons
                                  type: string
                                  maxLength: 2000
                                event:
                                  type: string
                                  enum:
                                    - send_lead
                                    - send_deal
                                    - leads
                                    - messages
                                    - resources
                                    - resource
                                    - resource_folder
                                    - deals
                                    - projects
                                    - contacts
                                    - certifications
                                    - certification
                                    - certification_folder
                                    - url
                                    - room_id
                                  description: >-
                                    Button action: navigate to a room section,
                                    open URL, or send_lead to submit a lead form
                                background_color:
                                  description: CSS color
                                  type: string
                                  maxLength: 50
                                text_color:
                                  description: CSS color
                                  type: string
                                  maxLength: 50
                                icon_color:
                                  description: CSS color
                                  type: string
                                  maxLength: 50
                                room_uuid:
                                  description: Target room UUID (when event is room_id)
                                  type: string
                                resource_id:
                                  description: Target resource ID (when event is resource)
                                  type: number
                                folder_id:
                                  description: >-
                                    Target folder ID (when event is a folder
                                    link)
                                  type: number
                                certification_id:
                                  description: >-
                                    Target certification ID (when event is
                                    certification)
                                  type: number
                                series:
                                  description: Display order
                                  type: integer
                                  minimum: 1
                                  maximum: 1000
                              required:
                                - label
                                - event
                              additionalProperties: false
                              description: Action bar button configuration.
                            description: Buttons in the action bar (max 20)
                        required:
                          - buttons
                        additionalProperties: false
                        description: >-
                          Action bar block settings — configurable navigation
                          buttons.
                      goals:
                        type: object
                        properties:
                          showProgress:
                            description: Show overall progress percentage
                            type: boolean
                          showCountdown:
                            description: Show countdown to target date
                            type: boolean
                          allowResourceLinks:
                            description: Allow linking goals to resources
                            type: boolean
                        additionalProperties: false
                        description: Goals block settings.
                      advanced_search:
                        type: object
                        properties:
                          title:
                            description: Search section title
                            type: string
                            maxLength: 500
                          placeholder:
                            description: Search input placeholder text
                            type: string
                            maxLength: 500
                          showAITab:
                            description: Show AI-powered search tab
                            type: boolean
                          showQuickActions:
                            description: Show quick action buttons
                            type: boolean
                        additionalProperties: false
                        description: Advanced search block settings.
                      pricing_calculator:
                        type: object
                        properties:
                          allowCreateLead:
                            description: Allow creating a lead from the calculator
                            type: boolean
                          enable_lead_submission:
                            description: Enable lead submission form
                            type: boolean
                          defaultCustomerName:
                            description: Default customer name source
                            type: string
                            enum:
                              - partner_company_name
                              - custom
                          customCustomerName:
                            description: >-
                              Custom customer name when defaultCustomerName is
                              custom
                            type: string
                            maxLength: 500
                        additionalProperties: false
                        description: Pricing calculator block settings.
                      banner:
                        type: object
                        properties:
                          displayMode:
                            description: >-
                              Whose logo(s) to display: company only, partner
                              only, both, or custom image
                            type: string
                            enum:
                              - company
                              - partner
                              - both
                              - custom
                          companyLogoPosition:
                            description: Logo position when displayMode is both
                            type: string
                            enum:
                              - left
                              - right
                        additionalProperties: false
                        description: >-
                          Banner block settings — header banner with logo
                          display options.
                    additionalProperties: false
                    description: >-
                      Block-type-specific settings. Only the key matching the
                      block_type is relevant: action_bar blocks use action_bar,
                      goals blocks use goals, banner blocks use banner, etc.
                  asset_uuid:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: Associated asset (image, video file, document, etc.)
                  created_at:
                    type: string
                  updated_at:
                    type: string
                required:
                  - uuid
                  - block_type
                  - label
                  - series
                  - content
                  - block_settings
                  - asset_uuid
                  - created_at
                  - updated_at
                additionalProperties: false
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: API key authentication. Use "Bearer <api_key>" or "Api-Key <api_key>".

````