> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prophecy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy project

> 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.

## Requirements

To run the API, you need to:

* Reference a fabric that exists in your environment.
* Use an existing Git tag that defines the project version.

<Note>
  Unlike in the Prophecy UI where Git tags are created automatically during publish, when using this API you must create the Git tag externally.

  The tag must follow the exact format `{projectName}/{version}`.
</Note>

## Parameter Precedence

Configuration parameters follow this precedence order:

1. Pipeline parameter overrides (highest priority)
2. Project configuration overrides
3. Default pipeline parameters
4. Default project configuration (lowest priority)


## OpenAPI

````yaml post /api/deploy/project
openapi: 3.0.3
info:
  title: Prophecy API - Project Deployment
  description: API for deploying projects to fabrics
  version: 1.0.0
servers: []
security: []
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

````