# Add or Update Lead Source

## Add or Update Lead Source

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

#### Path Parameters

| Name       | Type    | Description                                                                   |
| ---------- | ------- | ----------------------------------------------------------------------------- |
| id         | integer | The unique id of the lead source (Leave empty if adding a new lead source)    |
| name       | string  | The name of the crm lead source (Required when the ID parameter is missing)   |
| cost       | string  | The cost for usage of the crm lead source                                     |
| colour     | string  | The colour for the source will help to identify and group leads/opportunities |
| isReferral | strings | Whether or not this source is referral                                        |

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

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

{% endtab %}
{% endtabs %}

## Example Request

### Add Lead Source

```javascript
{
  "name": "Referal Source",
  "isReferral": true,
}
```

### Update Lead Source

```javascript
{
  "id": 755,
  "description": "#Description of source"
}
```

## Returns

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

## Throws

| Code                 | Description                         |
| -------------------- | ----------------------------------- |
| Specific Code: 24325 | The crm lead source does not exist  |
| Specific Code: 24326 | The crm lead source is not editable |
| Specific Code: 24327 | An error has occurred               |
| Specific Code: 24328 | The request contains invalid data   |
| Specific Code: 24329 | The request contains invalid data   |

This call takes values for a lead source, and either

1. Updates the values for that lead source (after you have provided an id in the parameters), or
2. Adds the lead source 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 source identifier of the updated or newly

   created lead source.


---

# 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-source.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.
