# Add or Update Lead Stage

## Add or Update Lead Stage

<mark style="color:green;">`POST`</mark> `[PlatformAddress]/api/1.0/crm?action=addOrUpdateLeadStage`

#### Path Parameters

| Name    | Type    | Description                                                                                   |
| ------- | ------- | --------------------------------------------------------------------------------------------- |
| id      | integer | The unique id of the lead stage (Leave empty if adding a new lead stage)                      |
| name    | string  | The name of the crm lead stage (Required when the ID parameter is missing)                    |
| colour  | string  | The colour for the stage will help to identify and group leads/opportunities                  |
| applyTo | strings | Whether lead stage applies to lead or opportunity (Required when the ID parameter is missing) |

{% tabs %}
{% tab title="200 " %}

```
{
  "success": true,
  "id": 755
}
```

{% endtab %}
{% endtabs %}

## applyTo

Equal to one of the following values

* 1 = Opportunity
* 2 = Lead

## Example Request

### Add Lead Stage

```javascript
{
  "name": "Referal Lead",
  "applyTo": 1,
}
```

### Update Lead Stage

```javascript
{
  "id": 755,
  "colour": "#7ee546"
}
```

## Returns

| Property | Description                             |
| -------- | --------------------------------------- |
| success  | Whether or not the lead stage was added |
| id       | The unique id of the lead stage         |

## Throws

| Code                 | Description                        |
| -------------------- | ---------------------------------- |
| Specific Code: 24320 | The crm lead stage does not exist  |
| Specific Code: 24321 | The crm lead stage is not editable |
| Specific Code: 24322 | An error has occurred              |
| Specific Code: 24323 | The request contains invalid data  |
| Specific Code: 24324 | The request contains invalid data  |

This call takes values for a lead stage, and either

1. Updates the values for that lead stage (after you have provided an id in the parameters), or
2. Adds the lead stage to the system (if the id parameter is missing) 1. The result of this call will contain the status of the result (either

   true or false) and the lead stage identifier of the updated or newly

   created lead stage.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.ivvy.com/crm/add-or-update-lead-stage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
