# Objects

# Account

Represents an Account entity


## Fields:

  - `accountId` (String!): Represents the unique identifier of the account
  - `accountName` (String): Name of the account
  - `accountType` (String): Represents the type of account
  - `contactEmail` (String): Email address of the contact associated with the account.
This field is applicable only when the Account is linked through Entitlement.
Returns `null` if no relevant parent association exists
  - `currentOwner` (Boolean): Flag indicating if this account is the current owner of the entitlement.
This field is applicable only when the Account is linked through Entitlement.
Returns `null` if no relevant parent association exists
  - `partnerTierName` (String): Represents the partner tier associated with the account.
This field is applicable only when the Account is linked through Entitlement.
Returns `null` if no relevant parent association exists
  - `address1` (String): Address line 1 of the account
  - `address2` (String): Address line 2 of the account
  - `attributes` ([Attribute]): Represents the custom attributes associated with the account
  - `city` (String): City of the account
  - `country` (String): Country of the account
  - `description` (String): Description of the account
  - `region` (String): Region of the account
  - `state` (String): State of the account
  - `visible` (Boolean): Visibility of the account
  - `zipcode` (String): Zip code of the account


---

# AccountCreationResponse

Response returned after attempting to create an account


## Fields:

  - `message` (String): Account creation success message
  - `status` (String): Status of the account creation


---

# ActivationId

Represents the activation ID of a line item


## Fields:

  - `activationId` (String)


---

# Attribute

Represents a custom attribute associated with an entity


## Fields:

  - `name` (String!): Name of the custom attribute
  - `value` (JSON!): Respective value of the custom attribute


---

# CreateFeatureResponse

Response for feature creation


## Fields:

  - `featureId` (String): ID of the created feature (featureName)
  - `message` (String): Success or error message


---

# CreateMaintenanceProductResponse

Response for creating a maintenance product.


## Fields:

  - `maintenanceProduct` (String): Name of the maintenance product
  - `message` (String): Status message for the operation
  - `status` (String): Status of the operation (e.g., "success")
  - `version` (String): Version of the maintenance product


---

# CreateProductResponse

Response for creating a product.


## Fields:

  - `message` (String): Status message for the operation
  - `status` (String): Status of the operation (e.g., "success")


---

# CreateSuiteResponse

Response for suite creation.


## Fields:

  - `message` (String): Success or error message
  - `suiteName` (String): Name of the created suite


---

# Entitlement

Represents the entitlement entity


## Fields:

  - `createdOn` (String): Represents the date and time when the entitlement was created
  - `description` (String): Human readable description of the entitlement
  - `entitlementId` (String!): Represents a high-level entitlement entity
  - `shipToAddress` (String): Represents the shipping address associated with the entitlement
  - `shipToEmail` (String): Email address associated with shipment contact
  - `status` (String): status could be one of the following values: ACTIVE, INACTIVE, DRAFT, DEPLOYED, OBSOLETE
  - `updatedOn` (String): Represents the date and time when the entitlement was last updated


---

# EntitlementDetail

Entitlement details including associated accounts and line items


## Fields:

  - `accounts` ([Account!]!): Represents the accounts associated with the entitlement
  - `attributes` ([Attribute]): Represents the custom attributes associated with the entitlement
  - `createdOn` (String): Represents the date and time when the entitlement was created
  - `description` (String): Human readable description of the entitlement
  - `entitlementId` (String!): Unique identifier of the entitlement
  - `lineItems` ([LineItemDetail!]!): List of line items associated with the entitlement
  - `shipToAddress` (String): Represents the shipping address associated with the entitlement
  - `shipToEmail` (String): Email address associated with shipment contact
  - `status` (String): status could be one of the following values: ACTIVE, INACTIVE, DRAFT, DEPLOYED, OBSOLETE
  - `updatedOn` (String): Represents the date and time when the entitlement was last updated


---

# EntitlementListResponse

Paginated response carrying a list of entitlements


## Fields:

  - `entitlements` ([Entitlement!]!): List of entitlement entities
  - `limit` (Int): Represents limit per page for pagination
  - `page` (Int): Represents page for pagination


---

