Update a sub-source of a lead source Run in API Explorer

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://apidocs.plannrcrm.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "PlannrCRM MCP server": {
    "url": "https://apidocs.plannrcrm.com/mcp"
  }
}

Close
PUT /api/v1/lead-sources/{lead_source_uuid}/sub-sources/{uuid}

Path parameters

  • lead_source_uuid string Required
  • uuid string Required
application/json

Body

  • name string

    Name of the sub-source. Must be unique within its lead source.

    Maximum length is 255.

  • description string | null

    Optional description of the sub-source.

  • position integer

    New position within the lead source's list. Other sub-sources shift to keep positions contiguous.

    Minimum value is 1.

  • archived boolean

    Archive or unarchive the sub-source. Archived sub-sources are hidden from the default list.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • uuid string
    • name string
    • description string
    • position integer
    • archived boolean
    • created_at string
    • updated_at string
  • 422 application/json

    Validation error

    Hide response attributes Show response attributes object
    • message string Required

      A human-readable description of the error.

    • errors object

      Validation messages keyed by the field that failed.

      Hide errors attribute Show errors attribute object
      • * array[string] Additional properties
PUT /api/v1/lead-sources/{lead_source_uuid}/sub-sources/{uuid}
curl \
 --request PUT 'https://api.plannrcrm.com/api/v1/lead-sources/6ff8f7f6-1eb3-3525-be4a-3932c805afed/sub-sources/6ff8f7f6-1eb3-3525-be4a-3932c805afed' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "name": "Google",
  "description": "Paid search on Google",
  "position": 1,
  "archived": false
}'
Request examples
{
  "name": "Google",
  "description": "Paid search on Google",
  "position": 1,
  "archived": false
}
Response examples (200)
[
  {
    "uuid": "79ada6f1-7224-485d-bb32-1476eaea8a8f",
    "name": "Google",
    "description": "Paid search on Google",
    "position": 1,
    "archived": false,
    "created_at": "2026-10-12T11:34:44+01:00",
    "updated_at": "2026-10-12T11:34:44+01:00"
  }
]
Response examples (422)
{
  "message": "The name field is required.",
  "errors": {
    "name": [
      "The name field is required."
    ]
  }
}
{
  "message": "The name has already been taken.",
  "errors": {
    "name": [
      "The name has already been taken."
    ]
  }
}
{
  "message": "The name must not be greater than 255 characters.",
  "errors": {
    "name": [
      "The name must not be greater than 255 characters."
    ]
  }
}
{
  "message": "The position must be at least 1.",
  "errors": {
    "position": [
      "The position must be at least 1."
    ]
  }
}
{
  "message": "The archived field must be true or false.",
  "errors": {
    "archived": [
      "The archived field must be true or false."
    ]
  }
}