user/current

GET

Caution

As a username is needed to log in, any administrator or application must necessarily know the current username at any given time. Thus it’s generally better to use the username query parameter of a GET request to users instead.

Retrieves the details of the authenticated user.

Auth. Required

Yes

Roles Required

None

Permissions Required

None

Response Type

Object

Request Structure

No parameters available.

#1060 Request Example
GET /api/4.0/user/current HTTP/1.1
User-Agent: python-requests/2.25.1
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...

Response Structure

addressLine1

The user’s address - including street name and number

addressLine2

An additional address field for e.g. apartment number

changeLogCount

The number of change log entries created by the user

city

The name of the city wherein the user resides

company

The name of the company for which the user works

country

The name of the country wherein the user resides

email

The user’s email address

fullName

The user’s full name, e.g. “John Quincy Adams”

gid

A deprecated field only kept for legacy compatibility reasons that used to contain the UNIX group ID of the user

Deprecated since version 4.0: This field is serves no known purpose, and shouldn’t be used for anything so it can be removed in the future.

id

An integral, unique identifier for this user

lastAuthenticated

The date and time at which the user was last authenticated, in RFC 3339 format

lastUpdated

The date and time at which the user was last modified, in RFC 3339 format

newUser

A meta field with no apparent purpose that is usually null unless explicitly set during creation or modification of a user via some API endpoint

phoneNumber

The user’s phone number

postalCode

The postal code of the area in which the user resides

publicSshKey

The user’s public key used for the SSH protocol

registrationSent

If the user was created using the users/register endpoint, this will be the date and time at which the registration email was sent - otherwise it will be null

role

The name of the Role assigned to this user

stateOrProvince

The name of the state or province where this user resides

tenant

The name of the Tenant to which this user belongs

tenantId

The integral, unique identifier of the Tenant to which this user belongs

ucdn

The name of the uCDN to which the user belongs

New in version 4.0.

uid

A deprecated field only kept for legacy compatibility reasons that used to contain the UNIX user ID of the user

Deprecated since version 4.0: This field is serves no known purpose, and shouldn’t be used for anything so it can be removed in the future.

username

The user’s username

#1061 Response Example
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Type: application/json
Permissions-Policy: interest-cohort=()
Set-Cookie: mojolicious=...; Path=/; Expires=Fri, 13 May 2022 23:42:05 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
X-Server-Name: traffic_ops_golang/
Date: Fri, 13 May 2022 22:42:05 GMT
Content-Length: 311

{ "response": {
    "addressLine1": null,
    "addressLine2": null,
    "changeLogCount": 1,
    "city": null,
    "company": null,
    "country": null,
    "email": "admin@no-reply.atc.test",
    "fullName": "Development Admin User",
    "gid": null,
    "id": 2,
    "lastAuthenticated": "2022-05-13T22:42:05.495439Z",
    "lastUpdated": "2022-05-13T22:42:05.495439Z",
    "newUser": false,
    "phoneNumber": null,
    "postalCode": null,
    "publicSshKey": null,
    "registrationSent": null,
    "role": "admin",
    "stateOrProvince": null,
    "tenant": "root",
    "tenantId": 1,
    "ucdn": "",
    "uid": null,
    "username": "admin"
}}

PUT

Warning

Assuming the current user’s integral, unique identifier is known, it’s generally better to use the PUT method of the users instead.

Warning

Users that login via LDAP pass-back cannot be modified

Updates the date for the authenticated user.

Auth. Required

Yes

Roles Required

None

Permissions Required

None

Response Type

Object

Request Structure

addressLine1

The user’s address - including street name and number

addressLine2

An additional address field for e.g. apartment number

city

The name of the city wherein the user resides

company

The name of the company for which the user works

country

The name of the country wherein the user resides

email

The user’s email address - cannot be an empty string1. The given email is validated (circuitously) by GitHub user asaskevich’s regular expression . Note that it can’t actually distinguish a valid, deliverable, email address but merely ensure the email is in a commonly-found format.

fullName

The user’s full name, e.g. “John Quincy Adams”

gid

A legacy field only kept for legacy compatibility reasons that used to contain the UNIX group ID of the user - please don’t use this

Deprecated since version 4.0: This field is serves no known purpose, and shouldn’t be used for anything so it can be removed in the future.

id

The user’s integral, unique, identifier - this cannot be changed1

localPasswd

Optionally, the user’s password. This should never be given if it will not be changed. An empty string or null can be used to explicitly specify no change.

phoneNumber

The user’s phone number

postalCode

The user’s postal code

publicSshKey

The user’s public encryption key used for the SSH protocol

role

The integral, unique identifier of the highest permission Role which will be permitted to the user - this cannot be altered from the user’s current Role1

