Leadping Users API

Manages the current Leadping user's profile, preferences, setup, and account workflows. Use these endpoints to retrieve and update user data, configure communication and compliance preferences, complete onboarding, manage plan-related actions, and request account operations.

OpenAPI Specification

leadping-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Leadping Users API
  description: The Leadping API helps businesses capture and manage leads, automate follow-up, send SMS and MMS messages, place calls, track conversations, enforce contact suppression, and analyze communication workflows. Use this OpenAPI 3.1 contract to integrate lead sources, build organization tools, or generate a typed API client. Authenticate protected operations with a Leadping user access token or WorkOS organization API key. Lead intake operations also accept a Leadping source key.
  termsOfService: https://leadping.ai/docs/terms-of-service
  contact:
    name: Leadping Support
    url: https://leadping.ai/contact
    email: support@leadping.ai
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: v1
  summary: Lead management, messaging, calling, and automation API
servers:
- url: https://api.leadping.ai
  description: Production
tags:
- name: Users
  description: Manages the current Leadping user's profile, preferences, setup, and account workflows. Use these endpoints to retrieve and update user data, configure communication and compliance preferences, complete onboarding, manage plan-related actions, and request account operations.
paths:
  /users/me/paymentmethod:
    get:
      tags:
      - Users
      summary: Get current user's billing payment method
      description: Returns the current user's default payment method details for billing displays and account payment management.
      operationId: Users_GetPaymentMethodForCurrentUser
      responses:
        '200':
          description: Returns the stripe payment method response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/StripePaymentMethodResponse'
                description: Describes stripe payment method data used in Leadping API requests and responses.
        '400':
          description: The request was invalid or failed validation.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
  /users/me:
    get:
      tags:
      - Users
      summary: Get current user account profile details
      description: Returns the current user's profile, roles, organization context, billing state, and compliance settings for portal sessions.
      operationId: Users_GetForCurrentUser
      responses:
        '200':
          description: Returns the user response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/UserResponse'
                description: Describes user data returned by Leadping.
        '404':
          description: The requested resource was not found.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
    put:
      tags:
      - Users
      summary: Update current user account profile
      description: Updates the current user's profile fields, contact details, preferences, or organization context used across Leadping.
      operationId: Users_UpdateForCurrentUser
      requestBody:
        description: The user request payload for the operation.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UserRequest'
              description: Defines the fields clients can send when working with user profile.
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UserRequest'
              description: Defines the fields clients can send when working with user profile.
        required: true
      responses:
        '200':
          description: Returns the user response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/UserResponse'
                description: Describes user data returned by Leadping.
        '400':
          description: The request was invalid or failed validation.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
  /users/change-billing-plan:
    put:
      tags:
      - Users
      summary: Change the current user's billing plan
      description: Changes the current user's billing plan selection, updating account billing state and plan-specific capabilities.
      operationId: Users_ChangeBillingPlan
      requestBody:
        description: The change billing plan request payload for the operation.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ChangeBillingPlanRequest'
              description: Defines the input used for change billing plan.
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ChangeBillingPlanRequest'
              description: Defines the input used for change billing plan.
        required: true
      responses:
        '200':
          description: Returns the user response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/UserResponse'
                description: Describes user data returned by Leadping.
        '400':
          description: The request was invalid or failed validation.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '404':
          description: The requested resource was not found.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
  /users/compliance:
    put:
      tags:
      - Users
      summary: Update current user compliance settings
      description: Updates current-user compliance settings used for messaging eligibility, billing readiness, and organization account setup.
      operationId: Users_UpdateCompliance
      requestBody:
        description: The compliance update request payload for the operation.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ComplianceUpdateRequest'
              description: Defines the input used for compliance update.
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ComplianceUpdateRequest'
              description: Defines the input used for compliance update.
        required: true
      responses:
        '200':
          description: Returns the user response.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/UserResponse'
                description: Describes user data returned by Leadping.
        '400':
          description: The request was invalid or failed validation.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '401':
          description: Authentication credentials are missing or invalid.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
        '429':
          description: The API rate limit for this account or client has been exceeded.
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying the request.
              schema:
                minimum: 0
                type: integer
                format: int32
          content:
            application/problem+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/ProblemDetails'
                description: Standard problem-details response containing machine-readable and human-readable information about an HTTP API error.
      security:
      - Bearer: []
