Licenses

Contracts, license plans, assigned licenses, analytics, usage, pricing, and optimization opportunities.

Last updated

Queries

contract query

Retrieve contract data from the Viio GraphQL API.

contract(id: ID!): Contract

Returns: Contract

Arguments for contract

NameDescription
id (ID!)

contracts query

Retrieve contracts data from the Viio GraphQL API.

contracts(first: Int, after: String, last: Int, before: String, where: ContractFilterInput, order: [ContractSortInput!]): ContractsConnection

Returns: ContractsConnection

Arguments for contracts

NameDescription
where (ContractFilterInput)
order ([ContractSortInput!])
first (Int)Returns the first n elements from the list.
after (String)Returns elements after the specified cursor.
last (Int)Returns the last n elements from the list.
before (String)Returns elements before the specified cursor.

licensePlans query

Retrieve licensePlans data from the Viio GraphQL API.

licensePlans(first: Int, after: String, last: Int, before: String, where: LicensePlanFilterInput, order: [LicensePlanSortInput!]): LicensePlansConnection

Returns: LicensePlansConnection

Arguments for licensePlans

NameDescription
where (LicensePlanFilterInput)
order ([LicensePlanSortInput!])
first (Int)Returns the first n elements from the list.
after (String)Returns elements after the specified cursor.
last (Int)Returns the last n elements from the list.
before (String)Returns elements before the specified cursor.

licensePlan query

Retrieve licensePlan data from the Viio GraphQL API.

licensePlan(id: ID!): LicensePlan

Returns: LicensePlan

Arguments for licensePlan

NameDescription
id (ID!)

aggregatedLicensePlans query

Retrieve aggregatedLicensePlans data from the Viio GraphQL API.

aggregatedLicensePlans(groupBy: AggregatedLicensePlansGroupByInput!, first: Int, after: String, last: Int, before: String, where: LicensePlanFilterInput, order: [LicensePlanSortInput!]): AggregatedLicensePlansConnection

Returns: AggregatedLicensePlansConnection

Arguments for aggregatedLicensePlans

NameDescription
groupBy (AggregatedLicensePlansGroupByInput!)
where (LicensePlanFilterInput)
order ([LicensePlanSortInput!])
first (Int)Returns the first n elements from the list.
after (String)Returns elements after the specified cursor.
last (Int)Returns the last n elements from the list.
before (String)Returns elements before the specified cursor.

licenses query

Retrieve licenses data from the Viio GraphQL API.

licenses(first: Int, after: String, last: Int, before: String, where: LicenseFilterInput, order: [LicenseSortInput!]): LicensesConnection

Returns: LicensesConnection

Arguments for licenses

NameDescription
where (LicenseFilterInput)
order ([LicenseSortInput!])
first (Int)Returns the first n elements from the list.
after (String)Returns elements after the specified cursor.
last (Int)Returns the last n elements from the list.
before (String)Returns elements before the specified cursor.

licenseAnalytics query

Retrieve licenseAnalytics data from the Viio GraphQL API.

licenseAnalytics(input: LicenseAnalyticsInput!, where: LicenseFilterInput, order: [LicenseAnalyticsBucketSortInput!]): LicenseAnalyticsResult!

Returns: LicenseAnalyticsResult!

Arguments for licenseAnalytics

Mutations

createContract mutation

Creates a contract.

createContract(input: CreateContractInput!): CreateContractPayload!

Returns: CreateContractPayload!

Arguments for createContract

NameDescription
input (CreateContractInput!)

createManualLicensePlan mutation

Creates a manually managed license plan for a vendor or product. Use this to track a plan that is not discovered automatically through an integration. Pricing is optional and accepts exactly one shape: the price list or the legacy pricing details.

createManualLicensePlan(input: CreateManualLicensePlanInput!): CreateManualLicensePlanPayload!

Returns: CreateManualLicensePlanPayload!

Arguments for createManualLicensePlan

NameDescription
input (CreateManualLicensePlanInput!)

linkContracts mutation

Links a contract to other contracts.

linkContracts(input: LinkContractsInput!): LinkContractsPayload!

Returns: LinkContractsPayload!

Arguments for linkContracts

NameDescription
input (LinkContractsInput!)

removeContracts mutation

Removes the contracts that match the given filter.

removeContracts(where: ContractFilterInput): RemoveContractsPayload!

Returns: RemoveContractsPayload!

Arguments for removeContracts

NameDescription
where (ContractFilterInput)

unlinkContracts mutation

Removes links between contracts.

unlinkContracts(input: UnlinkContractsInput!): UnlinkContractsPayload!

Returns: UnlinkContractsPayload!

Arguments for unlinkContracts

NameDescription
input (UnlinkContractsInput!)

updateContractDatesAndRenewal mutation

Changes a contract's dates and renewal.

updateContractDatesAndRenewal(input: UpdateContractDatesAndRenewalInput!): UpdateContractDatesAndRenewalPayload!

Returns: UpdateContractDatesAndRenewalPayload!

Arguments for updateContractDatesAndRenewal

updateContractName mutation

Changes a contract's name.

updateContractName(input: UpdateContractNameInput!): UpdateContractNamePayload!

Returns: UpdateContractNamePayload!

Arguments for updateContractName

NameDescription
input (UpdateContractNameInput!)

updateContractNumber mutation

Changes a contract's number.

updateContractNumber(input: UpdateContractNumberInput!): UpdateContractNumberPayload!

Returns: UpdateContractNumberPayload!

Arguments for updateContractNumber

NameDescription
input (UpdateContractNumberInput!)

updateContractPaymentTerms mutation

Changes a contract's value and payment terms.

updateContractPaymentTerms(input: UpdateContractPaymentTermsInput!): UpdateContractPaymentTermsPayload!

Returns: UpdateContractPaymentTermsPayload!

Arguments for updateContractPaymentTerms

NameDescription
input (UpdateContractPaymentTermsInput!)

updateContractsOwner mutation

Changes the owner of the contracts that match the given filter.

updateContractsOwner(input: UpdateContractsOwnerInput!, where: ContractFilterInput): UpdateContractsOwnerPayload!

Returns: UpdateContractsOwnerPayload!

Arguments for updateContractsOwner

NameDescription
input (UpdateContractsOwnerInput!)
where (ContractFilterInput)

updateContractSupplier mutation

Changes a contract's supplier.

updateContractSupplier(input: UpdateContractSupplierInput!): UpdateContractSupplierPayload!

Returns: UpdateContractSupplierPayload!

Arguments for updateContractSupplier

NameDescription
input (UpdateContractSupplierInput!)

Objects

AggregatedLicensePlans object

Fields returned by the AggregatedLicensePlans object type.

NameDescription
criteria (AggregatedLicensePlansCriteria)
upcomingRenewalContract (ContractDetails)
usageStats (AggregatedUsageLicenseStats)
pricingStats (LicensePlanPricingStats)
plans ([LicensePlan!]!)
nextRenewalContract (Contract)The related active contract whose renewal comes next across the group's plans — decided by its cancel-by deadline when notice is required, otherwise by its renewal date.

AggregatedLicensePlansAttributeCriteria object

Fields returned by the AggregatedLicensePlansAttributeCriteria object type.

NameDescription
value (String!)

AggregatedLicensePlansConnection object

A connection to a list of items.

NameDescription
pageInfo (PageInfo!)Information to aid in pagination.
edges ([AggregatedLicensePlansEdge!])A list of edges.
nodes ([AggregatedLicensePlans!])A flattened list of the nodes.
totalCount (Int!)Identifies the total count of items in the connection.

AggregatedLicensePlansEdge object

An edge in a connection.

NameDescription
cursor (String!)A cursor for use in pagination.
node (AggregatedLicensePlans!)The item at the end of the edge.

AggregatedLicensePlansIntegrationCriteria object

Fields returned by the AggregatedLicensePlansIntegrationCriteria object type.

NameDescription
id (ID!)
integration (Integration)

AggregatedLicensePlansProductCriteria object

Fields returned by the AggregatedLicensePlansProductCriteria object type.

NameDescription
id (ID!)
type (ProductType!)
product (Product)

AggregatedLicensePlansVendorCriteria object

Fields returned by the AggregatedLicensePlansVendorCriteria object type.

NameDescription
id (ID!)
vendor (Vendor)

AggregatedUsageLicenseStats object

Fields returned by the AggregatedUsageLicenseStats object type.

NameDescription
inUse (InUseLicensePlanStats!)
unused (UnusedLicensePlanStats!)
noData (NoDataLicensePlanStats!)
downgradable (DowngradableLicensePlanStats!)
assigned (Int!)
unassigned (Int)
wasted (Int!)
total (Int)
effective (Int!)

