> ## Documentation Index
> Fetch the complete documentation index at: https://leadping.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a business lead intake source

> Creates a lead source for the current business, storing intake credentials and routing context for captured external leads.



## OpenAPI

````yaml /openapi.json post /sources
openapi: 3.0.4
info:
  title: Leadping API
  description: >-
    Leadping API for lead intake, messaging, calling, automations, billing,
    business settings, and compliant lead communication workflows.
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: v1
servers:
  - url: https://api.leadping.ai
    description: Production
security: []
tags:
  - name: Analytics
  - name: Automations
  - name: Contact
  - name: Conversations
  - name: Dispositions
  - name: Feedback
  - name: Leads
  - name: LeadStatuses
  - name: Notifications
  - name: OutboundDelivery
  - name: Sources
  - name: Suppressions
  - name: Tags
  - name: Users
  - name: Calls
  - name: PhoneNumbers
  - name: Sms
  - name: Telephony
  - name: UserDataExports
  - name: CallEvents
  - name: Events
  - name: SmsEvents
  - name: Businesses
  - name: PaymentMethods
  - name: Transactions
  - name: Usage
  - name: Wallets
paths:
  /sources:
    post:
      tags:
        - Sources
      summary: Create a business lead intake source
      description: >-
        Creates a lead source for the current business, storing intake
        credentials and routing context for captured external leads.
      operationId: Sources_Create
      requestBody:
        description: The source data to create.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SourceRequest'
              description: >-
                Request schema for the Leadping API lead source request,
                including the fields clients can send.
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SourceRequest'
              description: >-
                Request schema for the Leadping API lead source request,
                including the fields clients can send.
        required: true
      responses:
        '201':
          description: Source was successfully created.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SourceResponse'
                description: >-
                  Response schema for the Leadping API lead source response
                  returned to authenticated clients.
        '400':
          description: The request was invalid or malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    SourceRequest:
      required:
        - name
      type: object
      properties:
        description:
          type: string
          description: >-
            Human-readable description that explains this lead source request to
            API users.
          nullable: true
        enabled:
          type: boolean
          description: >-
            Indicates whether this lead source request is active and available
            in the Leadping API.
        apiKey:
          type: string
          description: >-
            Source API key used to authenticate inbound lead delivery to
            Leadping.
          nullable: true
        regenerateApiKey:
          type: boolean
          description: >-
            Indicates whether Leadping should issue a new API key for this
            source.
        costPerLead:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          description: Configured cost charged when this source creates a billable lead.
          format: double
          nullable: true
        allowedStates:
          type: array
          items:
            type: string
          description: State or region allowlist used to accept leads from this source.
        allowedProducts:
          type: array
          items:
            type: string
          description: Product allowlist used to accept or route leads from this source.
        requiresTrustedForm:
          type: boolean
          description: >-
            Indicates whether leads from this source must include a TrustedForm
            certificate for consent proof.
        defaultTagIds:
          type: array
          items:
            type: string
          description: Tag IDs automatically assigned to leads created by this source.
        defaultTagNames:
          type: array
          items:
            type: string
          description: Tag names automatically assigned to leads created by this source.
        name:
          maxLength: 255
          minLength: 0
          type: string
          description: The display name for the entity.
        id:
          type: string
          description: >-
            The unique identifier for the entity, when updating an existing
            entity.
          nullable: true
      description: >-
        Request schema for the Leadping API lead source request, including the
        fields clients can send.
    SourceResponse:
      type: object
      properties:
        description:
          type: string
          description: >-
            Human-readable description that explains this lead source response
            to API users.
          nullable: true
        enabled:
          type: boolean
          description: >-
            Indicates whether this lead source response is active and available
            in the Leadping API.
        apiKey:
          type: string
          description: >-
            Source API key used to authenticate inbound lead delivery to
            Leadping. Unlike a business API key, this value remains available to
            authorized source users.
          nullable: true
        apiKeyPreview:
          type: string
          description: Masked preview of the source API key for compact display.
          nullable: true
        firstLeadReceivedAt:
          type: string
          description: UTC timestamp when this source first delivered a lead to Leadping.
          format: date-time
          nullable: true
        lastLeadReceivedAt:
          type: string
          description: >-
            UTC timestamp when this source most recently delivered a lead to
            Leadping.
          format: date-time
          nullable: true
        user:
          type: object
          allOf:
            - $ref: '#/components/schemas/IdNamePair'
          description: User summary connected to this lead source response.
          nullable: true
        createdByUser:
          type: object
          allOf:
            - $ref: '#/components/schemas/IdNamePair'
          description: User summary for the person who created this lead source response.
          nullable: true
        modifiedByUser:
          type: object
          allOf:
            - $ref: '#/components/schemas/IdNamePair'
          description: >-
            User summary for the person who last modified this lead source
            response.
          nullable: true
        business:
          type: object
          allOf:
            - $ref: '#/components/schemas/IdNamePair'
          description: Business summary connected to this lead source response.
          nullable: true
        costPerLead:
          pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
          description: Configured cost charged when this source creates a billable lead.
          format: double
          nullable: true
        allowedStates:
          type: array
          items:
            type: string
          description: State or region allowlist used to accept leads from this source.
        allowedProducts:
          type: array
          items:
            type: string
          description: Product allowlist used to accept or route leads from this source.
        requiresTrustedForm:
          type: boolean
          description: >-
            Indicates whether leads from this source must include a TrustedForm
            certificate for consent proof.
        complianceApproved:
          type: boolean
          description: Indicates whether the business or sender passed compliance review.
        defaultTagIds:
          type: array
          items:
            type: string
          description: Tag IDs automatically assigned to leads created by this source.
        defaultTags:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/TagSummary'
            description: >-
              Summary schema for Leadping API tag summary data used in
              dashboards and reports.
          description: >-
            Default tag summaries automatically applied to leads from this
            source.
        name:
          type: string
          description: The display name for the entity.
        id:
          type: string
          description: The unique identifier for the entity.
        createdAt:
          type: string
          description: The date and time when the entity was created.
          format: date-time
        modifiedAt:
          type: string
          description: The date and time when the entity was last modified, if applicable.
          format: date-time
          nullable: true
      description: >-
        Response schema for the Leadping API lead source response returned to
        authenticated clients.
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          description: URI reference that identifies the problem type.
          nullable: true
        title:
          type: string
          description: Short, human-readable summary of the problem.
          nullable: true
        status:
          pattern: ^-?(?:0|[1-9]\d*)$
          description: HTTP status code returned for the problem.
          format: int32
          nullable: true
        detail:
          type: string
          description: >-
            Human-readable explanation specific to this occurrence of the
            problem.
          nullable: true
        instance:
          type: string
          description: >-
            URI reference that identifies this specific occurrence of the
            problem.
          nullable: true
    IdNamePair:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: The unique identifier.
        name:
          type: string
          description: The display name.
      description: >-
        A minimal Record type with an (string), (string), and maximum JSON
        compatibility. The reason for this type (over something like
        KeyValuePair, dictionary) is because of JSON serialization support.
    TagSummary:
      type: object
      properties:
        id:
          type: string
          description: Unique Leadping identifier for this tag summary.
        name:
          type: string
          description: Display name for this tag summary in the Leadping API.
        normalizedName:
          type: string
          description: >-
            Normalized name used for case-insensitive tag matching and
            deduplication.
        color:
          type: string
          description: Hex color used to display this tag or status in Leadping clients.
          nullable: true
      description: >-
        Summary schema for Leadping API tag summary data used in dashboards and
        reports.

````