iTwin Library API
Manage reusable component libraries — catalogs, components, parameters, and component instances. 60 operations span catalog management, search, ingest, and component definition.
Manage reusable component libraries — catalogs, components, parameters, and component instances. 60 operations span catalog management, search, ingest, and component definition.
openapi: 3.1.0
info:
title: iTwin Library API
description: "Manage reusable component libraries \u2014 catalogs, components, parameters, and component instances."
version: '1.0'
contact:
name: Bentley Developer Relations
url: https://developer.bentley.com/apis/library/
license:
name: Bentley Developer Portal Terms
url: https://developer.bentley.com/legal/
servers:
- url: https://api.bentley.com/library
description: iTwin Platform Production
externalDocs:
description: iTwin Library API Documentation
url: https://developer.bentley.com/apis/library/
tags:
- name: Catalog
description: Catalog resources for the iTwin Library API.
- name: Components
description: Components resources for the iTwin Library API.
- name: Parameters
description: Parameters resources for the iTwin Library API.
- name: Categories
description: Categories resources for the iTwin Library API.
- name: Tags
description: Tags resources for the iTwin Library API.
security:
- OAuth2: []
paths:
/catalogs:
get:
tags:
- Catalog
summary: Get Catalog
operationId: GetCatalog
responses:
'200':
description: List of Catalog
content:
application/json:
schema:
type: object
post:
tags:
- Catalog
summary: Create Catalog
operationId: CreateCatalog
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Catalog created
content:
application/json:
schema:
type: object
/catalogs/{catalogId}:
parameters:
- name: catalogId
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Catalog
summary: Get Catalog
operationId: GetCatalog
responses:
'200':
description: List of Catalog
content:
application/json:
schema:
type: object
patch:
tags:
- Catalog
summary: Update Catalog
operationId: UpdateCatalog
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Catalog updated
delete:
tags:
- Catalog
summary: Delete Catalog
operationId: DeleteCatalog
responses:
'204':
description: Catalog deleted
/catalogs/{catalogId}/components:
parameters:
- name: catalogId
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Components
summary: Get Components
operationId: GetComponents
responses:
'200':
description: List of Components
content:
application/json:
schema:
type: object
post:
tags:
- Components
summary: Create Component
operationId: CreateComponent
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Component created
content:
application/json:
schema:
type: object
/catalogs/{catalogId}/components/{componentId}:
parameters:
- name: catalogId
in: path
required: true
schema:
type: string
format: uuid
- name: componentId
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Components
summary: Get Components
operationId: GetComponents
responses:
'200':
description: List of Components
content:
application/json:
schema:
type: object
patch:
tags:
- Components
summary: Update Component
operationId: UpdateComponent
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Component updated
delete:
tags:
- Components
summary: Delete Component
operationId: DeleteComponent
responses:
'204':
description: Component deleted
/catalogs/{catalogId}/components/{componentId}/parameters:
parameters:
- name: catalogId
in: path
required: true
schema:
type: string
format: uuid
- name: componentId
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Parameters
summary: Get Parameters
operationId: GetParameters
responses:
'200':
description: List of Parameters
content:
application/json:
schema:
type: object
post:
tags:
- Parameters
summary: Create Parameter
operationId: CreateParameter
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Parameter created
content:
application/json:
schema:
type: object
/catalogs/{catalogId}/categories:
parameters:
- name: catalogId
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Categories
summary: Get Categories
operationId: GetCategories
responses:
'200':
description: List of Categories
content:
application/json:
schema:
type: object
post:
tags:
- Categories
summary: Create Categorie
operationId: CreateCategorie
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Categorie created
content:
application/json:
schema:
type: object
/catalogs/{catalogId}/tags:
parameters:
- name: catalogId
in: path
required: true
schema:
type: string
format: uuid
get:
tags:
- Tags
summary: Get Tags
operationId: GetTags
responses:
'200':
description: List of Tags
content:
application/json:
schema:
type: object
post:
tags:
- Tags
summary: Create Tag
operationId: CreateTag
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'201':
description: Tag created
content:
application/json:
schema:
type: object
components:
securitySchemes:
OAuth2:
type: oauth2
description: "iTwin Platform OAuth2 \u2014 Bentley IMS"
flows:
authorizationCode:
authorizationUrl: https://ims.bentley.com/connect/authorize
tokenUrl: https://ims.bentley.com/connect/token
scopes:
itwin-platform: Full access to iTwin Platform APIs
schemas:
Error:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
details:
type: array
items:
type: object