Boomi Models API

Manage data models that define the schema and rules for master data domains.

Documentation

Specifications

Schemas & Data

OpenAPI Specification

boomi-models-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Boomi DataHub Atoms Models API
  description: 'The Boomi DataHub REST API provides programmatic access to master data management operations. It consists of two layers: the Platform API for managing repositories, models, sources, and domains; and the Repository API for querying and manipulating golden records and staged entities. The Platform API uses Basic Authentication while the Repository API supports JWT authentication. Requests are subject to usage limits based on licensed connectors (1,000 times the number of connectors per 24 hours).'
  version: '1.0'
  contact:
    name: Boomi Support
    url: https://community.boomi.com/s/support
  termsOfService: https://boomi.com/legal/service/
servers:
- url: https://mdh.boomi.com/mdh
  description: Boomi DataHub Platform API
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Models
  description: Manage data models that define the schema and rules for master data domains.
paths:
  /repositories/{repositoryId}/models:
    get:
      operationId: listModels
      summary: Boomi List models
      description: Returns all data models defined within a specific repository.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RepositoryId'
      responses:
        '200':
          description: A list of data models.
          content:
            application/json:
              schema:
                type: object
                properties:
                  models:
                    type: array
                    items:
                      $ref: '#/components/schemas/Model'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createModel
      summary: Boomi Create a model
      description: Creates a new data model within the repository that defines the schema for a master data domain.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RepositoryId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelInput'
      responses:
        '200':
          description: The created data model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /repositories/{repositoryId}/models/{modelId}:
    get:
      operationId: getModel
      summary: Boomi Get a model
      description: Retrieves the details and schema of a specific data model.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RepositoryId'
      - $ref: '#/components/parameters/ModelId'
      responses:
        '200':
          description: The data model details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteModel
      summary: Boomi Delete a model
      description: Permanently deletes a data model from the repository.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RepositoryId'
      - $ref: '#/components/parameters/ModelId'
      responses:
        '200':
          description: Deletion successful.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /repositories/{repositoryId}/models/{modelId}/publish:
    post:
      operationId: publishModel
      summary: Boomi Publish a model
      description: Publishes a data model, making it available for domain deployment and data ingestion.
      tags:
      - Models
      parameters:
      - $ref: '#/components/parameters/RepositoryId'
      - $ref: '#/components/parameters/ModelId'
      responses:
        '200':
          description: The published model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Model:
      type: object
      description: A data model defining the schema and matching rules for a master data domain.
      properties:
        id:
          type: string
          description: Unique identifier of the model.
        name:
          type: string
          description: Display name of the model.
        version:
          type: integer
          description: Current version number of the model.
        publishedVersion:
          type: integer
          description: Version number of the last published model.
        status:
          type: string
          description: Publication status of the model.
          enum:
          - DRAFT
          - PUBLISHED
        fields:
          type: array
          description: Field definitions for this model's schema.
          items:
            $ref: '#/components/schemas/ModelField'
    ModelField:
      type: object
      description: A field definition within a data model schema.
      required:
      - name
      - type
      properties:
        name:
          type: string
          description: Field name used as the identifier.
        type:
          type: string
          description: Data type of the field.
          enum:
          - STRING
          - INTEGER
          - FLOAT
          - BOOLEAN
          - DATE
          - DATETIME
          - REFERENCE
        required:
          type: boolean
          description: Whether this field is required.
        unique:
          type: boolean
          description: Whether this field must be unique across records.
    ModelInput:
      type: object
      description: Input for creating or updating a data model.
      required:
      - name
      properties:
        name:
          type: string
          description: Display name for the model.
        fields:
          type: array
          description: Field definitions for the model schema.
          items:
            $ref: '#/components/schemas/ModelField'
    ErrorResponse:
      type: object
      description: Standard error response.
      properties:
        message:
          type: string
          description: Human-readable error message.
        code:
          type: integer
          description: Numeric error code.
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: The request body is invalid or missing required fields.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    ModelId:
      name: modelId
      in: path
      required: true
      description: Unique identifier of the data model.
      schema:
        type: string
    RepositoryId:
      name: repositoryId
      in: path
      required: true
      description: Unique identifier of the DataHub repository.
      schema:
        type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Basic Authentication for the DataHub Platform API. Users with two-factor authentication must include an X-Boomi-OTP header.
    bearerAuth:
      type: http
      scheme: bearer
      description: JWT Bearer token for the Repository API.
externalDocs:
  description: Boomi DataHub REST API Documentation
  url: https://help.boomi.com/docs/Atomsphere/Master%20Data%20Hub/REST%20APIs/r-mdm-REST_APIs_f43499a6-3d1c-4102-bf13-94b02659dd9f