IAM
This API will be the 'one' API that is used by both producers/consumers of mastered IAM data.
The GraphQL API provides query access to IAM entities including accounts, users, devices, groups, applications, organizations, roles, and permissions.
API Endpoints
# The IAM Staging API server:
https://cloud.stage.api.trimblecloud.com/platform/iam/1.0/graphql-apollo
# The IAM Production API server:
https://cloud.api.trimble.com/platform/iam/1.0/graphql
# Local development server:
http://localhost:8080/graphql
Headers
# JWT bearer token from Trimble Identity
Authorization: Bearer <YOUR_JWT_TOKEN>
Queries
account
Description
Get an account by its ID
Example
Query
query Account($id: ID!) {
account(id: $id) {
id
trn
name
type
customerType
description
status
country
shortCode
transactionInfo {
taxExemptionStatus
taxVatId
currency
ebsAccountNumber
}
primaryContactInfo {
email
phoneNumber
}
addresses {
edges {
...AddressEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
address {
node {
...AddressFragment
}
}
externalSystems {
sourceSystem {
...ExternalSystemReferenceFragment
}
references {
...ExternalSystemReferenceFragment
}
}
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
users {
totalCount
edges {
...UserInAccountEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
user {
node {
...UserFragment
}
default
status
roles {
...RolesConnectionFragment
}
}
groups {
edges {
...GroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
applications {
edges {
...ApplicationEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"account": {
"id": "4",
"trn": "xyz789",
"name": "abc123",
"type": "xyz789",
"customerType": "xyz789",
"description": "xyz789",
"status": "active",
"country": "abc123",
"shortCode": "abc123",
"transactionInfo": AccountTransactionInfo,
"primaryContactInfo": AccountPrimaryContactInfo,
"addresses": AddressesConnection,
"address": AddressEdge,
"externalSystems": ExternalSystems,
"metadata": Metadata,
"users": UserInAccountConnection,
"user": UserInAccountEdge,
"groups": GroupsConnection,
"applications": ApplicationsConnection
}
}
}
accounts
Description
List all accounts authorized for requesting client
Response
Returns an AccountsConnection
Example
Query
query Accounts(
$first: PageSize,
$after: ID
) {
accounts(
first: $first,
after: $after
) {
edges {
node {
...AccountFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"first": 20, "after": 4}
Response
{
"data": {
"accounts": {
"edges": [AccountEdge],
"pageInfo": PageInfo
}
}
}
application
Description
Get an application by its ID
Response
Returns an Application
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query Application($id: ID!) {
application(id: $id) {
id
trn
name
displayName
scopes {
name
developerDocumentation
consentMessage
}
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
grantTypes
redirectUris
logoutUris
entityId
assertionConsumerUrl
x509RequestSigningCert
isAuthnRequestSigned
isAssertionsSigned
certificates {
certificate
fingerprint
}
groups {
edges {
...GroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"application": {
"id": "4",
"trn": "abc123",
"name": "abc123",
"displayName": "abc123",
"scopes": [ApplicationScope],
"metadata": Metadata,
"grantTypes": ["abc123"],
"redirectUris": ["xyz789"],
"logoutUris": ["abc123"],
"entityId": "abc123",
"assertionConsumerUrl": "abc123",
"x509RequestSigningCert": "xyz789",
"isAuthnRequestSigned": true,
"isAssertionsSigned": false,
"certificates": [ApplicationCertificate],
"groups": GroupsConnection
}
}
}
cdhSyncAccount
Response
Returns a CdhSyncAccount
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query CdhSyncAccount($id: ID!) {
cdhSyncAccount(id: $id) {
cdhId
iamId
isInIam
canBeMigrated
violations {
field
reason
}
sites {
edges {
...CdhSyncSiteEdgeFragment
}
pageInfo {
...CdhSyncPageInfoFragment
}
}
sourceSystems {
edges {
...CdhSyncAccountSourceSystemEdgeFragment
}
pageInfo {
...CdhSyncPageInfoFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"cdhSyncAccount": {
"cdhId": "4",
"iamId": "4",
"isInIam": false,
"canBeMigrated": false,
"violations": [CdhSyncError],
"sites": CdhSyncSiteConnection,
"sourceSystems": CdhSyncAccountSourceSystemConnection
}
}
}
cdhSyncAccountSourceSystem
Response
Returns a CdhSyncAccountSourceSystem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query CdhSyncAccountSourceSystem($id: ID!) {
cdhSyncAccountSourceSystem(id: $id) {
cdhId
iamId
iamRefId
isInIam
canBeMigrated
violations {
field
reason
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"cdhSyncAccountSourceSystem": {
"cdhId": 4,
"iamId": 4,
"iamRefId": "abc123",
"isInIam": true,
"canBeMigrated": true,
"violations": [CdhSyncError]
}
}
}
cdhSyncSite
Response
Returns a CdhSyncSite
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query CdhSyncSite($id: ID!) {
cdhSyncSite(id: $id) {
cdhId
iamId
isInIam
canBeMigrated
violations {
field
reason
}
sourceSystems {
edges {
...CdhSyncSiteSourceSystemEdgeFragment
}
pageInfo {
...CdhSyncPageInfoFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"cdhSyncSite": {
"cdhId": "4",
"iamId": "4",
"isInIam": true,
"canBeMigrated": true,
"violations": [CdhSyncError],
"sourceSystems": CdhSyncSiteSourceSystemConnection
}
}
}
cdhSyncSiteSourceSystem
Response
Returns a CdhSyncSiteSourceSystem
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query CdhSyncSiteSourceSystem($id: ID!) {
cdhSyncSiteSourceSystem(id: $id) {
cdhId
iamId
iamRefId
isInIam
canBeMigrated
violations {
field
reason
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"cdhSyncSiteSourceSystem": {
"cdhId": 4,
"iamId": "4",
"iamRefId": "abc123",
"isInIam": false,
"canBeMigrated": false,
"violations": [CdhSyncError]
}
}
}
device
Description
get a device by its ID
Example
Query
query Device($id: ID!) {
device(id: $id) {
id
trn
serialNumber
model
manufacturer
firmware
description
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
accounts {
edges {
...AccountEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
certificates {
edges {
...DeviceCertificateEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"device": {
"id": 4,
"trn": "abc123",
"serialNumber": "abc123",
"model": "abc123",
"manufacturer": "abc123",
"firmware": "abc123",
"description": "abc123",
"metadata": Metadata,
"accounts": AccountsConnection,
"certificates": DeviceCertificateConnection
}
}
}
devices
Description
List all devices authorized for requesting client
Response
Returns a DeviceConnection
Example
Query
query Devices(
$first: PageSize,
$after: ID
) {
devices(
first: $first,
after: $after
) {
edges {
node {
...DeviceFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"first": PageSize, "after": 4}
Response
{
"data": {
"devices": {
"edges": [DeviceEdge],
"pageInfo": PageInfo
}
}
}
group
Description
get a group by its ID
Example
Query
query Group($id: ID!) {
group(id: $id) {
id
trn
name
description
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
applications {
edges {
...ApplicationInGroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
devices {
edges {
...DeviceEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
users {
edges {
...UserEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
children {
edges {
...GroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"group": {
"id": 4,
"trn": "abc123",
"name": "xyz789",
"description": "xyz789",
"metadata": Metadata,
"applications": GroupApplicationConnection,
"devices": DeviceConnection,
"users": UsersConnection,
"children": GroupsConnection
}
}
}
groups
Description
List all groups authorized for requesting client
Response
Returns a GroupsConnection
Example
Query
query Groups(
$first: PageSize,
$after: ID
) {
groups(
first: $first,
after: $after
) {
edges {
node {
...GroupFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"first": PageSize, "after": 4}
Response
{
"data": {
"groups": {
"edges": [GroupEdge],
"pageInfo": PageInfo
}
}
}
organization
Description
get an organization by its ID
Response
Returns an Organization
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query Organization($id: ID!) {
organization(id: $id) {
id
trn
name
website
description
industry
primaryContactInfo {
email
firstName
lastName
phoneNumber
}
address {
country
region
locality
postalCode
streetAddress
postOfficeBoxNumber
}
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"organization": {
"id": "4",
"trn": "abc123",
"name": "xyz789",
"website": "xyz789",
"description": "xyz789",
"industry": "abc123",
"primaryContactInfo": OrganizationPrimaryContactInfo,
"address": OrganizationAddress,
"metadata": Metadata
}
}
}
permission
Description
get a permission by its ID
Response
Returns a Permission
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query Permission($id: ID!) {
permission(id: $id) {
id
trn
action
resource
description
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"permission": {
"id": 4,
"trn": "xyz789",
"action": "xyz789",
"resource": "xyz789",
"description": "abc123",
"metadata": Metadata
}
}
}
permissions
Description
List all permissions authorized for requesting client
Response
Returns a PermissionsConnection
Example
Query
query Permissions(
$first: PageSize,
$after: ID
) {
permissions(
first: $first,
after: $after
) {
edges {
node {
...PermissionFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"first": PageSize, "after": 4}
Response
{
"data": {
"permissions": {
"edges": [PermissionEdge],
"pageInfo": PageInfo
}
}
}
role
Description
get a role by its ID
Example
Query
query Role($id: ID!) {
role(id: $id) {
id
trn
name
permissions {
edges {
...PermissionEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"role": {
"id": 4,
"trn": "xyz789",
"name": "abc123",
"permissions": PermissionsConnection,
"metadata": Metadata
}
}
}
roles
Description
List all roles authorized for requesting client
Response
Returns a RolesConnection
Example
Query
query Roles(
$first: PageSize,
$after: ID
) {
roles(
first: $first,
after: $after
) {
edges {
node {
...RoleFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"first": PageSize, "after": 4}
Response
{
"data": {
"roles": {
"edges": [RoleEdge],
"pageInfo": PageInfo
}
}
}
searchAccountsByEmail
Description
Get accounts whose owner user email matches exactly (case-sensitive).
Response
Returns an AccountsConnection
Example
Query
query SearchAccountsByEmail(
$email: String!,
$first: PageSize,
$after: ID
) {
searchAccountsByEmail(
email: $email,
first: $first,
after: $after
) {
edges {
node {
...AccountFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{
"email": "xyz789",
"first": 20,
"after": "4"
}
Response
{
"data": {
"searchAccountsByEmail": {
"edges": [AccountEdge],
"pageInfo": PageInfo
}
}
}
searchAccountsByExternalSystem
Description
Get accounts by External System search
Response
Returns an AccountsConnection
Example
Query
query SearchAccountsByExternalSystem(
$refId: ID,
$id: ID,
$isSource: Boolean
) {
searchAccountsByExternalSystem(
refId: $refId,
id: $id,
isSource: $isSource
) {
edges {
node {
...AccountFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"refId": 4, "id": "4", "isSource": true}
Response
{
"data": {
"searchAccountsByExternalSystem": {
"edges": [AccountEdge],
"pageInfo": PageInfo
}
}
}
searchAccountsByName
Description
Get an account by its name
Response
Returns an AccountsConnection
Example
Query
query SearchAccountsByName(
$name: String!,
$first: PageSize,
$after: ID
) {
searchAccountsByName(
name: $name,
first: $first,
after: $after
) {
edges {
node {
...AccountFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{
"name": "xyz789",
"first": PageSize,
"after": "4"
}
Response
{
"data": {
"searchAccountsByName": {
"edges": [AccountEdge],
"pageInfo": PageInfo
}
}
}
searchUsersByEmails
Description
get the users by their emails
Response
Returns a UsersConnection
Arguments
| Name | Description |
|---|---|
emails - [String!]!
|
Example
Query
query SearchUsersByEmails($emails: [String!]!) {
searchUsersByEmails(emails: $emails) {
edges {
node {
...UserFragment
}
}
pageInfo {
nextCursor
prevCursor
selfCursor
firstCursor
}
}
}
Variables
{"emails": ["xyz789"]}
Response
{
"data": {
"searchUsersByEmails": {
"edges": [UserEdge],
"pageInfo": PageInfo
}
}
}
user
Description
get the current User
Response
Returns a User
Example
Query
query User {
user {
id
trn
defaultAccount {
id
trn
name
type
customerType
description
status
country
shortCode
transactionInfo {
...AccountTransactionInfoFragment
}
primaryContactInfo {
...AccountPrimaryContactInfoFragment
}
addresses {
...AddressesConnectionFragment
}
address {
...AddressEdgeFragment
}
externalSystems {
...ExternalSystemsFragment
}
metadata {
...MetadataFragment
}
users {
...UserInAccountConnectionFragment
}
user {
...UserInAccountEdgeFragment
}
groups {
...GroupsConnectionFragment
}
applications {
...ApplicationsConnectionFragment
}
}
picture
firstName
lastName
country
language
timezone
state
userName
email
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
accounts {
edges {
...AccountOfUserEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
groups {
edges {
...GroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
}
Response
{
"data": {
"user": {
"id": 4,
"trn": "xyz789",
"defaultAccount": Account,
"picture": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"country": "xyz789",
"language": "abc123",
"timezone": "abc123",
"state": "xyz789",
"userName": "abc123",
"email": "xyz789",
"metadata": Metadata,
"accounts": AccountOfUserConnection,
"groups": GroupsConnection
}
}
}
userWithId
Description
get a user by its ID
Example
Query
query UserWithId($id: ID!) {
userWithId(id: $id) {
id
trn
defaultAccount {
id
trn
name
type
customerType
description
status
country
shortCode
transactionInfo {
...AccountTransactionInfoFragment
}
primaryContactInfo {
...AccountPrimaryContactInfoFragment
}
addresses {
...AddressesConnectionFragment
}
address {
...AddressEdgeFragment
}
externalSystems {
...ExternalSystemsFragment
}
metadata {
...MetadataFragment
}
users {
...UserInAccountConnectionFragment
}
user {
...UserInAccountEdgeFragment
}
groups {
...GroupsConnectionFragment
}
applications {
...ApplicationsConnectionFragment
}
}
picture
firstName
lastName
country
language
timezone
state
userName
email
metadata {
createdBy
createdAt
updatedBy
updatedAt
}
accounts {
edges {
...AccountOfUserEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
groups {
edges {
...GroupEdgeFragment
}
pageInfo {
...PageInfoFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"userWithId": {
"id": 4,
"trn": "xyz789",
"defaultAccount": Account,
"picture": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"country": "xyz789",
"language": "xyz789",
"timezone": "abc123",
"state": "xyz789",
"userName": "xyz789",
"email": "xyz789",
"metadata": Metadata,
"accounts": AccountOfUserConnection,
"groups": GroupsConnection
}
}
}
Types
Account
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
name - String!
|
The name of the account. |
type - String!
|
The account classification based on the purchasing persona. |
customerType - String!
|
The customer's classification based on account size. Size of 1 is |
description - String
|
A brief description of the account. |
status - AccountStatus
|
The activity status of an account. Accounts can either be |
country - String
|
The accounts's primary country of operation represented by ISO |
shortCode - String
|
A unique shortCode for the account. Shortcode is used by |
transactionInfo - AccountTransactionInfo
|
|
primaryContactInfo - AccountPrimaryContactInfo
|
|
addresses - AddressesConnection
|
|
address - AddressEdge
|
|
Arguments
|
|
externalSystems - ExternalSystems!
|
|
metadata - Metadata
|
|
users - UserInAccountConnection
|
|
Arguments
|
|
user - UserInAccountEdge
|
|
Arguments
|
|
groups - GroupsConnection
|
|
applications - ApplicationsConnection
|
|
Arguments |
|
Example
{
"id": 4,
"trn": "abc123",
"name": "abc123",
"type": "abc123",
"customerType": "abc123",
"description": "abc123",
"status": "active",
"country": "abc123",
"shortCode": "xyz789",
"transactionInfo": AccountTransactionInfo,
"primaryContactInfo": AccountPrimaryContactInfo,
"addresses": AddressesConnection,
"address": AddressEdge,
"externalSystems": ExternalSystems,
"metadata": Metadata,
"users": UserInAccountConnection,
"user": UserInAccountEdge,
"groups": GroupsConnection,
"applications": ApplicationsConnection
}
AccountApplicationsFilterInput
Fields
| Input Field | Description |
|---|---|
provisioningStatus - [ApplicationProvisioningStatus!]
|
Example
{"provisioningStatus": ["AUTHORIZED"]}
AccountEdge
Fields
| Field Name | Description |
|---|---|
node - Account!
|
Example
{"node": Account}
AccountOfUserConnection
Fields
| Field Name | Description |
|---|---|
edges - [AccountOfUserEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [AccountOfUserEdge],
"pageInfo": PageInfo
}
AccountOfUserEdge
Fields
| Field Name | Description |
|---|---|
node - Account!
|
|
default - Boolean
|
|
status - UserToAccountStatus
|
|
roles - RolesConnection
|
Example
{
"node": Account,
"default": true,
"status": "COMMITTED",
"roles": RolesConnection
}
AccountPrimaryContactInfo
AccountStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"active"
AccountTaxExemptionStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"tax_exempted"
AccountTransactionInfo
Fields
| Field Name | Description |
|---|---|
taxExemptionStatus - AccountTaxExemptionStatus
|
The tax exemption status of the account. |
taxVatId - String
|
The value-added tax identification number that identifies the |
currency - String
|
The account's primary currency of operation represented by ISO |
ebsAccountNumber - String
|
The Oracle id for the account. |
Example
{
"taxExemptionStatus": "tax_exempted",
"taxVatId": "abc123",
"currency": "xyz789",
"ebsAccountNumber": "xyz789"
}
AccountsConnection
Fields
| Field Name | Description |
|---|---|
edges - [AccountEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [AccountEdge],
"pageInfo": PageInfo
}
Address
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
accountId - ID!
|
|
country - String!
|
The ISO 3166-1 alpha-2 country code. For example, US |
region - String!
|
The region in which the locality is. For example, Colorado or another appropriate first-level administrative division. |
locality - String!
|
The locality in which the address is. For example, Westminster. |
postalCode - String
|
The postal code. For example, 80021. |
addressLine1 - String
|
Address lines 1-4 describe the address of the place, as per the conventions of its country or region. |
addressLine2 - String
|
|
addressLine3 - String
|
|
addressLine4 - String
|
|
status - AddressStatus!
|
The activity status of an address. |
shipping - Shipping
|
|
billing - Billing
|
|
externalSystems - ExternalSystems!
|
|
metadata - Metadata
|
Example
{
"id": "4",
"trn": "xyz789",
"accountId": "4",
"country": "abc123",
"region": "xyz789",
"locality": "abc123",
"postalCode": "xyz789",
"addressLine1": "abc123",
"addressLine2": "xyz789",
"addressLine3": "abc123",
"addressLine4": "abc123",
"status": "active",
"shipping": Shipping,
"billing": Billing,
"externalSystems": ExternalSystems,
"metadata": Metadata
}
AddressEdge
Fields
| Field Name | Description |
|---|---|
node - Address!
|
Example
{"node": Address}
AddressStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"active"
AddressesConnection
Fields
| Field Name | Description |
|---|---|
edges - [AddressEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [AddressEdge],
"pageInfo": PageInfo
}
Application
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
name - String!
|
The name of the application. |
displayName - String!
|
Display name of the application |
scopes - [ApplicationScope!]
|
Scopes associated with the application. |
metadata - Metadata
|
|
grantTypes - [String!]
|
Grant types supported by the application |
redirectUris - [String!]
|
Redirect URIs for the application. |
logoutUris - [String!]
|
Logout URIs for the application |
entityId - String
|
|
assertionConsumerUrl - String
|
|
x509RequestSigningCert - String
|
|
isAuthnRequestSigned - Boolean
|
|
isAssertionsSigned - Boolean
|
|
certificates - [ApplicationCertificate!]
|
|
groups - GroupsConnection
|
Group references for an application. |
Example
{
"id": 4,
"trn": "xyz789",
"name": "xyz789",
"displayName": "xyz789",
"scopes": [ApplicationScope],
"metadata": Metadata,
"grantTypes": ["abc123"],
"redirectUris": ["abc123"],
"logoutUris": ["xyz789"],
"entityId": "abc123",
"assertionConsumerUrl": "xyz789",
"x509RequestSigningCert": "xyz789",
"isAuthnRequestSigned": false,
"isAssertionsSigned": false,
"certificates": [ApplicationCertificate],
"groups": GroupsConnection
}
ApplicationCertificate
ApplicationEdge
Fields
| Field Name | Description |
|---|---|
node - Application!
|
Example
{"node": Application}
ApplicationInGroupEdge
Fields
| Field Name | Description |
|---|---|
node - Application
|
|
status - String
|
|
roleIds - [ID!]!
|
Example
{
"node": Application,
"status": "xyz789",
"roleIds": ["4"]
}
ApplicationProvisioningStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"AUTHORIZED"
ApplicationScope
ApplicationsConnection
Fields
| Field Name | Description |
|---|---|
edges - [ApplicationEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [ApplicationEdge],
"pageInfo": PageInfo
}
Billing
Boolean
Description
The Boolean scalar type represents true or false.
CdhSyncAccount
Fields
| Field Name | Description |
|---|---|
cdhId - ID!
|
|
iamId - ID
|
|
isInIam - Boolean!
|
|
canBeMigrated - Boolean!
|
|
violations - [CdhSyncError!]
|
|
sites - CdhSyncSiteConnection!
|
|
sourceSystems - CdhSyncAccountSourceSystemConnection!
|
|
Example
{
"cdhId": 4,
"iamId": "4",
"isInIam": false,
"canBeMigrated": false,
"violations": [CdhSyncError],
"sites": CdhSyncSiteConnection,
"sourceSystems": CdhSyncAccountSourceSystemConnection
}
CdhSyncAccountSourceSystem
CdhSyncAccountSourceSystemConnection
Fields
| Field Name | Description |
|---|---|
edges - [CdhSyncAccountSourceSystemEdge!]
|
|
pageInfo - CdhSyncPageInfo!
|
Example
{
"edges": [CdhSyncAccountSourceSystemEdge],
"pageInfo": CdhSyncPageInfo
}
CdhSyncAccountSourceSystemEdge
Fields
| Field Name | Description |
|---|---|
node - CdhSyncAccountSourceSystem!
|
Example
{"node": CdhSyncAccountSourceSystem}
CdhSyncError
CdhSyncPageInfo
Fields
| Field Name | Description |
|---|---|
endCursor - String
|
Example
{"endCursor": "xyz789"}
CdhSyncSite
Fields
| Field Name | Description |
|---|---|
cdhId - ID!
|
|
iamId - ID
|
|
isInIam - Boolean!
|
|
canBeMigrated - Boolean!
|
|
violations - [CdhSyncError!]
|
|
sourceSystems - CdhSyncSiteSourceSystemConnection!
|
|
Example
{
"cdhId": "4",
"iamId": "4",
"isInIam": true,
"canBeMigrated": false,
"violations": [CdhSyncError],
"sourceSystems": CdhSyncSiteSourceSystemConnection
}
CdhSyncSiteConnection
Fields
| Field Name | Description |
|---|---|
edges - [CdhSyncSiteEdge!]
|
|
pageInfo - CdhSyncPageInfo!
|
Example
{
"edges": [CdhSyncSiteEdge],
"pageInfo": CdhSyncPageInfo
}
CdhSyncSiteEdge
Fields
| Field Name | Description |
|---|---|
node - CdhSyncSite!
|
Example
{"node": CdhSyncSite}
CdhSyncSiteSourceSystem
CdhSyncSiteSourceSystemConnection
Fields
| Field Name | Description |
|---|---|
edges - [CdhSyncSiteSourceSystemEdge!]
|
|
pageInfo - CdhSyncPageInfo!
|
Example
{
"edges": [CdhSyncSiteSourceSystemEdge],
"pageInfo": CdhSyncPageInfo
}
CdhSyncSiteSourceSystemEdge
Fields
| Field Name | Description |
|---|---|
node - CdhSyncSiteSourceSystem!
|
Example
{"node": CdhSyncSiteSourceSystem}
Device
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
serialNumber - String!
|
Device Serial Number. |
model - String!
|
Model to which the device belongs. |
manufacturer - String!
|
Manufacturer associated with the device. |
firmware - String
|
Firmware details of the device. |
description - String
|
Short note about device details. |
metadata - Metadata
|
|
accounts - AccountsConnection
|
|
certificates - DeviceCertificateConnection
|
|
Example
{
"id": 4,
"trn": "xyz789",
"serialNumber": "abc123",
"model": "xyz789",
"manufacturer": "abc123",
"firmware": "xyz789",
"description": "abc123",
"metadata": Metadata,
"accounts": AccountsConnection,
"certificates": DeviceCertificateConnection
}
DeviceCertificate
Example
{
"id": "4",
"trn": "xyz789",
"certificate": "xyz789",
"name": "abc123",
"expiryAtDateTime": "xyz789",
"thumbPrint": "xyz789",
"metadata": Metadata
}
DeviceCertificateConnection
Fields
| Field Name | Description |
|---|---|
edges - [DeviceCertificateEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [DeviceCertificateEdge],
"pageInfo": PageInfo
}
DeviceCertificateEdge
Fields
| Field Name | Description |
|---|---|
node - DeviceCertificate!
|
Example
{"node": DeviceCertificate}
DeviceConnection
Fields
| Field Name | Description |
|---|---|
edges - [DeviceEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [DeviceEdge],
"pageInfo": PageInfo
}
DeviceEdge
Fields
| Field Name | Description |
|---|---|
node - Device!
|
Example
{"node": Device}
Edge
Fields
| Field Name | Description |
|---|---|
node - Node
|
With the current implementation of pagination we cannot add the GraphQL recommended cursor attribute but should have the Edge interface for extensibility later. |
Example
{"node": Node}
ExternalSystemReference
ExternalSystems
Fields
| Field Name | Description |
|---|---|
sourceSystem - ExternalSystemReference!
|
|
references - [ExternalSystemReference!]
|
Example
{
"sourceSystem": ExternalSystemReference,
"references": [ExternalSystemReference]
}
Group
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
name - String!
|
The name should be unique (case-insensitive) within the tenant account. |
description - String
|
|
metadata - Metadata
|
|
applications - GroupApplicationConnection
|
|
devices - DeviceConnection
|
|
users - UsersConnection
|
|
Arguments
|
|
children - GroupsConnection
|
|
Example
{
"id": "4",
"trn": "xyz789",
"name": "xyz789",
"description": "abc123",
"metadata": Metadata,
"applications": GroupApplicationConnection,
"devices": DeviceConnection,
"users": UsersConnection,
"children": GroupsConnection
}
GroupApplicationConnection
Fields
| Field Name | Description |
|---|---|
edges - [ApplicationInGroupEdge!]!
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [ApplicationInGroupEdge],
"pageInfo": PageInfo
}
GroupEdge
Fields
| Field Name | Description |
|---|---|
node - Group!
|
Example
{"node": Group}
GroupUsersFilter
Description
Filter criteria used to narrow users returned for a group. Use this input on Group.users to return only users whose membership status matches one of the provided values.
Fields
| Input Field | Description |
|---|---|
status - [UserToGroupStatus]
|
Filter users by their user-to-group membership status. If omitted or empty, no status-based filtering is applied. |
requestType - [UserToGroupRequestType]
|
Filter users by the type of request that initiated their group membership. If omitted or empty, no request-type-based filtering is applied. |
Example
{"status": ["COMMITTED"], "requestType": ["SELF_JOIN"]}
GroupsConnection
Fields
| Field Name | Description |
|---|---|
edges - [GroupEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [GroupEdge],
"pageInfo": PageInfo
}
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
Metadata
Node
Possible Types
| Node Types |
|---|
Example
{
"id": "4",
"trn": "xyz789",
"metadata": Metadata
}
Organization
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
name - String!
|
The name of the organization. The name or website is mandatory |
website - String!
|
The website of the organization. The name or website is mandatory |
description - String
|
The description about the organization |
industry - String
|
The industry to which the organization belongs. |
primaryContactInfo - OrganizationPrimaryContactInfo
|
|
address - OrganizationAddress
|
|
metadata - Metadata
|
Example
{
"id": "4",
"trn": "xyz789",
"name": "xyz789",
"website": "xyz789",
"description": "xyz789",
"industry": "abc123",
"primaryContactInfo": OrganizationPrimaryContactInfo,
"address": OrganizationAddress,
"metadata": Metadata
}
OrganizationAddress
Fields
| Field Name | Description |
|---|---|
country - String!
|
The ISO 3166-1 alpha-2 country code. For example, US |
region - String
|
The region in which the locality is. For example, Colorado or another appropriate first-level administrative division. |
locality - String
|
The locality in which the street address is. For example, Westminster. |
postalCode - String
|
The postal code. For example, 80021. |
streetAddress - String
|
The street address. For example, 10368 Westmoor Dr. |
postOfficeBoxNumber - String
|
he post office box number. For example, 1234. |
Example
{
"country": "abc123",
"region": "xyz789",
"locality": "xyz789",
"postalCode": "abc123",
"streetAddress": "abc123",
"postOfficeBoxNumber": "abc123"
}
OrganizationPrimaryContactInfo
Example
{
"email": "xyz789",
"firstName": "xyz789",
"lastName": "abc123",
"phoneNumber": "abc123"
}
PageInfo
PageSize
Description
PageSize is an integer value in the range (0, 50]
Example
PageSize
Permission
PermissionEdge
Fields
| Field Name | Description |
|---|---|
node - Permission!
|
Example
{"node": Permission}
PermissionsConnection
Fields
| Field Name | Description |
|---|---|
edges - [PermissionEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [PermissionEdge],
"pageInfo": PageInfo
}
Role
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
name - String!
|
|
permissions - PermissionsConnection
|
|
metadata - Metadata
|
Example
{
"id": 4,
"trn": "xyz789",
"name": "abc123",
"permissions": PermissionsConnection,
"metadata": Metadata
}
RoleEdge
Fields
| Field Name | Description |
|---|---|
node - Role!
|
Example
{"node": Role}
RolesConnection
Fields
| Field Name | Description |
|---|---|
edges - [RoleEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [RoleEdge],
"pageInfo": PageInfo
}
Shipping
SortDirection
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"ASC"
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
User
Fields
| Field Name | Description |
|---|---|
id - ID!
|
|
trn - String!
|
|
defaultAccount - Account
|
The Id of the default account of the user. This is the account that is used by default for all operations that require an account reference. A user can have multiple accounts but only one default account. |
picture - String
|
The pre-signed, limited-lifetime URL of the user's profile picture. This URL is valid for 24 hours only. |
firstName - String
|
The user's first name. This is the given name or personal name of the user. |
lastName - String
|
The user's last name. This is the family name or surname of the user. |
country - String
|
The country where the user resides. This should be a valid country name as per the ISO 3166-1 alpha-2 standard.The supported countries are |
language - String
|
The user's preferred language. This is used to personalize the user experience by displaying content in the chosen language. The format should be a restricted set of language codes with languages and regions as defined in the IANA language subtag registry. |
timezone - String
|
The user's timezone. This is used to display times in the user's local timezone. Should be a BCP 47-compatible timezone designator with short codes |
state - String
|
The state where the user resides. This should be a valid state name as per the ISO 3166-1 alpha-2 standard.State field is currently supported only for countries |
userName - String
|
The user's username. This is required for transient users who do not have an email address. Either the email or username is required for user identification. |
email - String
|
The user's email address. This is used for login and communication purposes. This is required for regular users. This field must be unique if provided. Either the email or username is required for user identification. |
metadata - Metadata
|
|
accounts - AccountOfUserConnection
|
|
groups - GroupsConnection
|
|
Arguments |
|
Example
{
"id": 4,
"trn": "abc123",
"defaultAccount": Account,
"picture": "xyz789",
"firstName": "abc123",
"lastName": "xyz789",
"country": "abc123",
"language": "xyz789",
"timezone": "abc123",
"state": "xyz789",
"userName": "xyz789",
"email": "xyz789",
"metadata": Metadata,
"accounts": AccountOfUserConnection,
"groups": GroupsConnection
}
UserEdge
Fields
| Field Name | Description |
|---|---|
node - User!
|
Example
{"node": User}
UserFilterInput
Fields
| Input Field | Description |
|---|---|
status - [UserToAccountStatus]
|
|
roleName - [String]
|
Example
{
"status": ["COMMITTED"],
"roleName": ["abc123"]
}
UserGroupsFilter
Fields
| Input Field | Description |
|---|---|
roleIds - [String]
|
|
status - [UserToGroupStatus]
|
Example
{
"roleIds": ["xyz789"],
"status": ["COMMITTED"]
}
UserInAccountConnection
Fields
| Field Name | Description |
|---|---|
totalCount - Int
|
|
edges - [UserInAccountEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"totalCount": 987,
"edges": [UserInAccountEdge],
"pageInfo": PageInfo
}
UserInAccountEdge
Fields
| Field Name | Description |
|---|---|
node - User!
|
|
default - Boolean
|
|
status - UserToAccountStatus
|
|
roles - RolesConnection
|
Example
{
"node": User,
"default": false,
"status": "COMMITTED",
"roles": RolesConnection
}
UserSortField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"EMAIL"
UserSortInput
Fields
| Input Field | Description |
|---|---|
field - UserSortField
|
|
direction - SortDirection
|
Example
{"field": "EMAIL", "direction": "ASC"}
UserToAccountStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMMITTED"
UserToGroupRequestType
Description
Possible request type values that initiated a user-to-group membership.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"SELF_JOIN"
UserToGroupStatus
Description
Possible status values existing between user and group.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMMITTED"
UsersConnection
Fields
| Field Name | Description |
|---|---|
edges - [UserEdge!]
|
|
pageInfo - PageInfo!
|
Example
{
"edges": [UserEdge],
"pageInfo": PageInfo
}