components:
  schemas:
    TrustedFormCertificate:
      type: object
      properties:
        id:
          type:
          - 'null'
          - string
          description: Unique Leadping identifier for this TrustedForm certificate.
        url:
          type: string
          description: The URL associated with this TrustedForm certificate.
          format: uri
        source:
          type:
          - 'null'
          - string
          description: Source for this TrustedForm certificate.
        createdAt:
          type:
          - 'null'
          - string
          description: UTC timestamp for created at on this TrustedForm certificate.
          format: date-time
      description: Describes trusted form certificate data used in Leadping API requests and responses.
    OrganizationBillingState:
      type: object
      properties:
        hasStripeCustomer:
          type: boolean
          description: Indicates whether the organization has a Stripe customer account.
        hasPaymentMethod:
          type: boolean
          description: Indicates whether the organization has a saved default payment method.
        phoneNumberQuantity:
          type:
          - 'null'
          - integer
          description: Number of phone numbers included in the organization's subscription plan.
          format: int64
        organizationMemberQuantity:
          type:
          - 'null'
          - integer
          description: Number of user licenses included in the organization's subscription plan.
          format: int64
        organizationMemberAssignedQuantity:
          type:
          - 'null'
          - integer
          description: Number of user licenses currently assigned to organization members.
          format: int64
        pendingBillingPlan:
          enum:
          - Annual
          - Monthly
          type:
          - 'null'
          - string
          description: Identifies the Leadping subscription plan that determines organization features, allowances, and billing behavior.
        billingPlanChangeEffectiveAt:
          type:
          - 'null'
          - string
          description: Date and time when the scheduled billing plan change takes effect.
          format: date-time
        planRenewalAt:
          type:
          - 'null'
          - string
          description: Current plan renewal date.
          format: date-time
        planPeriodStartAt:
          type:
          - 'null'
          - string
          description: Start of the current plan billing period.
          format: date-time
        cancelAt:
          type:
          - 'null'
          - string
          description: UTC timestamp when the active subscription is scheduled to cancel.
          format: date-time
        dunning:
          type:
          - 'null'
          - object
          allOf:
          - $ref: '#/components/schemas/OrganizationDunningInfo'
          description: Customer-safe payment recovery state for the organization.
        lastSubscriptionEventAt:
          type:
          - 'null'
          - string
          description: UTC timestamp when Leadping last processed a subscription event for the organization.
          format: date-time
        lastPaymentMethodEventAt:
          type:
          - 'null'
          - string
          description: UTC timestamp when Leadping last processed a payment-method event for the organization.
          format: date-time
      description: Customer-safe billing state for a Leadping organization.
    StripePaymentMethodResponse:
      required:
      - id
      - brand
      - last4
      type: object
      properties:
        id:
          type: string
          description: Unique Leadping identifier for this Stripe payment method.
        brand:
          type: string
          description: Card network brand, such as Visa, Mastercard, or American Express.
        last4:
          type: string
          description: UTC timestamp for last4 on this Stripe payment method.
        expMonth:
          type: integer
          description: Two-digit month when the card expires.
          format: int32
        expYear:
          type: integer
          description: Four-digit year when the card expires.
          format: int32
        isDefault:
          type: boolean
          description: Whether this Stripe payment method is default.
        createdAt:
          type:
          - 'null'
          - string
          description: UTC timestamp for created at on this Stripe payment method.
          format: date-time
      description: Describes stripe payment method data used in Leadping API requests and responses.
    UserResponse:
      type: object
      properties:
        email:
          type: string
          description: The email address associated with this user.
          format: email
        firstName:
          type:
          - 'null'
          - string
          description: First name for this user.
        lastName:
          type:
          - 'null'
          - string
          description: UTC timestamp for last name on this user.
        phone:
          type:
          - 'null'
          - string
          description: The phone number associated with this user.
        timeZoneId:
          type:
          - 'null'
          - string
          description: IANA time zone identifier used when displaying dates and times for this user.
        billingPlan:
          enum:
          - Annual
          - Monthly
          type:
          - 'null'
          - string
          description: Identifies the Leadping subscription plan that determines organization features, allowances, and billing behavior.
        subscriptionStatus:
          enum:
          - Pending
          - Active
          - Overdue
          - Canceled
          type:
          - 'null'
          - string
          description: Describes an organization's billing subscription lifecycle, including trial, active, delinquent, canceled, and expired states.
        billingState:
          type:
          - 'null'
          - object
          allOf:
          - $ref: '#/components/schemas/OrganizationBillingState'
          description: Customer-safe billing state for the user's currently selected organization.
        roles:
          type:
          - 'null'
          - array
          items:
            type: string
            description: A Leadping user role value.
          description: The roles included with this user.
        identities:
          type:
          - 'null'
          - array
          items:
            allOf:
            - $ref: '#/components/schemas/UserIdentity'
            description: Identifies an external sign-in identity linked to a Leadping user, including its provider, provider-assigned user identifier, and authentication method.
          description: The identities included with this user.
        currentOrganization:
          type:
          - 'null'
          - object
          allOf:
          - $ref: '#/components/schemas/IdNamePair'
          description: Current organization for this user.
        compliance:
          type:
          - 'null'
          - object
          allOf:
          - $ref: '#/components/schemas/UserCompliance'
          description: Compliance for this user.
        notificationPreferences:
          type:
          - 'null'
          - object
          allOf:
          - $ref: '#/components/schemas/UserNotificationPreferences'
          description: Notification preferences for this user.
        mobileDevicePreferences:
          type:
          - 'null'
          - array
          items:
            allOf:
            - $ref: '#/components/schemas/MobileDevicePreferences'
            description: Describes notification and calling preferences saved for one of the user's mobile devices.
          description: The Leadping mobile device preferences for this user.
        lastLoggedInAt:
          type:
          - 'null'
          - string
          description: The date and time when this user last completed the Leadping sign-in flow.
          format: date-time
        personalDataDeletionRequestedAt:
          type:
          - 'null'
          - string
          description: UTC timestamp for personal data deletion requested at on this user.
          format: date-time
        personalDataDeletedAt:
          type:
          - 'null'
          - string
          description: UTC timestamp for personal data deleted at on this user.
          format: date-time
        personalDataDeletionStatus:
          type:
          - 'null'
          - string
          description: The current personal data deletion status for this user.
        personalDataDeletionReason:
          type:
          - 'null'
          - string
          description: The human-readable personal data deletion reason explaining this user.
        name:
          type: string
          description: Human-readable display name of the resource.
        id:
          type: string
          description: Stable unique identifier of the resource.
        createdAt:
          type: string
          description: UTC timestamp when the resource was created.
          format: date-time
        modifiedAt:
          type:
          - 'null'
          - string
          description: UTC timestamp when the resource was last modified, or null when it has not been updated.
          format: date-time
      description: Describes user data returned by Leadping.
    UserNotificationPreferences:
      type: object
      properties:
        smsConsentOptedIn:
          type:
          - 'null'
          - boolean
          description: Whether the user has consented to receive Leadping account notification SMS messages.
        smsConsentUpdatedAt:
          type:
          - 'null'
          - string
          description: When the user's Leadping notification SMS consent was last changed.
          format: date-time
        smsConsentTrustedFormCertificate:
          type:
          - 'null'
          - object
          allOf:
          - $ref: '#/components/schemas/TrustedFormCertificate'
          description: The TrustedForm certificate captured for the user's most recent SMS opt-in.
        paymentFailedEnabled:
          type: boolean
          description: Whether payment failed notifications are enabled for this user notification preferences.
        paymentFailedSmsEnabled:
          type: boolean
          description: Indicates whether payment failed SMS functionality is enabled for this Leadping user notification preferences.
        lowWalletBalanceEnabled:
          type: boolean
          description: Whether low wallet balance notifications are enabled for this user notification preferences.
        lowWalletBalanceEmailEnabled:
          type: boolean
          description: Indicates whether low wallet balance email functionality is enabled for this Leadping user notification preferences.
        lowWalletBalanceSmsEnabled:
          type: boolean
          description: Indicates whether low wallet balance SMS functionality is enabled for this Leadping user notification preferences.
        tenDlcStatusEnabled:
          type: boolean
          description: Whether 10DLC status notifications are enabled for this user notification preferences.
        newLeadEnabled:
          type: boolean
          description: Whether new lead notifications are enabled for this user notification preferences.
        newLeadEmailEnabled:
          type: boolean
          description: Whether new lead email is enabled for this user notification preferences.
        newLeadSmsEnabled:
          type: boolean
          description: Whether new lead SMS is enabled for this user notification preferences.
        missedCallEnabled:
          type: boolean
          description: Whether missed call notifications are enabled for this user notification preferences.
        missedCallEmailEnabled:
          type: boolean
          description: Indicates whether missed call email functionality is enabled for this Leadping user notification preferences.
        missedCallSmsEnabled:
          type: boolean
          description: Indicates whether missed call SMS functionality is enabled for this Leadping user notification preferences.
        unreadSmsEnabled:
          type: boolean
          description: Whether unread SMS notifications are enabled for this user notification preferences.
        unreadSmsEmailEnabled:
          type: boolean
          description: Indicates whether unread SMS email functionality is enabled for this Leadping user notification preferences.
        unreadSmsSmsEnabled:
          type: boolean
          description: Indicates whether unread SMS SMS functionality is enabled for this Leadping user notification preferences.
        automationFailedEnabled:
          type: boolean
          description: Whether automation failed notifications are enabled for this user notification preferences.
        automationFailedEmailEnabled:
          type: boolean
          description: Indicates whether automation failed email functionality is enabled for this Leadping user notification preferences.
        automationFailedSmsEnabled:
          type: boolean
          description: Indicates whether automation failed SMS functionality is enabled for this Leadping user notification preferences.
        billingEmailEnabled:
          type: boolean
          description: Whether billing email is enabled for this user notification preferences.
        billingSmsEnabled:
          type: boolean
          description: Whether billing SMS is enabled for this user notification preferences.
        subscriptionRenewingEnabled:
          type: boolean
          description: Whether subscription renewing notifications are enabled for this user notification preferences.
        subscriptionRenewingEmailEnabled:
          type: boolean
          description: Indicates whether subscription renewing email functionality is enabled for this Leadping user notification preferences.
        subscriptionRenewingSmsEnabled:
          type: boolean
          description: Indicates whether subscription renewing SMS functionality is enabled for this Leadping user notification preferences.
        usageLimitHitEnabled:
          type: boolean
          description: Whether usage limit hit notifications are enabled for this user notification preferences.
      description: Describes user notification preferences data used in Leadping API requests and responses.
    BillingPlan:
      enum:
      - Annual
      - Monthly
      type: string
      description: Identifies the Leadping subscription plan that determines organization features, allowances, and billing behavior.
    IdNamePair:
      required:
      - id
      - name
      type: object
      properties:
        id:
          type: string
          description: Stable unique identifier of the referenced resource.
        name:
          type: string
          description: Human-readable display name of the referenced resource.
      description: Provides a compact API reference to another resource using its stable identifier and human-readable display name.
    ChangeBillingPlanRequest:
      required:
      - billingPlan
      type: object
      properties:
        billingPlan:
          allOf:
          - $ref: '#/components/schemas/BillingPlan'
          description: Billing plan for this billing plan.
        userId:
          type:
          - 'null'
          - string
          description: The user ID associated with this billing plan.
      description: Defines the input used for change billing plan.
    MobileDevicePreferences:
      type: object
      properties:
        device:
          allOf:
          - $ref: '#/components/schemas/IdNamePair'
          description: Identifier and display name of the related device.
        inboundPhoneCallsEnabled:
          type: boolean
          description: Whether inbound phone calls are enabled for this user device.
        updatedAt:
          type:
          - 'null'
          - string
          description: The date and time this device preference was last updated.
          format: date-time
      description: Describes notification and calling preferences saved for one of the user's mobile devices.
    UserIdentity:
      type: object
      properties:
        issuer:
          type: string
          description: Identity provider or tenant that issued the sign-in identity, such as contoso.com or facebook.com.
        issuerAssignedId:
          type: string
          description: Stable unique user identifier assigned by the identity provider within the issuer's namespace.
        signInType:
          type: string
          description: Sign-in method represented by the identity, such as emailAddress, userName, or federated.
      description: Identifies an external sign-in identity linked to a Leadping user, including its provider, provider-assigned user identifier, and authentication method.
    UserCompliance:
      type: object
      properties:
        acceptedTerms:
          type: boolean
          description: Whether the user accepted terms for this user compliance.
        acceptedToSubscription:
          type: boolean
          description: Whether the user accepted subscription for this user compliance.
        acceptedSms:
          type: boolean
          description: Whether the user accepted SMS for this user compliance.
        acceptedBaa:
          type: boolean
          description: Whether the user accepted BAA for this user compliance.
        acceptedEmail:
          type: boolean
          description: Whether the user accepted email for this user compliance.
        trustedFormCertificates:
          type:
          - 'null'
          - array
          items:
            allOf:
            - $ref: '#/components/schemas/TrustedFormCertificate'
            description: Describes trusted form certificate data used in Leadping API requests and responses.
          description: The TrustedForm certificates included with this user compliance.
      description: Describes user compliance data used in Leadping API requests and responses.
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - 'null'
          - string
          description: URI reference that identifies the problem type.
        title:
          type:
          - 'null'
          - string
          description: Short, human-readable summary of the problem.
        status:
          type:
          - 'null'
          - integer
          description: HTTP status code returned for the problem.
          format: int32
        detail:
          type:
          - 'null'
          - string
          description: Human-readable explanation specific to this occurrence of the problem.
        instance:
          type:
          - 'null'
          - string
          description: URI reference that identifies t

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/leadping/refs/heads/main/openapi/leadping-users-api-openapi.yml