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