AutomaticCalculationMethodNotAllowedError object

The automatic calculation method is only available for plans scoped to a product.

NameDescription
message (String!)An explanation of the error.

BulkIntegrationLicenseDetails object

Fields returned by the BulkIntegrationLicenseDetails object type.

NameDescription
currency (OriginValueOfString!)
costPerLicense (OriginValueOfDouble!)
licensesCount (OriginValueOfInt32!)
calculationMethod (CountCalculationMethod!)
licensePeriod (OriginValueOfInt32!)
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

BulkPricingModel object

Fields returned by the BulkPricingModel object type.

NameDescription
type (PricingModelType!)

Contract object

A contract with a supplier, optionally scoped to vendors and products.

NameDescription
id (ID!)The unique identifier of the contract.
references ([ContractReferenceTarget!]!)The vendors and products the contract applies to. Empty for a contract without a scope.
ownerId (ID)The identifier of the employee who owns the contract.
name (String!)The name shown for the contract.
contractNumber (String)The reference number of the contract.
supplier (String)The supplier the contract is with.
initialPeriod (ContractPeriod)The initial period of the contract: its start date and the end date of the first term.
currentPeriod (ContractPeriod)The period the contract is in today. Equals the initial period until the first renewal.
status (ContractStatus)The current status of the contract.
term (ContractTerm)The length of the initial period.
renewal (ContractRenewal!)How and when the contract renews.
notice (ContractNotice)The notice required to cancel before the current period ends.
nextEventOn (Date)The next date that matters: the renewal date while the contract renews, otherwise the end of the current period.
originalTotalContractValue (ContractPrice)The total contract value in the currency it was entered in.
totalContractValue (ContractPrice)The total contract value converted to the workspace currency.
annualContractValue (ContractPrice)The contract value expressed as a yearly amount, in the workspace currency.
billingFrequency (BillingFrequency)How often the contract is billed.
paymentTerms (String)The payment terms agreed with the supplier.
links ([ContractLink!]!)Links from this contract to other contracts.
linkedBy ([ContractLink!]!)Links from other contracts to this contract.
licensePlans (LicensePlansConnection)The license plans assigned to this contract.
owner (Employee)

ContractDetails object

Fields returned by the ContractDetails object type.

NameDescription
startDate (OriginValueOfDateOnly)
billingFrequency (OriginValueOfInt32)Number of months
renewal (ContractDetailsRenewal)
type (ContractType!)

ContractDetailsRenewal object

Fields returned by the ContractDetailsRenewal object type.

NameDescription
upcomingDate (OriginValueOfDateOnly)Upcoming renewal date
terminationPeriod (OriginValueOfInt32)Number of days before the contract renewal date, after which contract renewal cannot be canceled

A link from one contract to another.

NameDescription
type (ContractLinkType!)How the two contracts are linked.
contract (Contract)The linked contract.

ContractNotFoundError object

Indicates that the requested contract does not exist.

NameDescription
message (String!)An explanation of the error.

ContractNotice object

The notice required to cancel a contract before its current period ends.

NameDescription
leadDays (Int!)How many days of notice are required.
cancelBy (Date)The last day to give notice for the current period.

ContractPeriod object

A period of a contract, with inclusive start and end dates.

NameDescription
startsOn (Date)The first day of the period.
endsOn (Date)The last day of the period.

ContractPrice object

A monetary amount in a given currency.

NameDescription
currency (String!)The three-letter ISO currency code, e.g. USD.
amount (Float!)The amount in the given currency.

ContractRenewal object

How and when a contract renews.

NameDescription
isAutomatic (Boolean!)Whether the contract renews automatically.
termInMonths (Int)How many months each renewal adds.
nextOn (Date)The day the contract next renews.
count (Int)How many times the contract has renewed since its initial period.

ContractsConnection object

A connection to a list of items.

NameDescription
pageInfo (PageInfo!)Information to aid in pagination.
edges ([ContractsEdge!])A list of edges.
nodes ([Contract!])A flattened list of the nodes.
totalCount (Int!)Identifies the total count of items in the connection.

ContractsEdge object

An edge in a connection.

NameDescription
cursor (String!)A cursor for use in pagination.
node (Contract!)The item at the end of the edge.

ContractTerm object

The length of a contract period as years, months and days.

NameDescription
years (Int!)The whole years in the term.
months (Int!)The whole months in the term beyond the years.
days (Int!)The days in the term beyond the whole months.

CostCenterBucketKey object

Fields returned by the CostCenterBucketKey object type.

NameDescription
costCenter (String)

CountCalculationMethod object

Count calculation method

NameDescription
type (CountCalculationType!)Calculation type
amount (Int)Manual amount

CountryBucketKey object

Fields returned by the CountryBucketKey object type.

NameDescription
country (String)

CreateContractPayload object

The result of creating a contract.

NameDescription
contract (Contract)The newly created contract. Null when creation failed.
errors ([CreateContractError!])The reasons the contract was not created. Null when creation succeeded.

CreateManualLicensePlanPayload object

The result of creating a manual license plan. Exactly one outcome applies: on success licensePlan is set and errors is empty; on failure licensePlan is null and errors explains why.

NameDescription
licensePlan (LicensePlan)The newly created plan. Null when creation failed.
errors ([CreateManualLicensePlanError!])The reasons the plan was not created. Null when creation succeeded.

DivisionBucketKey object

Fields returned by the DivisionBucketKey object type.

NameDescription
division (String)

DowngradableLicensePlanStats object

Fields returned by the DowngradableLicensePlanStats object type.

NameDescription
total (Int!)

DowngradableLicenseState object

Fields returned by the DowngradableLicenseState object type.

NameDescription
activity (LicenseActivity!)
reason (LicenseDowngradeReason!)
target (LicenseDowngradeTarget!)

EmployeeStatusBucketKey object

Fields returned by the EmployeeStatusBucketKey object type.

NameDescription
employeeStatus (EmployeeStatus)

EntitledLicenses object

How many licenses a plan includes.

NameDescription
api (Int)The license count reported by the integration, when available.
manual (Int)The license count entered manually, when provided.
effective (Int)The count to rely on: the manual value when set, otherwise the value from the integration.

ExternalKey object

Fields returned by the ExternalKey object type.

NameDescription
integrationKey (String!)
tenant (String)

ExternalUser object

Fields returned by the ExternalUser object type.

NameDescription
sourceId (String!)
name (String)
email (String)
roles ([String!]!)

FlatFeeIntegrationLicenseDetails object

Fields returned by the FlatFeeIntegrationLicenseDetails object type.

NameDescription
currency (OriginValueOfString!)
flatFee (OriginValueOfDouble!)
useLicensesCount (Boolean!)
licensesCount (OriginValueOfInt32)
licensePeriod (OriginValueOfInt32!)
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

FlatFeePricingModel object

Fields returned by the FlatFeePricingModel object type.

NameDescription
type (PricingModelType!)

FreeIntegrationLicenseDetails object

Fields returned by the FreeIntegrationLicenseDetails object type.

NameDescription
useLicensesCount (Boolean!)
licensesCount (OriginValueOfInt32)
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

FreePricingModel object

Fields returned by the FreePricingModel object type.

NameDescription
type (PricingModelType!)

IntegratedLicensePlan object

Fields returned by the IntegratedLicensePlan object type.

NameDescription
id (ID!)
origin (LicensePlanOrigin!)
externalId (String)
directIntegrationInstallationId (ID)
externalKey (ExternalKey)
name (String!)
pricing (PricingModel!)
pricingComponents ([LicensePlanPricingComponent!])The plan's price list — the charges that make up its cost.
pricingDetails (IntegrationLicenseDetails)The plan's pricing in the legacy pricing details shape.
contractDetails (ContractDetails)Manually entered contract details for the plan.
entitledLicenses (EntitledLicenses)
usageStats (LicensePlanUsageStats)
pricingStats (LicensePlanPricingStats)
originalPricingStats (LicensePlanPricingStats)
attributes ([LicensePlanAttribute!])
reference (LicenseReferenceTarget!)
nextRenewalContract (Contract)The related active contract whose renewal comes next — decided by its cancel-by deadline when notice is required, otherwise by its renewal date.
contracts (ContractsConnection)Returns the contracts related to the plan — linked to it directly, or referencing the plan's product or vendor.
directIntegrationInstallation (DirectIntegrationInstallation)

InUseLicensePlanStats object

Fields returned by the InUseLicensePlanStats object type.

