> ## 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.

# Update current user compliance settings

> Updates current-user compliance settings used for messaging eligibility, billing readiness, and business account setup.



## OpenAPI

````yaml /openapi.json put /users/compliance
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:
  /users/compliance:
    put:
      tags:
        - Users
      summary: Update current user compliance settings
      description: >-
        Updates current-user compliance settings used for messaging eligibility,
        billing readiness, and business 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: Request payload for compliance update.
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ComplianceUpdateRequest'
              description: Request payload for compliance update.
        required: true
      responses:
        '200':
          description: Returns the user response.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/UserResponse'
                description: API response containing user data returned to callers.
        '400':
          description: The request was invalid or failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    ComplianceUpdateRequest:
      type: object
      properties:
        compliance:
          type: object
          allOf:
            - $ref: '#/components/schemas/UserCompliance'
          description: The compliance value for this compliance update.
          nullable: true
        source:
          type: string
          description: The source value for this compliance update.
          nullable: true
      description: Request payload for compliance update.
    UserResponse:
      type: object
      properties:
        email:
          type: string
          description: The email address associated with this user.
        firstName:
          type: string
          description: The first name value for this user.
          nullable: true
        lastName:
          type: string
          description: The date and time for the last name value on this user.
          nullable: true
        phone:
          type: string
          description: The phone number associated with this user.
          nullable: true
        timeZoneId:
          type: string
          description: >-
            IANA time zone identifier used when displaying dates and times for
            this user.
          nullable: true
        billingPlan:
          enum:
            - Annual
            - Monthly
          type: string
          description: Defines the supported Billing Plan values.
          nullable: true
        subscriptionStatus:
          enum:
            - Pending
            - Active
            - Overdue
            - Canceled
          type: string
          description: Defines the supported Subscription Status values.
          nullable: true
        billingState:
          type: object
          allOf:
            - $ref: '#/components/schemas/BusinessBillingState'
          description: >-
            Customer-safe billing state for the user's currently selected
            business.
          nullable: true
        roles:
          type: array
          description: The roles included with this user.
          nullable: true
        identities:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/UserIdentity'
            description: >-
              Represents a user's sign-in identity, including information about
              the identity provider and method of authentication.
          description: The identities included with this user.
          nullable: true
        currentBusiness:
          type: object
          allOf:
            - $ref: '#/components/schemas/IdNamePair'
          description: The current business value for this user.
          nullable: true
        compliance:
          type: object
          allOf:
            - $ref: '#/components/schemas/UserCompliance'
          description: The compliance value for this user.
          nullable: true
        notificationPreferences:
          type: object
          allOf:
            - $ref: '#/components/schemas/UserNotificationPreferences'
          description: The notification preferences value for this user.
          nullable: true
        mobileDevicePreferences:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/MobileDevicePreferences'
            description: >-
              API DTO containing Leadping mobile preferences for a single user
              device.
          description: The Leadping mobile device preferences for this user.
          nullable: true
        lastLoggedInAt:
          type: string
          description: >-
            The date and time when this user last completed the Leadping sign-in
            flow.
          format: date-time
          nullable: true
        personalDataDeletionRequestedAt:
          type: string
          description: >-
            The date and time for the personal data deletion requested at value
            on this user.
          format: date-time
          nullable: true
        personalDataDeletedAt:
          type: string
          description: >-
            The date and time for the personal data deleted at value on this
            user.
          format: date-time
          nullable: true
        personalDataDeletionStatus:
          type: string
          description: The current personal data deletion status for this user.
          nullable: true
        personalDataDeletionReason:
          type: string
          description: >-
            The human-readable personal data deletion reason explaining this
            user.
          nullable: true
        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: API response containing user data returned to callers.
    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
    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: array
          items:
            allOf:
              - $ref: '#/components/schemas/TrustedFormCertificate'
            description: >-
              API DTO containing trusted form certificate data used by Leadping
              API contracts.
          description: The TrustedForm certificates included with this user compliance.
          nullable: true
      description: API DTO containing user compliance data used by Leadping API contracts.
    BusinessBillingState:
      type: object
      properties:
        hasStripeCustomer:
          type: boolean
          description: Indicates whether the business has a Stripe customer account.
        hasPaymentMethod:
          type: boolean
          description: Indicates whether the business has a saved default payment method.
        phoneNumberQuantity:
          pattern: ^-?(?:0|[1-9]\d*)$
          description: >-
            Gets or sets the number of phone numbers included in the business
            subscription.
          format: int64
          nullable: true
        businessUserQuantity:
          pattern: ^-?(?:0|[1-9]\d*)$
          description: >-
            Gets or sets the number of user licenses included in the business
            subscription.
          format: int64
          nullable: true
        businessUserAssignedQuantity:
          pattern: ^-?(?:0|[1-9]\d*)$
          description: >-
            Gets or sets the number of user licenses currently assigned by the
            business.
          format: int64
          nullable: true
        pendingBillingPlan:
          enum:
            - Annual
            - Monthly
          type: string
          description: Defines the supported Billing Plan values.
          nullable: true
        billingPlanChangeEffectiveAt:
          type: string
          description: Date and time when the scheduled billing plan change takes effect.
          format: date-time
          nullable: true
        planRenewalAt:
          type: string
          description: Current plan renewal date.
          format: date-time
          nullable: true
        cancelAt:
          type: string
          description: Gets or sets when the active subscription is scheduled to cancel.
          format: date-time
          nullable: true
        dunning:
          type: object
          allOf:
            - $ref: '#/components/schemas/BusinessDunningInfo'
          description: >-
            Gets or sets the customer-safe payment recovery state for the
            business.
          nullable: true
        lastSubscriptionEventAt:
          type: string
          description: >-
            Gets or sets when Leadping last processed a subscription event for
            the business.
          format: date-time
          nullable: true
        lastPaymentMethodEventAt:
          type: string
          description: >-
            Gets or sets when Leadping last processed a payment-method event for
            the business.
          format: date-time
          nullable: true
      description: Customer-safe billing state for a Leadping business.
    UserIdentity:
      type: object
      properties:
        issuer:
          type: string
          description: >-
            Gets or sets the identity provider that issued the sign-in identity
            (e.g., "contoso.com" or "facebook.com").
        issuerAssignedId:
          type: string
          description: >-
            Gets or sets the unique identifier assigned to the user by the
            identity provider.
        signInType:
          type: string
          description: >-
            Gets or sets the method of sign-in used by the identity (e.g.,
            "emailAddress", "userName", or "federated").
      description: >-
        Represents a user's sign-in identity, including information about the
        identity provider and method of authentication.
    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.
    UserNotificationPreferences:
      type: object
      properties:
        smsConsentOptedIn:
          type: boolean
          description: >-
            Whether the user has consented to receive Leadping account
            notification SMS messages.
          nullable: true
        smsConsentUpdatedAt:
          type: string
          description: When the user's Leadping notification SMS consent was last changed.
          format: date-time
          nullable: true
        smsConsentTrustedFormCertificate:
          type: object
          allOf:
            - $ref: '#/components/schemas/TrustedFormCertificate'
          description: >-
            The TrustedForm certificate captured for the user's most recent SMS
            opt-in.
          nullable: true
        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: >-
        API DTO containing user notification preferences data used by Leadping
        API contracts.
    MobileDevicePreferences:
      type: object
      properties:
        device:
          allOf:
            - $ref: '#/components/schemas/IdNamePair'
          description: The ID and name for this device.
        inboundPhoneCallsEnabled:
          type: boolean
          description: Whether inbound phone calls are enabled for this user device.
        updatedAt:
          type: string
          description: The date and time this device preference was last updated.
          format: date-time
          nullable: true
      description: API DTO containing Leadping mobile preferences for a single user device.
    TrustedFormCertificate:
      type: object
      properties:
        id:
          type: string
          description: The unique ID for this TrustedForm certificate.
          nullable: true
        url:
          type: string
          description: The URL associated with this TrustedForm certificate.
        source:
          type: string
          description: The source value for this TrustedForm certificate.
          nullable: true
        createdAt:
          type: string
          description: >-
            The date and time for the created at value on this TrustedForm
            certificate.
          format: date-time
          nullable: true
      description: >-
        API DTO containing trusted form certificate data used by Leadping API
        contracts.
    BusinessDunningInfo:
      type: object
      properties:
        stage:
          type: string
          description: Current stage for this Leadping business dunning info.
          nullable: true
        paymentFailedAt:
          type: string
          description: >-
            Date and time when this Leadping business dunning info was payment
            failed.
          format: date-time
          nullable: true
        lastFailedInvoiceStatus:
          type: string
          description: >-
            Current last failed invoice status for this Leadping business
            dunning info.
          nullable: true
        retryAttemptCount:
          pattern: ^-?(?:0|[1-9]\d*)$
          description: >-
            Total number of retry attempt records represented by this Leadping
            business dunning info.
          format: int32
        nextRetryAt:
          type: string
          description: Date and time when the next retry is scheduled.
          format: date-time
          nullable: true
        gracePeriodEndsAt:
          type: string
          description: >-
            Date and time when this Leadping business dunning info was grace
            period ends.
          format: date-time
          nullable: true
        outboundRestrictedAt:
          type: string
          description: >-
            Date and time when this Leadping business dunning info was outbound
            restricted.
          format: date-time
          nullable: true
        outboundSuspendedAt:
          type: string
          description: >-
            Date and time when this Leadping business dunning info was outbound
            suspended.
          format: date-time
          nullable: true
        finalCancellationAt:
          type: string
          description: >-
            Date and time when this Leadping business dunning info was final
            cancellation.
          format: date-time
          nullable: true
        lastUpdatedAt:
          type: string
          description: >-
            Date and time when this Leadping business dunning info was last
            updated.
          format: date-time
          nullable: true
      description: Dunning state recorded after a failed recurring payment.

````