# Feature

Represents a feature entity in a product context


## Fields:

  - `count` (Int): Feature count
  - `name` (String): Unique feature name
  - `version` (String): Version identifier of the feature


---

# FeatureBundle

Represents a feature bundle entity in a product context


## Fields:

  - `count` (Int): Count for the feature bundle
  - `name` (String): Unique feature bundle name


---

# FeatureBundleCreateResponse

Response for feature bundle creation


## Fields:

  - `featureBundle` (String): Name of the created feature bundle
  - `message` (String): Success or error message


---

# FeatureBundleFeatureResponse

Feature within a feature bundle


## Fields:

  - `featureName` (String): Name to uniquely identify the feature.
Example: "MyFeature"
  - `quantity` (Int): Quantity of the feature (minimum value is 1).
Example: 1
  - `state` (String): State of the feature.
Valid values: draft, deployed, obsolete, inactive.
  - `version` (String): Version of the feature.
Example: "1.0"


---

# FeatureBundleFeatureResponseDTO

Feature within a feature bundle (response for getFeatureBundles query)


## Fields:

  - `name` (String): Feature name
  - `quantity` (Int): Feature quantity in the bundle
  - `state` (String): State of the feature
  - `version` (String): Feature version


---

# FeatureBundleGet

Feature bundle details with full information


## Fields:

  - `description` (String): Description of the feature bundle
  - `featureBundleName` (String): Name of the feature bundle
  - `featureList` ([FeatureBundleFeatureResponse]): List of features in the bundle
  - `state` (String): Current state of the feature bundle


---

# FeatureBundleGetResponse

Response containing a single feature bundle


## Fields:

  - `featureBundle` (FeatureBundleGet): The feature bundle details


---

# FeatureBundleListResponse

Paginated response for feature bundles


## Fields:

  - `featureBundles` ([FeatureBundleResponseDTO]): List of feature bundles
  - `pagination` (Pagination): Pagination information


---

# FeatureBundleResponseDTO

Feature bundle response object with summary information


## Fields:

  - `creationDate` (String): Creation date of the feature bundle
  - `description` (String): Description of the feature bundle
  - `featureBundleName` (String): Name of the feature bundle
  - `features` ([FeatureBundleFeatureResponseDTO]): List of features in the bundle
  - `lastModifiedDate` (String): Last modification date of the feature bundle
  - `state` (String): Current state of the feature bundle


---

# FeaturesResponseDTO

Response object representing a feature with full details


## Fields:

  - `createdOn` (String): Creation date of the feature
  - `description` (String): Description of the feature
  - `lastModifiedOn` (String): Last modification date of the feature
  - `name` (String): Name of the feature
  - `overrideProperties` (OverrideProperties): Override properties for the feature
  - `state` (String): Current state of the feature (DRAFT, DEPLOYED, OBSOLETE, INACTIVE)
  - `version` (String): Version of the feature
  - `versionFormat` (String): Version format (FIXED or DATEBASED)


---

# LicenseModel

Represents a license model entity


## Fields:

  - `issuer` (String): Issuer associated with the license model.
This field is applicable only when the LicenseModel is linked through Entitlement → LineItem → Product.
Returns `null` if no relevant parent association exists
  - `licenseModelName` (String!): License Model name
  - `notice` (String): Notice associated with the license model.
This field is applicable only when the LicenseModel is linked through Entitlement → LineItem → Product.
Returns `null` if no relevant parent association exists
  - `serialNumber` (String): Serial number associated with the license model.
This field is applicable only when the LicenseModel is linked through Entitlement → LineItem → Product.
Returns `null` if no relevant parent association exists
  - `vendorString` (String): Vendor string associated with the license model.
This field is applicable only when the LicenseModel is linked through Entitlement → LineItem → Product.
Returns `null` if no relevant parent association exists


---

# LineItem

Represents a line item in the entitlement