NameDescription
hasRecentUsage (Int!)
ssoLogin (Int!)
excludedFromAnalysis (Int!)
total (Int!)

InUseLicenseState object

Fields returned by the InUseLicenseState object type.

NameDescription
activity (LicenseActivity!)
reason (InUseLicenseStateReason!)

InvalidContractDateError object

Indicates that the contract's end date is before its start date.

NameDescription
message (String!)An explanation of the error.

License object

Fields returned by the License object type.

NameDescription
id (ID!)
state (LicenseState!)
holder (LicenseHolder!)
usage (LicenseUsage!)
annualPrice (LicensePrice)
originalAnnualPrice (LicensePrice)
potentialSaving (LicensePrice)
originalPotentialSaving (LicensePrice)
reference (LicenseReferenceTarget!)
plan (LicensePlan!)
customerIntegration (Integration)
integrationActions ([IntegrationAction!]!)
userUsage (UserUsage)

LicenseAnalyticsBucket object

Fields returned by the LicenseAnalyticsBucket object type.

LicenseAnalyticsMetrics object

Fields returned by the LicenseAnalyticsMetrics object type.

NameDescription
licenseCount (Int!)
inUseCount (Int!)
unusedCount (Int!)
noDataCount (Int!)
downgradableCount (Int!)
utilizationPercentage (Float)
totalAnnualCost (LicensePrice)
potentialSaving (LicensePrice)
potentialSavingPercentage (Float)

LicenseAnalyticsResult object

Fields returned by the LicenseAnalyticsResult object type.

NameDescription
buckets ([LicenseAnalyticsBucket!]!)
totals (LicenseAnalyticsMetrics!)

LicenseDetailedSource object

Fields returned by the LicenseDetailedSource object type.

NameDescription
dataSource (DiscoverySourceName!)
integrationId (ID)
firstUsed (Date)
lastUsed (Date)
isPrimary (Boolean!)
customerIntegration (Integration)

LicenseDowngradeExclusiveUsageReason object

Fields returned by the LicenseDowngradeExclusiveUsageReason object type.

NameDescription
productIds ([ID!]!)
products (ProductsConnection)

LicenseDowngradeNoUsageReason object

Fields returned by the LicenseDowngradeNoUsageReason object type.

NameDescription
productIds ([ID!]!)
products (ProductsConnection)

LicenseDowngradeTarget object

Fields returned by the LicenseDowngradeTarget object type.

NameDescription
planTemplateId (ID!)
planId (ID)
annualUnitPrice (LicensePrice)
planTemplate (PlanTemplate!)
plan (LicensePlan)

LicenseHolder object

Fields returned by the LicenseHolder object type.

NameDescription
name (String)
email (String)
external (ExternalUser!)
employeeId (ID)
employee (Employee)

LicensePlanAttribute object

Fields returned by the LicensePlanAttribute object type.

NameDescription
key (String!)
value (String!)

LicensePlanFixedFeePricingComponent object

A fixed recurring charge billed at a set frequency, regardless of how many licenses are used.

NameDescription
billingFrequency (BillingFrequency!)How often the fixed fee is charged, for example monthly or yearly.
price (LicensePrice!)The amount charged each billing period.

LicensePlanPotentialSaving object

Fields returned by the LicensePlanPotentialSaving object type.

NameDescription
amount (Float!)
percentage (Float!)
rate (LicensePlanPotentialSavingRate!)

LicensePlanPricingStats object

Fields returned by the LicensePlanPricingStats object type.

NameDescription
currency (String!)
annualUnitPrice (Float)
annualCost (Float!)
potentialSaving (LicensePlanPotentialSaving!)

LicensePlansConnection object

A connection to a list of items.

NameDescription
pageInfo (PageInfo!)Information to aid in pagination.
edges ([LicensePlansEdge!])A list of edges.
nodes ([LicensePlan!])A flattened list of the nodes.
totalCount (Int!)Identifies the total count of items in the connection.

LicensePlansEdge object

An edge in a connection.

NameDescription
cursor (String!)A cursor for use in pagination.
node (LicensePlan!)The item at the end of the edge.

LicensePlanUsageStats object

Fields returned by the LicensePlanUsageStats object type.

NameDescription
inUse (InUseLicensePlanStats!)
unused (UnusedLicensePlanStats!)
noData (NoDataLicensePlanStats!)
downgradable (DowngradableLicensePlanStats!)
assigned (Int!)
unassigned (Int)
wasted (Int!)
total (Int)
effective (Int!)
usageAvailability (UsageAvailability!)

LicensePrice object

Fields returned by the LicensePrice object type.

NameDescription
currency (String!)
amount (Float!)

LicensesConnection object

A connection to a list of items.

NameDescription
pageInfo (PageInfo!)Information to aid in pagination.
edges ([LicensesEdge!])A list of edges.
nodes ([License!])A flattened list of the nodes.
totalCount (Int!)Identifies the total count of items in the connection.

LicensesEdge object

An edge in a connection.

NameDescription
cursor (String!)A cursor for use in pagination.
node (License!)The item at the end of the edge.

LicenseUsage object

Fields returned by the LicenseUsage object type.

NameDescription
detailedSources ([LicenseDetailedSource!]!)
lastUsed (Date)

LinkContractsPayload object

The result of linking a contract to other contracts.

NameDescription
contracts ([Contract!])The contracts affected by the operation: the contract the links were added to, followed by the contracts it was linked to. Null when the operation failed.
errors ([LinkContractsError!])The reasons the contracts were not linked. Null when the operation succeeded.

ManualLicensePlan object

Fields returned by the ManualLicensePlan object type.

NameDescription
id (ID!)
origin (LicensePlanOrigin!)
name (String!)
pricing (PricingModel!)
pricingComponents ([LicensePlanPricingComponent!])The plan's price list — the charges that make up its cost.
pricingDetails (IntegrationLicenseDetails)The plan's pricing in the legacy pricing details shape.
contractDetails (ContractDetails)Manually entered contract details for the plan.
entitledLicenses (EntitledLicenses)
pricingStats (LicensePlanPricingStats)
originalPricingStats (LicensePlanPricingStats)
reference (LicenseReferenceTarget!)
nextRenewalContract (Contract)The related active contract whose renewal comes next — decided by its cancel-by deadline when notice is required, otherwise by its renewal date.
contracts (ContractsConnection)Returns the contracts related to the plan — linked to it directly, or referencing the plan's product or vendor.

NoDataLicensePlanStats object

Fields returned by the NoDataLicensePlanStats object type.

NameDescription
newEmployee (Int!)
noUsageDetected (Int!)
total (Int!)

NoDataLicenseState object

Fields returned by the NoDataLicenseState object type.

NameDescription
activity (LicenseActivity!)
reason (NoDataLicenseStateReason!)

OriginValueOfDateOnly object

Fields returned by the OriginValueOfDateOnly object type.

NameDescription
origin (DataOrigin!)
value (Date!)

OriginValueOfDouble object

Fields returned by the OriginValueOfDouble object type.

NameDescription
origin (DataOrigin!)
value (Float!)

OriginValueOfInt32 object

Fields returned by the OriginValueOfInt32 object type.

NameDescription
origin (DataOrigin!)
value (Int!)

OriginValueOfLicenseDetailsType object

Fields returned by the OriginValueOfLicenseDetailsType object type.

NameDescription
origin (DataOrigin!)
value (PricingModelType!)

OriginValueOfString object

Fields returned by the OriginValueOfString object type.

NameDescription
origin (DataOrigin!)
value (String)

PerLicenseIntegrationLicenseDetails object

Fields returned by the PerLicenseIntegrationLicenseDetails object type.

NameDescription
currency (OriginValueOfString!)
costPerLicense (OriginValueOfDouble!)
calculationMethod (CountCalculationMethod!)
apiProvidedLicensesCount (Int)
licensePeriod (OriginValueOfInt32!)
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

PerLicensePricingModel object

Fields returned by the PerLicensePricingModel object type.

NameDescription
type (PricingModelType!)

Plan object

Fields returned by the Plan object type.

NameDescription
id (ID!)
customerIntegrationId (ID!)
vendorId (ID)
applicationId (ID)
name (String!)
type (PlanType!)
contractDetails (ContractDetails)
sourceId (String!)
licenseDetails (IntegrationLicenseDetails)
rawLicenseDetails (RawIntegrationLicenseDetails!)
application (Application)
vendor (Vendor)
customerIntegration (Integration)

PlanBucketKey object

Fields returned by the PlanBucketKey object type.

NameDescription
planId (ID!)
plan (LicensePlan!)

PlanTemplate object

