GET /api/users
列出所有使用者

GET /api/auth_source_ldaps/:auth_source_ldap_id/users
列出 LDAP 認證來源的所有使用者

GET /api/auth_source_externals/:auth_source_external_id/users
List all users for external authentication source

GET /api/usergroups/:usergroup_id/users
列出使用者群組中的所有使用者

GET /api/roles/:role_id/users
列出角色的所有使用者

GET /api/locations/:location_id/users
列出位置中的所有使用者

GET /api/organizations/:organization_id/users
列出組織中的所有使用者

示例

GET /api/users
200
{
  "total": 9,
  "subtotal": 0,
  "page": 1,
  "per_page": 20,
  "search": "login == foreman_admin",
  "sort": {
    "by": null,
    "order": null
  },
  "results": []
}

參數

參數名字 描述
auth_source_ldap_id
選填

LDAP 認證來源的 ID

Validations:

  • Must be a String

usergroup_id
選填

使用者群組 ID

Validations:

  • Must be a String

role_id
選填

角色 ID

Validations:

  • Must be a String

location_id
選填

位置範圍

Validations:

  • Must be a Integer

organization_id
選填

組織範圍

Validations:

  • Must be a Integer

search
選填

篩選結果

Validations:

  • Must be a String

order
選填

Sort field and order, eg. ‘id DESC’

Validations:

  • Must be a String

page
選填

頁數,從 1 開始

Validations:

  • Must be a number.

per_page
選填

每頁要傳回的結果數量

Validations:

  • Must be a number.

Search fields

Field name 類型 Possible values
admin true, false
description text
firstname string
last_login_on datetime
lastname string
location string
location_id integer
login string
mail string
organization string
organization_id integer
role string
role_id integer
usergroup string

GET /api/users/:id
顯示使用者

示例

