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

# OneSignal Documentation

> Start building faster with OneSignal. Explore quickstarts, SDKs, messaging channels, API references, and advanced features like Journeys and Live Activities.

export const Webhook = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="M7.984 2.828a1.547 1.547 0 0 1 1.208 2.51l1.762 2.966a3.42 3.42 0 0 1 3.571.79 3.37 3.37 0 0 1 0 4.818 3.37 3.37 0 0 1-4.816 0 .625.625 0 0 1 .884-.884 2.12 2.12 0 0 0 3.049 0 2.12 2.12 0 0 0 0-3.05 2.18 2.18 0 0 0-2.621-.333.626.626 0 0 1-.855-.22l-2.084-3.51q-.048.005-.098.006a1.547 1.547 0 0 1 0-3.093" clipRule="evenodd" /><path fill="currentColor" fillRule="evenodd" d="M2.886 8.197a.626.626 0 0 1 .334 1.205c-.832.231-1.509 1.088-1.51 2.04a2.13 2.13 0 0 0 2.142 2.14 2.13 2.13 0 0 0 2.14-2.14c0-.345.28-.625.625-.625h4.07a1.547 1.547 0 1 1 .002 1.25H7.185a3.38 3.38 0 0 1-3.333 2.765 3.38 3.38 0 0 1-3.391-3.39c0-1.506 1.044-2.862 2.425-3.245" clipRule="evenodd" /><path fill="currentColor" fillRule="evenodd" d="M5.576 2.088a3.37 3.37 0 0 1 4.817 0c.84.84 1.13 2.043.909 3.146a.625.625 0 0 1-1.227-.245c.148-.74-.054-1.505-.566-2.017a2.12 2.12 0 0 0-3.042-.007c-.965 1.018-.809 2.633.431 3.397a.625.625 0 0 1 .214.844L5.126 10.64c.142.234.227.508.227.802a1.547 1.547 0 1 1-1.256-1.52l1.653-2.86C4.265 5.763 4.213 3.52 5.565 2.1z" clipRule="evenodd" />
  </svg>;

export const UserTag = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M13.093 8.123c.182 0 .357.063.497.178l.058.052a.8.8 0 0 1 .225.476l.004.078-.004.077a.783.783 0 1 1-1.387-.574l.052-.057.058-.052a.8.8 0 0 1 .497-.178" /><path fillRule="evenodd" d="M14.364 6.375a1.26 1.26 0 0 1 1.261 1.26v2.597l-.006.124a1.26 1.26 0 0 1-.363.768l-4.131 4.13a1.26 1.26 0 0 1-.893.371 1.26 1.26 0 0 1-.891-.37l-2.597-2.597a1.26 1.26 0 0 1-.084-1.69l.084-.092 4.132-4.132.001.001a1.26 1.26 0 0 1 .765-.364l.125-.006zM11.76 7.628 7.628 11.76l-.003.008.003.006 2.597 2.598.004.003h.007l.004-.003 4.132-4.132.002-.003.001-.005V7.636q0-.005-.003-.008l-.008-.003h-2.596zM5.281.578a3.12 3.12 0 0 1 3.117 3.117 3.12 3.12 0 0 1-1.923 2.88l-.08.03q.374.09.732.242l.046.02.464.244.076.047.068.057.45.435a.625.625 0 0 1-.869.899l-.385-.372-.359-.189q-.195-.081-.395-.138l-.025-.006a3.46 3.46 0 0 0-2.82.448 3.46 3.46 0 0 0-1.55 2.88.625.625 0 0 1-1.25 0 4.706 4.706 0 0 1 3.59-4.567l-.08-.03A3.117 3.117 0 0 1 5.28.578m0 1.25A1.87 1.87 0 0 0 3.557 4.41 1.867 1.867 0 1 0 5.28 1.828" clipRule="evenodd" /></g>
  </svg>;

export const Tag = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M11.035 4.11a.856.856 0 1 0 .001 1.711.856.856 0 0 0 0-1.712" /><path fill="currentColor" fillRule="evenodd" d="M8.959 1.582a1.55 1.55 0 0 0-.94.446L2.027 8.02a1.55 1.55 0 0 0 0 2.187l3.767 3.767a1.55 1.55 0 0 0 2.187 0l5.993-5.993a1.56 1.56 0 0 0 .453-1.094V3.12a1.547 1.547 0 0 0-1.547-1.548H9.11zm3.92 1.242a.297.297 0 0 1 .297.297v3.767a.3.3 0 0 1-.087.21L7.097 13.09a.3.3 0 0 1-.21.087.3.3 0 0 1-.21-.087L2.91 9.323a.3.3 0 0 1 0-.42l5.992-5.992a.3.3 0 0 1 .153-.08l.057-.007z" clipRule="evenodd" />
  </svg>;

