Prophecy.io Fabrics API

The Fabrics API from Prophecy.io — 2 operation(s) for fabrics.

OpenAPI Specification

prophecyio-fabrics-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Prophecy Connections Fabrics API
  description: API for managing Prophecy connections
  version: 1.0.0
tags:
- name: Fabrics
paths:
  /api/orchestration/fabric:
    post:
      tags:
      - Fabrics
      summary: Create a new fabric
      description: Create a Prophecy fabric with optional secret and connection
      operationId: createFabric
      parameters:
      - $ref: '#/components/parameters/X-AUTH-TOKEN'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - teamName
              - provider
              properties:
                name:
                  type: string
                  description: Name of the fabric to be created.
                description:
                  type: string
                  description: Short description of the fabric.
                teamName:
                  type: string
                  description: Name of the team that will own the fabric.
                provider:
                  type: string
                  description: SQL warehouse provider for the fabric.
                  enum:
                  - databricks
                  - bigquery
                  - ProphecyManaged
                dataplaneUrl:
                  type: string
                  description: Specific dataplane URL for the fabric. This is usually not needed and will be automatically set by Prophecy.
                secret:
                  type: object
                  required:
                  - kind
                  - subKind
                  - properties
                  properties:
                    kind:
                      type: string
                      description: Secret management provider. Must be `prophecy`.
                      enum:
                      - prophecy
                    subKind:
                      type: string
                      description: Secret sub-type.
                      enum:
                      - text
                      - binary
                      - username_password
                      - m2m_oauth
                    properties:
                      type: object
                      description: "Secret properties that define the secret. \n\nThe schema is specification-driven and depends on the subKind value. Refer to the **Secrets > Properties** section of the API documentation for the specific properties per secret type."
                      additionalProperties: true
                  description: Optional secret to be created with the fabric. Only one secret can be added per request.
                connection:
                  type: object
                  required:
                  - name
                  - kind
                  - isDefaultWarehouseConnection
                  properties:
                    name:
                      type: string
                      description: Name of the connection.
                    kind:
                      type: string
                      description: Type of connection.
                      enum:
                      - databricks
                      - bigquery
                      - synapse
                      - snowflake
                      - mssql
                      - oracle
                      - mongodb
                      - hana
                      - smtp
                      - redshift
                      - s3
                      - salesforce
                      - sftp
                      - sharepoint
                      - smartsheet
                      - ADLS
                      - tableau
                      - onedrive
                      - powerbi
                      - GCS
                    isDefaultWarehouseConnection:
                      type: boolean
                      description: Whether this connection should be set as the default SQL warehouse connection.
                    properties:
                      type: object
                      description: "Connection properties that define the connection. \n\nThe schema depends on the connection type. Refer to the **Connections > Properties** section of the API documentation for the specific properties per connection type.\n\nIn connection properties, replace secret field references with the string `{{SECRET}}` as the secret ID will not be available during creation."
                      additionalProperties: true
                    shouldValidate:
                      type: boolean
                      description: Whether to validate the connection. Defaults to true.
                      default: true
                    shouldTest:
                      type: boolean
                      description: Whether to test the connection. Defaults to true.
                      default: true
                  description: 'Optional connection to be created with the fabric. Only one connection can be added per request.


                    It often makes sense to create the connection for your SQL warehouse when creating the fabric. This means you would set `isDefaultWarehouseConnection` to `true`.'
            example:
              name: API_Generated_Fabric
              description: This is a description of the fabric.
              teamName: devTeam
              provider: databricks
              secret:
                subKind: text
                properties:
                  name: databricks-pat
                  value: databricks-pat-value
                kind: prophecy
              connection:
                name: databricks_pat_1
                kind: databricks
                properties:
                  authType: pat
                  jdbcUrl: <databricks-jdbc>
                  catalog: pipelinehub
                  schema: katherine
                  token: '{{SECRET}}'
                isDefaultWarehouseConnection: true
      responses:
        '200':
          description: Fabric created successfully
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    type: boolean
                    description: Indicates the request was successful.
                    enum:
                    - true
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The fabric ID of the created fabric.
                    description: Response data containing the fabric ID.
              example:
                success: true
                data:
                  id: '10740'
        '500':
          description: Fabric creation failed
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - message
                properties:
                  success:
                    type: boolean
                    description: Indicates the request failed.
                    enum:
                    - false
                  message:
                    type: string
                    description: Error message describing why the request failed.
              example:
                success: false
                message: 'Fabric creation failed due to : Fabric with name `API_fabric_test` already exists in the team'
  /api/orchestration/fabric/{fabricId}:
    parameters:
    - name: fabricId
      in: path
      description: The unique ID of the fabric
      required: true
      schema:
        type: string
    get:
      tags:
      - Fabrics
      summary: Get fabric details
      description: Retrieve details for a specific fabric by its ID
      operationId: getFabricById
      parameters:
      - $ref: '#/components/parameters/X-AUTH-TOKEN'
      responses:
        '200':
          description: Fabric resource found
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    type: boolean
                    description: Indicates the request was successful.
                    enum:
                    - true
                  data:
                    type: object
                    properties:
                      fabricID:
                        type: string
                        description: The unique identifier for the fabric.
                      name:
                        type: string
                        description: The name of the fabric.
                      teamID:
                        type: string
                        description: The unique identifier of the team that owns the fabric.
                    description: Response data containing fabric details.
              example:
                success: true
                data:
                  fabricID: '10740'
                  name: API_fabric_test
                  teamID: '1200'
    put:
      tags:
      - Fabrics
      summary: Update an existing fabric
      description: Update the name or description of an existing fabric
      operationId: updateFabric
      parameters:
      - $ref: '#/components/parameters/X-AUTH-TOKEN'
      requestBody:
        description: Fabric object with updated fields. Only name and description can be modified.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the fabric.
                description:
                  type: string
                  description: The description of the fabric.
            example:
              name: API_fabric_test_update
      responses:
        '200':
          description: Fabric updated successfully
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    type: boolean
                    description: Indicates the request was successful.
                    enum:
                    - true
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The unique identifier for the fabric.
                    description: Response data containing the fabric ID.
              example:
                success: true
                data:
                  id: '10740'
    delete:
      tags:
      - Fabrics
      summary: Delete a fabric
      description: Delete a fabric by its ID
      operationId: deleteFabric
      parameters:
      - $ref: '#/components/parameters/X-AUTH-TOKEN'
      responses:
        '200':
          description: Fabric deleted successfully
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                properties:
                  success:
                    type: boolean
                    description: Indicates the request was successful.
                    enum:
                    - true
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The unique identifier for the deleted fabric.
                    description: Response data containing the fabric ID.
              example:
                success: true
                data:
                  id: '10743'
components:
  parameters:
    X-AUTH-TOKEN:
      name: X-AUTH-TOKEN
      in: header
      description: Prophecy authentication token. Required for all API requests.
      required: true
      schema:
        type: string