---
title: "Creates a SalesLead"
method: POST
path: "/lead"
tags: ["salesLead"]
---

# Creates a SalesLead

`POST /lead`

## Request

- Base URL: `https://za.api.mtn.com/sales/v1`
- URL: `https://za.api.mtn.com/sales/v1/lead`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://api.mtn.com/v1/oauth/access_token`
- TypeScript: <https://skmtc.dev/mtn/apis/api-sales/docs/lead/post.ts> (a function with typed inputs; its response is checked against the schema)

This operation creates a SalesLead entity.

## Headers

- `transactionId` string
- `x-origin-channelId` string

## Request body

- SalesLeadCreate: A Sales Lead is the identification of a person or organization that has an interest in the goods and/or services provided in the prospect of them becoming Customers with one or more Subscriptions. Skipped properties: id,href,status,creationDate,statusChangeDate
  - `customerDetails` LeadCustomerDetails, required: customerdetails
    - `description` string: Unique description of the salesLead
    - `lastName` string, required: Name of the salesLead - mandatory parameter needed for salesforce backend
    - `firstName` string, required: First name
    - `salutation` string: Salutation
    - `middleName` string: MiddleName
    - `company` string, required: Company - mandatory parameter needed for salesforce backend
    - `street` string: Street value
    - `city` string: City
    - `state` string: State
    - `postalCode` string: PostalCode
    - `country` string: Country
    - `latitude` string: Latitude
    - `longitude` string: Longitude
    - `phone` string: Phone
    - `mobileNumber` string, required: phone details
    - `email` string, required: Email
    - `website` string: Website
    - `industry` string: Industry
    - `annualRevenue` integer: AnnualRevenue
    - `numberofEmployees` integer: NumberOfEmployees
    - `businessOrganizationType` string: BusinessOrganizationType
    - `companyRegistration` string: CompanyRegistration
    - `companySize` string: Indicates the nature of the salesLead
    - `preferredCommunication` string: PreferredCommunication
    - `domainName` string: DomainName
    - `externalChannel` string: ExternalChannel
    - `notes` string: Notes
    - `preferredContactSlot` string: PreferredContactSlot
    - `feasibilityDetails` string: FeasibilityDetails
    - `feasibilityStatus` string: FeasibilityStatus
    - `utmSource` string: ExternalChannel
    - `networkFeasibility` string: FeasibilityDetails
    - `solutionType` string: solution type
    - `sales` string: sales
    - `segment` string: segment
    - `region` string: region
    - `opco` string, required: Opco it is a mandatory parameter needed for salesforce backend
    - `id` string: RSAID
    - `idType` string: type of id
  - `productDetails` LeadProductDetails: customerdetails
    - `productServiceDescription` string: Indicates the nature of the salesLead
    - `serviceRequiredPeriod` string: ServiceRequiredPeriod
    - `typeofProduct` string: TypeofProduct
    - `productCode` string: ProductCode
  - `campaignDetails` LeadCampaignDetails: campaigndetails
    - `campaignName` string: CampaignName
    - `campaignType` string: CampaignType
    - `campaignOwner` string: CampaignOwner
    - `campaignPromotionId` string: CampaignPromotionID
  - `leadDetails` LeadLeadDetails: leaddetails
    - `leadSource` string: LeadSource
    - `leadOrigin` string: LeadOrigin
    - `interactionReason` string: InteractionReason
    - `leadReference` string: LeadReference
    - `subSegment` string: SubSegment
    - `partnerName` string: PartnerName
    - `createdDate` string: CreatedDate

## Response `200`

Created

- CreateSalesLeadResponse
  - `statusCode` string: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes'
  - `statusMessage` string: More details and corrective actions related to the error which can be shown to a client
  - `supportMessage` string: Internal message meant for consumers of the API to troubleshoot the error (could possible include the back-end system error code in the message if it would be useful)
  - `transactionId` string: This is the same transactionId that is sent in the request
  - `id` string: This is the Id generated by backend

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `405`: Method Not allowed
- `415`: Unsupported Media Type
- `500`: Internal server error

---

[API](https://skmtc.dev/mtn/apis/api-sales.md) - [All operations](https://skmtc.dev/mtn/apis/api-sales/llms.txt) - [OpenAPI document](https://skmtc.dev/mtn/apis/api-sales/revisions/d885661751d4?raw)