export const Subscription = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M5.11 12.534a1.64 1.64 0 1 0-3.282 0 1.64 1.64 0 0 0 3.281 0m1.25 0a2.89 2.89 0 1 1-5.782 0 2.89 2.89 0 0 1 5.781 0" /><path fill="currentColor" d="M1 5.507A7.47 7.47 0 0 1 10.494 15a.626.626 0 0 1-1.181-.406 6.221 6.221 0 0 0-7.907-7.907A.625.625 0 1 1 1 5.507" /><path fill="currentColor" d="M1.08.815a11.97 11.97 0 0 1 14.11 14.102.625.625 0 0 1-1.225-.248A10.72 10.72 0 0 0 1.327 2.04.625.625 0 1 1 1.08.815" />
  </svg>;

export const Sms = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M5.78 6.687a.856.856 0 0 1-.085 1.708.855.855 0 0 1 0-1.711zm2.766 0a.856.856 0 0 1-.085 1.708.855.855 0 0 1 0-1.711zm2.766 0a.856.856 0 0 1-.085 1.708.855.855 0 0 1 0-1.711z" /><path fillRule="evenodd" d="M8.455.462a7.07 7.07 0 0 1 5.395 2.486l.256.32.239.335a7.084 7.084 0 0 1-3.33 10.539 7.07 7.07 0 0 1-5.984-.417l-3.677 1.754a.625.625 0 0 1-.833-.833l1.751-3.683a7.07 7.07 0 0 1 2.596-9.53A7.06 7.06 0 0 1 8.456.462zm0 1.249a5.81 5.81 0 0 0-4.89 2.656l-.2.333a5.82 5.82 0 0 0 .145 5.905c.112.18.124.406.033.598l-1.137 2.388 2.386-1.137a.63.63 0 0 1 .6.034 5.822 5.822 0 0 0 8.674-3.353l.083-.328a5.84 5.84 0 0 0-1.04-4.786 5.82 5.82 0 0 0-4.653-2.31z" clipRule="evenodd" /></g>
  </svg>;

export const Report = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="M8.922 1.383a1.086 1.086 0 0 1 1.086 1.086v10.898h.594V5.234a1.086 1.086 0 0 1 1.085-1.086h1.844a1.085 1.085 0 0 1 1.086 1.086v8.133h.297a.625.625 0 0 1 0 1.25H1.086a.625.625 0 1 1 0-1.25h.297V8a1.086 1.086 0 0 1 1.086-1.086h1.844A1.086 1.086 0 0 1 5.398 8v5.367h.594V2.47a1.086 1.086 0 0 1 1.086-1.086zm-6.29 11.984h1.516V8.164H2.633zm4.61 0h1.516V2.633H7.242zm4.61 0h1.515V5.398h-1.515z" clipRule="evenodd" />
  </svg>;

export const Push = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M8.153 1.979a.625.625 0 0 1 0 1.25H2.93a1.22 1.22 0 0 0-1.22 1.219v8.604a1.22 1.22 0 0 0 1.22 1.219h8.604a1.22 1.22 0 0 0 1.219-1.219V7.828a.625.625 0 0 1 1.25 0v5.224a2.47 2.47 0 0 1-2.469 2.469H2.93a2.47 2.47 0 0 1-2.47-2.469V4.448a2.47 2.47 0 0 1 2.47-2.469z" /><path d="M8.315 10.703a.626.626 0 0 1 0 1.25H3.27a.625.625 0 0 1 0-1.25zm2.244-3.402a.625.625 0 0 1 0 1.25h-7.29a.625.625 0 0 1 0-1.25zM12.753.479a2.75 2.75 0 1 1-.002 5.502 2.75 2.75 0 0 1 .002-5.502" /></g>
  </svg>;

export const Personalize = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor" fillRule="evenodd" clipRule="evenodd"><path d="M13.608 6.914c.447 0 .878.155 1.221.436l.14.128.026.027.005.005h-.001a1.92 1.92 0 0 1 .54 1.335 1.93 1.93 0 0 1-.564 1.361h-.001l-4.688 4.69a.63.63 0 0 1-.32.17l-2.304.461a.627.627 0 0 1-.736-.735l.46-2.305.026-.089a.6.6 0 0 1 .146-.23l4.69-4.69.14-.128c.343-.28.774-.436 1.22-.436m0 1.25a.68.68 0 0 0-.477.198l-4.555 4.555-.24 1.2 1.198-.24 4.557-4.556a.68.68 0 0 0 .198-.476.68.68 0 0 0-.203-.483l-.103-.085a.7.7 0 0 0-.375-.113M5.234.46a3.16 3.16 0 0 1 1.21 6.081l-.112.042q.378.091.74.244a4.76 4.76 0 0 1 2.294 2.045.625.625 0 0 1-1.088.615A3.51 3.51 0 0 0 4.323 7.82a3.51 3.51 0 0 0-2.612 3.405.625.625 0 0 1-1.25.005 4.764 4.764 0 0 1 3.667-4.65l-.103-.039A3.163 3.163 0 0 1 3 1.387 3.16 3.16 0 0 1 5.234.46m0 1.25a1.91 1.91 0 1 0 0 3.821 1.91 1.91 0 0 0 0-3.82" /></g>
  </svg>;

