---
title: "POST /api/v3/accounts/{account_id}/projects/{project_id}/profiles/"
method: POST
path: "/api/v3/accounts/{account_id}/projects/{project_id}/profiles/"
tags: ["Profiles"]
---

# POST /api/v3/accounts/{account_id}/projects/{project_id}/profiles/

`POST /api/v3/accounts/{account_id}/projects/{project_id}/profiles/`

## Request

- Base URL: `https://cloud.getdbt.com`
- URL: `https://cloud.getdbt.com/api/v3/accounts/{account_id}/projects/{project_id}/profiles/`
- Auth: HTTP bearer

Create a new profile.

Profiles are the set of connection, credentials, and attributes used to connect to a data warehouse. They can be assigned to deployment environments to run jobs.

## Path parameters

- `account_id` integer, required
- `project_id` integer, required

## Query parameters

- `limit` integer
- `offset` integer

## Request body

- ProfileCreateBodyRequest: Base class for all request payloads. It is expected that each endpoint extends this class to define its own payload format
  - `account_id` integer, required: The ID of the account
  - `project_id` integer, required: The ID of the project
  - `connection_id` integer, required: The ID of the connection
  - `key` string, required: Unique name for the profile. The profile key must be unique per project and can only contain letters, numbers, dashes, and underscores. It must begin with a letter and end with a letter or number. It cannot contain consecutive dashes or underscores.
  - `credentials_id` integer, required: The ID of the credentials
  - `extended_attributes_id` integer: The ID of the extended attributes

## Response `200`

- ProfileDetailResponse
  - `status` Status
    - `code` integer
    - `is_success` boolean
    - `user_message` string
    - `developer_message` string
  - `data` ProfileDetail, required
    - `id` integer, required: The ID of the profile
    - `account_id` integer, required: The ID of the account
    - `project_id` integer, required: The ID of the project
    - `key` string, required: Unique name for the profile. The profile key must be unique per project and can only contain letters, numbers, dashes, and underscores. It must begin with a letter and end with a letter or number. It cannot contain consecutive dashes or underscores.
    - `connection_id` integer, required: The ID of the connection
    - `credentials_id` integer, required: The ID of the credentials
    - `extended_attributes_id` integer: The ID of the extended attributes
    - `primary_bindings` ProfileEnvironmentBinding[], required: The primary bindings for the profile
      - `id` integer, required: The ID of the environment binding
      - `name` string, required: The name of the environment binding
      - `type` string, required: The type of the environment binding
      - `deployment_type` string, required: The deployment type of the environment binding
    - `catalog_bindings` ProfileEnvironmentBinding[]: The catalog bindings for the profile (deprecated)
      - `id` integer, required: The ID of the environment binding
      - `name` string, required: The name of the environment binding
      - `type` string, required: The type of the environment binding
      - `deployment_type` string, required: The deployment type of the environment binding
  - `extra` object
  - `error_code` integer

## Changes

- **2026-10-06** (v3) `fac88ef7e8f8`: 15 breaking
  - the `account_id` request property format changed from no format to `int64` (media type: application/json)
  - the `account_id` request property format changed from no format to `int64` (media type: application/x-www-form-urlencoded)
  - the `account_id` request property format changed from no format to `int64` (media type: multipart/form-data)
  - the `connection_id` request property format changed from no format to `int64` (media type: application/json)
  - …11 more
- **2026-10-06** (v3) `7d5c1b4c8d8a`: 2 breaking
  - for the `path` request parameter `account_id`, the format changed from no format to `int64`
  - for the `path` request parameter `project_id`, the format changed from no format to `int64`
- **2026-10-02** (v3) `3e909205a8fe`: 1 breaking, 1 info
  - the response property `data/catalog_bindings` became optional for the status `200`
  - the `catalog_bindings` response's property default value `` was added for the status `200`
- **2026-02-10** (v3) `45ba55712f57`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getdbt/apis/dbt-cloud-api-v2/changes/api/v3/accounts/:account_id/projects/:project_id/profiles/post.md)

---

[API](https://skmtc.dev/getdbt/apis/dbt-cloud-api-v2.md) - [All operations](https://skmtc.dev/getdbt/apis/dbt-cloud-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/getdbt/apis/dbt-cloud-api-v2/revisions/2448b375ac2f?raw)
