Summary

The updateProfile() mutation updates the display name of the currently authenticated user. Both input arguments are optional. Use updateUser() when you need to update account properties beyond the display name, such as email address or role.

Syntax

graphql
updateProfile(
      firstName: String, lastName: String
   ): Account!

Both firstName and lastName are optional. Provide one or both to update the current user's display name. The mutation returns a non-null Account! object representing the updated profile.

Omitting both arguments leaves the profile unchanged and returns the current account data. The returned Account type exposes account metadata including the username, access level, and enabled features.

Input parameters

Both input parameters are optional. Omitting a parameter leaves that name field unchanged on the current user's profile.

Table: Input parameters and datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
firstName String     The given name to display for the current user's profile. Omit to leave the first name unchanged.
lastName String     The family name to display for the current user's profile. Omit to leave the last name unchanged.

Example

Raw
graphql
mutation {
  updateProfile(
      firstName: "Bob",
      lastName: "Newhart"
  )
  { username }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateProfile(
      firstName: \"Bob\",
      lastName: \"Newhart\"
  )
  { username }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateProfile(
      firstName: \"Bob\",
      lastName: \"Newhart\"
  )
  { username }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  updateProfile( ^
      firstName: \"Bob\", ^
      lastName: \"Newhart\" ^
  ) ^
  { username } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateProfile(
      firstName: \"Bob\",
      lastName: \"Newhart\"
  )
  { username }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  updateProfile(
      firstName: \"Bob\",
      lastName: \"Newhart\"
  )
  { username }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  updateProfile(
      firstName: \"Bob\",
      lastName: \"Newhart\"
  )
  { username }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  updateProfile(
      firstName: \"Bob\",
      lastName: \"Newhart\"
  )
  { username }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "updateProfile": {
      "username": "bob@company.com"
    }
  }
}

Returned values

The mutation returns an Account! object for the current user. The returned fields include the username, access level, account type, and enabled features. The following table lists all available fields:

Table: Account Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
announcementNotification  Long-Term Any announcements for the account. See Notification.
canCreateCloudTrialRepoBooleanyes Long-Term Whether the account may create a cloud trial repository.
canCreateRepoBooleanyes Long-Term Whether the account can create a repository.
companyString  Long-Term The name of the company for the account.
countryCodeString  Long-Term The two-letter ISO 3166-1 Alpha-2 code for the country of residence (e.g., us).
createdAtDateTimeyes Long-Term The data and time the account was created.
currentOrganizationOrganizationyes Long-Term Information on the Organization. See Organization.
emailString  Long-Term The account's email address for communications from LogScale.
enabledFeaturesForAccountFeatureFlagyes Long-Term Features that are enabled for the account. See FeatureFlag.
externalGroupSynchronizationBooleanyes Long-Term Whether there is group synchronization.
externalPermissionsBooleanyes Long-Term Whether permissions are managed externally.
fieldConfigurations(viewName: String!)FieldConfigurationyes Long-Term The name of the view, as well as fields and how to configure them. See FieldConfiguration.
firstNameString  Long-Term The user's actual first name (e.g., Bob). Don't use with fullName.
fullNameString  Long-Term The user's full name (e.g., Bob Smith). Don't use if using other name parameters.
idStringyes Long-Term The unique identifier for the account.
isCloudProAccountBooleanyes Long-Term Whether the account is a cloud professional account.
isOrganizationRootBooleanyes Long-Term Whether the organization is granted organization ownership.
isRootBooleanyes Long-Term Whether the account is granted root access.
lastNameString  Long-Term The user's actual last name or family name (e.g., Smith). Don't use with fullName.
limitInt):NotificationsResultSetyes Short-Term The amount of results to return.
orderByOrderBy,    Choose the order in which the results are returned.
phoneNumberString  Long-Term The telephone number for LogScale to use for telephone text messages.
pictureString  Long-Term File name of an image file for the account.
settingsUserSettingsyes Long-Term Various default settings for user accounts. See UserSettings.
skipInt,    The number of results to skip or the offset to use. For instance if implementing pagination, set skip = limit * (page - 1)
stateCodeString  Long-Term The two-letter, ISO 3166-2 country sub-division code for the state of residence (e.g., ny).
tokenPersonalUserToken  Long-Term The personal user token table for the account. See PersonalUserToken.
usernameStringyes Long-Term The user name for the account.