export const People = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="M5.234 2.304a3.16 3.16 0 0 1 1.101 6.122 4.774 4.774 0 0 1 3.673 4.644.625.625 0 0 1-1.25 0 3.524 3.524 0 0 0-7.047 0 .625.625 0 0 1-1.25 0 4.774 4.774 0 0 1 3.672-4.644l-.108-.042a3.16 3.16 0 0 1-1.95-2.92 3.16 3.16 0 0 1 3.16-3.16m0 1.25a1.91 1.91 0 1 0 .001 3.822 1.91 1.91 0 0 0 0-3.822" clipRule="evenodd" /><path fill="currentColor" d="M10.64 2.306a3.162 3.162 0 0 1 1.629 5.938q-.197.105-.406.182a4.78 4.78 0 0 1 3.676 4.643.625.625 0 0 1-1.25.002 3.53 3.53 0 0 0-1.327-2.754 3.53 3.53 0 0 0-2.98-.684.625.625 0 0 1-.314-1.207 3.2 3.2 0 0 1-.63-.315.625.625 0 0 1 .684-1.047 1.91 1.91 0 0 0 2.953-1.598l-.004-.129a1.913 1.913 0 0 0-1.981-1.78 1.9 1.9 0 0 0-.966.306.625.625 0 0 1-.681-1.048 3.16 3.16 0 0 1 1.598-.509" />
  </svg>;

export const Package = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="M8.108 1.203q.147.016.285.07l5.736 2.17h.003c.18.07.337.187.456.338l.024.03c.154.197.233.443.226.694v6.968a1.11 1.11 0 0 1-.705 1.015l-5.737 2.209q-.044.014-.09.023a.6.6 0 0 1-.307.084.6.6 0 0 1-.307-.084q-.045-.008-.088-.023l-5.737-2.21a1.11 1.11 0 0 1-.707-1.014V4.46l.006-.091c.02-.214.105-.418.243-.585l.043-.047c.117-.116.26-.201.415-.253l5.737-2.208c.125-.051.26-.08.396-.08zm.516 5.796v6.27l4.965-1.911V5.086zm-6.213 4.359 4.963 1.91v-6.27l-4.963-1.91zm1.12-7.178L8 5.9l4.507-1.735L8 2.46z" clipRule="evenodd" />
  </svg>;

export const Outcome = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g><path fill="currentColor" d="M13.992.46a1.547 1.547 0 1 1-.745 2.902l-2.032 2.541a1.545 1.545 0 0 1-1.371 2.261 1.547 1.547 0 0 1-1.547-1.547v-.004l-1.565-.695a1.55 1.55 0 0 1-1.037.402 1.55 1.55 0 0 1-.89-.284L1.71 7.893v4.166l1.518-.76-.002-.072a1.547 1.547 0 0 1 2.96-.625H7.97a1.54 1.54 0 0 1 1.413-.922c.338 0 .664.112.93.313l2.138-1.186a1.546 1.546 0 1 1 2.635 1.209 1.547 1.547 0 0 1-2.188 0l-.017-.019-1.96 1.088q.008.07.009.142a1.547 1.547 0 0 1-2.96.625H6.187a1.54 1.54 0 0 1-1.414.921 1.55 1.55 0 0 1-.986-.356l-2.076 1.04v.832h13.203a.625.625 0 0 1 0 1.25H1.086a.625.625 0 0 1-.625-.625V1.086a.625.625 0 1 1 1.25 0v5.349l2.451-1.471a1.546 1.546 0 1 1 3.08-.19v.001l1.565.697a1.55 1.55 0 0 1 1.431-.349l2.24-2.8A1.547 1.547 0 0 1 13.993.461" /></g>
  </svg>;

export const Message = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M5.234 5.762a.855.855 0 1 1 0 1.71.855.855 0 0 1 0-1.71m2.766 0a.855.855 0 1 1 0 1.71.855.855 0 0 1 0-1.71m2.766 0a.855.855 0 1 1 0 1.71.855.855 0 0 1 0-1.71" /><path fillRule="evenodd" d="M13.992.46a1.547 1.547 0 0 1 1.547 1.548v9.219a1.547 1.547 0 0 1-1.547 1.546H7.747l-3.52 2.641a.625.625 0 0 1-1-.5v-2.14h-1.22a1.547 1.547 0 0 1-1.546-1.547v-9.22A1.547 1.547 0 0 1 2.008.462zM2.008 1.71a.297.297 0 0 0-.297.298v9.219a.297.297 0 0 0 .297.296h1.844c.345 0 .625.28.625.625v1.516l2.687-2.016a.63.63 0 0 1 .375-.125h6.453a.296.296 0 0 0 .297-.296v-9.22a.297.297 0 0 0-.297-.296z" clipRule="evenodd" /></g>
  </svg>;