Fields returned by the PlanTemplate object type.

NameDescription
id (ID!)
externalPlanName (String!)
displayPlanName (String!)
pricingModel (PricingModel)
licensePlans (LicensePlansConnection)

PricingModelBucketKey object

Fields returned by the PricingModelBucketKey object type.

NameDescription
pricingModel (PricingModelType)

ProductBucketKey object

Fields returned by the ProductBucketKey object type.

NameDescription
productId (ID)
product (Product)

ProductNotFoundError object

Indicates that the referenced product does not exist.

NameDescription
message (String!)An explanation of the error.

ProductReference object

A reference to a product.

NameDescription
productId (ID!)The identifier of the product.
productType (ProductType!)The type of the product.
product (Product)

RawIntegrationLicenseDetails object

Fields returned by the RawIntegrationLicenseDetails object type.

NameDescription
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)
useLicensesCount (Boolean)
licensesCount (OriginValueOfInt32)
currency (OriginValueOfString)
overallCost (OriginValueOfDouble)
licensePeriod (OriginValueOfInt32)
costPerLicense (OriginValueOfDouble)
calculationMethod (CountCalculationMethod)
apiProvidedLicensesCount (Int)
steps ([RawIntegrationLicenseDetailsStep!])

RawIntegrationLicenseDetailsStep object

Fields returned by the RawIntegrationLicenseDetailsStep object type.

NameDescription
minCount (OriginValueOfInt32!)
cost (OriginValueOfDouble!)

RemoveContractsPayload object

The result of removing contracts.

NameDescription
removedCount (Int!)The number of contracts that were removed.

StairStepIntegrationLicenseDetails object

Fields returned by the StairStepIntegrationLicenseDetails object type.

NameDescription
currency (OriginValueOfString!)
calculationMethod (CountCalculationMethod!)
apiProvidedLicensesCount (Int)
licensePeriod (OriginValueOfInt32!)
steps ([StairStepIntegrationLicenseDetailsStep!]!)
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

StairStepIntegrationLicenseDetailsStep object

Fields returned by the StairStepIntegrationLicenseDetailsStep object type.

NameDescription
minCount (OriginValueOfInt32!)
cost (OriginValueOfDouble!)

StairStepPricingModel object

Fields returned by the StairStepPricingModel object type.

NameDescription
type (PricingModelType!)

StateBucketKey object

Fields returned by the StateBucketKey object type.

NameDescription
state (LicenseActivity!)

StateReasonBucketKey object

Fields returned by the StateReasonBucketKey object type.

NameDescription
stateReason (String)

UnknownIntegrationLicenseDetails object

Fields returned by the UnknownIntegrationLicenseDetails object type.

NameDescription
rawCurrency (OriginValueOfString)
rawCostPerLicense (OriginValueOfDouble)
rawOverallCost (OriginValueOfDouble)
rawUseLicensesCount (Boolean)
rawLicensesCount (OriginValueOfInt32)
rawCalculationMethod (CountCalculationMethod)
rawApiProvidedLicensesCount (Int)
rawLicensePeriod (OriginValueOfInt32)
rawSteps ([UnknownLicenseDetailsStep!])
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

UnknownLicenseDetailsStep object

Fields returned by the UnknownLicenseDetailsStep object type.

NameDescription
minCount (OriginValueOfInt32)
cost (OriginValueOfDouble)

UnknownPricingModel object

Fields returned by the UnknownPricingModel object type.

NameDescription
type (PricingModelType!)

UnlinkContractsPayload object

The result of removing links between contracts.

NameDescription
contracts ([Contract!])The contracts affected by the operation: the contract the links were removed from, followed by the contracts that were unlinked. Null when the operation failed.
errors ([UnlinkContractsError!])The reasons the links were not removed. Null when the operation succeeded.

UnusedLicensePlanStats object

Fields returned by the UnusedLicensePlanStats object type.

NameDescription
noRecentUsage (Int!)
noSsoLogin (Int!)
leftOrganization (Int!)
total (Int!)

UnusedLicenseState object

Fields returned by the UnusedLicenseState object type.

NameDescription
activity (LicenseActivity!)
reason (UnusedLicenseStateReason!)

UpdateContractDatesAndRenewalPayload object

The result of changing a contract's dates and renewal.

NameDescription
contract (Contract)The updated contract. Null when the update failed.
errors ([UpdateContractDatesAndRenewalError!])The reasons the contract was not updated. Null when the update succeeded.

UpdateContractNamePayload object

The result of renaming a contract.

NameDescription
contract (Contract)The updated contract. Null when the update failed.
errors ([UpdateContractNameError!])The reasons the contract was not updated. Null when the update succeeded.

UpdateContractNumberPayload object

The result of changing a contract's number.

NameDescription
contract (Contract)The updated contract. Null when the update failed.
errors ([UpdateContractNumberError!])The reasons the contract was not updated. Null when the update succeeded.

UpdateContractPaymentTermsPayload object

The result of changing a contract's value and payment terms.

NameDescription
contract (Contract)The updated contract. Null when the update failed.
errors ([UpdateContractPaymentTermsError!])The reasons the contract was not updated. Null when the update succeeded.

UpdateContractsOwnerPayload object

The result of changing the owner of contracts.

NameDescription
updatedCount (Int!)The number of contracts that were updated.

UpdateContractSupplierPayload object

The result of changing a contract's supplier.

NameDescription
contract (Contract)The updated contract. Null when the update failed.
errors ([UpdateContractSupplierError!])The reasons the contract was not updated. Null when the update succeeded.

UsageAvailability object

Fields returned by the UsageAvailability object type.

NameDescription
status (UsageAvailabilityStatus!)

VendorBucketKey object

Fields returned by the VendorBucketKey object type.

NameDescription
vendorName (String!)

VendorNotFoundError object

Indicates that the referenced vendor does not exist.

NameDescription
message (String!)An explanation of the error.

VendorReference object

A reference to a vendor.

NameDescription
vendorId (ID!)The identifier of the vendor.
vendor (Vendor)

VolumeIntegrationLicenseDetails object

Fields returned by the VolumeIntegrationLicenseDetails object type.

NameDescription
currency (OriginValueOfString!)
calculationMethod (CountCalculationMethod!)
apiProvidedLicensesCount (Int)
licensePeriod (OriginValueOfInt32!)
steps ([VolumeIntegrationLicenseDetailsStep!]!)
type (OriginValueOfLicenseDetailsType!)
label (OriginValueOfString!)
description (String)

VolumeIntegrationLicenseDetailsStep object

Fields returned by the VolumeIntegrationLicenseDetailsStep object type.

NameDescription
minCount (OriginValueOfInt32!)
cost (OriginValueOfDouble!)

VolumePricingModel object

Fields returned by the VolumePricingModel object type.

NameDescription
type (PricingModelType!)

Input Types

AggregatedLicensePlansGroupByInput input

Input fields accepted by AggregatedLicensePlansGroupByInput.

NameDescription
product (Boolean)
reference (Boolean)
integration (Boolean)
attribute (LicensePlanGroupingAttribute)

BulkLicenseDetailsInput input

Bulk license details

NameDescription
currency (String!)Currency
costPerLicense (Float!)Cost per license
licensesCount (Int!)Count of licenses
calculationMethod (CountCalculationMethodInput!)Count calculation method
licensePeriod (Int!)Number of months
label (String!)Label
description (String)Description

ContractDetailsFilterInput input

Input fields accepted by ContractDetailsFilterInput.

