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

# Send an in-app push to a wallet

> Send a wallet-addressed in-app notification. If the wallet has a live connection it arrives as a toast; otherwise it goes to web or mobile push, or is held and replayed on reconnect.



## OpenAPI

````yaml /api-reference/openapi.json post /inapp/push
openapi: 3.0.3
info:
  title: Onchain Suite API
  version: 1.0.0
  description: >-
    The server-to-server API. Authenticate with a secret (`sk_`) key and call
    these endpoints from your backend to register contacts, send events, message
    users, ingest consented captures, and feed automations. Secret keys are
    server-only: never ship one to a browser, a mobile app, or a public repo.
servers:
  - url: https://api.onchainsuite.com/api/v1
    description: Production
security:
  - secretKey: []
tags:
  - name: Contacts
    description: Register and list contacts.
  - name: Events
    description: Send product events that drive automations and segments.
  - name: Messaging
    description: Send in-app pushes and launch campaigns.
  - name: Forms
    description: Ingest consented captures from your backend.
  - name: Automation
    description: Feed trigger events into the automation runtime.
paths:
  /inapp/push:
    post:
      tags:
        - Messaging
      summary: Send an in-app push to a wallet
      description: >-
        Send a wallet-addressed in-app notification. If the wallet has a live
        connection it arrives as a toast; otherwise it goes to web or mobile
        push, or is held and replayed on reconnect.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - walletAddress
                - title
                - body
              properties:
                walletAddress:
                  type: string
                  example: 0xabc123...
                title:
                  type: string
                  example: Deposit received
                body:
                  type: string
                  example: Your first deposit is in. Welcome aboard.
                ctaLabel:
                  type: string
                ctaUrl:
                  type: string
      responses:
        '200':
          description: Queued.
          content:
            application/json:
              schema:
                type: object
                properties:
                  deliveredNow:
                    type: boolean
                  campaignRunId:
                    type: string
        '402':
          description: Plan limit exceeded (`PLAN_LIMIT_EXCEEDED`).
        '429':
          description: Daily in-app quota exceeded.
components:
  securitySchemes:
    secretKey:
      type: http
      scheme: bearer
      description: >-
        Your secret key, for example `sk_live_...`. Send it as `Authorization:
        Bearer sk_live_...`. A `sk_test_...` key runs in test mode.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.