## Fields:

  - `activationId` (String!): Unique activation identifier of the line item
  - `duration` (Int): Duration that the line item will be active
  - `expiryDate` (String): Expiry date of the line item
  - `lineItemState` (String): Represents the current state of the line item active/inactive/draft/deployed/obsolete
  - `orderType` (String): Represents the line item order type
  - `permanent` (Boolean): Indicates if the line item is permanent
  - `products` ([Product!]!): Products associated with the line item
  - `quantity` (Int): Represents the quantity of the line item
  - `startDate` (String): Start date of the line item


---

# LineItemDetail

Detailed information about a line item


## Fields:

  - `activationId` (String!): Unique activation identifier of the line item
  - `duration` (Int): Duration that the line item will be active
  - `expiryDate` (String): Expiry date of the line item
  - `lineItemState` (String): Represents the current state of the line item active/inactive/draft/deployed/obsolete
  - `orderType` (String): Represents the line item order type
  - `permanent` (Boolean): Indicates if the line item is permanent
  - `products` ([Product!]!): Products associated with the line item
  - `quantity` (Int): Represents the quantity of the line item
  - `startDate` (String): Start date of the line item


---

# LineItemGraphQLResponse

GraphQL response for line item creation


## Fields:

  - `response` ([LineItemResultEntry]): List of line item creation results


---

# LineItemListResponse

Paginated response carrying a list of line items


## Fields:

  - `limit` (Int): Represents limit per page for pagination
  - `lineItems` ([LineItem!]!): List of line item entities
  - `page` (Int): Represents page for pagination


---

# LineItemResponse

Response a list type line item response


## Fields:

  - `responseItems` ([LineItemResponseItem])


---

# LineItemResponseItem

Represents a single line item response


## Fields:

  - `activationId` (String)
  - `errorMsg` (String)
  - `status` (String)


---

# LineItemResult

Result item containing status, activation ID and error message


## Fields:

  - `activationId` (String): Activation ID if successful
  - `errorMsg` (String): Error message if status is error
  - `status` (String): Status of the operation (success/error)


---

# LineItemResultEntry

Entry in the line item creation response.
Represents the result of creating a line item at a specific index.


## Fields:

  - `index` (Int!): Index of the line item in the input array.
This maintains the same order as the input request.
Example: 0, 1, 2
  - `result` (LineItemResult): Result of the operation (success/error)


---

# MaintenanceProductDTO

Maintenance product information.


## Fields:

  - `creationDate` (String): Creation date in ISO format
  - `description` (String): Description of the maintenance product
  - `lastModifiedDate` (String): Last modified date in ISO format
  - `maintenanceName` (String): Name of the maintenance product
  - `partNumbers` ([PartNumbersDTO]): List of associated part numbers
  - `state` (String): State of the maintenance product
  - `version` (String): Version of the maintenance product


---

# MaintenanceProductListDTO

Maintenance product list response.


## Fields:

  - `maintenanceProducts` ([MaintenanceProductDTO]): List of maintenance products
  - `pagination` (Pagination): Pagination information


---

# OverrideProperties

Override properties for a feature


## Fields:

  - `notice` (String): Notice string to override the default value
  - `serialNumber` (String): Serial number to override the default value
  - `vendorString` (String): Vendor string to override the default value


---

# PagedAccountResponse

Paginated account response


## Fields:

  - `accounts` ([Account!]): List of accounts
  - `pagination` (Pagination): Pagination information


---

# PagedFeatureResponse

Paginated response carrying a list of features


## Fields:

  - `features` ([FeaturesResponseDTO]): List of features
  - `pagination` (Pagination): Pagination information


---

# PagedUserResponse

Paginated users response


## Fields:

  - `pagination` (Pagination): Pagination information
  - `userList` ([UserInfo!]): List of user accounts


---

# Pagination

Represents the pagination information


## Fields:

  - `limit` (Int): Number of records per page
  - `page` (Int): Represents page number for pagination
  - `totalCount` (Int): Represents total number of records


---

# PartNumberGraphQLResponse

Response for part number creation


## Fields:

  - `response` ([PartNumberResultEntry]): List of part number creation results


---

# PartNumberProductResponseDTO

Product details in part number response


## Fields:

  - `licenseModel` (String): License model associated with the product
  - `name` (String): Name of the product
  - `version` (String): Version of the product


---

# PartNumberResponseDTO

Response object representing a part number with full details