NameDescription
and ([ContractDetailsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ContractDetailsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
startDate (OriginValueOfDateOnlyFilterInput)
renewal (ContractDetailsRenewalFilterInput)
type (ContractTypeOperationFilterInput)

ContractDetailsRenewalFilterInput input

Input fields accepted by ContractDetailsRenewalFilterInput.

NameDescription
and ([ContractDetailsRenewalFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ContractDetailsRenewalFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
upcomingDate (OriginValueOfDateOnlyFilterInput)
isNullish (Boolean)Matches when the field is null or missing (not present in the database).

ContractDetailsRenewalSortInput input

Input fields accepted by ContractDetailsRenewalSortInput.

NameDescription
upcomingDate (OriginValueOfDateOnlySortInput)
terminationPeriod (OriginValueOfInt32SortInput)
originalUpcomingDate (SortEnumType)

ContractDetailsSortInput input

Input fields accepted by ContractDetailsSortInput.

ContractFilterInput input

Filters contracts by their terms, dates and scope.

NameDescription
and ([ContractFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ContractFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
id (ComparableIdTypeOperationFilterInput)The unique identifier of the contract.
references (ListLicenseReferenceTargetFilterInput)The vendors and products the contract applies to.
name (StringOperationFilterInput)The name shown for the contract.
contractNumber (StringOperationFilterInput)The reference number of the contract.
supplier (StringOperationFilterInput)The supplier the contract is with.
initialPeriod (ContractPeriodFilterInput)The initial period of the contract.
currentPeriod (ContractPeriodFilterInput)The period the contract is in today.
status (NullableOfContractStatusOperationFilterInput)The current status of the contract.
renewal (ContractRenewalFilterInput)How and when the contract renews.
notice (ContractNoticeFilterInput)The notice required to cancel.
nextEventOn (DateOperationFilterInput)The renewal date while the contract renews, otherwise the end of the current period.
billingFrequency (NullableOfBillingFrequencyOperationFilterInput)How often the contract is billed.

ContractLinkInput input

A link from one contract to another.

NameDescription
type (ContractLinkType!)How the two contracts are linked.
contractId (ID!)The identifier of the contract to link to.

ContractNoticeFilterInput input

Filters contracts by their notice.

NameDescription
and ([ContractNoticeFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ContractNoticeFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
leadDays (IntOperationFilterInput)How many days of notice are required.
cancelBy (DateOperationFilterInput)The last day to give notice for the current period.
isNullish (Boolean)Matches when the field is null or missing (not present in the database).

ContractNoticeSortInput input

Sorts contracts by their notice.

NameDescription
leadDays (SortEnumType)How many days of notice are required.
cancelBy (SortEnumType)The last day to give notice for the current period.

ContractPeriodFilterInput input

Filters contracts by the dates of a period.

NameDescription
and ([ContractPeriodFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ContractPeriodFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
startsOn (DateOperationFilterInput)The first day of the period.
endsOn (DateOperationFilterInput)The last day of the period.
isNullish (Boolean)Matches when the field is null or missing (not present in the database).

ContractPeriodSortInput input

Sorts contracts by the dates of a period.

NameDescription
startsOn (SortEnumType)The first day of the period.
endsOn (SortEnumType)The last day of the period.

ContractPriceInput input

A monetary amount in a given currency.

NameDescription
currency (String!)The three-letter ISO currency code, e.g. USD.
amount (Float!)The amount in the given currency.

ContractRenewalFilterInput input

Filters contracts by their renewal.

NameDescription
and ([ContractRenewalFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ContractRenewalFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
isAutomatic (BooleanOperationFilterInput)Whether the contract renews automatically.
termInMonths (IntOperationFilterInput)How many months each renewal adds.
nextOn (DateOperationFilterInput)The day the contract next renews.
count (IntOperationFilterInput)How many times the contract has renewed.

ContractSortInput input

Sorts contracts by their terms and dates.

NameDescription
id (SortEnumType)The unique identifier of the contract.
name (SortEnumType)The name shown for the contract.
initialPeriod (ContractPeriodSortInput)The initial period of the contract.
currentPeriod (ContractPeriodSortInput)The period the contract is in today.
nextEventOn (SortEnumType)The renewal date while the contract renews, otherwise the end of the current period.
notice (ContractNoticeSortInput)The notice required to cancel.

CountCalculationMethodInput input

Count calculation method

NameDescription
type (CountCalculationType!)Calculation type
amount (Int)Manual amount

CreateContractInput input

The details needed to create a contract.

NameDescription
references ([ReferenceTargetInput!])The vendors and products the contract applies to. Leave empty for a contract without a scope.
ownerId (ID)The identifier of the employee who owns the contract.
name (String!)The name shown for the contract.
contractNumber (String)The reference number of the contract.
supplier (String)The supplier the contract is with.
startDate (Date)The date the contract starts.
endDate (Date)The date the contract ends.
autoRenewEnabled (Boolean!)Whether the contract renews automatically.
renewalTermInMonths (Int)How many months each renewal adds. Leave empty to renew by the contract's own term when it is a whole number of months.
noticeLeadDays (Int)How many days of notice are required to cancel before the current period ends.
totalContractValue (ContractPriceInput)The total value of the contract over its whole term.
billingFrequency (BillingFrequency)How often the contract is billed.
paymentTerms (String)The payment terms agreed with the supplier, e.g. "Net 30".

CreateManualLicensePlanInput input

The details needed to create a manual license plan.

NameDescription
reference (ReferenceTargetInput!)The vendor or product this plan applies to.
name (String!)The name shown for the plan.
entitledLicenses (Int)How many licenses the plan includes. Leave empty if the number is unknown.
pricingComponents ([LicensePlanPricingComponentInput!])The plan's price list — the charges that make up its cost. Provide at most one of pricingComponents and pricingDetails; leave both empty to create the plan with unknown pricing.
pricingDetails (LicenseDetailsInput)The plan's pricing in the legacy pricing details shape. Provide at most one of pricingComponents and pricingDetails; leave both empty to create the plan with unknown pricing.

DataOriginOperationFilterInput input

Input fields accepted by DataOriginOperationFilterInput.

NameDescription
eq (DataOrigin)Matches when the field value is exactly equal to the given value.
neq (DataOrigin)Matches when the field value is not equal to the given value.
in ([DataOrigin!])Matches when the field value is one of the values in the given list.
nin ([DataOrigin!])Matches when the field value is none of the values in the given list.

DowngradableLicensePlanStatsFilterInput input

Input fields accepted by DowngradableLicensePlanStatsFilterInput.

NameDescription
and ([DowngradableLicensePlanStatsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([DowngradableLicensePlanStatsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
total (IntOperationFilterInput)

DowngradableLicensePlanStatsSortInput input

Input fields accepted by DowngradableLicensePlanStatsSortInput.

NameDescription
total (SortEnumType)

EqualOnlyOperationFilterInputTypeOfIdTypeFilterInput input

Input fields accepted by EqualOnlyOperationFilterInputTypeOfIdTypeFilterInput.

NameDescription
eq (ID)Matches when the field value is exactly equal to the given value.

ExternalKeyFilterInput input

Input fields accepted by ExternalKeyFilterInput.

NameDescription
and ([ExternalKeyFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ExternalKeyFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
integrationKey (StringOperationFilterInput)
tenant (StringOperationFilterInput)

ExternalUserFilterInput input

Input fields accepted by ExternalUserFilterInput.

NameDescription
and ([ExternalUserFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([ExternalUserFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
sourceId (StringOperationFilterInput)
name (StringOperationFilterInput)
email (StringOperationFilterInput)
roles (ListStringOperationFilterInput)

FlatFeeLicenseDetailsInput input

Flat fee license details

NameDescription
currency (String!)Currency
flatFee (Float!)Flat fee
useLicensesCount (Boolean!)Indication whether count of licenses should be used
licensesCount (Int)Count of licenses
licensePeriod (Int!)Number of months
label (String!)Label
description (String)Description

FreeLicenseDetailsInput input

Free license details

NameDescription
useLicensesCount (Boolean!)Indication whether count of licenses should be used
licensesCount (Int)Count of licenses
label (String!)Label
description (String)Description

InUseLicensePlanStatsFilterInput input

Input fields accepted by InUseLicensePlanStatsFilterInput.

NameDescription
and ([InUseLicensePlanStatsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([InUseLicensePlanStatsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
hasRecentUsage (IntOperationFilterInput)
ssoLogin (IntOperationFilterInput)
excludedFromAnalysis (IntOperationFilterInput)
total (IntOperationFilterInput)

InUseLicensePlanStatsSortInput input

Input fields accepted by InUseLicensePlanStatsSortInput.

NameDescription
hasRecentUsage (SortEnumType)
ssoLogin (SortEnumType)
excludedFromAnalysis (SortEnumType)
total (SortEnumType)

LicenseActivityOperationFilterInput input

Input fields accepted by LicenseActivityOperationFilterInput.

NameDescription
eq (LicenseActivity)Matches when the field value is exactly equal to the given value.
neq (LicenseActivity)Matches when the field value is not equal to the given value.
in ([LicenseActivity!])Matches when the field value is one of the values in the given list.
nin ([LicenseActivity!])Matches when the field value is none of the values in the given list.

LicenseAnalyticsBucketSortInput input

Input fields accepted by LicenseAnalyticsBucketSortInput.

NameDescription
metrics (LicenseAnalyticsMetricsSortInput)

LicenseAnalyticsInput input

Input fields accepted by LicenseAnalyticsInput.

NameDescription
groupBy (LicenseAnalyticsDimension!)
topN (Int!)

LicenseAnalyticsMetricsSortInput input

Input fields accepted by LicenseAnalyticsMetricsSortInput.

NameDescription
licenseCount (SortEnumType)
inUseCount (SortEnumType)
unusedCount (SortEnumType)
noDataCount (SortEnumType)
downgradableCount (SortEnumType)
utilizationPercentage (SortEnumType)
potentialSavingPercentage (SortEnumType)
totalAnnualCost (LicensePriceSortInput)
potentialSaving (LicensePriceSortInput)

LicenseDetailedSourceFilterInput input

Input fields accepted by LicenseDetailedSourceFilterInput.

NameDescription
and ([LicenseDetailedSourceFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseDetailedSourceFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
dataSource (DiscoverySourceNameOperationFilterInput)
firstUsed (DateOperationFilterInput)
lastUsed (DateOperationFilterInput)
isPrimary (BooleanOperationFilterInput)

LicenseDetailsInput input

A plan's pricing in the legacy pricing details shape. Provide exactly one pricing type per call.

NameDescription
free (FreeLicenseDetailsInput)The plan costs nothing.
flatFee (FlatFeeLicenseDetailsInput)A fixed overall cost, regardless of how many licenses are used.
perLicense (PerLicenseLicenseDetailsInput)A cost per license.
bulk (BulkLicenseDetailsInput)A cost per license for a fixed number of licenses bought upfront.
stairStep (StairStepLicenseDetailsInput)A per-license cost that changes in steps as the license count grows.
volume (VolumeLicenseDetailsInput)A per-license cost where the reached tier's price applies to all licenses.

LicenseFilterInput input

Input fields accepted by LicenseFilterInput.

NameDescription
and ([LicenseFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
externalKey (ExternalKeyFilterInput)
reference (LicenseReferenceTargetFilterInput)
state (LicenseStateFilterInput)
holder (LicenseHolderFilterInput)
plan (LicensePlanReducedModelFilterInput)
usage (LicenseUsageFilterInput)
annualPrice (LicensePriceFilterInput)
originalAnnualPrice (LicensePriceFilterInput)
potentialSaving (LicensePriceFilterInput)
originalPotentialSaving (LicensePriceFilterInput)

LicenseHolderEmployeeFilterInput input

Input fields accepted by LicenseHolderEmployeeFilterInput.

NameDescription
and ([LicenseHolderEmployeeFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseHolderEmployeeFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
id (ComparableIdTypeOperationFilterInput)
name (StringOperationFilterInput)
email (StringOperationFilterInput)
groupIds (ListComparableIdTypeOperationFilterInput)
status (EmployeeStatusOperationFilterInput)
excludeFromFetch (BooleanOperationFilterInput)
userType (StringOperationFilterInput)
country (StringOperationFilterInput)
division (StringOperationFilterInput)
costCenter (StringOperationFilterInput)
departmentPath (StringListFilterInput)

LicenseHolderFilterInput input

Input fields accepted by LicenseHolderFilterInput.

NameDescription
and ([LicenseHolderFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseHolderFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
name (StringOperationFilterInput)
email (StringOperationFilterInput)
external (ExternalUserFilterInput)
employee (LicenseHolderEmployeeFilterInput)

LicenseHolderSortInput input

Input fields accepted by LicenseHolderSortInput.

NameDescription
name (SortEnumType)
email (SortEnumType)

LicensePlanFilterInput input

Input fields accepted by LicensePlanFilterInput.

NameDescription
and ([LicensePlanFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePlanFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
id (ComparableIdTypeOperationFilterInput)
directIntegrationInstallationId (ComparableIdTypeOperationFilterInput)
externalKey (ExternalKeyFilterInput)
name (StringOperationFilterInput)
vendorId (ComparableIdTypeOperationFilterInput)
productId (ComparableIdTypeOperationFilterInput)
pricing (PricingModelFilterInput)
contractDetails (ContractDetailsFilterInput)
renewal (LicensePlanUpcomingRenewalFilterInput)
usageStats (LicensePlanUsageStatsFilterInput)
pricingStats (LicensePlanPricingStatsFilterInput)
originalPricingStats (LicensePlanPricingStatsFilterInput)

LicensePlanFixedFeePricingComponentInput input

A fixed recurring charge billed at a set frequency, regardless of how many licenses are used.

NameDescription
billingFrequency (BillingFrequency!)How often the fixed fee is charged, for example monthly or yearly.
price (LicensePriceInput!)The amount charged each billing period.

LicensePlanPotentialSavingFilterInput input

Input fields accepted by LicensePlanPotentialSavingFilterInput.

NameDescription
and ([LicensePlanPotentialSavingFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePlanPotentialSavingFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
amount (FloatOperationFilterInput)
percentage (FloatOperationFilterInput)

LicensePlanPotentialSavingSortInput input

Input fields accepted by LicensePlanPotentialSavingSortInput.

NameDescription
amount (SortEnumType)
percentage (SortEnumType)
rate (SortEnumType)

LicensePlanPricingComponentInput input

A single pricing component to add to a plan's price list. Provide exactly one component type per entry.

NameDescription
fixedFee (LicensePlanFixedFeePricingComponentInput)A fixed recurring charge billed at a set frequency.

LicensePlanPricingStatsFilterInput input

Input fields accepted by LicensePlanPricingStatsFilterInput.

NameDescription
and ([LicensePlanPricingStatsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePlanPricingStatsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
currency (StringOperationFilterInput)
annualUnitPrice (FloatOperationFilterInput)
annualCost (FloatOperationFilterInput)
potentialSaving (LicensePlanPotentialSavingFilterInput)

LicensePlanPricingStatsSortInput input

Input fields accepted by LicensePlanPricingStatsSortInput.

NameDescription
currency (SortEnumType)
annualUnitPrice (SortEnumType)
annualCost (SortEnumType)
potentialSaving (LicensePlanPotentialSavingSortInput)

LicensePlanReducedModelFilterInput input

Input fields accepted by LicensePlanReducedModelFilterInput.

NameDescription
and ([LicensePlanReducedModelFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePlanReducedModelFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
id (ComparableIdTypeOperationFilterInput)
directIntegrationInstallationId (ComparableIdTypeOperationFilterInput)
name (StringOperationFilterInput)
vendorId (ComparableIdTypeOperationFilterInput)
pricing (PricingModelFilterInput)

LicensePlanReducedModelSortInput input

Input fields accepted by LicensePlanReducedModelSortInput.

NameDescription
id (SortEnumType)
name (SortEnumType)

LicensePlanSortInput input

Input fields accepted by LicensePlanSortInput.

LicensePlanUpcomingRenewalFilterInput input

Filters plans by their next renewal.

NameDescription
and ([LicensePlanUpcomingRenewalFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePlanUpcomingRenewalFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
nextOn (DateOperationFilterInput)The date the related contract is next due to renew.
cancelBy (DateOperationFilterInput)The last date to cancel before the renewal takes effect, from the same contract.
noticeLeadDays (IntOperationFilterInput)The number of days notice required to cancel before the renewal, from the same contract.
isNullish (Boolean)Matches when the field is null or missing (not present in the database).

LicensePlanUpcomingRenewalSortInput input

Sorts plans by their next renewal.

NameDescription
nextOn (SortEnumType)The date the related contract is next due to renew.
cancelBy (SortEnumType)The last date to cancel before the renewal takes effect, from the same contract.

LicensePlanUsageStatsFilterInput input

Input fields accepted by LicensePlanUsageStatsFilterInput.

NameDescription
and ([LicensePlanUsageStatsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePlanUsageStatsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
inUse (InUseLicensePlanStatsFilterInput)
unused (UnusedLicensePlanStatsFilterInput)
noData (NoDataLicensePlanStatsFilterInput)
downgradable (DowngradableLicensePlanStatsFilterInput)
assigned (IntOperationFilterInput)
unassigned (IntOperationFilterInput)
wasted (IntOperationFilterInput)
total (IntOperationFilterInput)
effective (IntOperationFilterInput)
usageAvailability (UsageAvailabilityFilterInput)

LicensePlanUsageStatsSortInput input

Input fields accepted by LicensePlanUsageStatsSortInput.

LicensePriceFilterInput input

Input fields accepted by LicensePriceFilterInput.

NameDescription
and ([LicensePriceFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicensePriceFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
amount (FloatOperationFilterInput)
isNullish (Boolean)Matches when the field is null or missing (not present in the database).

LicensePriceInput input

A monetary amount in a specific currency.

NameDescription
currency (String!)Three-letter ISO currency code, such as USD or EUR.
amount (Float!)The amount of money. Must not be negative.

LicensePriceSortInput input

Input fields accepted by LicensePriceSortInput.

NameDescription
amount (SortEnumType)

LicenseReferenceTargetFilterInput input

Input fields accepted by LicenseReferenceTargetFilterInput.

NameDescription
and ([LicenseReferenceTargetFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseReferenceTargetFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
vendorId (EqualOnlyOperationFilterInputTypeOfIdTypeFilterInput)
productId (EqualOnlyOperationFilterInputTypeOfIdTypeFilterInput)
vendorName (StringOperationFilterInput)

LicenseSortInput input

Input fields accepted by LicenseSortInput.

NameDescription
id (SortEnumType)
state (LicenseStateSortInput)
holder (LicenseHolderSortInput)
plan (LicensePlanReducedModelSortInput)
usage (LicenseUsageSortInput)
annualPrice (LicensePriceSortInput)
originalAnnualPrice (LicensePriceSortInput)
potentialSaving (LicensePriceSortInput)
originalPotentialSaving (LicensePriceSortInput)

LicenseStateFilterInput input

Input fields accepted by LicenseStateFilterInput.

NameDescription
and ([LicenseStateFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseStateFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
activity (LicenseActivityOperationFilterInput)

LicenseStateSortInput input

Input fields accepted by LicenseStateSortInput.

NameDescription
activity (SortEnumType)

LicenseUsageFilterInput input

Input fields accepted by LicenseUsageFilterInput.

NameDescription
and ([LicenseUsageFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([LicenseUsageFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
detailedSources (ListLicenseDetailedSourceFilterInput)
lastUsed (DateOperationFilterInput)

LicenseUsageSortInput input

Input fields accepted by LicenseUsageSortInput.

NameDescription
lastUsed (SortEnumType)

LinkContractsInput input

The details needed to link a contract to other contracts.

NameDescription
contractId (ID!)The identifier of the contract to add links to.
links ([ContractLinkInput!]!)The contracts to link, each with its link type.

ListLicenseDetailedSourceFilterInput input

Input fields accepted by ListLicenseDetailedSourceFilterInput.

NameDescription
all (LicenseDetailedSourceFilterInput)Matches when every element of the list satisfies the given filter.
none (LicenseDetailedSourceFilterInput)Matches when no element of the list satisfies the given filter.
some (LicenseDetailedSourceFilterInput)Matches when at least one element of the list satisfies the given filter.
any (Boolean)Matches when the list contains any elements (or none, when set to false).

ListLicenseReferenceTargetFilterInput input

Input fields accepted by ListLicenseReferenceTargetFilterInput.

NameDescription
all (LicenseReferenceTargetFilterInput)Matches when every element of the list satisfies the given filter.
none (LicenseReferenceTargetFilterInput)Matches when no element of the list satisfies the given filter.
some (LicenseReferenceTargetFilterInput)Matches when at least one element of the list satisfies the given filter.
any (Boolean)Matches when the list contains any elements (or none, when set to false).

NoDataLicensePlanStatsFilterInput input

Input fields accepted by NoDataLicensePlanStatsFilterInput.

NameDescription
and ([NoDataLicensePlanStatsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([NoDataLicensePlanStatsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
newEmployee (IntOperationFilterInput)
noUsageDetected (IntOperationFilterInput)
total (IntOperationFilterInput)

NoDataLicensePlanStatsSortInput input

Input fields accepted by NoDataLicensePlanStatsSortInput.

NameDescription
newEmployee (SortEnumType)
noUsageDetected (SortEnumType)
total (SortEnumType)

NullableOfBillingFrequencyOperationFilterInput input

Input fields accepted by NullableOfBillingFrequencyOperationFilterInput.

NameDescription
eq (BillingFrequency)Matches when the field value is exactly equal to the given value.
neq (BillingFrequency)Matches when the field value is not equal to the given value.
in ([BillingFrequency])Matches when the field value is one of the values in the given list.
nin ([BillingFrequency])Matches when the field value is none of the values in the given list.

NullableOfContractStatusOperationFilterInput input

Input fields accepted by NullableOfContractStatusOperationFilterInput.

NameDescription
eq (ContractStatus)Matches when the field value is exactly equal to the given value.
neq (ContractStatus)Matches when the field value is not equal to the given value.
in ([ContractStatus])Matches when the field value is one of the values in the given list.
nin ([ContractStatus])Matches when the field value is none of the values in the given list.

OriginValueOfDateOnlyFilterInput input

Input fields accepted by OriginValueOfDateOnlyFilterInput.

NameDescription
and ([OriginValueOfDateOnlyFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([OriginValueOfDateOnlyFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
origin (DataOriginOperationFilterInput)
value (DateOperationFilterInput)

OriginValueOfDateOnlySortInput input

Input fields accepted by OriginValueOfDateOnlySortInput.

NameDescription
origin (SortEnumType)
value (SortEnumType)

OriginValueOfInt32SortInput input

Input fields accepted by OriginValueOfInt32SortInput.

NameDescription
origin (SortEnumType)
value (SortEnumType)

PerLicenseLicenseDetailsInput input

Per-license license details

NameDescription
currency (String!)Currency
costPerLicense (Float!)Cost per license
calculationMethod (CountCalculationMethodInput!)Count calculation method
licensePeriod (Int!)Number of months
label (String!)Label
description (String)Description

PricingModelFilterInput input

Input fields accepted by PricingModelFilterInput.

NameDescription
and ([PricingModelFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([PricingModelFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
type (PricingModelTypeOperationFilterInput)

PricingModelTypeOperationFilterInput input

Input fields accepted by PricingModelTypeOperationFilterInput.

NameDescription
eq (PricingModelType)Matches when the field value is exactly equal to the given value.
neq (PricingModelType)Matches when the field value is not equal to the given value.
in ([PricingModelType])Matches when the field value is one of the values in the given list.
nin ([PricingModelType])Matches when the field value is none of the values in the given list.

ReferenceTargetInput input

A reference to either a vendor or a product. Provide exactly one.

NameDescription
vendorId (ID)The identifier of the vendor.
productId (ID)The identifier of the product.

StairStepLicenseDetailsInput input

Stair step license details

NameDescription
currency (String!)Currency
steps ([StairStepLicenseDetailsStepInput!]!)Steps
calculationMethod (CountCalculationMethodInput!)Count calculation method
licensePeriod (Int!)Number of months
label (String!)Label
description (String)Description

StairStepLicenseDetailsStepInput input

Step of stair step license details

NameDescription
minCount (Int!)Minimum count
cost (Float!)Cost

StringListFilterInput input

Input fields accepted by StringListFilterInput.

NameDescription
all (StringOperationFilterInput)Matches when every element of the list satisfies the given filter.
none (StringOperationFilterInput)Matches when no element of the list satisfies the given filter.
some (StringOperationFilterInput)Matches when at least one element of the list satisfies the given filter.
any (Boolean)Matches when the list contains any elements (or none, when set to false).
startsWith ([String!])Matches when the list of strings starts with the given segments. For example, "A", "B" matches "A", "B", "C".
nstartsWith ([String!])Matches when the list of strings does not start with the given segments.

UnlinkContractsInput input

The details needed to remove links between contracts.

NameDescription
contractId (ID!)The identifier of the contract to remove links from.
linkedContractIds ([ID!]!)The identifiers of the linked contracts to unlink.

UnusedLicensePlanStatsFilterInput input

Input fields accepted by UnusedLicensePlanStatsFilterInput.

NameDescription
and ([UnusedLicensePlanStatsFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([UnusedLicensePlanStatsFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
noRecentUsage (IntOperationFilterInput)
noSsoLogin (IntOperationFilterInput)
leftOrganization (IntOperationFilterInput)
total (IntOperationFilterInput)

UnusedLicensePlanStatsSortInput input

Input fields accepted by UnusedLicensePlanStatsSortInput.

NameDescription
noRecentUsage (SortEnumType)
noSsoLogin (SortEnumType)
leftOrganization (SortEnumType)
total (SortEnumType)

UpdateContractDatesAndRenewalInput input

The details needed to change a contract's dates and renewal.

NameDescription
id (ID!)The identifier of the contract to update.
startDate (Date)The date the contract starts. Leave empty to clear it.
endDate (Date)The date the contract ends. Leave empty to clear it.
autoRenewEnabled (Boolean!)Whether the contract renews automatically.
renewalTermInMonths (Int)How many months each renewal adds. Leave empty to renew by the contract's own term when it is a whole number of months.
noticeLeadDays (Int)How many days of notice are required to cancel before the current period ends. Leave empty to clear it.

UpdateContractNameInput input

The details needed to rename a contract.

NameDescription
id (ID!)The identifier of the contract to update.
name (String!)The new name for the contract.

UpdateContractNumberInput input

The details needed to change a contract's number.

NameDescription
id (ID!)The identifier of the contract to update.
contractNumber (String)The new contract number. Leave empty to clear it.

UpdateContractPaymentTermsInput input

The details needed to change a contract's value and payment terms.

NameDescription
id (ID!)The identifier of the contract to update.
totalContractValue (ContractPriceInput)The total value of the contract. Leave empty to clear it.
billingFrequency (BillingFrequency)How often the contract is billed. Leave empty to clear it.
paymentTerms (String)The payment terms agreed with the supplier. Leave empty to clear them.

UpdateContractsOwnerInput input

The details needed to change the owner of contracts.

NameDescription
ownerId (ID)The identifier of the employee who owns the contracts. Leave empty to unset the owner.

UpdateContractSupplierInput input

The details needed to change a contract's supplier.

NameDescription
id (ID!)The identifier of the contract to update.
supplier (String)The new supplier. Leave empty to clear it.

UsageAvailabilityFilterInput input

Input fields accepted by UsageAvailabilityFilterInput.

NameDescription
and ([UsageAvailabilityFilterInput!])Matches when every one of the given filter expressions matches (logical AND).
or ([UsageAvailabilityFilterInput!])Matches when at least one of the given filter expressions matches (logical OR).
status (UsageAvailabilityStatusOperationFilterInput)

UsageAvailabilityStatusOperationFilterInput input

Input fields accepted by UsageAvailabilityStatusOperationFilterInput.

NameDescription
eq (UsageAvailabilityStatus)Matches when the field value is exactly equal to the given value.
neq (UsageAvailabilityStatus)Matches when the field value is not equal to the given value.
in ([UsageAvailabilityStatus!])Matches when the field value is one of the values in the given list.
nin ([UsageAvailabilityStatus!])Matches when the field value is none of the values in the given list.

VolumeLicenseDetailsInput input

Volume license details

NameDescription
currency (String!)Currency
steps ([VolumeLicenseDetailsStepInput!]!)Steps
calculationMethod (CountCalculationMethodInput!)Count calculation method
licensePeriod (Int!)Number of months
label (String!)Label
description (String)Description

VolumeLicenseDetailsStepInput input

Step of volume license details

NameDescription
minCount (Int!)Minimum count
cost (Float!)Cost

Unions

AggregatedLicensePlansCriteria union

Possible object types returned by the AggregatedLicensePlansCriteria union.

Possible types: AggregatedLicensePlansProductCriteria, AggregatedLicensePlansVendorCriteria, AggregatedLicensePlansIntegrationCriteria, AggregatedLicensePlansAttributeCriteria

ContractReferenceTarget union

The vendor or product a contract applies to.

Possible types: VendorReference, ProductReference

CreateContractError union

A reason a contract could not be created.

Possible types: VendorNotFoundError, ProductNotFoundError, InvalidContractDateError

CreateManualLicensePlanError union

A reason a license plan could not be created.

Possible types: VendorNotFoundError, ProductNotFoundError, AutomaticCalculationMethodNotAllowedError

IntegrationLicenseDetails union

Possible object types returned by the IntegrationLicenseDetails union.

Possible types: UnknownIntegrationLicenseDetails, FreeIntegrationLicenseDetails, FlatFeeIntegrationLicenseDetails, PerLicenseIntegrationLicenseDetails, BulkIntegrationLicenseDetails, StairStepIntegrationLicenseDetails, VolumeIntegrationLicenseDetails

LicenseAnalyticsBucketKey union

Possible object types returned by the LicenseAnalyticsBucketKey union.

Possible types: VendorBucketKey, ProductBucketKey, PlanBucketKey, StateBucketKey, StateReasonBucketKey, PricingModelBucketKey, EmployeeStatusBucketKey, DivisionBucketKey, CostCenterBucketKey, CountryBucketKey

LicenseDowngradeReason union

Possible object types returned by the LicenseDowngradeReason union.

Possible types: LicenseDowngradeNoUsageReason, LicenseDowngradeExclusiveUsageReason

LicensePlan union

Possible object types returned by the LicensePlan union.

Possible types: ManualLicensePlan, IntegratedLicensePlan

LicensePlanPricingComponent union

One part of how a license plan is priced. A plan's price list is made up of one or more of these components.

Possible types: LicensePlanFixedFeePricingComponent

LicenseReferenceTarget union

Possible object types returned by the LicenseReferenceTarget union.

Possible types: VendorReference, ProductReference

LicenseState union

Possible object types returned by the LicenseState union.

Possible types: InUseLicenseState, UnusedLicenseState, NoDataLicenseState, DowngradableLicenseState

LinkContractsError union

A reason contracts could not be linked.

Possible types: ContractNotFoundError

PricingModel union

Possible object types returned by the PricingModel union.

Possible types: UnknownPricingModel, FreePricingModel, FlatFeePricingModel, PerLicensePricingModel, BulkPricingModel, StairStepPricingModel, VolumePricingModel

UnlinkContractsError union

A reason contract links could not be removed.

Possible types: ContractNotFoundError

UpdateContractDatesAndRenewalError union

A reason a contract's dates and renewal could not be changed.

Possible types: ContractNotFoundError

UpdateContractNameError union

A reason a contract's name could not be changed.

Possible types: ContractNotFoundError

UpdateContractNumberError union

A reason a contract's number could not be changed.

Possible types: ContractNotFoundError

UpdateContractPaymentTermsError union

A reason a contract's value and payment terms could not be changed.

Possible types: ContractNotFoundError

UpdateContractSupplierError union

A reason a contract's supplier could not be changed.

Possible types: ContractNotFoundError

Enums

BillingFrequency enum

How often a contract is billed.

ValueDescription
ONCEBilled a single time.
MONTHLYBilled every month.
QUARTERLYBilled every three months.
SEMIANNUALBilled every six months.
YEARLYBilled every year.
DAILY
WEEKLY

ContractLinkType enum

How one contract is linked to another.

ValueDescription
SUPERSEDESThis contract replaces the linked contract.
RELATED_TOThis contract is related to the other contract without replacing it.

ContractStatus enum

The lifecycle status of a contract.

ValueDescription
UPCOMINGThe contract has not started yet.
ACTIVEThe contract is currently in effect.
EXPIREDThe contract has ended.

CountCalculationType enum

Count calculation type

ValueDescription
AUTOMATICCalculate value based on statistics
MANUALUse manually entered value

DataOrigin enum

Accepted values for the DataOrigin enum.

ValueDescription
API
AUTO
MANUAL

InUseLicenseStateReason enum

Accepted values for the InUseLicenseStateReason enum.

ValueDescription
HAS_RECENT_USAGE
SSO_LOGIN
EXCLUDED_FROM_ANALYSIS

LicenseActivity enum

Accepted values for the LicenseActivity enum.

ValueDescription
IN_USE
UNUSED
NO_DATA
DOWNGRADABLE

LicenseAnalyticsDimension enum

Accepted values for the LicenseAnalyticsDimension enum.

ValueDescription
VENDOR
REFERENCE
PLAN
STATE
STATE_REASON
PRICING_MODEL
DIVISION
COST_CENTER
COUNTRY
EMPLOYEE_STATUS

LicensePlanGroupingAttribute enum

Accepted values for the LicensePlanGroupingAttribute enum.

ValueDescription
ORGANIZATION

LicensePlanOrigin enum

Where a license plan came from.

ValueDescription
INTEGRATIONThe plan was discovered automatically through a connected integration.
MANUALThe plan was created manually.

LicensePlanPotentialSavingRate enum

Accepted values for the LicensePlanPotentialSavingRate enum.

ValueDescription
NONE
LOW
MEDIUM
HIGH

NoDataLicenseStateReason enum

Accepted values for the NoDataLicenseStateReason enum.

ValueDescription
NEW_EMPLOYEE
NO_USAGE_DETECTED

PlanType enum

Accepted values for the PlanType enum.

ValueDescription
MANUAL
AUTO

PricingModelType enum

Accepted values for the PricingModelType enum.

ValueDescription
UNKNOWN
FREE
FLAT_FEE
PER_LICENSE
BULK
STAIR_STEP
VOLUME

UnusedLicenseStateReason enum

Accepted values for the UnusedLicenseStateReason enum.

ValueDescription
NO_RECENT_USAGE
NO_SSO_LOGIN
LEFT_ORGANIZATION

UsageAvailabilityStatus enum

Accepted values for the UsageAvailabilityStatus enum.

ValueDescription
AVAILABLE
NOT_SUPPORTED