GET /api/users/980190962
403
{
  "error": {
    "message": "Access denied",
    "details": "Missing one of the required permissions: view_users",
    "missing_permissions": [
      "view_users"
    ]
  }
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be a String


GET /api/current_user
Show the currently logged-in user

示例

GET /api/current_user
200
{
  "firstname": "One",
  "lastname": "User",
  "mail": "userone@someware.com",
  "admin": false,
  "auth_source_id": 980190962,
  "auth_source_name": "ldap-server",
  "timezone": null,
  "locale": null,
  "last_login_on": "2009-10-12 21:50:04 UTC",
  "created_at": "2019-11-07 08:36:55 UTC",
  "updated_at": "2019-11-07 08:36:55 UTC",
  "id": 980190962,
  "login": "one",
  "description": null,
  "ssh_keys": [],
  "default_location": null,
  "locations": [
    {
      "id": 255093256,
      "name": "Location 1",
      "title": "Location 1",
      "description": null
    }
  ],
  "default_organization": null,
  "organizations": [
    {
      "id": 447626438,
      "name": "Organization 1",
      "title": "Organization 1",
      "description": null
    }
  ],
  "effective_admin": false,
  "cached_usergroups": [],
  "auth_source_ldap": {
    "id": 980190962,
    "type": "AuthSourceLdap",
    "name": "ldap-server"
  },
  "mail_notifications": [],
  "roles": [
    {
      "name": "Viewer",
      "id": 5,
      "description": null,
      "origin": "foreman"
    }
  ],
  "usergroups": []
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer


POST /api/users
建立使用者

Adds role ‘Default role’ to the user by default

示例

POST /api/users
{
  "user": {
    "login": "odjNgdqKOI",
    "auth_source_id": 200482051,
    "password": "123456"
  }
}
201
{
  "firstname": null,
  "lastname": null,
  "mail": null,
  "admin": false,
  "auth_source_id": 200482051,
  "auth_source_name": "Internal",
  "timezone": null,
  "locale": null,
  "last_login_on": null,
  "created_at": "2019-11-07 08:37:05 UTC",
  "updated_at": "2019-11-07 08:37:05 UTC",
  "id": 988725684,
  "login": "odjNgdqKOI",
  "description": null,
  "ssh_keys": [],
  "default_location": null,
  "locations": [],
  "default_organization": null,
  "organizations": [],
  "effective_admin": false,
  "cached_usergroups": [],
  "auth_source_internal": {
    "id": 200482051,
    "type": "AuthSourceInternal",
    "name": "Internal"
  },
  "mail_notifications": [],
  "roles": [],
  "usergroups": []
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer

user
必填

Validations:

  • Must be a Hash

user[login]
必填

Validations:

  • Must be a String

user[firstname]
選填 , 允許空值

Validations:

  • Must be a String

user[lastname]
選填 , 允許空值

Validations:

  • Must be a String

user[mail]
必填

Validations:

  • Must be a String

user[description]
選填 , 允許空值

Validations:

  • Must be a String

user[admin]
選填 , 允許空值

是組管理員帳號

Validations:

  • Must be one of: true, false, 1, 0.

user[password]
選填 , 允許空值

Required unless user is in an external authentication source

Validations:

  • Must be a String

user[default_location_id]
選填 , 允許空值

Validations:

  • Must be a Integer

user[default_organization_id]
選填 , 允許空值

Validations:

  • Must be a Integer

user[auth_source_id]
必填

Validations:

  • Must be a Integer

user[timezone]
選填 , 允許空值

使用者的時區

Validations:

  • Must be one of: International Date Line West, American Samoa, Midway Island, Hawaii, Alaska, Pacific Time (US & Canada), Tijuana, Arizona, Chihuahua, Mazatlan, Mountain Time (US & Canada), Central America, Central Time (US & Canada), Guadalajara, Mexico City, Monterrey, Saskatchewan, Bogota, Eastern Time (US & Canada), Indiana (East), Lima, Quito, Atlantic Time (Canada), Caracas, Georgetown, La Paz, Puerto Rico, Santiago, Newfoundland, Brasilia, Buenos Aires, Greenland, Montevideo, Mid-Atlantic, Azores, Cape Verde Is., Casablanca, Dublin, Edinburgh, Lisbon, London, Monrovia, UTC, Amsterdam, Belgrade, Berlin, Bern, Bratislava, Brussels, Budapest, Copenhagen, Ljubljana, Madrid, Paris, Prague, Rome, Sarajevo, Skopje, Stockholm, Vienna, Warsaw, West Central Africa, Zagreb, Zurich, Athens, Bucharest, Cairo, Harare, Helsinki, Jerusalem, Kaliningrad, Kyiv, Pretoria, Riga, Sofia, Tallinn, Vilnius, Baghdad, Istanbul, Kuwait, Minsk, Moscow, Nairobi, Riyadh, St. Petersburg, Volgograd, Tehran, Abu Dhabi, Baku, Muscat, Samara, Tbilisi, Yerevan, Kabul, Ekaterinburg, Islamabad, Karachi, Tashkent, Chennai, Kolkata, Mumbai, New Delhi, Sri Jayawardenepura, Kathmandu, Almaty, Astana, Dhaka, Urumqi, Rangoon, Bangkok, Hanoi, Jakarta, Krasnoyarsk, Novosibirsk, Beijing, Chongqing, Hong Kong, Irkutsk, Kuala Lumpur, Perth, Singapore, Taipei, Ulaanbaatar, Osaka, Sapporo, Seoul, Tokyo, Yakutsk, Adelaide, Darwin, Brisbane, Canberra, Guam, Hobart, Melbourne, Port Moresby, Sydney, Vladivostok, Magadan, New Caledonia, Solomon Is., Srednekolymsk, Auckland, Fiji, Kamchatka, Marshall Is., Wellington, Chatham Is., Nuku'alofa, Samoa, Tokelau Is..

user[locale]
選填 , 允許空值

使用者偏好的位置

Validations:

  • Must be one of: ca, cs_CZ, de, en, en_GB, es, fr, gl, it, ja, ko, nl_NL, pl, pt_BR, ru, sv_SE, zh_CN, zh_TW.

user[role_ids]
選填 , 允許空值

Validations:

  • Must be an array of any type

user[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

user[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type


PUT /api/users/:id
更新使用者

Adds role ‘Default role’ to the user if it is not already present. Only another admin can change the admin account attribute.

示例

PUT /api/users/988725687
{
  "user": {
    "mail": "john@example.com",
    "auth_source_id": {
      "auth_source_internal": {
        "id": 200482051,
        "name": "Internal",
        "host": null,
        "port": null,
        "account": null,
        "account_password": null,
        "base_dn": null,
        "attr_login": null,
        "attr_firstname": null,
        "attr_lastname": null,
        "attr_mail": null,
        "onthefly_register": false,
        "tls": false,
        "created_at": "2019-11-07T08:36:55.274Z",
        "updated_at": "2019-11-07T08:36:55.274Z",
        "ldap_filter": null,
        "attr_photo": null,
        "server_type": "posix",
        "groups_base": null,
        "usergroup_sync": true,
        "use_netgroups": false
      }
    },
    "password": "123456"
  }
}
200
{
  "firstname": null,
  "lastname": null,
  "mail": "john@example.com",
  "admin": false,
  "auth_source_id": 980190962,
  "auth_source_name": "ldap-server",
  "timezone": null,
  "locale": null,
  "last_login_on": null,
  "created_at": "2019-11-07 08:37:05 UTC",
  "updated_at": "2019-11-07 08:37:05 UTC",
  "id": 988725687,
  "login": "foo",
  "description": null,
  "ssh_keys": [],
  "default_location": null,
  "locations": [],
  "default_organization": null,
  "organizations": [],
  "effective_admin": false,
  "cached_usergroups": [],
  "auth_source_ldap": {
    "id": 980190962,
    "type": "AuthSourceLdap",
    "name": "ldap-server"
  },
  "mail_notifications": [],
  "roles": [],
  "usergroups": []
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be a String

user
必填

Validations:

  • Must be a Hash

user[login]
選填

Validations:

  • Must be a String

user[firstname]
選填 , 允許空值

Validations:

  • Must be a String

user[lastname]
選填 , 允許空值

Validations:

  • Must be a String

user[mail]
選填

Validations:

  • Must be a String

user[description]
選填 , 允許空值

Validations:

  • Must be a String

user[admin]
選填 , 允許空值

是組管理員帳號

Validations:

  • Must be one of: true, false, 1, 0.

user[password]
選填 , 允許空值

Required unless user is in an external authentication source

Validations:

  • Must be a String

user[default_location_id]
選填 , 允許空值

Validations:

  • Must be a Integer

user[default_organization_id]
選填 , 允許空值

Validations:

  • Must be a Integer

user[auth_source_id]
選填

Validations:

  • Must be a Integer

user[timezone]
選填 , 允許空值

使用者的時區

Validations:

  • Must be one of: International Date Line West, American Samoa, Midway Island, Hawaii, Alaska, Pacific Time (US & Canada), Tijuana, Arizona, Chihuahua, Mazatlan, Mountain Time (US & Canada), Central America, Central Time (US & Canada), Guadalajara, Mexico City, Monterrey, Saskatchewan, Bogota, Eastern Time (US & Canada), Indiana (East), Lima, Quito, Atlantic Time (Canada), Caracas, Georgetown, La Paz, Puerto Rico, Santiago, Newfoundland, Brasilia, Buenos Aires, Greenland, Montevideo, Mid-Atlantic, Azores, Cape Verde Is., Casablanca, Dublin, Edinburgh, Lisbon, London, Monrovia, UTC, Amsterdam, Belgrade, Berlin, Bern, Bratislava, Brussels, Budapest, Copenhagen, Ljubljana, Madrid, Paris, Prague, Rome, Sarajevo, Skopje, Stockholm, Vienna, Warsaw, West Central Africa, Zagreb, Zurich, Athens, Bucharest, Cairo, Harare, Helsinki, Jerusalem, Kaliningrad, Kyiv, Pretoria, Riga, Sofia, Tallinn, Vilnius, Baghdad, Istanbul, Kuwait, Minsk, Moscow, Nairobi, Riyadh, St. Petersburg, Volgograd, Tehran, Abu Dhabi, Baku, Muscat, Samara, Tbilisi, Yerevan, Kabul, Ekaterinburg, Islamabad, Karachi, Tashkent, Chennai, Kolkata, Mumbai, New Delhi, Sri Jayawardenepura, Kathmandu, Almaty, Astana, Dhaka, Urumqi, Rangoon, Bangkok, Hanoi, Jakarta, Krasnoyarsk, Novosibirsk, Beijing, Chongqing, Hong Kong, Irkutsk, Kuala Lumpur, Perth, Singapore, Taipei, Ulaanbaatar, Osaka, Sapporo, Seoul, Tokyo, Yakutsk, Adelaide, Darwin, Brisbane, Canberra, Guam, Hobart, Melbourne, Port Moresby, Sydney, Vladivostok, Magadan, New Caledonia, Solomon Is., Srednekolymsk, Auckland, Fiji, Kamchatka, Marshall Is., Wellington, Chatham Is., Nuku'alofa, Samoa, Tokelau Is..

user[locale]
選填 , 允許空值

使用者偏好的位置

Validations:

  • Must be one of: ca, cs_CZ, de, en, en_GB, es, fr, gl, it, ja, ko, nl_NL, pl, pt_BR, ru, sv_SE, zh_CN, zh_TW.

user[role_ids]
選填 , 允許空值

Validations:

  • Must be an array of any type

user[location_ids]
選填 , 允許空值

將位置取代為特定 ID

Validations:

  • Must be an array of any type

user[organization_ids]
選填 , 允許空值

將組織取代為特定 ID。

Validations:

  • Must be an array of any type

user[current_password]
選填 , 允許空值

Required when user want to change own password

Validations:

  • Must be a String


DELETE /api/users/:id
刪除使用者

示例

DELETE /api/users/980190962
{
  "user": {}
}
403
{
  "error": {
    "message": "Access denied",
    "details": "You are trying to delete your own account",
    "missing_permissions": null
  }
}

參數

參數名字 描述
location_id
選填

Set the current location context for the request

Validations:

  • Must be a Integer

organization_id
選填

Set the current organization context for the request

Validations:

  • Must be a Integer

id
必填

Validations:

  • Must be a String