Create 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
POST /api/v1/lead-sources
application/json

Body

  • name string Required

    Name of the lead source. Must be unique within the firm.

    Maximum length is 255.

  • description string | null

    Optional description of the lead source.

Responses

  • 200 application/json
    Hide response attributes Show response attributes object
    • uuid string
    • name string
    • description string
    • position integer
    • archived boolean
    • sub_sources array[object]
      Hide sub_sources attributes Show sub_sources attributes object
      • uuid string
      • name string
      • description string
      • position integer
      • archived boolean
      • lead_source object
        Hide lead_source attributes Show lead_source attributes object
        • uuid

          The UUID of the resource.

        • name

          The name of the lead source.

        • description

          An optional description of the lead source.

        • position

          The position of the lead source within the firm's list.

        • archived

          Whether the lead source is archived and hidden from selection.

        • created_at

          The timestamp of when the resource was created.

        • updated_at

          The timestamp of when the resource was updated.

      • created_at string
      • updated_at string
    • 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
POST /api/v1/lead-sources
curl \
 --request POST 'https://api.plannrcrm.com/api/v1/lead-sources' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "name": "Website",
  "description": "Enquiries via the contact page"
}'
Request examples
{
  "name": "Website",
  "description": "Enquiries via the contact page"
}
Response examples (200)
{
  "uuid": "fc7579da-2a86-4774-9a8e-d730ecab3d0a",
  "name": "Website",
  "description": "Enquiries via the contact page",
  "position": 1,
  "archived": false,
  "sub_sources": [
    {
      "uuid": "24816b4d-486f-45ff-9b36-d7c1d968361a",
      "name": "Google",
      "description": "Paid search on Google",
      "position": 1,
      "archived": false,
      "lead_source": {
        "uuid": "263fb2b7-49b9-4534-a54b-c23125379ee6",
        "name": "Website",
        "description": "Enquiries via the contact page",
        "position": 1,
        "archived": false,
        "created_at": "2026-10-30T16:30:12+00:00",
        "updated_at": "2026-10-30T16:30:12+00:00"
      },
      "created_at": "2026-10-30T16:30:04+00:00",
      "updated_at": "2026-10-30T16:30:04+00:00"
    }
  ],
  "created_at": "2026-10-30T16:30:04+00:00",
  "updated_at": "2026-10-30T16:30:04+00: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."
    ]
  }
}