Summary

The updateOrganizationForeignKey() GraphQL mutation field is used to fix manually any bad references. This is a root operation.

API Stability Preview

Syntax

graphql
updateOrganizationForeignKey(
     id: string!,
     foreignType: Organizations__ForeignType!,
     operation: Organizations__Operation!
   ): Organization!

You'll have to give the organization's identifier, the type of foreign key (e.g., user or group), and specify whether to add or remove the key. Click on Show Query above to find the identifier. See the tables in the Input Parameters section for details.

For the results, you can get the organization's configuration, URLs, and other organization information. See the Returned Values section for what's available.

Example

Raw
graphql
mutation {
  updateOrganizationForeignKey( 
     id: "abc123",
     foreignType: User,
     operation: Remove
  )
 { id }
}
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 {
  updateOrganizationForeignKey( 
     id: \"abc123\",
     foreignType: User,
     operation: Remove
  )
 { id }
}"
}
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 {
  updateOrganizationForeignKey( 
     id: \"abc123\",
     foreignType: User,
     operation: Remove
  )
 { id }
}"
}
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 { ^
  updateOrganizationForeignKey(  ^
     id: \"abc123\", ^
     foreignType: User, ^
     operation: Remove ^
  ) ^
 { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateOrganizationForeignKey( 
     id: \"abc123\",
     foreignType: User,
     operation: Remove
  )
 { id }
}"
}'
    "$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 {
  updateOrganizationForeignKey( 
     id: \"abc123\",
     foreignType: User,
     operation: Remove
  )
 { id }
}";
$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 {
  updateOrganizationForeignKey( 
     id: \"abc123\",
     foreignType: User,
     operation: Remove
  )
 { id }
}"
}'''

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 {
  updateOrganizationForeignKey( 
     id: \"abc123\",
     foreignType: User,
     operation: Remove
  )
 { id }
}"
}
);


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": {
    "updateOrganizationForeignKey": {
      "id": "abc123"
    }
  }
}

Input Parameters

For the input, you'll have to give the unique identifier of the organization, the type of foreign key (see the second table below), and specify whether to add or remove the key (see the third table). Click on the Show Query link above the Syntax section for an example of how to find the identifier.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation. Since some of the parameters use special datatypes, additional tables for them are included below.
foreignType Organizations__ForeignType yes   The type of foreign key (e.g., Role). See table below.
id string yes   The unique identifier of the organization.
operation Organizations__Operation yes   The type of operation (e.g., adding a key). See table below.

For this special given datatype, you would indicate the type of foreign key (e.g., user or group). The table below list the choices, along with a description of each:

Table: Organizations__ForeignType Enum Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for the results.
Table last updated: Aug 18, 2025
Group   PreviewThe organization's foreign key is for a group.
Idp   PreviewThe organization's foreign key is related to an identity provider.
Role   PreviewThe organization's foreign key is for a user role.
Unknown   PreviewThe organization's foreign key is unknown.
User   PreviewThe organization's foreign key is for a user.
View   PreviewThe organization's foreign key is for a view.

For this special given datatype, you would indicate the type of operation — whether to add or remove the key. The table below list the choices, along with a description of each:

Table: Organizations__Operation Enum Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for the results.
Table last updated: Aug 18, 2025
Add   PreviewThe update adds an organization key.
Remove   PreviewThe update removes the organization's key.

Returned Values

For the results, you can get the organization's configuration and URLs, any organization limits, and other data. The table below lists what's possible:

Table: Organization Datatype

ParameterTypeRequiredDefaultStabilityDescription
Some input parameters may be required, as indicated in the Required column. For return values, this indicates that you are assured a value if the field is requested for the results.
Table last updated: Aug 21, 2025
cidstring  Short-TermThe CID corresponding to the organization.
configsOrganizationConfigsyes Short-TermOrganization configurations and settings. See OrganizationDetails.
createdAtlong  Short-TermDate organization was created.
defaultCachePolicyCachePolicy  PreviewThe default cache policy of the organization. See CachePolicy. This is a preview and subject to change.
deletedAtlong  Short-TermDay organization was deleted if it was marked for deletion.
descriptionstring  Short-TermThe description for the Organization. Can be null.
detailsOrganizationDetailsyes Short-TermAny additional details related to the organization. See OrganizationDetails.
externalGroupSynchronizationbooleanyes Short-TermWhether there is group synchronization.
externalPermissionsbooleanyes Short-TermWhether permissions are managed externally.
idstringyes Short-TermThe unique id for the Organization.
ingestUrlstring  Short-TermThe ingest URL for the organization.
isActionAllowed(action: OrganizationAction): booleanmultipleyes Short-TermCheck if user has a permission in organization. For OrganizationAction, give the action to check if a user is allowed to perform on the organization. See OrganizationAction.
limits[Limit]yes Short-TermLimits assigned to the organization. See Limit.
limitsV2[LimitV2]yes Short-TermLimits assigned to the organization. See LimitV2.
namestringyes Short-TermThe name for the Organization.
publicUrlstring  Short-TermThe public URL for the organization.
readonlyDashboardIPFilterstring  Short-TermIP filter for readonly dashboard links.
searchDomains[SearchDomain]yes Short-TermSearch domains within the organization. See SearchDomain.
statsOrganizationStatsyes Short-TermStatistics of the organization. See OrganizationStats.
trialStartedAtlong  Short-TermDate organization's trial started.