export const LiveActivity = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M10.625 10.978c.415 0 .875.56.875 1.25s-.46 1.25-.875 1.25h-5.25c-.416 0-.875-.56-.875-1.25s.46-1.25.875-1.25z" /><path fill="currentColor" fillRule="evenodd" d="M12.2 0c.994 0 1.8.895 1.8 2v12c0 1.105-.806 2-1.8 2H3.8l-.184-.01C2.708 15.886 2 15.035 2 14V2C2 .965 2.708.113 3.616.01L3.801 0zM3.8 1.25c-.183 0-.55.209-.55.75v12c0 .541.367.75.55.75h8.4c.183 0 .55-.209.55-.75V2c0-.541-.367-.75-.55-.75z" clipRule="evenodd" />
  </svg>;

export const Link = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M5.567 5.477a3.43 3.43 0 0 1 2.455.05l.155.068.002.001a3.42 3.42 0 0 1 1.889 2.4.625.625 0 0 1-1.225.253 2.17 2.17 0 0 0-1.195-1.521 2.175 2.175 0 0 0-2.887 1.04l-.848 1.8v.002a2.177 2.177 0 0 0 1.037 2.886 2.18 2.18 0 0 0 2.887-1.04.626.626 0 0 1 1.13.535 3.43 3.43 0 0 1-4.546 1.637l-.002-.002A3.425 3.425 0 0 1 2.78 9.041V9.04l.85-1.805.001-.001a3.43 3.43 0 0 1 1.935-1.756" /><path fill="currentColor" d="M9.275 2.355a3.43 3.43 0 0 1 2.456.05l.155.068.003.002a3.427 3.427 0 0 1 1.637 4.545v.002l-.85 1.805v.001a3.427 3.427 0 0 1-4.546 1.637h-.002a3.4 3.4 0 0 1-1.77-1.972.625.625 0 0 1 1.182-.408 2.16 2.16 0 0 0 1.119 1.247l.198.081a2.177 2.177 0 0 0 2.689-1.12l.848-1.803a2.176 2.176 0 0 0-1.04-2.885 2.18 2.18 0 0 0-2.884 1.04.626.626 0 0 1-1.13-.534 3.43 3.43 0 0 1 1.935-1.756" />
  </svg>;

export const Language = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M13.992 6.914a1.547 1.547 0 0 1 1.547 1.547v5.531a1.547 1.547 0 0 1-1.547 1.547H8.461a1.547 1.547 0 0 1-1.547-1.547v-3.687a.625.625 0 1 1 1.25 0v3.687a.297.297 0 0 0 .297.297h5.531a.297.297 0 0 0 .297-.297V8.461a.297.297 0 0 0-.297-.297h-3.687a.625.625 0 1 1 0-1.25z" /><path fill="currentColor" fillRule="evenodd" d="M11.227 8.911a1.703 1.703 0 0 1 1.7 1.7v2.46a.626.626 0 0 1-1.25 0v-.758h-.9v.757a.626.626 0 0 1-1.25 0v-2.459a1.7 1.7 0 0 1 1.7-1.7m0 1.25a.45.45 0 0 0-.45.45v.451h.9v-.45a.45.45 0 0 0-.45-.45M4.773 2.11a.5.5 0 0 1 .5.5v.581h1.665a.5.5 0 1 1 0 1h-.742q-.038.096-.087.21a8 8 0 0 1-.649 1.19l-.05.07q.179.193.376.345.084.06.174.111a2.3 2.3 0 0 0 1.01.307c.26.017.457.23.465.484l.003.03-.001.006v.011l-.002.01a.5.5 0 0 1-.497.473c-.687 0-1.267-.262-1.747-.628a3.3 3.3 0 0 1-.426-.363c-.545.545-1.26.99-2.156.99a.5.5 0 1 1 0-1c.581 0 1.093-.314 1.528-.776l-.05-.07a8 8 0 0 1-.65-1.19q-.048-.114-.086-.21h-.742a.5.5 0 1 1 0-1h1.664V2.61a.5.5 0 0 1 .5-.5m-.33 2.081c.089.187.2.397.33.614a7 7 0 0 0 .331-.614z" clipRule="evenodd" /><path fill="currentColor" fillRule="evenodd" d="m7.57.462.053.002a1.8 1.8 0 0 1 .656.179c.19.094.398.246.558.485.162.243.249.54.249.88v5.544l-.001.018-.002.053a1.8 1.8 0 0 1-.179.656c-.094.19-.246.398-.485.558a1.56 1.56 0 0 1-.88.249H1.995l-.018-.001-.053-.002a1.8 1.8 0 0 1-.656-.179A1.43 1.43 0 0 1 .71 8.42a1.56 1.56 0 0 1-.25-.88V1.995l.002-.018.002-.053a1.8 1.8 0 0 1 .179-.656c.094-.19.246-.398.485-.558a1.56 1.56 0 0 1 .88-.25h5.544zM2.008 1.71c-.121 0-.17.028-.187.039a.2.2 0 0 0-.061.076.5.5 0 0 0-.05.187v5.526c0 .121.03.17.04.187.013.02.035.04.076.061a.5.5 0 0 0 .187.049h5.526c.121 0 .17-.029.187-.04a.2.2 0 0 0 .061-.075.5.5 0 0 0 .049-.187V2.008c0-.121-.029-.17-.04-.187a.2.2 0 0 0-.075-.061.5.5 0 0 0-.187-.05z" clipRule="evenodd" />
  </svg>;

