Summary

The upgradeAccount() mutation updates profile information for a LogScale account. Despite its name, it does not change account tiers or billing levels. The mutation updates fields such as name, company, country code, and phone number on the account record.

Syntax

graphql
upgradeAccount(
      input: UpgradeAccountData!
   ): Boolean!

The mutation takes a single required input argument of type UpgradeAccountData. Within that input, lastName, company, and email are required. All other fields are optional. The mutation returns a non-null Boolean indicating whether the update succeeded.

Input parameters

The following table lists all available parameters of the UpgradeAccountData input type:

Table: UpgradeAccountData Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
commentString  Long-Term Any comments related to the account, information not already stored in the other fields.
companyStringyes Long-Term The company with which the account holder is associated.
countryCodeString  Long-Term The two-letter ISO 3166-1 Alpha-2 code for the country of residence (e.g., us).
emailStringyes Long-Term The email address for the account or account holder.
firstNameString  Long-Term The first name of the account holder.
lastNameStringyes Long-Term The last name or family name of the account holder.
phoneNumberString  Long-Term The telephone number of the account holder or the one to call regarding the account.
purposePurposes  Long-Term The purpose of the upgrade. See Purposes.
stateCodeString  Long-Term The two-letter, ISO 3166-2 country sub-division code for the state of residence (e.g., ny).

Example

Raw
graphql
mutation {
  upgradeAccount( input:
    { company: "The Company",
      firstName: "Bob",
      lastName: "Newhart",
      email: "bob@company.com",
    } )
}
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 {
  upgradeAccount( input:
    { company: \"The Company\",
      firstName: \"Bob\",
      lastName: \"Newhart\",
      email: \"bob@company.com\",
    } )
}"
}
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 {
  upgradeAccount( input:
    { company: \"The Company\",
      firstName: \"Bob\",
      lastName: \"Newhart\",
      email: \"bob@company.com\",
    } )
}"
}
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 { ^
  upgradeAccount( input: ^
    { company: \"The Company\", ^
      firstName: \"Bob\", ^
      lastName: \"Newhart\", ^
      email: \"bob@company.com\", ^
    } ) ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  upgradeAccount( input:
    { company: \"The Company\",
      firstName: \"Bob\",
      lastName: \"Newhart\",
      email: \"bob@company.com\",
    } )
}"
}'
    "$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 {
  upgradeAccount( input:
    { company: \"The Company\",
      firstName: \"Bob\",
      lastName: \"Newhart\",
      email: \"bob@company.com\",
    } )
}";
$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 {
  upgradeAccount( input:
    { company: \"The Company\",
      firstName: \"Bob\",
      lastName: \"Newhart\",
      email: \"bob@company.com\",
    } )
}"
}'''

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 {
  upgradeAccount( input:
    { company: \"The Company\",
      firstName: \"Bob\",
      lastName: \"Newhart\",
      email: \"bob@company.com\",
    } )
}"
}
);


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": {
    "upgradeAccount": true
  }
}

Returned values

The mutation returns true if the account profile was updated successfully, and false if the update did not complete.