title: Room creating fail when using Ejabberd REST API
body: <p>When I try to create a MUC room <em>(as described in the official <a href="https://docs.ejabberd.im/developer/ejabberd-api/admin-api/#create-room" rel="nofollow noreferrer">docs</a>)</em> using <a href="https://www.postman.com" rel="nofollow noreferrer">Postman</a> with the following call:</p>
  <pre><code>POST /api/create_room
      {
        &quot;name&quot;: &quot;testRoom&quot;,
        &quot;service&quot;: &quot;conference.xmpp.localhost&quot;,
        &quot;host&quot;: &quot;xmpp.localhost&quot;
      }
  </code></pre>
  <p>The server returns <code>0</code>, but when calling for the second time it returns <code>1</code>.</p>
  <p>The token used has all the scopes and when I call other methods the call succeeds.</p>
  <blockquote>
  <p><strong>mod_muc_admin</strong> module is enabled.</p>
  </blockquote>
  <p><strong>EDIT 25 Jul 2020</strong></p>
  <p>The configuration i'm using is as follow:</p>
  <pre><code>###
  ###              ejabberd configuration file
  ###
  ### The parameters used in this configuration file are explained at
  ###
  ###       https://docs.ejabberd.im/admin/configuration
  ###
  ### The configuration file is written in YAML.
  ### *******************************************************
  ### *******           !!! WARNING !!!               *******
  ### *******     YAML IS INDENTATION SENSITIVE       *******
  ### ******* MAKE SURE YOU INDENT SECTIONS CORRECTLY *******
  ### *******************************************************
  ### Refer to http://en.wikipedia.org/wiki/YAML for the brief description.
  ###
  
  hosts:
    - localhost
    - xmpp.localhost
    - conference.xmpp.localhost
  
  loglevel: 5
  log_rotate_size: 10485760
  log_rotate_date: &quot;&quot;
  log_rotate_count: 1
  log_rate_limit: 100
  
  certfiles:
    - /home/ejabberd/conf/server.pem
  
  ca_file: &quot;/home/ejabberd/conf/cacert.pem&quot;
  
  listen:
    -
      port: 5222
      ip: &quot;::&quot;
      module: ejabberd_c2s
      max_stanza_size: 262144
      shaper: c2s_shaper
      access: c2s
      starttls_required: true
    -
      port: 5269
      ip: &quot;::&quot;
      module: ejabberd_s2s_in
      max_stanza_size: 524288
    -
      port: 5443
      ip: &quot;::&quot;
      module: ejabberd_http
      tls: true
      request_handlers:
        &quot;/admin&quot;: ejabberd_web_admin
        &quot;/api&quot;: mod_http_api
        &quot;/bosh&quot;: mod_bosh
        &quot;/captcha&quot;: ejabberd_captcha
        &quot;/upload&quot;: mod_http_upload
        &quot;/ws&quot;: ejabberd_http_ws
        &quot;/oauth&quot;: ejabberd_oauth
    -
      port: 5280
      ip: &quot;::&quot;
      module: ejabberd_http
      request_handlers:
        &quot;/admin&quot;: ejabberd_web_admin
    -
      port: 1883
      ip: &quot;::&quot;
      module: mod_mqtt
      backlog: 1000
  
  s2s_use_starttls: optional
  
  acl:
    local:
      user_regexp: &quot;&quot;
    loopback:
      ip:
        - 127.0.0.0/8
        - ::1/128
        - ::FFFF:127.0.0.1/128
    admin:
      user:
        - &quot;admin@localhost&quot;
        - &quot;admin@xmpp.localhost&quot;
  
  access_rules:
    local:
      allow: local
    c2s:
      deny: blocked
      allow: all
    announce:
      allow: admin
    configure:
      allow: admin
    muc_create:
      allow: local
    pubsub_createnode:
      allow: local
    trusted_network:
      allow: loopback
  
  api_permissions:
    &quot;console commands&quot;:
      from:
        - ejabberd_ctl
      who: all
      what: &quot;*&quot;
    &quot;admin access&quot;:
      who:
        access:
          allow:
            acl: loopback
            acl: admin
        oauth:
          scope: &quot;ejabberd:admin&quot;
          access:
            allow:
              acl: admin
      what:
        - &quot;*&quot;
        - &quot;!stop&quot;
        - &quot;!start&quot;
    &quot;public commands&quot;:
      who:
        ip: 127.0.0.1/8
      what:
        - status
        - connected_users_number
  
  shaper:
    normal: 1000
    fast: 50000
  
  shaper_rules:
    max_user_sessions: 10
    max_user_offline_messages:
      5000: admin
      100: all
    c2s_shaper:
      none: admin
      normal: all
    s2s_shaper: fast
  
  max_fsm_queue: 10000
  
  acme:
     contact: &quot;mailto:example-admin@example.com&quot;
     ca_url: &quot;https://acme-v01.api.letsencrypt.org&quot;
  
  sql_type: pgsql
  sql_server: &quot;postgres&quot;
  sql_database: &quot;ejabberd&quot;
  sql_username: &quot;ejabberd&quot;
  sql_password: &quot;*************&quot;
  
  auth_method: sql
  auth_password_format: scram
  default_db: sql
  
  commands_admin_access: configure
  commands:
    - add_commands:
      - user
  oauth_expire: 3600
  oauth_access: all
  
  modules:
    mod_adhoc: {}
    mod_admin_extra: {}
    mod_announce:
      access: announce
    mod_avatar: {}
    mod_blocking: {}
    mod_bosh: {}
    mod_caps: {}
    mod_carboncopy: {}
    mod_client_state: {}
    mod_configure: {}
    mod_disco: {}
    mod_fail2ban: {}
    mod_http_api: {}
    mod_http_upload:
      put_url: https://@HOST@:5443/upload
    mod_last: {}
    mod_mam:
      compress_xml: true
      db_type: sql
      assume_mam_usage: true
      default: always
    mod_mqtt: {}
    mod_muc:
      access:
        - allow
      access_admin:
        - allow: admin
      access_create: muc_create
      access_persistent: muc_create
      access_mam:
        - allow
      default_room_options:
        allow_subscription: true  # enable MucSub
        allow_private_messages: false
        allow_user_invites: true
        mam: true
        persistent: true
    mod_muc_admin: {}
    mod_offline:
      access_max_user_messages: max_user_offline_messages
    mod_ping: {}
    mod_privacy: {}
    mod_private: {}
    mod_proxy65:
      access: local
      max_connections: 5
    mod_pubsub:
      access_createnode: pubsub_createnode
      plugins:
        - flat
        - pep
      force_node_config:
        ## Avoid buggy clients to make their bookmarks public
        storage:bookmarks:
          access_model: whitelist
    mod_push: {}
    mod_push_keepalive: {}
    mod_register:
      ## Only accept registration requests from the &quot;trusted&quot;
      ## network (see access_rules section above).
      ## Think twice before enabling registration from any
      ## address. See the Jabber SPAM Manifesto for details:
      ## https://github.com/ge0rg/jabber-spam-fighting-manifesto
      ip_access: trusted_network
    mod_roster:
      versioning: true
    mod_sip: {}
    mod_s2s_dialback: {}
    mod_shared_roster: {}
    mod_stream_mgmt:
      resend_on_timeout: if_offline
    mod_vcard: {}
    mod_vcard_xupdate: {}
    mod_version:
      show_os: false
  
  ### Local Variables:
  ### mode: yaml
  ### End:
  ### vim: set filetype=yaml tabstop=8
  </code></pre>