export const Key = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="M4.421 9.797a1.793 1.793 0 1 1-.001 3.587 1.793 1.793 0 0 1 .001-3.587m0 1.25a.543.543 0 1 0 0 1.086.543.543 0 0 0 0-1.086" clipRule="evenodd" /><path fill="currentColor" fillRule="evenodd" d="M13.458.46a2.073 2.073 0 0 1 2.072 2.073c0 .42-.13.826-.363 1.168l.207.769.001.006a1.6 1.6 0 0 1-.377 1.485H15q0 .002-.003.003l-.005.007V5.97a1.58 1.58 0 0 1-1.525.468l-.019-.003-.714-.192.182.678a1.6 1.6 0 0 1-.369 1.498h.001a1.58 1.58 0 0 1-1.533.478l-.019-.004-.736-.198-1.022 1.01a4.49 4.49 0 1 1-8.004-1.163 4.49 4.49 0 0 1 5.073-1.77l5.686-5.704h.001A2.07 2.07 0 0 1 13.458.46m0 1.25a.82.82 0 0 0-.581.242L6.908 7.937a.625.625 0 0 1-.686.133 3.242 3.242 0 1 0 1.716 1.716.63.63 0 0 1 .135-.69l1.562-1.541.061-.055a.63.63 0 0 1 .54-.105l1.062.284.088.008a.34.34 0 0 0 .235-.109l.005-.006a.35.35 0 0 0 .081-.326l-.289-1.076a.63.63 0 0 1 .179-.621l.504-.467a.63.63 0 0 1 .587-.146l1.062.285.088.008a.34.34 0 0 0 .235-.109l.008-.009a.35.35 0 0 0 .084-.318l-.288-1.075a.63.63 0 0 1 .161-.605.823.823 0 0 0-.58-1.403" clipRule="evenodd" />
  </svg>;

export const Journey = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g><path fill="currentColor" fillRule="evenodd" d="M14.25.466q.13.02.25.075l.116.063.106.079a1 1 0 0 1 .173.196l.066.114.008.018a.96.96 0 0 1-.121.984l-.547.676.551.702.008.01a1 1 0 0 1 .165.346l.023.126.005.13a1 1 0 0 1-.086.372l-.006.012a.95.95 0 0 1-.843.538h-3.803v1.847q.179.097.32.242l.098.114.032.047 1.522 2.415.015.018.022.04 3.118 4.951a.626.626 0 0 1-.528.958H4.466l-3.38.006a.625.625 0 0 1-.52-.972l3.687-5.531a.627.627 0 0 1 1.014-.036l1.204 1.553 2.143-3.402.032-.047a1.3 1.3 0 0 1 .42-.356V1.08c0-.345.28-.625.624-.625h4.428zM2.255 14.292l1.865-.003 1.64-2.604-.949-1.227zm7.77-2.39a.63.63 0 0 1-.702.003l-1.563-1.05-.687 1.09-.024.04-1.45 2.304h8.182L11.6 10.825zm-.363-4.05-.017.011-1.218 1.934 1.24.834 1.265-.863-1.199-1.905-.015-.011a.1.1 0 0 0-.029-.007zm.653-4.195h3.17l-.316-.402-.002-.003a.95.95 0 0 1-.187-.427l-.013-.156.013-.157a.95.95 0 0 1 .187-.426l.008-.01.3-.37h-3.16z" clipRule="evenodd" /></g>
  </svg>;

export const Filter = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M15.188 2.451a.625.625 0 1 1 0 1.25H.813a.625.625 0 1 1 0-1.25zm-1.531 3.283a.625.625 0 0 1 0 1.25H2.343a.625.625 0 1 1 0-1.25zm-3.561 6.565a.625.625 0 0 1 0 1.25H5.904a.625.625 0 1 1 0-1.25zm2.03-3.283a.625.625 0 0 1 0 1.25H3.875a.625.625 0 0 1 0-1.25z" />
  </svg>;

