API Stability Long-Term

The upgradeAccount() GraphQL mutation may be used to upgrade the LogScale account.

For more information on user authorization, see the Manage Users and Permissions documentation page.

Syntax

Below is the syntax for the upgradeAccount() mutation field:

graphql
upgradeAccount(
     input: UpgradeAccountData!
   ): boolean

Below is an example of how this mutation field might be used:

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/graphql',
  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
  }
}

Given Datatypes

UpgradeAccountData, has several parameters that may be given. Below is a list of them along with a description of each:

Table: UpgradeAccountData

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column.
Table last updated: Sep 23, 2024
commentstring  Long-TermAny comments related to the account, information not already stored in the other fields.
companystringyes Long-TermThe company with which the account holder is associated.
countryCodestring  Long-TermThe two-letter ISO 3166-1 Alpha-2 code for the country of residence (e.g., us).
emailstringyes Long-TermThe email address for the account or account holder.
firstNamestring  Long-TermThe first name of the account holder.
lastNamestringyes Long-TermThe last name or family name of the account holder.
phoneNumberstring  Long-TermThe telephone number of the account holder or the one to call regarding the account.
purposePurposes  Long-TermThe purpose of the upgrade. See Purposes.
stateCodestring  Long-TermThe two-letter, ISO 3166-2 country sub-division code for the state of residence (e.g., ny).