Atlassian: Create project
Atlassian projects.createProject: arguments, response, policy and SDK examples.
← Projects operations · Get started
Operation atlassian.createproject
Provider route: POST /{cloudId}/rest/api/3/project. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/atlassian with npm, or alter-sdk-atlassian with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { AtlassianIntegration } from "@alter-ai/atlassian";
async function execute(input: Parameters<AtlassianIntegration["projects"]["createProject"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new AtlassianIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.projects.createProject(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_atlassian import AtlassianIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = AtlassianIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.projects.create_project(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.cloudId | string | Required within parent | Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ |
body | Model | Required within parent | Expand Create project — request body — body |
Referenced models: Create project — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Create project — response body |
Referenced models: Create project — response body
Schemas
Section titled “Schemas”Create project — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details about the project. Additional keys: not allowed |
assigneeType | string | Optional | The default assignee when creating issues for this project. One of: PROJECT_LEAD, UNASSIGNED |
avatarId | integer | Optional | An integer value for the project's avatar. Format: int64 |
categoryId | integer | Optional | The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation. Format: int64 |
description | string | Optional | A brief description of the project. |
fieldConfigurationScheme | integer | Optional | Deprecated use [fieldScheme](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-field-schemes/#api-group-field-schemes) instead. The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-3-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key. Format: int64 |
fieldScheme | integer | Optional | The ID of the field scheme for the project. Use the [Get field schemes](#api-rest-api-3-config-fieldschemes-get) operation to get a list of field scheme IDs. If you specify the field scheme you cannot specify the project template key. Format: int64 |
issueSecurityScheme | integer | Optional | The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs. Format: int64 |
issueTypeScheme | integer | Optional | The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-3-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key. Format: int64 |
issueTypeScreenScheme | integer | Optional | The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-3-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key. Format: int64 |
key | string | Required within parent | Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. |
lead | string | Optional | This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`. |
leadAccountId | string | Optional | The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`. Maximum length: 128 |
name | string | Required within parent | The name of the project. |
notificationScheme | integer | Optional | The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs. Format: int64 |
permissionScheme | integer | Optional | The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs. Format: int64 |
projectTemplateKey | string | Optional | A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. One of: com.pyxis.greenhopper.jira:gh-simplified-agility-kanban, com.pyxis.greenhopper.jira:gh-simplified-agility-scrum, com.pyxis.greenhopper.jira:gh-simplified-basic, com.pyxis.greenhopper.jira:gh-simplified-kanban-classic, com.pyxis.greenhopper.jira:gh-simplified-scrum-classic, com.pyxis.greenhopper.jira:gh-cross-team-template, com.pyxis.greenhopper.jira:gh-cross-team-planning-template, com.atlassian.servicedesk:simplified-it-service-management, com.atlassian.servicedesk:simplified-it-service-management-basic, com.atlassian.servicedesk:simplified-it-service-management-operations, com.atlassian.servicedesk:simplified-internal-service-desk, com.atlassian.servicedesk:simplified-external-service-desk, com.atlassian.servicedesk:simplified-hr-service-desk, com.atlassian.servicedesk:simplified-facilities-service-desk, com.atlassian.servicedesk:simplified-legal-service-desk, com.atlassian.servicedesk:simplified-marketing-service-desk, com.atlassian.servicedesk:simplified-finance-service-desk, com.atlassian.servicedesk:simplified-analytics-service-desk, com.atlassian.servicedesk:simplified-design-service-desk, com.atlassian.servicedesk:simplified-sales-service-desk, com.atlassian.servicedesk:simplified-halp-service-desk, com.atlassian.servicedesk:next-gen-it-service-desk, com.atlassian.servicedesk:next-gen-hr-service-desk, com.atlassian.servicedesk:next-gen-legal-service-desk, com.atlassian.servicedesk:next-gen-marketing-service-desk, com.atlassian.servicedesk:next-gen-facilities-service-desk, com.atlassian.servicedesk:next-gen-analytics-service-desk, com.atlassian.servicedesk:next-gen-finance-service-desk, com.atlassian.servicedesk:next-gen-design-service-desk, com.atlassian.servicedesk:next-gen-sales-service-desk, com.atlassian.servicedesk:company-managed-blank-service-project, com.atlassian.servicedesk:company-managed-general-service-project, com.atlassian.servicedesk:team-managed-general-service-project, com.atlassian.jira-core-project-templates:jira-core-simplified-content-management, com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval, com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking, com.atlassian.jira-core-project-templates:jira-core-simplified-process-control, com.atlassian.jira-core-project-templates:jira-core-simplified-procurement, com.atlassian.jira-core-project-templates:jira-core-simplified-project-management, com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment, com.atlassian.jira-core-project-templates:jira-core-simplified-task-, com.atlassian.jcs:customer-service-management |
projectTypeKey | string | Optional | The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type. One of: software, service_desk, business, customer_service |
url | string | Optional | A link to information about this project, such as project documentation |
workflowScheme | integer | Optional | The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-3-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key. Format: int64 |
Create project — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Identifiers for a project. |
id | JSON | Optional | |
id (anyOf 1) | JSON | Alternative | |
id (anyOf 1) (anyOf 1) | integer | Alternative | The ID of the created project. Format: int64 Read only: true |
id (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
id (anyOf 2) | null | Alternative | |
key | JSON | Optional | |
key (anyOf 1) | string | Alternative | The key of the created project. Read only: true |
key (anyOf 2) | null | Alternative | |
self | JSON | Optional | |
self (anyOf 1) | string | Alternative | The URL of the created project. Format: uri Read only: true |
self (anyOf 2) | null | Alternative |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: atlassian.createproject. Catalog operation: createproject. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["manage:jira-configuration"]