Skip to main content

Installation

Install the gem on your host application so Decidim keeps owning domain logic; this module only adds the HTTP API surface described in the overview.

Decidim compatibility

DecidimSupported
0.32yes (first-class; OpenAPI contract)
0.31no
0.30no
0.29yes (CI via Appraisals)
0.28 and olderno

Install

Add the metagem to your host app Gemfile:

gem "decidim-restfull", "~> 0.3"

Then:

bundle install
bundle add deface
bundle exec rails decidim_rest_full:install:migrations
bundle exec rails db:migrate
bundle exec rails deface:precompile

Host app extensions

Tenant-specific routes (chatbot bridges, legacy paths, one-deployment APIs) can register on the RestFull mount from the host app via Extension.register — no feature gem required. See Host app extensions.

Environment variables

NameDescriptionDefault
DECIDIM_REST_QUEUE_NAMEActive Job queue namedefault
DECIDIM_REST_LOADBALANCER_IPSCSV of load balancer IPs for safe host handling. See Safe host update.127.0.0.1, ::1
DECIDIM_REST_MAX_ASYNC_API_JOB_PAYLOAD_BYTESCap async job JSON payload sizeunset (no limit)
DECIDIM_REST_MAX_EXTENDED_DATA_PAYLOAD_BYTESCap sync extended_data stored JSON size; falls back to the async cap when unsetunset (no limit)
DOCS_URLSets Decidim::RestFull.config.docs_url (links baked into OpenAPI)Default from configuration.rb when unset

For capacity planning (Puma, Redis, Sidekiq, k6, client patterns), see Production mode.