---
title: "POST /api/v3/accounts/{account_id}/projects/{project_id}/extended-attributes/"
method: POST
path: "/api/v3/accounts/{account_id}/projects/{project_id}/extended-attributes/"
tags: ["Extended Attributes"]
---

# POST /api/v3/accounts/{account_id}/projects/{project_id}/extended-attributes/

`POST /api/v3/accounts/{account_id}/projects/{project_id}/extended-attributes/`

## Request

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

Create a new Extended Attributes record.

## Path parameters

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

## Request body

- ExtendedAttributesCreateBodyRequest: Base class for all request payloads. It is expected that each endpoint extends this class to define its own payload format
  - `extended_attributes` object, required: The key-value pairs to be stored as extended attributes. dbt guarantees to support extended attributes up to 4096 bytes in serialized JSON form.

## Response `200`

- ExtendedAttributesResponse
  - `status` Status
    - `code` integer
    - `is_success` boolean
    - `user_message` string
    - `developer_message` string
  - `data` ExtendedAttributes, required
    - `id` integer, required: The ID of the extended attributes record
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `account_id` integer, required: The ID of the parent account
    - `project_id` integer, required: The ID of the parent project
    - `extended_attributes` object, required: The key-value pairs stored as extended attributes
    - `state` integer: A value of 1 means this entity is active and a value of 2 means this entity is deleted
  - `extra` object
  - `error_code` integer

## Changes

- **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-05-19** (v3) `b5c3cbad7ad9`: 11 breaking, 9 warning, 10 info
  - the `extended_attributes` request property type changed from no type to `object` (media type: application/json)
  - the `extended_attributes` request property type changed from no type to `object` (media type: application/x-www-form-urlencoded)
  - the `extended_attributes` request property type changed from no type to `object` (media type: multipart/form-data)
  - the response property `status` became optional for the status `200`
  - …26 more
- **2026-04-22** (v3) `ed46da9332ad`: 6 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 `project_id` request property format changed from no format to `int64` (media type: application/json)
  - …2 more

[Operation history](https://skmtc.dev/getdbt/apis/dbt-cloud-api-v2/changes/api/v3/accounts/:account_id/projects/:project_id/extended-attributes/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)
