J4.x

Joomla Core APIs

From Joomla! Documentation

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano
Joomla! 
4.0

This page lists the endpoints available in Joomla by example of curl commands.

Every URL requires authentication unless designated a public URL. For security in Joomla 4.0.0 we plan to make the default API Application require a Super User account (as the API Application is brand new), this may get relaxed as the API stabilizes and is well tested in the community.

If you are using the basic authentication plugin ("API Authentication - Web Services Basic Auth") it requires the addition to the curl commands below using --user user_name:password.

If you want to use the more secure token authentication (Bearer authentication) with activated plugins "API Authentication - Web Services Joomla Token" and "User - Joomla API Token" see the opener post on GitHub for examples how to add it to your curl commands.

Every URL needs to be prepended with the Joomla host before the path (e.g. instead of /api/index.php/v1/article you need https://example.com/api/index.php/v1/article)

Any names of properties in curly brackets ({}) indicate the property is a variable that should be substituted.

Unless otherwise noted these APIs were introduced in Joomla 4. For more information on the Joomla API Specification (as opposed to this list of URLs and options) please visit the Joomla API Specification.

Where end points require the value of {app} the variable currently takes two values, site (Frontend), or Administrator (Backend).

Useful Resources[edit]

A number of complimentary resources have been created to introduce Joomla Web services and assist you with learning how to implement Web services on your project.

Banners[edit]

Banners[edit]

Get List of Banners[edit]

curl -X GET /api/index.php/v1/banners

Get Single Banner[edit]

curl -X GET /api/index.php/v1/banners/{banner_id}

Delete Banner[edit]

curl -X DELETE /api/index.php/v1/banners/{banner_id}

Create Banner[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/banners -d

{
    "catid": 3,
    "clicks": 0,
    "custombannercode": "",
    "description": "Text",
    "metakey": "",
    "name": "Name",
    "params": {
        "alt": "",
        "height": "",
        "imageurl": "",
        "width": ""
    }
}

Update Banner[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/banners/{banner_id} -d

{
    "alias": "name",
    "catid": 3,
    "description": "New Text",
    "name": "New Name"
}

Clients[edit]

Get List of Clients[edit]

curl -X GET /api/index.php/v1/banners/clients

Get Single Client[edit]

curl -X GET /api/index.php/v1/banners/clients/{client_id}

Delete Client[edit]

curl -X DELETE /api/index.php/v1/banners/clients/{client_id}

Create Client[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/banners/clients -d

{
    "contact": "Name",
    "email": "email@mail.com",
    "extrainfo": "",
    "metakey": "",
    "name": "Clients",
    "state": 1
}

Update Client[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/banners/clients/{client_id} -d

{
    "contact": "new Name",
    "email": "newemail@mail.com",
    "name": "Clients"
}

Categories[edit]

Get List of Categories[edit]

curl -X GET /api/index.php/v1/banners/categories

Get Single Category[edit]

curl -X GET /api/index.php/v1/banners/categories/{category_id}

Delete Category[edit]

curl -X DELETE /api/index.php/v1/banners/categories/{category_id}

Create Category[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/banners/categories -d

{
    "access": 1,
    "alias": "cat",
    "extension": "com_banners",
    "language": "*",
    "note": "",
    "parent_id": 1,
    "published": 1,
    "title": "Title"
}

Update Category[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/banners/categories/{category_id} -d

{
    "alias": "cat",
    "note": "Some Text",
    "parent_id": 1,
    "title": "New Title"
}

Content History[edit]

Get List of Content Histories[edit]

curl -X GET /api/index.php/v1/banners/contenthistory/{banner_id}

Toggle Keep Content History[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/banners/contenthistory/keep/{contenthistory_id}

Delete Content History[edit]

curl -X DELETE /api/index.php/v1/banners/contenthistory/{contenthistory_id}

Config[edit]

Application[edit]

Get List of Application Configs[edit]

curl -X GET /api/index.php/v1/config/application

Update Application Config[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/config/application -d

{
    "debug": true,
    "sitename": "123"
}

Component[edit]

Get List of Component Configs[edit]

curl -X GET /api/index.php/v1/config/{component_name}

Example “component_name” is “com_content”.

Update Application Config[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/config/application -d

{
    "link_titles": 1
}

Contact[edit]

Contact[edit]

Get List of Contacts[edit]

curl -X GET /api/index.php/v1/contacts

Get Single Contact[edit]

curl -X GET /api/index.php/v1/contacts/{contact_id}

Delete Contact[edit]

curl -X DELETE /api/index.php/v1/contacts/{contact_id}

Create Contact[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/contacts -d

{
    "alias": "contact",
    "catid": 4,
    "language": "*",
    "name": "Contact"
}

Update Contact[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/contacts/{contact_id} -d

{
    "alias": "contact",
    "catid": 4,
    "name": "New Contact"
}

Submit Contact Form[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/contacts/form/{contact_id} -d

{
    "contact_email": "email@mail.com",
    "contact_message": "some text",
    "contact_name": "name",
    "contact_subject": "subject"
}

Categories[edit]

  1. Route Contact Categories is: "v1/contacts/categories"
  2. Working with it is similar to Banners Categories.

Fields Contact[edit]

Get List of Fields Contact[edit]

curl -X GET /api/index.php/v1/fields/contacts/contact

Get Single Field Contact[edit]

curl -X GET /api/index.php/v1/fields/contacts/contact/{field_id}

Delete Field Contact[edit]

curl -X DELETE /api/index.php/v1/fields/contacts/contact/{field_id}

Create Field Contact[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/fields/contacts/contact -d

{
    "access": 1,
    "context": "com_contact.contact",
    "default_value": "",
    "description": "",
    "group_id": 0,
    "label": "contact field",
    "language": "*",
    "name": "contact-field",
    "note": "",
    "params": {
        "class": "",
        "display": "2",
        "display_readonly": "2",
        "hint": "",
        "label_class": "",
        "label_render_class": "",
        "layout": "",
        "prefix": "",
        "render_class": "",
        "show_on": "",
        "showlabel": "1",
        "suffix": ""
    },
    "required": 0,
    "state": 1,
    "title": "contact field",
    "type": "text"
}

Update Field Contact[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/fields/contacts/contact/{field_id} -d

{
    "title": "new contact field",
    "name": "contact-field",
    "label": "contact field",
    "default_value": "",
    "type": "text",
    "note": "",
    "description": "Some New Text"
}

Fields Contact Mail[edit]

  1. Route Fields Contact Mail is: "v1/fields/contacts/mail"
  2. Working with it is similar to Fields Contact.

Fields Contact Categories[edit]

  1. Route Fields Contact Categories is: "v1/fields/contacts/categories"
  2. Working with it is similar to Fields Contact.

Groups Fields Contact[edit]

Get List of Groups Fields Contact[edit]

curl -X GET /api/index.php/v1/fields/groups/contacts/contact

Get Single Group Fields Contact[edit]

curl -X GET /api/index.php/v1/fields/groups/contacts/contact/{group_id}

Delete Group Fields Contact[edit]

curl -X DELETE /api/index.php/v1/fields/groups/contacts/contact/{group_id}

Create Group Fields Contact[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/fields/groups/contacts/contact -d

{
    "access": 1,
    "context": "com_contact.contact",
    "default_value": "",
    "description": "",
    "group_id": 0,
    "label": "contact field",
    "language": "*",
    "name": "contact-field3",
    "note": "",
    "params": {
        "class": "",
        "display": "2",
        "display_readonly": "2",
        "hint": "",
        "label_class": "",
        "label_render_class": "",
        "layout": "",
        "prefix": "",
        "render_class": "",
        "show_on": "",
        "showlabel": "1",
        "suffix": ""
    },
    "required": 0,
    "state": 1,
    "title": "contact field",
    "type": "text"
}

Update Group Fields Contact[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/fields/groups/contacts/contact/{group_id} -d

{
    "title": "new contact group",
    "note": "",
    "description": "new description"
}

Group Fields Contact Mail[edit]

  1. Route Group Fields Contact Mail is: "v1/fields/groups/contacts/mail"
  2. Working with it is similar to Group Fields Contact.

Group Fields Contact Categories[edit]

  1. Route Group Fields Contact Categories is: "v1/fields/groups/contacts/categories"
  2. Working with it is similar to Group Fields Contact.

Content History[edit]

  1. Route Content History is: "v1/contacts/{groupid}/contenthistory"
  2. Working with it is similar to Banners Content History.

Content[edit]

Articles[edit]

Get List of Articles[edit]

curl -X GET /api/index.php/v1/content/articles

Get Single Article[edit]

curl -X GET /api/index.php/v1/content/articles/{article_id}

Delete Article[edit]

curl -X DELETE /api/index.php/v1/content/articles/{article_id}

Create Article[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/content/articles -d

{
    "alias": "my-article",
    "articletext": "My text",
    "catid": 64,
    "language": "*",
    "metadesc": "",
    "metakey": "",
    "title": "Here's an article"
}

Currently the options mentioned here are required properties. However the intention is currently to make at least metakey and metadesc optional in the API.

Update Article[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/content/articles/{article_id} -d

{
    "catid": 64,
    "title": "Updated article"
}

Categories[edit]

  1. Route Content Categories is: "v1/content/categories"
  2. Working with it is similar to Banners Categories, note if workflows is enabled then specifying a workflow is required (similarly to the UI).


Fields Articles[edit]

  1. Route Fields Articles is: "v1/fields/content/articles"
  2. Working with it is similar to Fields Contact.

Groups Fields Articles[edit]

  1. Route Groups Fields Articles is: "v1/fields/groups/content/articles"
  2. Working with it is similar to Groups Fields Contact.

Fields Categories[edit]

  1. Route Fields Categories is: "v1/fields/groups/content/categories"
  2. Working with it is similar to Fields Contact.

Content History[edit]

  1. Route Content History is: "v1/content/articles/{article_id}/contenthistory"
  2. Working with it is similar to Banners Content History.

Languages[edit]

Languages[edit]

Get List of Languages[edit]

curl -X GET /api/index.php/v1/languages

Install Language[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/languages -d

{
    "package": "pkg_fr-FR"
}

Content Languages[edit]

Get List of Content Languages[edit]

curl -X GET /api/index.php/v1/languages/content

Get Single Content Language[edit]

curl -X GET /api/index.php/v1/v1/languages/content/{language_id}

Delete Content Language[edit]

curl -X DELETE /api/index.php/v1/languages/content/{language_id}

Create Content Language[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/languages/content -d

{
    "access": 1,
    "description": "",
    "image": "fr_FR",
    "lang_code": "fr-FR",
    "metadesc": "",
    "metakey": "",
    "ordering": 1,
    "published": 0,
    "sef": "fk",
    "sitename": "",
    "title": "French (FR)",
    "title_native": "Français (France)"
}

Update Content Language[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/languages/content/{language_id} -d

{
    "description": "",
    "lang_code": "en-GB",
    "metadesc": "",
    "metakey": "",
    "sitename": "",
    "title": "English (en-GB)",
    "title_native": "English (United Kingdom)"
}

Overrides Languages[edit]

Get List of Overrides Languages Constants[edit]

curl -X GET /api/index.php/v1/languages/overrides/{app}/{lang_code}

Get Single Override Language Constant[edit]

curl -X GET /api/index.php/v1/languages/overrides/{app}/{lang_code}/{constant_id}

Delete Content Language[edit]

curl -X DELETE /api/index.php/v1/languages/overrides/{app}/{lang_code}/{constant_id}

Create Content Language[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/languages/overrides/{app}/{lang_code} -d

{
    "key":"new_key",
    "override": "text"
}

Update Content Language[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/languages/overrides/{app}/{lang_code}/{constant_id} -d

{
    "key":"new_key",
    "override": "new text"
}

var app - enum {"site", "administrator"}

var lang_code - string Example: “fr-FR“, “en-GB“ you can get lang_code from v1/languages/content

Search Override Constant[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/languages/overrides/search -d

{
    "searchstring": "JLIB_APPLICATION_ERROR_SAVE_FAILED",
    "searchtype": "constant"
}

var searchtype - enum {“constant”, “value”}. “constant” search by constant name, “value” - search by constant value

Refresh Override Search Cache[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/languages/overrides/search/cache/refresh

Menus[edit]

Menus[edit]

Get List of Menus[edit]

curl -X GET /api/index.php/v1/menus/{app}

Get Single Menu[edit]

curl -X GET /api/index.php/v1/menus/{app}/{menu_id}

Delete Menu[edit]

curl -X DELETE /api/index.php/v1/menus/{app}/{menu_id}

Create Menu[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/menus/{app} -d

{
    "client_id": 0,
    "description": "The menu for the site",
    "menutype": "menu",
    "title": "Menu"
}

Update Menu[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/menus/{app}/{menu_id} -d

{
    "menutype": "menu",
    "title": "New Menu"
}

Menus Items[edit]

Get List of Menus Items Types[edit]

curl -X GET /api/index.php/v1/menus/{app}/items/types

Get List of Menus Items[edit]

curl -X GET /api/index.php/v1/menus/{app}/items

Get Single Menu Item[edit]

curl -X GET /api/index.php/v1/menus/{app}/items/{menu_item_id}

Delete Menu Item[edit]

curl -X DELETE /api/index.php/v1/menus/{app}/items/{menu_item_id}

Create Menu Item[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/menus/{app}/items -d

{
    "access": "1",
    "alias": "",
    "associations": {
        "en-GB": "",
        "fr-FR": ""
    },
    "browserNav": "0",
    "component_id": "20",
    "home": "0",
    "language": "*",
    "link": "index.php?option=com_content&view=form&layout=edit",
    "menutype": "mainmenu",
    "note": "",
    "params": {
        "cancel_redirect_menuitem": "",
        "catid": "",
        "custom_cancel_redirect": "0",
        "enable_category": "0",
        "menu-anchor_css": "",
        "menu-anchor_title": "",
        "menu-meta_description": "",
        "menu-meta_keywords": "",
        "menu_image": "",
        "menu_image_css": "",
        "menu_show": "1",
        "menu_text": "1",
        "page_heading": "",
        "page_title": "",
        "pageclass_sfx": "",
        "redirect_menuitem": "",
        "robots": "",
        "show_page_heading": ""
    },
    "parent_id": "1",
    "publish_down": "",
    "publish_up": "",
    "published": "1",
    "template_style_id": "0",
    "title": "title",
    "toggle_modules_assigned": "1",
    "toggle_modules_published": "1",
    "type": "component"
}

Example for "Create Article Page"

Update Menu Item[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/menus/{app}/items/{menu_item_id} -d

{
    "component_id": "20",
    "language": "*",
    "link": "index.php?option=com_content&view=form&layout=edit",
    "menutype": "mainmenu",
    "note": "",
    "title": "new title",
    "type": "component"
}

Example for "Create Article Page"

Messages[edit]

Messages[edit]

Get List of Messages[edit]

curl -X GET /api/index.php/v1/messages

Get Single Message[edit]

curl -X GET /api/index.php/v1/messages/{message_id}

Delete Message[edit]

curl -X DELETE /api/index.php/v1/messages/{message_id}

Create Message[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/messages -d

{
    "message": "<p>text</p>",
    "state": 0,
    "subject": "text",
    "user_id_from": 773,
    "user_id_to": 772
}

Update Message[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/messages/{message_id} -d

{
    "message": "<p>new text</p>",
    "subject": "new text",
    "user_id_from": 773,
    "user_id_to": 772
}

Modules[edit]

Modules[edit]

Get List of Modules Types[edit]

curl -X GET /api/index.php/v1/modules/types/{app}

Get List of Modules[edit]

curl -X GET /api/index.php/v1/modules/{app}

Get Single Module[edit]

curl -X GET /api/index.php/v1/modules/{app}/{module_id}

Delete Module[edit]

curl -X DELETE /api/index.php/v1/modules/{app}/{module_id}

Create Module[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/modules/{app} -d

{
    "access": "1",
    "assigned": [
        "101",
        "105"
    ],
    "assignment": "0",
    "client_id": "0",
    "language": "*",
    "module": "mod_articles_archive",
    "note": "",
    "ordering": "1",
    "params": {
        "bootstrap_size": "0",
        "cache": "1",
        "cache_time": "900",
        "cachemode": "static",
        "count": "10",
        "header_class": "",
        "header_tag": "h3",
        "layout": "_:default",
        "module_tag": "div",
        "moduleclass_sfx": "",
        "style": "0"
    },
    "position": "",
    "publish_down": "",
    "publish_up": "",
    "published": "1",
    "showtitle": "1",
    "title": "Title"
}

Example for "Articles - Archived"

Update Module[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/modules/{app}/{module_id} -d

{
    "access": "1",
    "client_id": "0",
    "language": "*",
    "module": "mod_articles_archive",
    "note": "",
    "ordering": "1",
    "title": "New Title"
}

Example for "Articles - Archived"

Newsfeeds[edit]

Feeds[edit]

Get List of Feeds[edit]

curl -X GET /api/index.php/v1/newsfeeds/feeds

Get Single Feed[edit]

curl -X GET /api/index.php/v1/newsfeeds/feeds/{feed_id}

Delete Feed[edit]

curl -X DELETE /api/index.php/v1/newsfeeds/feeds/{feed_id}

Create Feed[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/newsfeeds/feeds -d

{
    "access": 1,
    "alias": "alias",
    "catid": 5,
    "description": "",
    "images": {
        "float_first": "",
        "float_second": "",
        "image_first": "",
        "image_first_alt": "",
        "image_first_caption": "",
        "image_second": "",
        "image_second_alt": "",
        "image_second_caption": ""
    },
    "language": "*",
    "link": "https://github.com/joomla-projects/gsoc19_webservices",
    "metadata": {
        "hits": "",
        "rights": "",
        "robots": "",
        "tags": {
            "tags": "",
            "typeAlias": null
        }
    },
    "metadesc": "",
    "metakey": "",
    "name": "Name",
    "ordering": 1,
    "params": {
        "feed_character_count": "",
        "feed_display_order": "",
        "newsfeed_layout": "",
        "show_feed_description": "",
        "show_feed_image": "",
        "show_item_description": ""
    },
    "published": 1
}

Update Feed[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/newsfeeds/feeds/{feed_id} -d

{
    "access": 1,
    "alias": "test2",
    "catid": 5,
    "description": "",
    "link": "https://github.com/joomla-projects/gsoc19_webservices",
    "metadesc": "",
    "metakey": "",
    "name": "Test"
}

Categories[edit]

  1. Route Newsfeeds Categories is: "v1/newsfeeds/categories"
  2. Working with it is similar to Banners Categories.

Privacy[edit]

Request[edit]

Get List of Requests[edit]

curl -X GET /api/index.php/v1/privacy/requests

Get Single Request[edit]

curl -X GET /api/index.php/v1/privacy/requests/{request_id}

Get Single Request Export Data[edit]

curl -X GET /api/index.php/v1/privacy/request/export/{request_id}

Create Request[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/privacy/requests -d

{
    "email":"somenewemail@com.ua",
    "request_type":"export"
}

Consent[edit]

Get List of Consents[edit]

curl -X GET /api/index.php/v1/privacy/consents

Get Single Consent[edit]

curl -X GET /api/index.php/v1/privacy/consents/{consent_id}

Redirect[edit]

Redirect[edit]

Get List of Redirects[edit]

curl -X GET /api/index.php/v1/redirect

Get Single Redirect[edit]

curl -X GET /api/index.php/v1/redirect/{redirect_id}

Delete Redirect[edit]

curl -X DELETE /api/index.php/v1/redirect/{redirect_id}

Create Redirect[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/redirect -d

{
    "comment": "",
    "header": 301,
    "hits": 0,
    "new_url": "/content/art/99",
    "old_url": "/content/art/12",
    "published": 1,
    "referer": ""
}

Update Redirect[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/redirect/{redirect_id} -d

{
    "new_url": "/content/art/4",
    "old_url": "/content/art/132"
}

Tags[edit]

Tags[edit]

Get List of Tags[edit]

curl -X GET /api/index.php/v1/tags

Get Single Tag[edit]

curl -X GET /api/index.php/v1/tags/{tag_id}

Delete Tag[edit]

curl -X DELETE /api/index.php/v1/tags/{tag_id}

Create Tag[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/tags -d

{
    "access": 1,
    "access_title": "Public",
    "alias": "test",
    "description": "",
    "language": "*",
    "note": "",
    "parent_id": 1,
    "path": "test",
    "published": 1,
    "title": "test"
}

Update Tag[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/tags/{tag_id} -d

{
    "alias": "test",
    "title": "new title"
}

Templates[edit]

Templates Styles[edit]

Get List of Templates Styles[edit]

curl -X GET /api/index.php/v1/templates/styles/{app}

Get Single Template Style[edit]

curl -X GET /api/index.php/v1/templates/styles/{app}/{template_style_id}

Delete Template Style[edit]

curl -X DELETE /api/index.php/v1/templates/styles/{app}/{template_style_id}

Create Template Style[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/templates/styles/{app} -d

{
    "home": "0",
    "params": {
        "fluidContainer": "0",
        "logoFile": "",
        "sidebarLeftWidth": "3",
        "sidebarRightWidth": "3"
    },
    "template": "cassiopeia",
    "title": "cassiopeia - Some Text"
}

Update Template Style[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/templates/styles/{app}/{template_style_id} -d

{
	"template": "cassiopeia",
	"title": "new cassiopeia - Default"
}

Users[edit]

Users[edit]

Get List of Users[edit]

curl -X GET /api/index.php/v1/users

Get Single User[edit]

curl -X GET /api/index.php/v1/users/{user_id}

Delete User[edit]

curl -X DELETE /api/index.php/v1/users/{user_id}

Create User[edit]

curl -X POST -H "Content-Type: application/json" /api/index.php/v1/users -d

{
    "block": "0",
    "email": "test@mail.com",
    "groups": [
        "2"
    ],
    "id": "0",
    "lastResetTime": "",
    "lastvisitDate": "",
    "name": "nnn",
    "params": {
        "admin_language": "",
        "admin_style": "",
        "editor": "",
        "helpsite": "",
        "language": "",
        "timezone": ""
    },
    "password": "qwertyqwerty123",
    "password2": "qwertyqwerty123",
    "registerDate": "",
    "requireReset": "0",
    "resetCount": "0",
    "sendEmail": "0",
    "username": "ad"
}

Update User[edit]

curl -X PATCH -H "Content-Type: application/json" /api/index.php/v1/users/{user_id} -d

{
    "email": "new@mail.com",
    "groups": [
        "2"
    ],
    "name": "name",
    "username": "username"
}

Fields Users[edit]

  1. Route Fields Users is: v1/fields/users
  2. Working with it is similar to Fields Contact.

Groups Fields Users[edit]

  1. Route Groups Fields Users is: v1/fields/groups/users
  2. Working with it is similar to Groups Fields Contact.