Summary

The activateAccount() mutation activates a LogScale user account and records associated personal and organizational information. By activating the account, you accept LogScale's (that is, CrowdStrike's) Terms and Conditions. Use this mutation when provisioning a new account for the first time. To update account details after activation, use upgradeAccount() instead.

Syntax

graphql
activateAccount(
      firstName: String!,
      lastName: String!,
      email: String!,
      company: String!,
      countryCode: String!,
      stateCode: String,
      zip: String,
      phoneNumber: String,
      utmParams: UtmParams
   ): Account!

The mutation requires five arguments: firstName, lastName, email, company, and countryCode. The remaining arguments are optional, though zip and phoneNumber are required in community mode. The mutation returns a non-null Account! object.

The returned Account type exposes account metadata including enabled features and access level. The Returned Values section lists the available fields.

Example

Raw
graphql
mutation {
  activateAccount(firstName: "Tom", lastName: "Thumb", 
                  company: "Company, Inc.",
                  email: "tom@company.com"
                  countryCode: "us") 
  { id, currentOrganization { id, name } }
}
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 {
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\", 
                  company: \"Company, Inc.\",
                  email: \"tom@company.com\"
                  countryCode: \"us\") 
  { id, currentOrganization { id, name } }
}"
}
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 {
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\", 
                  company: \"Company, Inc.\",
                  email: \"tom@company.com\"
                  countryCode: \"us\") 
  { id, currentOrganization { id, name } }
}"
}
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 { ^
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\",  ^
                  company: \"Company, Inc.\", ^
                  email: \"tom@company.com\" ^
                  countryCode: \"us\")  ^
  { id, currentOrganization { id, name } } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\", 
                  company: \"Company, Inc.\",
                  email: \"tom@company.com\"
                  countryCode: \"us\") 
  { id, currentOrganization { id, name } }
}"
}'
    "$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 {
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\", 
                  company: \"Company, Inc.\",
                  email: \"tom@company.com\"
                  countryCode: \"us\") 
  { id, currentOrganization { id, name } }
}";
$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 {
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\", 
                  company: \"Company, Inc.\",
                  email: \"tom@company.com\"
                  countryCode: \"us\") 
  { id, currentOrganization { id, name } }
}"
}'''

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 {
  activateAccount(firstName: \"Tom\", lastName: \"Thumb\", 
                  company: \"Company, Inc.\",
                  email: \"tom@company.com\"
                  countryCode: \"us\") 
  { id, currentOrganization { id, name } }
}"
}
);


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": {
    "activateAccount": {
      "id": "abc123",
      "currentOrganization": {
        "id": "SINGLE_ORGANIZATION_ID",
        "name": "SingleOrganization"
      }
    }
  }
}

Input Parameters

This mutation requires the contact's name, email address, company name, and country code. The following table lists all input parameters. Because one parameter uses a special datatype, a subsequent table describes that datatype's fields.

Table: Input Parameters and Datatypes

Parameter Type Required Default Description
This table includes all input parameters for this mutation. Because one parameter uses a special datatype, the following table describes its fields.
company String yes   The name of the company the user represents or is associated with.
countryCode String yes   The two-letter ISO 3166-1 Alpha-2 country code for the country where the company is located. For example, US for the United States or DE for Germany.
email String yes   The email address of the user activating the account.
firstName String yes   The first name of the user activating the account.
lastName String yes   The last name of the user activating the account.
phoneNumber String     The phone number of the account contact. This field is optional in most modes but required in community mode.
stateCode String     An optional country subdivision code following the ISO 3166-2 standard. For example, US-CA for California.
utmParams UtmParams     Urchin Tracking Module (UTM) parameters for associating the activation with a marketing campaign. See the following table.
zip String     The postal code for the company's location. This field is optional in most modes but required in community mode.

This mutation accepts an optional UtmParams input for providing Urchin Tracking Module (UTM) parameters. These parameters associate the account activation with a marketing campaign. The following table describes the fields in that datatype:

Table: UtmParams Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
campaignStringyes Long-Term The name of the specific product promotion or strategic marketing campaign related to the UTM (Urchin Tracking Module).
contentStringyes Long-Term What was clicked by the user leading to the server (e.g., a banner ad or text link).
mediumStringyes Long-Term The medium used for the UTM: the type of link used (e.g., cost per click).
sourceStringyes Long-Term Which site sent the traffic to the server.
termStringyes Long-Term The search term related to the UTM.

Returned Values

The mutation returns an Account! object containing details about the activated account. 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.