## Fields:

  - `createdDate` (String): Creation date of the part number
  - `description` (String): Description of the part number
  - `lastModifiedDate` (String): Last modification date of the part number
  - `name` (String): Name of the part number
  - `product` (PartNumberProductResponseDTO): Product details associated with this part number
  - `trialAvailability` (Boolean): Trial availability flag


---

# PartNumberResponseListDTO

Paginated response carrying a list of part numbers


## Fields:

  - `pagination` (Pagination): Pagination information
  - `partNumbers` ([PartNumberResponseDTO]): List of part numbers


---

# PartNumberResultEntry

Entry in the part number creation response.
Represents the result of creating a part number at a specific index.


## Fields:

  - `index` (Int!): Index of the part number in the input array.
This maintains the same order as the input request.
Example: 0, 1, 2
  - `result` (ResultItem): Result of the operation (success/error)


---

# PartNumbersDTO

Part number information for maintenance product.


## Fields:

  - `partNumber` (String): Part number identifier


---

# Product

Represents a product and its related licensing configuration


## Fields:

  - `licenseModel` (LicenseModel): License model associated with the product
  - `productName` (String!): Unique product name
  - `quantityPerCopy` (Int): Quantity per copy of the product.
This field is applicable only when the Product is linked through Entitlement → LineItem.
Returns `null` if no relevant parent association exists
  - `version` (String): Version identifier of the product
  - `description` (String): Human readable description
  - `featureBundles` ([FeatureBundle]): List of feature bundles linked to this product
  - `features` ([Feature]): List of features belonging to this product
  - `hostTypes` ([String]): Supported host types
  - `licenseGenerator` (String): License generator identifier
  - `licenseModels` ([LicenseModel]): License model associated with this product
  - `licenseTechnology` (String): Licensing technology identifier
  - `obsoleteFulfillmentDownloadEndUser` (Boolean): Obsolete Fulfillment Download End User flag
  - `obsoleteFulfillmentDownloadProducer` (Boolean): Obsolete Fulfillment Download Producer flag
  - `partNumbers` ([String]): List of part numbers tied to the product
  - `productCategory` (String): Product category label
  - `state` (String): Current lifecycle state of the product
  - `upgradeEmailTemplateVarName` (String): Variable name for upgrade email template
  - `usedOnDevice` (Boolean): Indicates if product is used on a device


---

# ProductListDTO

Paginated response carrying a list of products


## Fields:

  - `pagination` (Pagination): Represents pagination information
  - `productList` ([Product]): List of product entities


---

# Response

Represents a generic response


## Fields:

  - `message` (String): Response message
  - `status` (String): Response status


---

# ResultItem

Result item containing status and error message


## Fields:

  - `errorMsg` (String): Error message if status is error
  - `status` (String): Status of the operation (success/error)


---

# SuiteDTO

Complete suite details including products, part numbers, and attributes.


## Fields:

  - `createdOn` (String): Creation date (ISO 8601 format)
  - `description` (String): Description of the suite
  - `hostTypes` ([String]): List of supported host types
  - `licenseGenerator` (String): License generator
  - `licenseModels` ([LicenseModel]): List of license models
  - `licenseTechnology` (String): License technology
  - `obsoleteFulfillmentDownloadEndUser` (Boolean): Obsolete fulfillment download for end user
  - `obsoleteFulfillmentDownloadProducer` (Boolean): Obsolete fulfillment download for producer
  - `packageName` (String): Package name
  - `packageVersion` (String): Package version
  - `packageVersionFormat` (String): Package version format
  - `partNumbers` ([String]): List of part numbers associated with the suite
  - `products` ([SuiteProductDTO]): List of products in the suite
  - `state` (String): State of the suite (e.g., DRAFT, DEPLOYED, OBSOLETE, INACTIVE)
  - `suiteAttributes` ([JSON]): Suite attributes (custom attributes)
  - `suiteCategory` (String): Suite category
  - `suiteName` (String): Name of the suite
  - `updatedOn` (String): Last modified date (ISO 8601 format)
  - `usedOnDevice` (Boolean): Indicates if suite is used on device
  - `version` (String): Version of the suite


