Ga naar inhoud

Accounts

Account-endpoints zijn niet beschikbaar via OAuth — accountbeheer vereist een sessie- of API-sleutel-credential.

Alle accounts opvragen

Dit is niet accountgescoped en geeft ALLE accounts terug waartoe deze gebruiker toegang heeft.

GET /api/accounts

Teruggegeven params
  • accounts: Array
    • id: String
    • name: String
    • reseller: Boolean
    • is_trial: Boolean
    • trial_start: DateTime
    • trial_end: DateTime
    • parent_account: Object | alleen bij sub-accounts — zie de waarschuwing hieronder
      • id: String
      • name: String
    • reseller_billing_plan: Object | alleen bij sub-accounts met een reseller-facturatieplan — zie de waarschuwing hieronder
      • id: String
      • name: String
    • nameservers: Array
    • created_at
    • updated_at

parent_account en reseller_billing_plan ontbreken, ze zijn niet null

Heeft een account geen bovenliggend account, dan staan beide sleutels helemaal niet in de JSON — en reseller_billing_plan ontbreekt eveneens zodra parent_account ontbreekt, ook als het account wél een plan heeft. Controleer op de aanwezigheid van de sleutel in plaats van op een null-waarde; een client die account["parent_account"]["id"] uitleest op een top-level account struikelt over de ontbrekende sleutel, niet over een null.

De lijst bevat geen account_roles

Accountrollen worden teruggegeven door Account bekijken en door Accountrollen opvragen — niet door GET /api/accounts.


Account bekijken

GET /api/accounts/:id

Geeft één account-object terug met alle velden van een list-item plus account_roles, dat de lijst niet teruggeeft. Elk item in account_roles heeft dezelfde structuur als een item in Accountrollen opvragen. Geeft 401 terug als de gebruiker van het token het account niet mag bekijken.


Account aanmaken

Twee modi:

  • Top-level account — laat X-Auth-Account weg. Vereist een admin-gebruiker.
  • Sub-account — stel X-Auth-Account in op het Account-ID van het bovenliggende account. Vereist een admin-rol op het bovenliggende account en het bovenliggende account moet een reseller zijn.

POST /api/accounts

Params
  • account: Object
    • name: String (required)

Alleen-admin-params

Admin-aanroepers kunnen daarnaast is_trial, trial_start, trial_end, reseller, reseller_bill_trial, billing_plan_id en parent_account_guid instellen.

Geeft bij succes 201 terug met het account.


Account bijwerken

PATCH /api/accounts/:id

Vereist bewerkrechten. Niet-admin-aanroepers kunnen alleen name bijwerken. Admin-aanroepers kunnen daarnaast is_trial, trial_start, trial_end, reseller, reseller_bill_trial, billing_plan_id en parent_account_guid instellen. Geeft 202 terug.

Params
  • account: Object
    • name: String

Account verwijderen

DELETE /api/accounts/:id

Vereist verwijderrechten. Geeft 202 terug.

Je kunt je enige account niet verwijderen

Een niet-admin-gebruiker kan zijn laatst overgebleven account niet verwijderen, zelfs niet met can_destroy erop — het verzoek geeft 401 (Not Authorized) terug. De gebruiker moet ten minste één ander account hebben.


Accountrollen

Beheer welke gebruikers toegang hebben tot een account, en met welke rol. Vereist een admin-rol op het account. Niet beschikbaar via OAuth.

Accountrollen opvragen

GET /api/accounts/:account_id/roles

Teruggegeven params
  • account_roles: Array<Object>
    • inherited_from: String | account-ID, of null
    • created_at: DateTime
    • updated_at: DateTime
    • role: Object
      • id: Integer
      • name: String
      • label: String
      • is_admin: Boolean
      • can_edit: Boolean
      • can_create: Boolean
      • can_destroy: Boolean
      • billing: Boolean
      • wp_login: Boolean
    • user: Object
      • id: String
      • fname: String
      • lname: String
      • email: String
      • account_brand_id: Integer
      • locale: String
      • created_at: DateTime
      • updated_at: DateTime

De rol van een gebruiker bekijken

GET /api/accounts/:account_id/roles/:user_id

Geeft één item terug, verpakt in één account_role-object in plaats van de array account_roles die de lijst teruggeeft.

Teruggegeven params
  • account_role: Object
    • inherited_from: String | account-ID, of null
    • created_at: DateTime
    • updated_at: DateTime
    • role: Object
      • id: Integer
      • name: String
      • label: String
      • is_admin: Boolean
      • can_edit: Boolean
      • can_create: Boolean
      • can_destroy: Boolean
      • billing: Boolean
      • wp_login: Boolean
    • user: Object
      • id: String
      • fname: String
      • lname: String
      • email: String
      • account_brand_id: Integer
      • locale: String
      • created_at: DateTime
      • updated_at: DateTime

Een gebruiker uitnodigen

Nodig een bestaande gebruiker per e-mail uit voor het account. Geeft 202 terug.

POST /api/accounts/:account_id/roles

Params
  • email: String
  • user_role_id: Integer | zie User Roles

De rol van een gebruiker wijzigen

PATCH /api/accounts/:account_id/roles/:user_id

Params
  • account_role: Object
    • user_role_id: Integer

Geeft de bijgewerkte rol terug in dezelfde structuur als GET /api/accounts/:account_id/roles/:user_id.

Teruggegeven params
  • account_role: Object
    • inherited_from: String | account-ID, of null
    • created_at: DateTime
    • updated_at: DateTime
    • role: Object
      • id: Integer
      • name: String
      • label: String
      • is_admin: Boolean
      • can_edit: Boolean
      • can_create: Boolean
      • can_destroy: Boolean
      • billing: Boolean
      • wp_login: Boolean
    • user: Object
      • id: String
      • fname: String
      • lname: String
      • email: String
      • account_brand_id: Integer
      • locale: String
      • created_at: DateTime
      • updated_at: DateTime

Een gebruiker verwijderen

DELETE /api/accounts/:account_id/roles/:user_id

Geeft 202 terug.

Overgeërfde rollen

Een rol die is overgeërfd van een bovenliggend account kan niet op het onderliggende niveau worden verwijderd — dit geeft 422 {"errors":["Unable to remove an inherited role."]} terug. Wijzig de rol op het bovenliggende account om alle onderliggende accounts bij te werken.


Gebruikersrollen

Vraag de beschikbare roldefinities op. Gebruik de teruggegeven id bij het uitnodigen of bijwerken van gebruikers op een account.

GET /api/user_roles

Teruggegeven params
  • user_roles: Array<Object>
    • id: Integer
    • name: String
    • label: String
    • is_admin: Boolean
    • can_edit: Boolean
    • can_create: Boolean
    • can_destroy: Boolean
    • billing: Boolean
    • wp_login: Boolean