export const Experiment = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M4.759 11.754a.855.855 0 1 1 0 1.71.855.855 0 0 1 0-1.71M10.29 9.68c.345 0 .625.28.625.625v.297h.297a.625.625 0 1 1 0 1.25h-.297v.296a.625.625 0 0 1-1.25 0v-.296h-.297a.625.625 0 0 1 0-1.25h.297v-.297c0-.345.28-.625.625-.625m-3.687.23a.855.855 0 1 1 0 1.711.855.855 0 0 1 0-1.71" /><path fillRule="evenodd" d="M11.212.46a.625.625 0 1 1 0 1.25h-.297v3.8l1.689 2.597.005.01 2.345 3.608a2.47 2.47 0 0 1-.806 3.466 2.47 2.47 0 0 1-1.263.348H3.082a2.47 2.47 0 0 1-2.066-3.814l4.04-6.216V1.71h-.297a.625.625 0 0 1 0-1.25zM2.064 12.407a1.219 1.219 0 0 0 1.02 1.883h9.8c.22 0 .435-.06.624-.172l.135-.093a1.22 1.22 0 0 0 .46-1.001 1.2 1.2 0 0 0-.197-.617l-2.158-3.32H4.223zm4.242-6.71c0 .12-.036.239-.102.34l-1.17 1.8h5.902l-1.17-1.8a.63.63 0 0 1-.1-.34v-.298h-1.22a.625.625 0 0 1 0-1.25h1.22v-.593h-1.22a.625.625 0 0 1 0-1.25h1.22V1.71h-3.36z" clipRule="evenodd" /></g>
  </svg>;

export const Email = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="m13.563 2.767.052.002a1.8 1.8 0 0 1 .656.178c.19.095.398.246.558.486.162.243.25.54.25.88V11.7l-.002.019-.002.053a1.8 1.8 0 0 1-.178.656 1.44 1.44 0 0 1-.486.557 1.56 1.56 0 0 1-.88.25H2.456l-.018-.002-.053-.002a1.8 1.8 0 0 1-.656-.179 1.43 1.43 0 0 1-.558-.485 1.56 1.56 0 0 1-.25-.88V4.314h.567v-.001H.921v-.031l.003-.052a1.8 1.8 0 0 1 .179-.657c.094-.189.246-.398.485-.557a1.56 1.56 0 0 1 .88-.25h11.075zM9.62 8.074a2.66 2.66 0 0 1-3.241 0L2.172 4.838v6.85c0 .12.028.17.039.186.013.02.035.041.076.061a.5.5 0 0 0 .187.05H13.53c.121 0 .17-.03.187-.04a.2.2 0 0 0 .061-.076.5.5 0 0 0 .05-.186V4.838zm-2.48-.99a1.41 1.41 0 0 0 1.718 0l3.99-3.068H3.15z" clipRule="evenodd" />
  </svg>;

export const Dashboard = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M3.622 6.914a.855.855 0 1 1-.001 1.71.855.855 0 0 1 .001-1.71m8.843 0a.856.856 0 1 1-.085-.004zM4.544 4.61a.855.855 0 1 1-.002 1.71.855.855 0 0 1 .002-1.71m6.913 0a.855.855 0 1 1-.001 1.71.855.855 0 0 1 .001-1.71M6.388 2.766a.856.856 0 0 1 0 1.71.855.855 0 0 1 0-1.71" /><path fillRule="evenodd" d="M8 .46a7.54 7.54 0 1 1 0 15.08A7.54 7.54 0 0 1 8 .46m0 10.01a9.06 9.06 0 0 0-4.916 1.45A6.28 6.28 0 0 0 8 14.29c1.99 0 3.762-.926 4.914-2.368A9.05 9.05 0 0 0 8 10.469M8 1.71a6.29 6.29 0 0 0-5.596 9.16 10.3 10.3 0 0 1 3.152-1.358 2.47 2.47 0 0 1 1.98-2.094L8.79 3.654a.625.625 0 0 1 1.186.395L8.819 7.518a2.45 2.45 0 0 1 1.624 1.995c1.116.272 2.18.73 3.152 1.358A6.29 6.29 0 0 0 8 1.711m0 6.914a1.22 1.22 0 0 0-1.08.651 10.3 10.3 0 0 1 2.158 0A1.22 1.22 0 0 0 8 8.625" clipRule="evenodd" /></g>
  </svg>;

export const CheckCircle = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" d="M10.016 6.041a.663.663 0 0 1 .937.937L7.641 10.29a.663.663 0 0 1-.938 0L5.38 8.965a.662.662 0 1 1 .936-.937l.857.857z" /><path fill="currentColor" fillRule="evenodd" d="M8 1.375a6.625 6.625 0 1 1 0 13.25 6.625 6.625 0 0 1 0-13.25M8 2.7a5.3 5.3 0 1 0 0 10.6A5.3 5.3 0 0 0 8 2.7" clipRule="evenodd" />
  </svg>;