---

# SuiteListItemDTO

Suite list item with basic information.


## Fields:

  - `createdOn` (String): Creation date (ISO 8601 format)
  - `description` (String): Description of the suite
  - `licenseGenerator` (String): License generator
  - `licenseTechnology` (String): License technology
  - `obsoleteFulfillmentDownloadEndUser` (Boolean): Obsolete fulfillment download for end user
  - `obsoleteFulfillmentDownloadProducer` (Boolean): Obsolete fulfillment download for producer
  - `packageName` (String): Package name
  - `packageVersion` (String): Package version
  - `packageVersionFormat` (String): Package version format
  - `state` (String): State of the suite (e.g., DRAFT, DEPLOYED, OBSOLETE, INACTIVE)
  - `suiteCategory` (String): Suite category
  - `suiteName` (String): Name of the suite
  - `updatedOn` (String): Last modified date (ISO 8601 format)
  - `usedOnDevice` (Boolean): Indicates if suite is used on device
  - `version` (String): Version of the suite


---

# SuiteListResponseDTO

Paginated response containing a list of suites.


## Fields:

  - `pagination` (Pagination): Pagination information
  - `suiteList` ([SuiteListItemDTO]): List of suites


---

# SuiteProductDTO

Suite product details in response.


## Fields:

  - `productName` (String): Name of the product
  - `quantity` (Int): Quantity of the product
  - `state` (String): State of the product
  - `version` (String): Version of the product


---

# SuiteResponseDTO

Response containing a single suite.


## Fields:

  - `suite` (SuiteDTO): The suite data


---

# UserAccount

Account information associated with a user


## Fields:

  - `accountId` (String!): Unique identifier for the account
  - `accountName` (String!): Name of the account
  - `accountType` (String): Type of the account
  - `expiryDate` (String): Expiration date of the account access
  - `roles` ([String!]!): Roles assigned to the user for this account


---

# UserCreationResponse

Response returned after attempting to create a user


## Fields:

  - `message` (String): User creation success message
  - `status` (String): Status of the user created


---

# UserDetail

Response returned after getting user details with account information


## Fields:

  - `accounts` ([UserAccount!]!): Accounts associated with the user
  - `attributes` ([Attribute]): Represents the custom attributes associated with the account
  - `city` (String): City of the user
  - `country` (String): Country of the user
  - `displayName` (String): Display name of the user
  - `emailAddress` (String): Email address of the user
  - `faxNumber` (String): Fax number of the user
  - `firstName` (String): First name of the user
  - `lastName` (String): Last name of the user
  - `locale` (String): Locale preference of the user
  - `optIn` (Boolean): Whether the user has opted in for communications
  - `phoneNumber` (String): Phone number of the user
  - `portalLogin` (Boolean): Whether the user can login
  - `shared` (Boolean): Whether the user is shared across accounts
  - `state` (String): State or province of the user
  - `status` (String): Status of the user account (active/inactive)
  - `street` (String): Street address of the user
  - `timezone` (String): Timezone preference of the user
  - `userName` (String): Username of the user
  - `zipcode` (String): Postal/ZIP code of the user


---

# UserInfo

Response returned after getting user info without account information


## Fields:

  - `attributes` ([Attribute]): Represents the custom attributes associated with the account
  - `city` (String): City of the user
  - `country` (String): Country of the user
  - `displayName` (String): Display name of the user
  - `emailAddress` (String): Email address of the user
  - `faxNumber` (String): Fax number of the user
  - `firstName` (String): First name of the user
  - `lastName` (String): Last name of the user
  - `locale` (String): Locale preference of the user
  - `optIn` (Boolean): Whether the user has opted in for communications
  - `phoneNumber` (String): Phone number of the user
  - `portalLogin` (Boolean): Whether the user can login
  - `shared` (Boolean): Whether the user is shared across accounts
  - `state` (String): State or province of the user
  - `status` (String): Status of the user account (active/inactive)
  - `street` (String): Street address of the user
  - `timezone` (String): Timezone preference of the user
  - `userName` (String): Username of the user
  - `zipcode` (String): Postal/ZIP code of the user


---

