---
title: "Update project details"
method: POST
path: "/v1/projects/{project_id}"
tags: ["Project"]
---

# Update project details

`POST /v1/projects/{project_id}`

## Request

- Base URL: `https://api.telerivet.com`
- URL: `https://api.telerivet.com/v1/projects/{project_id}`
- Auth: one of:
  - HTTP basic
  - OAuth 2 (authorization code, authorization URL `https://telerivet.com/oauth/authorize`, token URL `https://api.telerivet.com/oauth/token`)

Updates writable fields on the given project.

## Path parameters

- `project_id` string, required

## Request body

- object
  - `name` string: Name of the project
  - `timezone_id` string: Default TZ database timezone ID; see [List of tz database time zones Wikipedia article](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
  - `url_slug` string: Unique string used as a component of the project's URL in the Telerivet web app (required length: 3-18 characters)
  - `default_route_id` string: The ID of a basic route or custom route that will be used to send messages by default (via both the API and web app), unless a particular route ID is specified when sending the message.
  - `primary_dashboard_id` string: The ID of the dashboard that is shown by default when opening the project in the Telerivet web app, or `default` if the project's dashboards have never been customized (see Dashboard).
  - `auto_create_contacts` boolean: If true, a contact will be automatically created for each unique phone number that a message is sent to or received from. If false, contacts will not automatically be created (unless contact information is modified by an automated service). The Conversations tab in the web app will only show messages that are associated with a contact.
  - `message_retention_days` integer: Number of days to retain messages in this project. Messages older than this will be automatically deleted. If null, messages will be retained forever.
  - `short_link_scheme` boolean: If true (the default), short links in messages will include the scheme (e.g., 'https://rvt.me/xxxxxxxxx'). If false, short links will not include the scheme (e.g., 'rvt.me/xxxxxxxxx').
  - `custom_contact_routing` boolean: If true, the default route can be changed per contact, and messages to a contact with a default route assigned are sent via that route
  - `vars` object: Custom variables stored for this project. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.

## Response `200`

Successful response

- Project: Represents a Telerivet project. Provides methods for sending and scheduling messages, as well as accessing, creating and updating a variety of entities, including contacts, messages, scheduled messages, groups, labels, phones, services, and data tables.
  - `id` string: ID of the project
  - `name` string: Name of the project
  - `timezone_id` string: Default TZ database timezone ID; see [List of tz database time zones Wikipedia article](http://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
  - `url_slug` string: Unique string used as a component of the project's URL in the Telerivet web app (required length: 3-18 characters)
  - `default_route_id` string: The ID of a basic route or custom route that will be used to send messages by default (via both the API and web app), unless a particular route ID is specified when sending the message.
  - `primary_dashboard_id` string: The ID of the dashboard that is shown by default when opening the project in the Telerivet web app, or `default` if the project's dashboards have never been customized (see Dashboard).
  - `auto_create_contacts` boolean: If true, a contact will be automatically created for each unique phone number that a message is sent to or received from. If false, contacts will not automatically be created (unless contact information is modified by an automated service). The Conversations tab in the web app will only show messages that are associated with a contact.
  - `message_retention_days` integer: Number of days to retain messages in this project. Messages older than this will be automatically deleted. If null, messages will be retained forever.
  - `short_link_scheme` boolean: If true (the default), short links in messages will include the scheme (e.g., 'https://rvt.me/xxxxxxxxx'). If false, short links will not include the scheme (e.g., 'rvt.me/xxxxxxxxx').
  - `message_review` object: The project's Message Review settings (read-only). Properties: `limits_enabled` (boolean) — require approval before sending more than the volume limits below; `limit_once`, `limit_day`, `limit_month` (int or null) — the maximum number of messages that can be sent without approval at one time, per day, and per month (null = no limit). When a send requires approval, the sendMessage, sendBroadcast, and sendMulti methods return `status`=`pending_review` instead of sending immediately.
  - `welcome_message` object: The project's welcome message settings (read-only). Properties: `enabled` (boolean) — automatically send the welcome message to each contact the first time a text message is sent to that contact, for example to provide opt-out or compliance instructions (welcome messages may also be configured on individual routes); `content` (string or null) — content of the welcome message; `append` (boolean) — if true, the welcome message is appended to the end of the first message sent to each contact, instead of being sent as a separate message.
  - `custom_contact_routing` boolean: If true, the default route can be changed per contact, and messages to a contact with a default route assigned are sent via that route
  - `vars` object: Custom variables stored for this project. Variable names may be up to 32 characters in length and can contain the characters a-z, A-Z, 0-9, and _. Values may be strings, numbers, or boolean (true/false). String values may be up to 4096 bytes in length when encoded as UTF-8. Up to 100 variables are supported per object. Setting a variable to null will delete the variable.
  - `organization_id` string: ID of the organization this project belongs to
  - `url` string: URL to this project in the Telerivet web app

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key or Bearer token
- `404`: Resource not found

---

[API](https://skmtc.dev/telerivet/apis/telerivet-api.md) · [All operations](https://skmtc.dev/telerivet/apis/telerivet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/telerivet/apis/telerivet-api/revisions/4e14b1c8d917?raw)
