Prophecy.io Project Deployment API

The Project Deployment API from Prophecy.io — 1 operation(s) for project deployment.

OpenAPI Specification

prophecyio-project-deployment-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Prophecy Connections Project Deployment API
  description: API for managing Prophecy connections
  version: 1.0.0
tags:
- name: Project Deployment
paths:
  /api/deploy/project:
    parameters:
    - name: X-AUTH-TOKEN
      in: header
      description: Prophecy access token
      required: true
      schema:
        type: string
    post:
      tags:
      - Project Deployment
      summary: Deploy project
      description: Deploy projects with custom pipeline and project configurations to specific fabrics. Use this API to automate project deployment with external CI/CD tools or deploy the same project to different environments with different configuration values.
      operationId: deployProject
      requestBody:
        description: Project deployment parameters
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - projectName
              - fabricName
              - gitTag
              properties:
                projectName:
                  type: string
                  description: 'Name of the project to be deployed. Example: CustomerAnalytics'
                fabricName:
                  type: string
                  description: 'Name of the fabric where the project will be deployed. Example: production-databricks'
                gitTag:
                  type: string
                  description: Git tag identifying the specific version of the project to deploy. Must follow the format {projectName}/{version}.
                pipelineConfigurations:
                  type: object
                  additionalProperties:
                    type: object
                    description: Pipeline name. The key is the name of a pipeline within the project.
                    additionalProperties:
                      type: string
                      description: Parameter name and value. The key is the name of a pipeline parameter, and the value is the parameter value to assign.
                  description: 'Override default values for specific pipeline parameters. Each pipeline can have multiple parameter overrides. The parameter must exist in the pipeline definition, or the override will be skipped.


                    You only need to specify the parameters you want to override. Any parameters not specified will use their default values from the pipeline definition. You can override just one parameter or multiple parameters as needed.'
                projectConfiguration:
                  type: object
                  additionalProperties:
                    type: string
                    description: Project configuration parameter name and value. The key is the project configuration variable name, and the value is the parameter value to assign.
                  description: Override default values for project-level configuration parameters that apply to all pipelines in the project.
            example:
              projectName: CustomerAnalytics
              fabricName: production-databricks
              gitTag: CustomerAnalytics/2.1
              pipelineConfigurations:
                sales_report:
                  report_period: monthly
                  include_forecasts: 'true'
                customer_segmentation:
                  segment_count: '5'
                  min_customers_per_segment: '100'
                revenue_analysis:
                  currency: USD
                  include_tax: 'false'
              projectConfiguration:
                environment: production
                data_refresh_frequency: daily
      responses:
        '200':
          description: Project deployment response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the request to deploy the project was successful.
                  message:
                    type: string
                    description: Message that explains the outcome of the request.
                  deploymentId:
                    type: string
                    description: Unique identifier of the deployment generated by this request.
                  details:
                    type: object
                    properties:
                      projectId:
                        type: string
                        description: Unique identifier of the deployed project.
                      fabricId:
                        type: string
                        description: Unique identifier of the fabric where the project was deployed.
                      version:
                        type: string
                        description: Version number of the deployed project.
                      pipelinesDeployed:
                        type: array
                        items:
                          type: string
                        description: Array of pipeline names that were successfully deployed.
                      configurationsApplied:
                        type: integer
                        description: Number of configuration parameters that were applied during deployment.
                  error:
                    type: string
                    description: Detailed error information provided when the request fails.
              examples:
                success:
                  summary: Response to a successful deployment request
                  value:
                    success: true
                    message: Project scheduled successfully
                    deploymentId: '212'
                    details:
                      projectId: '67890'
                      fabricId: 09123
                      version: '2.1'
                      pipelinesDeployed:
                      - sales_report
                      - customer_segmentation
                      - revenue_analysis
                      configurationsApplied: 5
                error:
                  summary: Response to a request with an invalid Git tag
                  value:
                    success: false
                    message: Deployment failed
                    error: 'Failed to fetch project files: Clone failed because revision Some(CustomerAnalytics/2.1) was not found'