Skip to content

Update account

/v1/accounts

Target audience: Developers

Update account

Introduction

This endpoint is used for updating an account. If email is changed, this will be reflected in events to 3:rd party systems, the user will however not be notified.

URI

Environment URI
Stage https://payway-api.stage.adeprimo.se/external/api/v1/accounts
Production https://backend.worldoftulo.com/external/api/v1/accounts

Requirements

Identity Scope
No /external/account/w

Parameters

Field Required Type Description
id Required String id of the account to update.
Size range: ..24
Allowed values: "/^[a-f\d]{24}$/i"
email Optional String The account's e-mail address. Will be used as username for login purposes. This value must be unique.
Size range: ..1024
Allowed values: "/\A[\w+-.]+@[a-z\d-]+(.[a-z]+)*.[a-z]+\z/i"
first_name Optional String The account's first name.
Size range: ..1024
last_name Optional String The account's last name.
Size range: ..1024
alias Optional String The account alias.
Size range: ..1024
Supports: __UNSET__
mobile_phone_number Optional String The account's mobile phone number.
Allowed values: "/^[+,0]?[0-9]{10,12}$/"
social_security_number Optional String The account's social security number. This value must be unique.
Allowed values: "dddddd-dddd"
birth_date Optional String The account's birth date.
Size range: 10
Allowed values: "YYYY-MM-DD"
company_registration_number Optional String The account's company registration number.
Allowed values: **"dddddd-dddd"
company_name Optional String The account's company name.
Size range: ..1024
account_origin Optional String The origin of the account. E.g. the newspaper title.
Size range: ..1024
address Optional Object Address object. Fields marked as required is always required in order to update any field of the address.
first_name
Required String First name
last_name
Required String Last name
street
Required String Streetname
building
Required String The building
country_code
Required String SE, FI or AX
zip_code
Required String The zipcode
city
Required String The city
street_number
Optional String The street number, some subscription-systems only allow numerical values
staircase
Optional String The staircase/entrance
floor
Optional String The floor
apartment_number
Optional String The apartment number
mobile_number
Optional String The mobile number of the customer
phone_number
Optional String The phone number of the customer
citizenship_country_code
Optional String The citizenship country code of the customer
dropbox
Optional String Dropbox
company_name
Optional String The name of the company
company_reference
Optional String The reference of the company
company_department
Optional String The department of the company
company_crn
Optional String The CRN of the company
company_vat_number
Optional String The VAT number of the company
care_of
Optional String The C/O address, if applicable
atomic Optional Boolean If true, all or nothing. If false, we save what we can and the errors are accumulated into a Multi-Status response.
Default: true

Curl Example

curl --request PUT \
  --url https://payway-api.stage.adeprimo.se/external/api/v1/accounts \
  --header 'accept: application/json' \
  --header 'authorization: Bearer token' \
  --header 'content-type: application/json' \
  --data '{
            "id": "50f3ac249f6aef294d000007",
            "email": "adeprimo.servicedesk@no-reply.com",
            "first_name": "Adeprimo",
            "last_name": "Servicedesk"
          }'

Response

Field Description
id id of the updated account
updated_fields Name of the successfully updated fields
not_updated_fields Name of the unsuccessfully updated fields

Example Response

HTTP 200 Updated
{
    "id": "50f3ac249f6aef294d000007",
    "updated_fields": "social_security_number",
    "not_updated_fields": "address last_name: must_be_set"
}

Errors

Example error response

HTTP 400 Bad Request
{
  "code": "invalid_parameter",
  "field": "email",
  "message": "Parameter must match format (?i-mx:\\\\A[\\\\w+\\\\-.]+@[a-z\\\\d\\\\-]+(\\\\.[a-z]+)*\\\\.[a-z]+\\\\z)"
}

HTTP 400 Bad Request

Name Type Description
invalid_parameter Object Validation error on any of the fields in the posted json
json_parser_error Object The request body could not be parsed as valid json
invalid_content_type_error Object The requests Content-Type header isn't set to application/json
unknown_parameter Object One or more of the fields in the posted json was not recognized

HTTP 403 Forbidden

Name Type Description
email Object Not allowed to update email for an administrator.

HTTP 404 Not Found

Name Type Description
not_found Object The package could not be found

HTTP 500 Internal Server Error

Name Type Description
internal_server_error Object Something unexpected happened server side