stateOrProvince

The state or province in which the user resides

tenantId

The integral, unique identifier of the Tenant to which the new user shall belong21

ucdn

The name of the uCDN to which the user belongs

New in version 4.0.

uid

A legacy field only kept for legacy compatibility reasons that used to contain the UNIX user ID of the user - please don’t use this

Deprecated since version 4.0: This field is serves no known purpose, and shouldn’t be used for anything so it can be removed in the future.

username

The user’s new username1

Changed in version 4.0: In all earlier versions of the API, all of these objects needed to be properties of the “user” property of the JSON object request body.

#1062 Request Example
PUT /api/4.0/user/current HTTP/1.1
User-Agent: python-requests/2.25.1
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: mojolicious=...
Content-Length: 562

{
    "addressLine1": null,
    "addressLine2": null,
    "changeLogCount": 1,
    "city": null,
    "company": null,
    "country": null,
    "email": "admin@no-reply.atc.test",
    "fullName": "Development Admin User",
    "gid": null,
    "id": 2,
    "lastAuthenticated": "2022-05-13T22:42:05.495439Z",
    "lastUpdated": "2022-05-13T22:42:05.495439Z",
    "newUser": false,
    "phoneNumber": null,
    "postalCode": null,
    "publicSshKey": null,
    "registrationSent": null,
    "role": "admin",
    "stateOrProvince": null,
    "tenant": "root",
    "tenantId": 1,
    "ucdn": "",
    "uid": null,
    "username": "admin"
}

Response Structure

addressLine1

The user’s address - including street name and number

addressLine2

An additional address field for e.g. apartment number

changeLogCount

The number of change log entries created by the user

city

The name of the city wherein the user resides

company

The name of the company for which the user works

country

The name of the country wherein the user resides

email

The user’s email address validated (circuitously) by GitHub user asaskevich’s regular expression . Note that it can’t actually distinguish a valid, deliverable, email address but merely ensure the email is in a commonly-found format.

fullName

The user’s full name, e.g. “John Quincy Adams”

gid

A legacy field only kept for legacy compatibility reasons that used to contain the UNIX group ID of the user

Deprecated since version 4.0: This field is serves no known purpose, and shouldn’t be used for anything so it can be removed in the future.

id

An integral, unique identifier for this user

lastAuthenticated

The date and time at which the user was last authenticated, in RFC 3339

lastUpdated

The date and time at which the user was last modified, in Traffic Ops’s Custom Date/Time Format

newUser

A meta field with no apparent purpose

phoneNumber

The user’s phone number

postalCode

The postal code of the area in which the user resides

publicSshKey

The user’s public key used for the SSH protocol

registrationSent

If the user was created using the users/register endpoint, this will be the date and time at which the registration email was sent - otherwise it will be null

role

The name of the Role assigned to this user

stateOrProvince

The name of the state or province where this user resides

tenant

The name of the Tenant to which this user belongs

tenantId

The integral, unique identifier of the Tenant to which this user belongs

ucdn

The name of the uCDN to which the user belongs

New in version 4.0.

uid

A legacy field only kept for legacy compatibility reasons that used to contain the UNIX user ID of the user

Deprecated since version 4.0: This field is serves no known purpose, and shouldn’t be used for anything so it can be removed in the future.

username

The user’s username

#1063 Response Example
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Type: application/json
Permissions-Policy: interest-cohort=()
Set-Cookie: mojolicious=...; Path=/; Expires=Fri, 13 May 2022 23:45:22 GMT; Max-Age=3600; HttpOnly
Vary: Accept-Encoding
X-Server-Name: traffic_ops_golang/
Date: Fri, 13 May 2022 22:45:22 GMT
Content-Length: 370

{ "alerts": [
    {
        "text": "User profile was successfully updated",
        "level": "success"
    }
],
"response": {
    "addressLine1": null,
    "addressLine2": null,
    "changeLogCount": 1,
    "city": null,
    "company": null,
    "country": null,
    "email": "admin@no-reply.atc.test",
    "fullName": "Development Admin User",
    "gid": null,
    "id": 2,
    "lastAuthenticated": "2022-05-13T22:44:55.973452Z",
    "lastUpdated": "2022-05-13T22:45:22.505401Z",
    "newUser": false,
    "phoneNumber": null,
    "postalCode": null,
    "publicSshKey": null,
    "registrationSent": null,
    "role": "admin",
    "stateOrProvince": null,
    "tenant": "root",
    "tenantId": 1,
    "ucdn": "",
    "uid": null,
    "username": "admin"
}}
1(1,2,3,4,5)

This field cannot be null.

2

This endpoint respects tenancy; a user cannot assign itself to a Tenant that is not the same Tenant to which it was previously assigned or a descendant thereof.