Enterprise Data Federation Service (EDFS) API

Federate access to data held in Bentley and third-party repositories — ProjectWise, SharePoint, and external systems — so that iTwin applications can query unified asset metadata. 24 operations across data sources, schemas, queries, and federation policies.

Enterprise Data Federation Service (EDFS) API is one of 32 APIs that Bentley Systems publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include EDFS, Data Federation, ProjectWise, Enterprise Data, and Federated Queries. The published artifact set on APIs.io includes API documentation, an API reference, and an OpenAPI specification.

OpenAPI Specification

itwin-edfs-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Enterprise Data Federation Service (EDFS) API
  description: "Federate access to data held in Bentley and third-party repositories \u2014 ProjectWise, SharePoint, external\
    \ systems."
  version: '1.0'
  contact:
    name: Bentley Developer Relations
    url: https://developer.bentley.com/apis/edfs/
  license:
    name: Bentley Developer Portal Terms
    url: https://developer.bentley.com/legal/
servers:
- url: https://api.bentley.com/edfs
  description: iTwin Platform Production
externalDocs:
  description: Enterprise Data Federation Service (EDFS) API Documentation
  url: https://developer.bentley.com/apis/edfs/
tags:
- name: Sources
  description: Sources resources for the Enterprise Data Federation Service (EDFS) API.
- name: Schemas
  description: Schemas resources for the Enterprise Data Federation Service (EDFS) API.
- name: Queries
  description: Queries resources for the Enterprise Data Federation Service (EDFS) API.
- name: Policies
  description: Policies resources for the Enterprise Data Federation Service (EDFS) API.
security:
- OAuth2: []
paths:
  /sources:
    get:
      tags:
      - Sources
      summary: Get Sources
      operationId: GetSources
      responses:
        '200':
          description: List of Sources
          content:
            application/json:
              schema:
                type: object
    post:
      tags:
      - Sources
      summary: Create Source
      operationId: CreateSource
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Source created
          content:
            application/json:
              schema:
                type: object
  /sources/{sourceId}:
    parameters:
    - name: sourceId
      in: path
      required: true
      schema:
        type: string
        format: uuid
    get:
      tags:
      - Sources
      summary: Get Sources
      operationId: GetSources
      responses:
        '200':
          description: List of Sources
          content:
            application/json:
              schema:
                type: object
    patch:
      tags:
      - Sources
      summary: Update Source
      operationId: UpdateSource
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Source updated
    delete:
      tags:
      - Sources
      summary: Delete Source
      operationId: DeleteSource
      responses:
        '204':
          description: Source deleted
  /schemas:
    get:
      tags:
      - Schemas
      summary: Get Schemas
      operationId: GetSchemas
      responses:
        '200':
          description: List of Schemas
          content:
            application/json:
              schema:
                type: object
    post:
      tags:
      - Schemas
      summary: Create Schema
      operationId: CreateSchema
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Schema created
          content:
            application/json:
              schema:
                type: object
  /queries:
    get:
      tags:
      - Queries
      summary: Get Queries
      operationId: GetQueries
      responses:
        '200':
          description: List of Queries
          content:
            application/json:
              schema:
                type: object
    post:
      tags:
      - Queries
      summary: Create Querie
      operationId: CreateQuerie
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Querie created
          content:
            application/json:
              schema:
                type: object
  /policies:
    get:
      tags:
      - Policies
      summary: Get Policies
      operationId: GetPolicies
      responses:
        '200':
          description: List of Policies
          content:
            application/json:
              schema:
                type: object
    post:
      tags:
      - Policies
      summary: Create Policie
      operationId: CreatePolicie
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Policie 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