# TRMNL Octri Demo > TRMNL Octri Demo API documentation ## Api - [GET /api/analytics](https://octri-7q2a5geusnzn.octri.dev/get-api-analytics): Read the analytics of the plugins you published - [GET /api/analytics/errors](https://octri-7q2a5geusnzn.octri.dev/get-api-analytics-errors): List the failing installs of the plugins you published - [POST /api/analytics/hidden_errors](https://octri-7q2a5geusnzn.octri.dev/post-api-analytics-hidden_errors): Hide an author plugin error row from analytics - [DELETE /api/analytics/hidden_errors](https://octri-7q2a5geusnzn.octri.dev/delete-api-analytics-hidden_errors): Show a hidden plugin error row again - [GET /api/analytics/uninstall_feedback](https://octri-7q2a5geusnzn.octri.dev/get-api-analytics-uninstall_feedback): Read why installers removed the plugins you published - [GET /api/apps](https://octri-7q2a5geusnzn.octri.dev/get-api-apps): List the apps that can be installed - [GET /api/apps/fleet/{installation_id}](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-fleet-installation_id): Read a fleet - [PATCH /api/apps/fleet/{installation_id}/alerts](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-fleet-installation_id-alerts): Update fleet overdue check-in alerts - [GET /api/apps/fleet/{installation_id}/devices](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-fleet-installation_id-devices): List the devices in a fleet - [POST /api/apps/fleet/{installation_id}/devices](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-fleet-installation_id-devices): Add a device to a fleet as a mirror - [DELETE /api/apps/fleet/{installation_id}/devices/{device_id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-fleet-installation_id-devices-device_id): Remove a device from a fleet - [POST /api/apps/fleet/{installation_id}/devices/{device_id}/pushes](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-fleet-installation_id-devices-device_id-pushes): Push the master playlist to one mirror - [PUT /api/apps/fleet/{installation_id}/master](https://octri-7q2a5geusnzn.octri.dev/put-api-apps-fleet-installation_id-master): Set the fleet master device - [DELETE /api/apps/fleet/{installation_id}/master](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-fleet-installation_id-master): Remove the master device - [POST /api/apps/fleet/{installation_id}/pushes](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-fleet-installation_id-pushes): Push the master playlist to every mirror - [PATCH /api/apps/fleet/{installation_id}/settings](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-fleet-installation_id-settings): Update fleet inherited settings - [GET /api/apps/installations](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-installations): List my app installations - [POST /api/apps/installations](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-installations): Install an app - [DELETE /api/apps/installations/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-installations-id): Uninstall an app - [GET /api/apps/room_booking/{installation_id}](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id): Read a room booking installation - [GET /api/apps/room_booking/{installation_id}/billing](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-billing): Read the billing state of a room booking installation - [GET /api/apps/room_booking/{installation_id}/calendars](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-calendars): List the calendars of a room booking installation - [POST /api/apps/room_booking/{installation_id}/calendars](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-room_booking-installation_id-calendars): Add an iCal calendar - [GET /api/apps/room_booking/{installation_id}/calendars/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-calendars-id): Read a calendar with its current and upcoming bookings - [PATCH /api/apps/room_booking/{installation_id}/calendars/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-room_booking-installation_id-calendars-id): Update a room booking calendar - [DELETE /api/apps/room_booking/{installation_id}/calendars/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-calendars-id): Remove an iCal calendar - [GET /api/apps/room_booking/{installation_id}/calendars/{id}/bookings](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-calendars-id-bookings): List the bookings of a calendar - [POST /api/apps/room_booking/{installation_id}/calendars/{id}/bookings](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-room_booking-installation_id-calendars-id-bookings): Book a room - [DELETE /api/apps/room_booking/{installation_id}/calendars/{id}/bookings/{booking_id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-calendars-id-bookings-booking_id): Cancel an upcoming booking - [PATCH /api/apps/room_booking/{installation_id}/calendars/{id}/bookings/{booking_id}/end](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-room_booking-installation_id-calendars-id-bookings-booking_id-end): End a booking in progress now - [PUT /api/apps/room_booking/{installation_id}/calendars/{id}/devices/{device_id}](https://octri-7q2a5geusnzn.octri.dev/put-api-apps-room_booking-installation_id-calendars-id-devices-device_id): Show a calendar on a device - [DELETE /api/apps/room_booking/{installation_id}/calendars/{id}/devices/{device_id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-calendars-id-devices-device_id): Stop showing a calendar on a device - [POST /api/apps/room_booking/{installation_id}/calendars/{id}/refetches](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-room_booking-installation_id-calendars-id-refetches): Refetch a calendar from its source now - [GET /api/apps/room_booking/{installation_id}/calendars/{id}/screens](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-calendars-id-screens): Read the screens a calendar is showing on - [GET /api/apps/room_booking/{installation_id}/collections](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-collections): List the calendar collections - [POST /api/apps/room_booking/{installation_id}/collections](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-room_booking-installation_id-collections): Create a calendar collection - [PATCH /api/apps/room_booking/{installation_id}/collections/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-room_booking-installation_id-collections-id): Update a calendar collection - [DELETE /api/apps/room_booking/{installation_id}/collections/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-collections-id): Remove a calendar collection - [PUT /api/apps/room_booking/{installation_id}/collections/{id}/devices/{device_id}](https://octri-7q2a5geusnzn.octri.dev/put-api-apps-room_booking-installation_id-collections-id-devices-device_id): Show a collection on a device - [DELETE /api/apps/room_booking/{installation_id}/collections/{id}/devices/{device_id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-collections-id-devices-device_id): Stop showing a collection on a device - [GET /api/apps/room_booking/{installation_id}/collections/{id}/screens](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-collections-id-screens): Read the screens a collection is showing on - [GET /api/apps/room_booking/{installation_id}/integrations](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-integrations): List the connected calendar accounts - [PATCH /api/apps/room_booking/{installation_id}/integrations/{integration_type}/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-room_booking-installation_id-integrations-integration_type-id): Update a room booking integration - [DELETE /api/apps/room_booking/{installation_id}/integrations/{integration_type}/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-integrations-integration_type-id): Disconnect a room booking account - [POST /api/apps/room_booking/{installation_id}/integrations/{integration_type}/{id}/syncs](https://octri-7q2a5geusnzn.octri.dev/post-api-apps-room_booking-installation_id-integrations-integration_type-id-syncs): Refresh calendars for a connected room booking account - [GET /api/apps/room_booking/{installation_id}/integrations/{integration_type}/connect_url](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-integrations-integration_type-connect_url): Get a room booking integration connection URL - [GET /api/apps/room_booking/{installation_id}/settings](https://octri-7q2a5geusnzn.octri.dev/get-api-apps-room_booking-installation_id-settings): Get room booking installation settings - [PATCH /api/apps/room_booking/{installation_id}/settings](https://octri-7q2a5geusnzn.octri.dev/patch-api-apps-room_booking-installation_id-settings): Update room booking installation settings - [PUT /api/apps/room_booking/{installation_id}/settings/color_company_logo](https://octri-7q2a5geusnzn.octri.dev/put-api-apps-room_booking-installation_id-settings-color_company_logo): Upload the color company logo - [DELETE /api/apps/room_booking/{installation_id}/settings/color_company_logo](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-settings-color_company_logo): Remove the color company logo - [PUT /api/apps/room_booking/{installation_id}/settings/company_logo](https://octri-7q2a5geusnzn.octri.dev/put-api-apps-room_booking-installation_id-settings-company_logo): Upload the company logo shown on the screens - [DELETE /api/apps/room_booking/{installation_id}/settings/company_logo](https://octri-7q2a5geusnzn.octri.dev/delete-api-apps-room_booking-installation_id-settings-company_logo): Remove the company logo - [POST /api/book/{token}/bookings](https://octri-7q2a5geusnzn.octri.dev/post-api-book-token-bookings): Create a public room booking - [DELETE /api/book/{token}/bookings/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-book-token-bookings-id): Cancel an upcoming public booking - [PATCH /api/book/{token}/bookings/{id}/end](https://octri-7q2a5geusnzn.octri.dev/patch-api-book-token-bookings-id-end): End a public booking in progress - [GET /api/book/{token}/events](https://octri-7q2a5geusnzn.octri.dev/get-api-book-token-events): List the bookings a visitor sees - [GET /api/capabilities](https://octri-7q2a5geusnzn.octri.dev/get-api-capabilities): Get supported Companion contract versions - [GET /api/categories](https://octri-7q2a5geusnzn.octri.dev/get-api-categories): List approved plugin categories - [GET /api/devices](https://octri-7q2a5geusnzn.octri.dev/get-api-devices): List devices - [POST /api/devices](https://octri-7q2a5geusnzn.octri.dev/post-api-devices): Claim an unclaimed device - [DELETE /api/devices/{device_id}/association](https://octri-7q2a5geusnzn.octri.dev/delete-api-devices-device_id-association): Unlink an owned physical device - [GET /api/devices/{device_id}/coverage](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-device_id-coverage): Times of the week a device's playlist shows nothing scheduled - [POST /api/devices/{device_id}/firmware_update_retries](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-firmware_update_retries): Retry a stalled firmware update - [GET /api/devices/{device_id}/forecast](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-device_id-forecast): Simulate a device's coming check-ins, deciding each one the way a real check-in would - [POST /api/devices/{device_id}/identification](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-identification): Identify a device - [GET /api/devices/{device_id}/logs](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-device_id-logs): List logs for a device - [POST /api/devices/{device_id}/mashups](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-mashups): Add a mashup to a device playlist - [GET /api/devices/{device_id}/mashups/options](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-device_id-mashups-options): Get mashup options for a device - [POST /api/devices/{device_id}/mirror](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-mirror): Point a device at another device's shared playlist - [DELETE /api/devices/{device_id}/mirror](https://octri-7q2a5geusnzn.octri.dev/delete-api-devices-device_id-mirror): Stop mirroring - [POST /api/devices/{device_id}/mirror/resyncs](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-mirror-resyncs): Resync a mirrored device with its master - [DELETE /api/devices/{device_id}/playlist](https://octri-7q2a5geusnzn.octri.dev/delete-api-devices-device_id-playlist): Clear a device playlist - [POST /api/devices/{device_id}/playlist_copies](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-playlist_copies): Copy a playlist to another device - [GET /api/devices/{device_id}/playlist_items](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-device_id-playlist_items): List playlist items for a device - [POST /api/devices/{device_id}/playlist_items](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-playlist_items): Add a plugin instance to a device playlist - [POST /api/devices/{device_id}/playlist_items/bulk](https://octri-7q2a5geusnzn.octri.dev/post-api-devices-device_id-playlist_items-bulk): Show or hide playlist items on a device - [PUT /api/devices/{device_id}/playlist_items/order](https://octri-7q2a5geusnzn.octri.dev/put-api-devices-device_id-playlist_items-order): Reorder a device playlist - [GET /api/devices/{device_id}/timeline](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-device_id-timeline): Read a device timeline - [GET /api/devices/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-devices-id): Get the data of a device - [PATCH /api/devices/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-devices-id): Update a device - [GET /api/display](https://octri-7q2a5geusnzn.octri.dev/get-api-display): Get the next screen for a device - [GET /api/display/current](https://octri-7q2a5geusnzn.octri.dev/get-api-display-current): Fetch the current device screen - [GET /api/firmware](https://octri-7q2a5geusnzn.octri.dev/get-api-firmware): List stable firmware releases by device model - [GET /api/firmware/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-firmware-id): Get a device model's stable firmware release - [GET /api/firmware/flash](https://octri-7q2a5geusnzn.octri.dev/get-api-firmware-flash): List flashable firmware versions per device model - [GET /api/framework](https://octri-7q2a5geusnzn.octri.dev/get-api-framework): Get framework details and versions - [GET /api/ips](https://octri-7q2a5geusnzn.octri.dev/get-api-ips): List all TRMNL server IP addresses - [POST /api/log](https://octri-7q2a5geusnzn.octri.dev/post-api-log): Create device log entries - [POST /api/markup](https://octri-7q2a5geusnzn.octri.dev/post-api-markup): Render Liquid template - [GET /api/mashups/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-mashups-id): Read a mashup and its sections - [PATCH /api/mashups/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-mashups-id): Change the sections of a mashup - [POST /api/mashups/{id}/health_resets](https://octri-7q2a5geusnzn.octri.dev/post-api-mashups-id-health_resets): Reset a mashup past its health breaker - [GET /api/mashups/{mashup_id}/timeline](https://octri-7q2a5geusnzn.octri.dev/get-api-mashups-mashup_id-timeline): Read a mashup timeline - [GET /api/me](https://octri-7q2a5geusnzn.octri.dev/get-api-me): Get the authenticated user's profile - [PATCH /api/me](https://octri-7q2a5geusnzn.octri.dev/patch-api-me): Update the authenticated user's profile - [GET /api/models](https://octri-7q2a5geusnzn.octri.dev/get-api-models): List device models - [GET /api/my_plugins](https://octri-7q2a5geusnzn.octri.dev/get-api-my_plugins): List the third-party plugins you are building - [POST /api/my_plugins](https://octri-7q2a5geusnzn.octri.dev/post-api-my_plugins): Start a third-party plugin - [PATCH /api/my_plugins/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-my_plugins-id): Change a third-party plugin - [GET /api/palettes](https://octri-7q2a5geusnzn.octri.dev/get-api-palettes): List palettes - [GET /api/playlists/items](https://octri-7q2a5geusnzn.octri.dev/get-api-playlists-items): List my playlist items - [PATCH /api/playlists/items/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-playlists-items-id): Update a playlist item - [DELETE /api/playlists/items/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-playlists-items-id): Remove a playlist item - [POST /api/playlists/items/{id}/duplicates](https://octri-7q2a5geusnzn.octri.dev/post-api-playlists-items-id-duplicates): Duplicate a playlist item - [GET /api/playlists/items/{item_id}/preview](https://octri-7q2a5geusnzn.octri.dev/get-api-playlists-items-item_id-preview): Get the current rendered playlist image - [GET /api/playlists/items/{item_id}/schedule](https://octri-7q2a5geusnzn.octri.dev/get-api-playlists-items-item_id-schedule): Read a playlist item's display schedule - [PUT /api/playlists/items/{item_id}/schedule](https://octri-7q2a5geusnzn.octri.dev/put-api-playlists-items-item_id-schedule): Replace a playlist item's display schedule - [GET /api/plugin_connection_attempts/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_connection_attempts-id): Get a provider authorization attempt - [DELETE /api/plugin_connection_attempts/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_connection_attempts-id): Cancel a provider authorization attempt - [POST /api/plugin_connection_attempts/{id}/confirmation](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_connection_attempts-id-confirmation): Confirm a provider authorization attempt - [POST /api/plugin_installations](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_installations): Prepare a plugin installation - [GET /api/plugin_installations/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_installations-id): Get a retained installation - [DELETE /api/plugin_installations/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_installations-id): Cancel a pending plugin installation - [POST /api/plugin_installations/{plugin_installation_id}/completion](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_installations-plugin_installation_id-completion): Complete an installation - [GET /api/plugin_installations/{plugin_installation_id}/configuration](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_installations-plugin_installation_id-configuration): Get pending installation configuration - [PATCH /api/plugin_installations/{plugin_installation_id}/configuration](https://octri-7q2a5geusnzn.octri.dev/patch-api-plugin_installations-plugin_installation_id-configuration): Save pending installation configuration - [POST /api/plugin_installations/{plugin_installation_id}/configuration/choices/{resolver_id}](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_installations-plugin_installation_id-configuration-choices-resolver_id): Resolve pending installation configuration choices - [POST /api/plugin_installations/{plugin_installation_id}/configuration/evaluation](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_installations-plugin_installation_id-configuration-evaluation): Evaluate pending installation configuration - [DELETE /api/plugin_installations/{plugin_installation_id}/connections/{connection_id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_installations-plugin_installation_id-connections-connection_id): Disconnect a provider grant from a plugin installation - [POST /api/plugin_installations/{plugin_installation_id}/connections/{connection_id}/attempts](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_installations-plugin_installation_id-connections-connection_id-attempts): Start provider authorization for a plugin installation connection - [GET /api/plugin_settings](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings): List plugin settings - [POST /api/plugin_settings](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings): Create a plugin setting - [PATCH /api/plugin_settings/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-plugin_settings-id): Update a plugin setting - [DELETE /api/plugin_settings/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_settings-id): Delete a plugin setting - [GET /api/plugin_settings/{id}/archive](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-id-archive): Download a plugin setting archive - [POST /api/plugin_settings/{id}/archive](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-archive): Upload a plugin setting archive - [POST /api/plugin_settings/{id}/copies](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-copies): Copy a plugin setting - [DELETE /api/plugin_settings/{id}/credentials](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_settings-id-credentials): Forget the linked account and remove the plugin setting - [GET /api/plugin_settings/{id}/data](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-id-data): Get native plugin setting data - [POST /api/plugin_settings/{id}/data](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-data): Update webhook plugin setting data - [POST /api/plugin_settings/{id}/debug_logs](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-debug_logs): Turn on debug logs for a day - [GET /api/plugin_settings/{id}/details](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-id-details): Get plugin setting details - [PUT /api/plugin_settings/{id}/featured_image](https://octri-7q2a5geusnzn.octri.dev/put-api-plugin_settings-id-featured_image): Generate the marketplace preview image of a plugin setting - [DELETE /api/plugin_settings/{id}/featured_image](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_settings-id-featured_image): Remove the marketplace preview image of a plugin setting - [POST /api/plugin_settings/{id}/health_resets](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-health_resets): Reset the health of a plugin setting that stopped rendering - [POST /api/plugin_settings/{id}/image](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-image): Upload an image for a webhook_image plugin - [POST /api/plugin_settings/{id}/state_clears](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-id-state_clears): Clear the state a plugin setting has accumulated - [DELETE /api/plugin_settings/{id}/transform](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_settings-id-transform): Remove the transform script of a private plugin - [GET /api/plugin_settings/{plugin_setting_id}/configuration](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-configuration): Get plugin setting configuration - [PATCH /api/plugin_settings/{plugin_setting_id}/configuration](https://octri-7q2a5geusnzn.octri.dev/patch-api-plugin_settings-plugin_setting_id-configuration): Apply typed changes to plugin configuration - [POST /api/plugin_settings/{plugin_setting_id}/configuration/choices/{resolver_id}](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-plugin_setting_id-configuration-choices-resolver_id): Get plugin configuration choices - [POST /api/plugin_settings/{plugin_setting_id}/configuration/evaluation](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-plugin_setting_id-configuration-evaluation): Evaluate a plugin configuration draft - [POST /api/plugin_settings/{plugin_setting_id}/configuration/photo_selection](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-plugin_setting_id-configuration-photo_selection): Start a Google Photos selection - [PATCH /api/plugin_settings/{plugin_setting_id}/configuration/photo_selection](https://octri-7q2a5geusnzn.octri.dev/patch-api-plugin_settings-plugin_setting_id-configuration-photo_selection): Confirm a Google Photos selection - [DELETE /api/plugin_settings/{plugin_setting_id}/connections/{connection_id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-plugin_settings-plugin_setting_id-connections-connection_id): Disconnect a provider grant from a plugin setting - [POST /api/plugin_settings/{plugin_setting_id}/connections/{connection_id}/attempts](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-plugin_setting_id-connections-connection_id-attempts): Start provider authorization for a plugin setting connection - [GET /api/plugin_settings/{plugin_setting_id}/files](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-files): Read the files of a private plugin - [PUT /api/plugin_settings/{plugin_setting_id}/files](https://octri-7q2a5geusnzn.octri.dev/put-api-plugin_settings-plugin_setting_id-files): Replace files for a private plugin - [GET /api/plugin_settings/{plugin_setting_id}/logs](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-logs): Get plugin setting health and recent logs - [GET /api/plugin_settings/{plugin_setting_id}/markup/{size}](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-markup-size): Read markup for a plugin setting size - [PUT /api/plugin_settings/{plugin_setting_id}/markup/{size}](https://octri-7q2a5geusnzn.octri.dev/put-api-plugin_settings-plugin_setting_id-markup-size): Replace markup for a plugin setting - [GET /api/plugin_settings/{plugin_setting_id}/merge_variables](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-merge_variables): Get merge variables for a plugin setting - [POST /api/plugin_settings/{plugin_setting_id}/refreshes](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-plugin_setting_id-refreshes): Refresh a plugin instance - [GET /api/plugin_settings/{plugin_setting_id}/refreshes/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-refreshes-id): Get the result of a plugin setting refresh - [GET /api/plugin_settings/{plugin_setting_id}/removal_preview](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-removal_preview): Preview plugin setting removal - [POST /api/plugin_settings/{plugin_setting_id}/screenshots](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-plugin_setting_id-screenshots): Start a plugin setting preview render - [GET /api/plugin_settings/{plugin_setting_id}/screenshots/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-screenshots-id): Get the result of a plugin setting preview render - [PATCH /api/plugin_settings/{plugin_setting_id}/settings](https://octri-7q2a5geusnzn.octri.dev/patch-api-plugin_settings-plugin_setting_id-settings): Update plugin setting fields - [GET /api/plugin_settings/{plugin_setting_id}/timeline](https://octri-7q2a5geusnzn.octri.dev/get-api-plugin_settings-plugin_setting_id-timeline): Read a plugin setting timeline - [POST /api/plugin_settings/custom_fields/verifications](https://octri-7q2a5geusnzn.octri.dev/post-api-plugin_settings-custom_fields-verifications): Check the custom fields YAML of a recipe - [GET /api/plugins](https://octri-7q2a5geusnzn.octri.dev/get-api-plugins): List plugins available to install - [GET /api/plugins/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-plugins-id): Read a plugin and its form fields - [GET /api/recipes](https://octri-7q2a5geusnzn.octri.dev/get-api-recipes): Search published recipes - [GET /api/recipes/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-recipes-id): Read a recipe and how it installs - [POST /api/recipes/{id}/installs](https://octri-7q2a5geusnzn.octri.dev/post-api-recipes-id-installs): Install a recipe - [GET /api/recipes/{id}/markup](https://octri-7q2a5geusnzn.octri.dev/get-api-recipes-id-markup): Read the markup of a recipe - [GET /api/search_insights](https://octri-7q2a5geusnzn.octri.dev/get-api-search_insights): Read what users search for and find nothing - [GET /api/setup](https://octri-7q2a5geusnzn.octri.dev/get-api-setup): Set up device - [GET /api/user_themes](https://octri-7q2a5geusnzn.octri.dev/get-api-user_themes): List my themes - [POST /api/user_themes](https://octri-7q2a5geusnzn.octri.dev/post-api-user_themes): Create a theme - [GET /api/user_themes/{id}](https://octri-7q2a5geusnzn.octri.dev/get-api-user_themes-id): Read a theme - [PATCH /api/user_themes/{id}](https://octri-7q2a5geusnzn.octri.dev/patch-api-user_themes-id): Update a user theme - [DELETE /api/user_themes/{id}](https://octri-7q2a5geusnzn.octri.dev/delete-api-user_themes-id): Delete a theme - [POST /api/user_themes/imports](https://octri-7q2a5geusnzn.octri.dev/post-api-user_themes-imports): Create a theme from a shared theme snippet ## Optional - [Changelog](https://octri-7q2a5geusnzn.octri.dev/changelog): API version history and breaking changes