export const Apps = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <g fill="currentColor"><path d="M1.866 6.146h4.281V1.865H1.866zm5.531.072a1.18 1.18 0 0 1-1.178 1.178H1.793A1.18 1.18 0 0 1 .616 6.218V1.792C.616 1.48.74 1.18.96.96l.087-.078c.21-.171.473-.266.746-.266H6.22c.273 0 .537.095.746.266l.087.078.078.087c.172.21.267.473.267.746zm2.456-.072h4.281V1.865H9.853zm5.531.072a1.18 1.18 0 0 1-1.178 1.178H9.781a1.18 1.18 0 0 1-1.178-1.178V1.792A1.18 1.18 0 0 1 9.78.615h4.425a1.18 1.18 0 0 1 1.178 1.177zM1.866 14.135h4.281v-4.28H1.866zm5.531.073a1.18 1.18 0 0 1-1.178 1.177H1.793a1.18 1.18 0 0 1-1.177-1.177V9.782c0-.312.124-.612.344-.833l.087-.078c.21-.172.473-.267.746-.267H6.22c.273 0 .537.095.746.267l.087.078.078.087c.172.21.267.473.267.746zm2.456-.073h4.281v-4.28H9.853zm5.531.073a1.18 1.18 0 0 1-1.178 1.177H9.781a1.18 1.18 0 0 1-1.178-1.177V9.782c0-.313.124-.612.345-.833l.087-.078c.21-.172.473-.267.746-.267h4.425a1.18 1.18 0 0 1 1.178 1.178z" /></g>
  </svg>;

export const Api = <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" aria-hidden="true" focusable="false" className="text-primary dark:text-primary-light">
    <path fill="currentColor" fillRule="evenodd" d="M8 .46c.251.001.499.062.722.177l6.274 3.243q.046.024.087.056.131.084.23.206l.08.112.063.122a1.005 1.005 0 0 1-.459 1.29v.001l-1.396.72 1.395.721c.122.064.231.152.317.258l.08.113.063.122a1.005 1.005 0 0 1-.459 1.29l-1.397.722 1.397.724c.123.063.23.152.316.258l.08.112.063.122a1.006 1.006 0 0 1-.459 1.29v.001l-6.275 3.241a1.58 1.58 0 0 1-1.444.001l-6.275-3.246a1.004 1.004 0 0 1 0-1.783l1.394-.72-1.394-.721a1.005 1.005 0 0 1-.396-1.413l.08-.113q.131-.16.316-.258L2.4 6.386l-1.397-.723a1.004 1.004 0 0 1 0-1.783L7.277.637C7.5.522 7.75.46 8 .46m.722 11.677a1.57 1.57 0 0 1-1.444 0l-3.52-1.82L2 11.224l5.852 3.026.072.027a.32.32 0 0 0 .224-.027L14 11.227l-1.759-.91zM2 7.999l5.852 3.027.072.028a.32.32 0 0 0 .223-.028L13.998 8l-1.758-.91-3.518 1.82a1.58 1.58 0 0 1-1.444 0L3.76 7.088zm5.924-6.28-.072.028L2 4.771l5.852 3.027.072.027a.33.33 0 0 0 .224-.027l5.854-3.026-5.855-3.025a.33.33 0 0 0-.223-.027" clipRule="evenodd" />
  </svg>;

export const ResponsiveColumns = ({maxCols = 3, minWidth = "15rem", children}) => {
  const colMin = "max(min(" + minWidth + ", 100%), calc((100% - " + (maxCols - 1) + " * 1rem) / " + maxCols + "))";
  return <div className="prose dark:prose-invert max-w-none" style={{
    display: "grid",
    columnGap: "1rem",
    rowGap: 0,
    gridTemplateColumns: "repeat(auto-fill, minmax(" + colMin + ", 1fr))"
  }}>
      {children}
    </div>;
};

export const HomepageBanner = ({imgSrc, imgAlt, title, description}) => {
  return <div style={{
    height: "280px"
  }} class="relative flex items-center justify-center mb-3">
      <img style={{
    height: "280px",
    width: "100%"
  }} src={imgSrc} alt={imgAlt} class="absolute top-0 left-0 w-100 object-cover rounded-none" noZoom />
      <div class="z-10 text-center text-gray-200 flex flex-col items-center justify-center gap-4 h-min px-6">
        <h1 role="heading" aria-level="1" class="inline-block text-4xl sm:text-6xl font-extrabold text-color-white">
          {title}
        </h1>
        <p class="text-md sm:text-lg font-normal">{description}</p>
      </div>
    </div>;
};

<HomepageBanner imgSrc="/images/docs/docs-header-image.png" imgAlt="abstract graphic" title="OneSignal Documentation" description="Start building faster with comprehensive guides, example code, and platform overviews for omnichannel messaging." />

