---
title: "Deploy Contract"
method: POST
path: "/api/v1/contract-templates/{templateId}/deploy"
tags: ["contract-templates"]
---

# Deploy Contract

`POST /api/v1/contract-templates/{templateId}/deploy`

Deploy a contract from a template to the specified network.

## Path parameters

- `templateId` string, required

## Headers

- `x-sdk-version` string, required

## Request body

- DeployContractRequestBodyDTO
  - `networkId` string, required
  - `addressId` string, required
  - `clientShare` string, required
  - `constructorParameters` ConstructorParameterDto[]
    - `name` string, required
    - `description` string
    - `internalType` string
    - `type` string, required
    - `components` ComponentDto[]
      - `name` string, required
      - `description` string
      - `internalType` string
      - `type` string, required
    - `value` object

## Response `200`

deploy contract via workflow

- DeployContractResponseDto
  - `workflowResult` WorkflowStartResultDto, required
    - `workflowId` string, required — Workflow ID
    - `operationId` string, required — Operation ID (e.g. deploymentId, collectionId, mintId, writeCallId)
    - `status` 'started' | 'already_running', required — Workflow status
    - `message` string, required — Human-readable status message

## Other responses

- `400` — Bad request or validation failed. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-010 | The request could not be processed. | | ERR-300 | Invalid input provided. | | ERR-106 | Failed to get transaction nonce. | | ERR-116 | Failed to get transaction fee data. |
- `401` — Unauthorized – invalid or missing token. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-008 | You need to sign in to continue. | | ERR-011 | Your session is invalid or expired. Please sign in again. |
- `403` — Forbidden – insufficient permissions. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-009 | You don't have permission to do that. | | ERR-410 | Error occurred |
- `404` — Resource not found. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-066 | Contract not found. | | ERR-096 | Address not found. |
- `500` — Internal server error. **Applicable error codes and client messages** The response body contains one of the following error codes and the corresponding client-facing message. | Code | Client message | |------|----------------| | ERR-019 | Something went wrong on our side. | | ERR-036 | Failed to send transaction. | | ERR-126 | Contract deployment failed. | | ERR-999 | An unexpected error occurred. Please try again. |

## Changes

- **2026-04-21** `bdac7e47d1c2` — 35 warning
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `400`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `401`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `403`
  - added the new `ERR_147` enum value to the `allOf[#/components/schemas/ApiErrorResponseDto]/code` response property for the response status `404`
  - …31 more
- **2026-03-13** `86f37d72f0a0` — 39 breaking, 26 warning, 14 info
  - added the new required request property `networkId`
  - the `header` request parameter `x-sdk-version` became required
  - added `#/components/schemas/ConstructorParameterDto` to the `constructorParameters/items/` request property `allOf` list
  - the `constructorParameters/items/` request property type/format changed from `object`/`` to ``/``
  - …75 more
- **2026-01-31** `13aade479509` — 1 breaking, 6 warning, 11 info
  - removed the success response with the status `201`
  - removed the request property `constructorParameters/items/components`
  - removed the request property `constructorParameters/items/description`
  - removed the request property `constructorParameters/items/internalType`
  - …14 more

[Change history](https://skmtc.dev/oumla/apis/oumla-core-server/changes/api/v1/contract-templates/:templateId/deploy/post.md)

---

[API](https://skmtc.dev/oumla/apis/oumla-core-server.md) · [All operations](https://skmtc.dev/oumla/apis/oumla-core-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oumla/oumla-core-server/revisions/2154835230b5/schema)
