---
area: "API"
url: "https://unpoly.com/api"
---
<nav aria-label="Unpoly docs">[All docs](https://unpoly.com/index.md)</nav>

# API reference

Technical reference for every attribute, function, event and HTTP header in Unpoly.
For concepts and walkthroughs, see [Learn](https://unpoly.com/learn.md).

## [up.link](https://unpoly.com/api/up.link.md)

Features to follow links without a full page load.

- [[up-defer]](https://unpoly.com/api/up-defer.md)
- [[up-follow]](https://unpoly.com/api/up-follow.md)
- [[up-instant]](https://unpoly.com/api/up-instant.md)
- [[up-preload]](https://unpoly.com/api/up-preload.md)
- [up:deferred:load](https://unpoly.com/api/up:deferred:load.md)
- [up.deferred.load()](https://unpoly.com/api/up.deferred.load.md)
- [+ 14 more in up.link](https://unpoly.com/api/up.link.md#features)

## [up.form](https://unpoly.com/api/up.form.md)

Features to submit and validate forms without a full page load.

- [[up-autosubmit]](https://unpoly.com/api/up-autosubmit.md)
- [[up-submit]](https://unpoly.com/api/up-submit.md)
- [[up-switch]](https://unpoly.com/api/up-switch.md)
- [[up-validate]](https://unpoly.com/api/up-validate.md)
- [up.watch()](https://unpoly.com/api/up.watch.md)
- [+ 22 more in up.form](https://unpoly.com/api/up.form.md#features)

## [up.script](https://unpoly.com/api/up.script.md)

Features to attach JavaScript behavior to HTML elements whenever they enter the page.

- [[up-data]](https://unpoly.com/api/up-data.md)
- [up.compiler()](https://unpoly.com/api/up.compiler.md)
- [up.hello()](https://unpoly.com/api/up.hello.md)
- [up.macro()](https://unpoly.com/api/up.macro.md)
- [+ 7 more in up.script](https://unpoly.com/api/up.script.md#features)

## [up.layer](https://unpoly.com/api/up.layer.md)

Features to open, close and look up overlays.

- [[up-layer=new]](https://unpoly.com/api/up-layer-new.md)
- [up.layer.ask()](https://unpoly.com/api/up.layer.ask.md)
- [up.layer.current](https://unpoly.com/api/up.layer.current.md)
- [up.layer.on()](https://unpoly.com/api/up.layer.on.md)
- [+ 55 more in up.layer](https://unpoly.com/api/up.layer.md#features)

## [up.fragment](https://unpoly.com/api/up.fragment.md)

The JavaScript API to render, look up and destroy page fragments. Every link, form, overlay or poll that Unpoly handles ends in `up.render()`, and your own code can call it with the same options.

- [[up-keep]](https://unpoly.com/api/up-keep.md)
- [up.destroy()](https://unpoly.com/api/up.destroy.md)
- [up.fragment.get()](https://unpoly.com/api/up.fragment.get.md)
- [up.reload()](https://unpoly.com/api/up.reload.md)
- [up.render()](https://unpoly.com/api/up.render.md)
- [+ 41 more in up.fragment](https://unpoly.com/api/up.fragment.md#features)

## [up.radio](https://unpoly.com/api/up.radio.md)

Features to update fragments without a user click.

- [[up-hungry]](https://unpoly.com/api/up-hungry.md)
- [[up-poll]](https://unpoly.com/api/up-poll.md)
- [+ 6 more in up.radio](https://unpoly.com/api/up.radio.md#features)

## [up.motion](https://unpoly.com/api/up.motion.md)

Features to animate fragment updates.

- [[up-transition]](https://unpoly.com/api/up-transition.md)
- [up.animation()](https://unpoly.com/api/up.animation.md)
- [up.transition()](https://unpoly.com/api/up.transition.md)
- [+ 6 more in up.motion](https://unpoly.com/api/up.motion.md#features)

## [up.status](https://unpoly.com/api/up.status.md)

Features to show which request is loading and which link leads to the current page.

- [.up-active](https://unpoly.com/api/up-active.md)
- [.up-current](https://unpoly.com/api/up-current.md)
- [.up-loading](https://unpoly.com/api/up-loading.md)
- [[up-nav]](https://unpoly.com/api/up-nav.md)
- [[up-placeholder]](https://unpoly.com/api/up-placeholder.md)
- [[up-preview]](https://unpoly.com/api/up-preview.md)
- [+ 4 more in up.status](https://unpoly.com/api/up.status.md#features)

## [up.network](https://unpoly.com/api/up.network.md)

Features to make HTTP requests and cache their responses.

- [up:network:late](https://unpoly.com/api/up:network:late.md)
- [up.request()](https://unpoly.com/api/up.request.md)
- [+ 17 more in up.network](https://unpoly.com/api/up.network.md#features)

## [up.event](https://unpoly.com/api/up.event.md)

Features to emit and observe DOM events.

- [up.emit()](https://unpoly.com/api/up.emit.md)
- [up.on()](https://unpoly.com/api/up.on.md)
- [+ 9 more in up.event](https://unpoly.com/api/up.event.md#features)

## [up.protocol](https://unpoly.com/api/up.protocol.md)

HTTP headers that let your server inspect and steer Unpoly's rendering.

- [X-Up-Accept-Layer](https://unpoly.com/api/X-Up-Accept-Layer.md)
- [X-Up-Target](https://unpoly.com/api/X-Up-Target.md)
- [X-Up-Validate](https://unpoly.com/api/X-Up-Validate.md)
- [+ 24 more in up.protocol](https://unpoly.com/api/up.protocol.md#features)

## [up.element](https://unpoly.com/api/up.element.md)

Low-level functions to access and change the DOM.

- [up.element.affix()](https://unpoly.com/api/up.element.affix.md)
- [up.element.createFromHTML()](https://unpoly.com/api/up.element.createFromHTML.md)
- [up.element.toggle()](https://unpoly.com/api/up.element.toggle.md)
- [+ 27 more in up.element](https://unpoly.com/api/up.element.md#features)

## [up.viewport](https://unpoly.com/api/up.viewport.md)

Features to control scrolling and focus when fragments are updated.

- [[up-fixed=top]](https://unpoly.com/api/up-fixed-top.md)
- [[up-viewport]](https://unpoly.com/api/up-viewport.md)
- [up.reveal()](https://unpoly.com/api/up.reveal.md)
- [+ 15 more in up.viewport](https://unpoly.com/api/up.viewport.md#features)

## [up.history](https://unpoly.com/api/up.history.md)

Features to update the browser history and handle the Back button.

- [[up-back]](https://unpoly.com/api/up-back.md)
- [up:location:changed](https://unpoly.com/api/up:location:changed.md)
- [up.history.location](https://unpoly.com/api/up.history.location.md)
- [+ 8 more in up.history](https://unpoly.com/api/up.history.md#features)

## [up.util](https://unpoly.com/api/up.util.md)

Helper functions for basic JavaScript values.

- [up.util.isPresent()](https://unpoly.com/api/up.util.isPresent.md)
- [up.util.pick()](https://unpoly.com/api/up.util.pick.md)
- [up.util.reject()](https://unpoly.com/api/up.util.reject.md)
- [up.util.uniq()](https://unpoly.com/api/up.util.uniq.md)
- [+ 58 more in up.util](https://unpoly.com/api/up.util.md#features)

## [up.framework](https://unpoly.com/api/up.framework.md)

Features to control when Unpoly boots.

- [[up-boot=manual]](https://unpoly.com/api/up-boot-manual.md)
- [up.boot()](https://unpoly.com/api/up.boot.md)
- [up.framework.isSupported()](https://unpoly.com/api/up.framework.isSupported.md)
- [+ 3 more in up.framework](https://unpoly.com/api/up.framework.md#features)

## [up.log](https://unpoly.com/api/up.log.md)

Features to log Unpoly's activity to the browser console.

- [up.log.disable()](https://unpoly.com/api/up.log.disable.md)
- [up.log.enable()](https://unpoly.com/api/up.log.enable.md)
- [+ 1 more in up.log](https://unpoly.com/api/up.log.md#features)

## [Formats](https://unpoly.com/api/formats.md)

Mini-languages used throughout the API.

- [URL patterns](https://unpoly.com/api/url-patterns.md)
- [Relaxed JSON](https://unpoly.com/api/relaxed-json.md)