<div
  style={{
padding: '0 clamp(1rem, 5vw, 6rem)',
maxWidth: '80rem',
margin: '0 auto',
boxSizing: 'border-box',
paddingBottom: '5rem'
}}
>
  <ResponsiveColumns maxCols={3} minWidth="15rem">
    <Card title="Dashboard setup" icon={Dashboard} href="./quickstart-guide">
      Set up your OneSignal project, configure platforms, and start sending notifications quickly.
    </Card>

    <Card title="SDK setup" icon={Package} href="./developers">
      Install and integrate the OneSignal SDK with your app to enable messaging capabilities.
    </Card>

    <Card title="API reference" icon={Api} href="/reference/rest-api-overview">
      Explore our full API reference to automate messaging, manage users, and track delivery.
    </Card>

    <Card title="Push" icon={Push} href="./push">
      Set up and send mobile and web push notifications with advanced targeting and automation.
    </Card>

    <Card title="Email" icon={Email} href="./email-messaging">
      Build, personalize, and send transactional and marketing emails using OneSignal.
    </Card>

    <Card title="SMS & RCS" icon={Sms} href="./sms-messaging">
      Send time-sensitive SMS and RCS messages using OneSignal's powerful messaging engine.
    </Card>

    <Card title="In-app messages" icon={Message} href="./in-app-messages-setup">
      Create in-app messages to engage users while they're active in your app.
    </Card>

    <Card title="Live Activities" icon={LiveActivity} href="./live-activities">
      Deliver real-time updates to iOS Live Activities using OneSignal's SDK and API.
    </Card>

    <Card title="Journeys" icon={Journey} href="./journeys-overview">
      Design no-code messaging journeys across channels to onboard, retain, and re-engage users.
    </Card>

    <Card title="A/B testing" icon={Experiment} href="./ab-testing">
      Optimize your messaging with A/B tests to improve engagement and conversion rates.
    </Card>

    <Card title="Analytics" icon={Report} href="./analytics-overview">
      Track the success of your messaging campaigns with detailed analytics.
    </Card>

    <Card title="Integrations" icon={Apps} href="./integrations">
      Connect OneSignal to 3rd party tools, CRMs, data pipelines, and more via SDKs or webhooks.
    </Card>
  </ResponsiveColumns>

  <div class="text-center text-gray-900 dark:text-gray-200 pt-10 mt-24 sm:mt-32 md:mt-40 pt-12 sm:pt-16 md:pt-20">
    <div role="heading" aria-level="1" class="inline-block text-2xl sm:text-3xl font-bold tracking-tight">
      Essential Concepts
    </div>

    <p class="mt-4 mb-12">Master these fundamental concepts to build effective messaging campaigns and understand OneSignal's core capabilities.</p>
  </div>

  <ResponsiveColumns maxCols={4} minWidth="14rem">
    <Card title="Tags" icon={Tag} href="./add-user-data-tags">
      Custom metadata attached to users to store preferences, behaviors, and properties for targeting.
    </Card>

    <Card title="Segmentation" icon={Filter} href="./segmentation">
      Dynamic groups of users based on criteria like behavior, location, tags, and subscription status.
    </Card>

    <Card title="Users" icon={People} href="./users">
      A User represents an individual with one or more subscriptions to messaging channels like push, email, and SMS.
    </Card>

    <Card title="Subscriptions" icon={Subscription} href="./subscriptions">
      A subscription in OneSignal represents the specific channel or device through which a user can receive messages.
    </Card>

    <Card title="External ID" icon={UserTag} href="./users#external-id">
      A unique identifier you assign to link a OneSignal user with your own user system or database.
    </Card>

    <Card title="OneSignal ID" icon={Key} href="./users#onesignal-id">
      A unique UUID automatically generated by OneSignal to identify each user in the system.
    </Card>

    <Card title="Personalization" icon={Personalize} href="./message-personalization">
      The ability to customize message content using user data, tags, and dynamic content for relevant experiences.
    </Card>

    <Card title="Deep linking" icon={Link} href="./deep-linking">
      Direct users to specific app screens or web pages with custom deep links and URLs.
    </Card>

    <Card title="Multi-language" icon={Language} href="./multi-language-messaging">
      Send messages in multiple languages to reach global audiences effectively.
    </Card>

    <Card title="Confirmed receipt" icon={CheckCircle} href="./confirmed-delivery">
      Verification that a push notification was successfully delivered to and displayed on a user's device.
    </Card>

    <Card title="Custom Outcomes" icon={Outcome} href="./custom-outcomes">
      Track custom conversion events and measure the impact of your messaging campaigns.
    </Card>

    <Card title="Event Streams" icon={Webhook} href="./event-streams">
      Stream real-time messaging events to external systems for advanced analytics and automation.
    </Card>
  </ResponsiveColumns>
</div>


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