Allegro GraphQL Interface
The Allegro GraphQL interface is the foundation layer for all Allegro APIs. All business logic resides in this layer, and all REST API Gateway calls translate into GraphQL requests before reaching the underlying Allegro micro-services. Third-party applications can access this interface directly using a bearer token.
This article documents all queries and mutations available across the following hubs: Billing, Pricing, Customer, Gateway, Mediation, Common, Operations, and Usage Process.
| Attribute | Value |
|---|---|
| Version | R71 |
| Backend | Quarkus + SmallRye MicroProfile GraphQL |
| Protocol | GraphQL over HTTP |
API Index
| Hub | Queries | Mutations |
|---|---|---|
| Billing | 9 | 1 |
| Pricing | 15+ | 10+ |
| Customer | 20+ | 8 |
| Gateway | 6 | 3 |
| Mediation | 5 | 0 |
| Common | 7 | 5 |
| Operations | 4 | 6 |
| Usage Process | 10 | 8 |
Custom Scalars and Enums
Custom Scalars
| Scalar | Kotlin type | Description |
|---|---|---|
BigInteger |
Long | 64-bit integer. Used for all entity identifiers. |
BigDecimal |
BigDecimal | Arbitrary-precision decimal. Used for monetary amounts, rates, and quantities. |
String |
String | UTF-8 string. Date and time fields use ISO-8601 format. |
Int |
Int | 32-bit integer. Used for pagination and counts. |
Boolean |
Boolean | True/false flag. |
Enums
Customer Hub
| Enum | Values |
|---|---|
AccountCategory |
POSTPAID, PREPAID, HYBRID |
AccountType |
INDIVIDUAL, CORPORATE, GOVERNMENT, RESELLER, WHOLESALE, INTERNAL |
AccountStatus |
ACTIVE, INACTIVE, CLOSED, SUSPENDED, PENDING |
SubscriptionStatus |
ACTIVE, INACTIVE, CANCELLED, SUSPENDED, PENDING, EXPIRED |
BillingFrequency |
DAILY, WEEKLY, MONTHLY, QUARTERLY, SEMI_ANNUAL, ANNUAL |
Pricing Hub
| Enum | Values |
|---|---|
PricingModel |
FLAT, TIERED, RECURRING, RECURRING_TIERED, TRANSACTION_ATTRIBUTE_BASED, USAGE_ATTRIBUTE_BASED, COMPOSITE, NONE |
TransactionType |
USAGE, RECURRING, ONE_TIME, ADJUSTMENT, CREDIT, NONE |
PriceOfferStatus |
ACTIVE, INACTIVE, DRAFT, ARCHIVED, PENDING |
DiscountingModel |
FLAT, TIERED, COMPLEX, USAGE_ATTRIBUTE_BASED, TRANSACTION_ATTRIBUTE_BASED, NONE |
Billing Hub
| Enum | Values |
|---|---|
TransactionSource |
USAGE, RECURRING, MANUAL, ADJUSTMENT, API, SYSTEM |
AggregationStatus |
PENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLED |
RevenueRecognitionType |
IMMEDIATE, DEFERRED, RATEABLE, MILESTONE |
AggregationCategory |
USAGE, NON_USAGE, RECURRING, ONE_TIME, ADJUSTMENT |
Operations and Common
| Enum | Values |
|---|---|
JobStatus |
PENDING, RUNNING, COMPLETED, FAILED, CANCELLED, PAUSED |
JobScheduleFrequency |
DAILY, WEEKLY, MONTHLY, HOURLY, MANUAL, CUSTOM |
UsageStatus |
PENDING, PROCESSED, FAILED, SUSPENDED, DISCARDED |
Direction |
INCOMING, OUTGOING, INTERNAL |
Billing Hub
The Billing Hub manages transaction units, aggregations, and balance data.
Query: searchTransactionUnits
Use searchTransactionUnits to search rated charges with filtering and sorting. This query supports usage, recurring, one-time, adjustment, and credit transaction types.
Arguments
| Name | Type | Required | Default |
|---|---|---|---|
page |
Int | Optional | 1 |
size |
Int | Optional | 20 |
transactionUnitFilter |
TransactionUnitFilter! | Required | — |
transactionUnitSort |
TransactionUnitSort | Optional | — |
TransactionUnitFilter fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
accountId |
BigInteger | Optional | Filter by account |
billUnitId |
BigInteger | Optional | Filter by bill unit |
invoiceUnitId |
BigInteger | Optional | Filter by invoice unit |
itemId |
String | Optional | Filter by item identifier |
serviceType |
String | Optional | For example, VOICE, DATA, or SMS |
type |
TransactionType | Optional | Filter by transaction type |
source |
String | Optional | Filter by transaction source |
aggregationId |
BigInteger | Optional | Filter by aggregation batch |
description |
String | Optional | Partial match on description |
startDate |
String | Optional | Transactions on or after this date |
endDate |
String | Optional | Transactions on or before this date |
fileName |
String | Optional | Filter by originating usage file name |
provisioningId |
String | Optional | Filter by provisioning identifier |
sourcePlatform |
String | Optional | Filter by originating source platform |
usageType |
String | Optional | Filter by usage type |
The transactionUnitSort argument supports the following sort fields, each accepting an _ASC or _DESC suffix: id, startDate, endDate, createdDate, type, serviceType, source, itemId, billUnitId, usageType, netAmount, fileName, and flexAttr1 through flexAttr10.
Response: TransactionUnit
| Field | Type | Description |
|---|---|---|
id |
BigInteger | Transaction unit identifier |
uuid |
String | Unique identifier |
type |
TransactionType | USAGE, RECURRING, ONE_TIME, ADJUSTMENT, CREDIT, NONE |
source |
TransactionSource | USAGE, RECURRING, MANUAL, ADJUSTMENT, API, SYSTEM |
accountId |
BigInteger | Associated account |
billUnitId |
BigInteger | Associated bill unit |
serviceUnitId |
BigInteger | Associated service unit |
serviceType |
String | Service type, for example VOICE or DATA |
netAmount |
BigDecimal | Net amount after discounts |
grossAmount |
BigDecimal | Gross amount before discounts |
taxCode |
String | Tax code applied |
startDate |
String | Transaction period start |
endDate |
String | Transaction period end |
createdDate |
String | Creation timestamp |
revRecType |
RevenueRecognitionType | IMMEDIATE, DEFERRED, RATEABLE, MILESTONE |
aggregationStatus |
AggregationStatus | PENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLED |
balances |
[TransactionBalance] | Balance impacts (see below) |
txnUsageData |
TransactionUsageData | Usage-specific data (see below) |
allowances |
[TransactionAllowance] | Allowance consumption records (see below) |
accumulators |
[TransactionAccumulator] | Accumulator impact records (see below) |
recurringData |
TransactionRecurringData | Recurring charge data (see below) |
Nested sub-types
TransactionBalance—balance line items covering rating, discounting, taxation, and settlement:
| Field | Type | Description |
|---|---|---|
id |
BigInteger | Balance record identifier |
index |
Int | Balance line index |
balanceType |
TransactionBalanceType | RATING, DISCOUNTING, TAXATION, PAYMENT, ALLOWANCE, SETTLEMENT, WRITE_OFF |
offerType |
TransactionOfferType | PRICE, DISCOUNT, TRUE_UP |
offerId |
String | Price or discount offer identifier |
currency |
String | Currency code, for example USD |
amount |
BigDecimal | Balance impact amount |
quantity |
BigDecimal | Rated quantity |
unitPrice |
BigDecimal | Unit price applied |
unitDiscount |
BigDecimal | Unit discount applied |
tierMin |
BigDecimal | Tier minimum threshold |
tierMax |
BigDecimal | Tier maximum threshold |
exchangeRate |
BigDecimal | Currency exchange rate |
TransactionUsageData—CDR fields, routing information, usage quantities, and flexible attributes:
| Field | Type | Description |
|---|---|---|
usageId |
String | Usage record identifier |
usageType |
String | Usage type, for example DATA_MB or VOICE_MIN |
fileName |
String | Originating usage file name |
sourcePlatform |
String | Originating platform |
direction |
UsageDirection | IN, OUT, INOUT |
quantity |
BigDecimal | Raw usage quantity |
scaledQuantity |
BigDecimal | Quantity after scaling |
rateUnit |
String | Rate unit, for example MB or MIN |
pricingZone |
String | Pricing zone |
dayOfWeekType |
DayOfWeekType | WEEKDAY, WEEKEND, HOLIDAY, ANYDAY |
apartyNumber |
String | A-party (caller) number |
bpartyNumber |
String | B-party (called) number |
downloadVolume |
BigDecimal | Download volume |
uploadVolume |
BigDecimal | Upload volume |
flexAttr1–flexAttr25 |
String | Flexible custom attributes (25 available) |
TransactionAllowance—allowance consumption or granting records:
| Field | Type | Description |
|---|---|---|
allowanceId |
String | Allowance configuration identifier |
offerId |
String | Associated offer identifier |
amount |
BigDecimal | Amount consumed or granted |
allowanceType |
AllowanceImpactType | ALLOWANCE, CONSUME |
validStart |
String | Validity start |
validEnd |
String | Validity end |
TransactionAccumulator—counters that track usage thresholds for tiered pricing:
| Field | Type | Description |
|---|---|---|
accumulatorId |
String | Accumulator configuration identifier |
offerId |
String | Associated offer identifier |
amount |
BigDecimal | Accumulator impact amount |
validStart |
String | Validity start |
validEnd |
String | Validity end |
TransactionRecurringData—billing cycle and proration details for recurring charges:
| Field | Type | Description |
|---|---|---|
type |
String | Recurring charge type |
cycleUnit |
String | Billing cycle unit, for example MONTH |
cycleStart |
String | Billing cycle start date |
cycleEnd |
String | Billing cycle end date |
scale |
BigDecimal | Proration scale factor |
proration |
String | Proration method |
Example request
query {
searchTransactionUnits(
page: 1
size: 20
transactionUnitFilter: {
clientId: 7000215
accountId: 100001
type: USAGE
startDate: "2025-03-01"
endDate: "2025-03-31"
}
transactionUnitSort: { createdDate: "DESC" }
) {
id
type
source
accountId
billUnitId
serviceType
netAmount
grossAmount
aggregationStatus
startDate
endDate
createdDate
balances {
balanceType
offerType
offerId
currency
amount
quantity
unitPrice
}
txnUsageData {
usageType
usageId
fileName
quantity
rateUnit
direction
apartyNumber
bpartyNumber
}
allowances {
allowanceId
allowanceType
amount
validStart
validEnd
}
accumulators {
accumulatorId
amount
}
recurringData {
type
cycleUnit
cycleStart
cycleEnd
scale
}
}
}
Query: getTransactionUnitById
Use getTransactionUnitById to retrieve a single transaction unit by its unique identifier. This query requires id: BigInteger! and clientId: BigInteger!. It returns the same TransactionUnit type as searchTransactionUnits.
Query: getTransactionSummary
Use getTransactionSummary to retrieve summarized transaction totals for an account, grouped by service type and transaction type.
Input: GetTransactionSummaryInput
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
accountId |
BigInteger | Optional | Account to summarize |
billUnitId |
BigInteger | Optional | Bill unit to summarize |
startDate |
String | Optional | Summary period start |
endDate |
String | Optional | Summary period end |
The response returns a TransactionSummary containing clientId, accountId, billUnitId, and a summaryData list. Each TransactionSummaryData entry includes serviceType, transactionType, netAmount, grossAmount, count, startDate, and endDate.
Queries: Transaction Aggregation
The following four queries support transaction aggregation reporting. All require clientId: BigInteger!.
| Query | Key filter fields | Returns |
|---|---|---|
| getTransactionAggregationSummary | clientId, aggregationStartDate, aggregationEndDate, status |
[TransactionAggregationSummary] with aggregationId, date range, counts by status, and transactionType |
| getTransactionAggregationSummaryDetail | clientId, aggregationId |
Detailed breakdown of a single aggregation batch |
| searchTransactionAggregationData | clientId, aggregationId, accountId, billUnitId, serviceType, transactionType, startDate, endDate |
All transaction types within the aggregation batch |
| searchNonUsageTransactionAggregationData | Same filter as searchTransactionAggregationData | Non-usage transactions only (recurring, one-time, adjustments) |
Queries: Balance Unit
The following four queries support balance unit retrieval. All require clientId: BigInteger!.
| Query | Key arguments | Returns |
|---|---|---|
| getBalanceUnitByAccountId | id: BigInteger!, clientId: BigInteger! |
BalanceUnitData with currency-level balance summary and a list of balance units, each containing nested balances, accumulators, and allowances |
| searchBalanceUnitBalances | clientId (required); accountId, subscriptionId, parentId (optional) |
Balance records for matching balance units |
| searchBalanceUnitAccumulators | Same as above | Accumulator records for matching balance units |
| searchBalanceUnitAllowances | Same as above | Allowance records including allowanceId, allowanceName, allowanceAmount, amountUsed, remainingAmount, startDate, and endDate |
Mutation: createTransactionUnit
Use createTransactionUnit to create a new rated charge against an account.
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
accountId |
BigInteger | Optional | Associated account |
billUnitId |
BigInteger | Optional | Associated bill unit |
type |
TransactionType | Optional | Transaction type (default: USAGE) |
source |
TransactionSource | Optional | Transaction source |
serviceType |
String | Optional | Service type |
netAmount |
BigDecimal | Optional | Net amount after discounts |
grossAmount |
BigDecimal | Optional | Gross amount before discounts |
startDate |
String | Optional | Transaction period start |
endDate |
String | Optional | Transaction period end |
txnUsageData |
TransactionUsageDataInput | Optional | CDR and usage-specific data |
The mutation returns the created TransactionUnit. See searchTransactionUnits for all response fields.
Pricing Hub
The Pricing Hub manages price offers, discount offers, billable services, and pricing configuration.
Query: searchPriceOffer
Use searchPriceOffer to search price offers with full nested pricing structures including flat, tiered, recurring, attribute-based, and composite models.
PriceOfferFilter fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
id |
String | Optional | Filter by internal identifier |
priceOfferId |
String | Optional | Filter by price offer identifier |
name |
String | Optional | Partial match on name |
status |
PriceOfferStatus | Optional | Filter by status |
serviceType |
String | Optional | For example, VOICE or DATA |
pricingModel |
PricingModel | Optional | Filter by pricing model |
transactionType |
TransactionType | Optional | Filter by transaction type |
billableServiceId |
BigInteger | Optional | Filter by billable service |
planNo |
BigInteger | Optional | Filter by plan number |
pricingSetupComplete |
Boolean | Optional | Filter by setup completeness |
Key response fields (PriceOffer)
| Field | Type | Description |
|---|---|---|
id |
String | Internal identifier |
priceOfferId |
String | Business-level price offer identifier |
name |
String | Price offer name |
status |
PriceOfferStatus | ACTIVE, INACTIVE, DRAFT, ARCHIVED, PENDING |
pricingModel |
PricingModel | Pricing model type |
transactionType |
TransactionType | Transaction type |
serviceType |
String | Service type |
corePriceAmount |
BigDecimal | Core price amount |
planName |
String | Plan name |
billableServiceName |
String | Billable service name |
pricingSetupComplete |
Boolean | Whether pricing setup is complete |
flatPricing |
FlatPricing | Flat pricing data (FLAT model) |
tierPricing |
TierPricing | Tiered pricing data (TIERED model) |
recurringPricing |
RecurringPricing | Recurring charge pricing |
transactionAttributePricing |
TransactionAttributePricing | Zone and time-based pricing |
usageAttributePricing |
[UsageAttributePricing] | Custom attribute-based pricing |
complexPricing |
[ComplexPricing] | Composite pricing |
The shared Price sub-type appears within any pricing model and contains index, currencyId, amount, flatRate, startDate, endDate, and futureRate. The Tiers sub-type contains index, minimum, maximum, prices, allowances, and accumulators.
Query: searchDiscountOffer
Use searchDiscountOffer to search discount offers with nested discounting structures including flat, tiered, attribute-based, and composite models.
DiscountOfferFilter fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
id |
String | Optional | Filter by internal identifier |
name |
String | Optional | Partial match on name |
status |
DiscountOfferStatus | Optional | Filter by status |
serviceType |
String | Optional | Filter by service type |
discountingModel |
DiscountingModel | Optional | Filter by discounting model |
billableServiceId |
BigInteger | Optional | Filter by billable service |
Key response fields include id, name, status, discountingModel, scope, durationUnit, duration, applicableAmount, and the nested discounting structures flatDiscounting, tierDiscounting, complexDiscounting, and usageAttributeDiscounting.
Query: getBillableServiceConfig
Use getBillableServiceConfig to retrieve billable service configurations including service types, accounting codes, and tax codes.
BillableServiceFilter fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
name |
String | Optional | Partial match on name |
serviceType |
String | Optional | Filter by service type |
transactionType |
TransactionType | Optional | Filter by transaction type |
status |
GenericStatus | Optional | Filter by status |
The response returns a BillableService with id, name, description, transactionType, serviceType, usageTypeNo, taxCode, status, creditGlAccount, and debitGlAccount.
Queries: Pricing Configuration
The following queries retrieve pricing configuration data. All require clientId: BigInteger! and return their respective configuration objects.
| Query | Returns | Key list field |
|---|---|---|
| getCurrencyConfig | ConfigCurrency | currencyList (symbol, name, roundingMethod, roundingPrecision) |
| getAccumulatorConfig | ConfigAccumulator | accumulatorList (symbol, name, accumulateQuantity, commitmentAccumulator) |
| getAllowanceConfig | ConfigAllowance | allowanceList (symbol, name, allowanceType, roundingMethod) |
| getRateUnitConfig | RateUnit | rateUnitList (code, expression, unit, status) |
| getRateUnitSvcTxnMapConfig | RateUnitSvcTxnMap | rateUnitSvcTxnMapList (rateUnitCode, serviceType, transactionType) |
| getServiceTypeConfig | ConfigServiceType | configServiceTypeList (serviceType, description) |
| getUsageTypeConfig | UsageType | usageTypeList (usageTypeNo, name, description, status) |
| getTimeUnitConfig | TimeUnit | dayOfWeekList, timeOfDayList, holidayList |
| searchZoneUnit | [ZoneUnit] | zones (originValue, destinationValue, pricingZone) |
| searchMultiRating | [MultiRating] | multiRatingList (priceOfferId, priority) |
Mutations: Price Offers
Use createPriceOffer to create a new price offer, or modifyPriceOffer to update an existing one.
createPriceOffer key input fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
name |
String | Required | Price offer name |
pricingModel |
PricingModel | Optional | Determines which nested pricing object to populate |
transactionType |
TransactionType | Optional | Default: NONE |
serviceType |
String | Optional | Default: DEFAULT |
effectiveDate |
String | Optional | Effective date for versioning |
flatPricing |
FlatPricingInput | Optional | Required when pricingModel = FLAT |
tierPricing |
TierPricingInput | Optional | Required when pricingModel = TIERED |
recurringPricing |
RecurringPricingInput | Optional | Required when pricingModel = RECURRING |
modifyPriceOffer requires id, priceOfferId, clientId, and effectiveDate. Only the fields you provide are updated.
Mutations: Discount Offers
Use createDiscountOffer to create a discount offer, or modifyDiscountOffer to update one. Key input fields for createDiscountOffer include clientId (required), name (required), discountingModel, scope, durationUnit, duration, flatDiscounting, and tierDiscounting.
Mutations: Pricing Configuration
Each configuration area has a paired create and modify mutation: createCurrencyConfig / modifyCurrencyConfig, createAccumulatorConfig / modifyAccumulatorConfig, createAllowanceConfig / modifyAllowanceConfig, createRateUnit / modifyRateUnit, createZoneUnit / modifyZoneUnit, and createMultiRating / modifyMultiRating. Each create mutation accepts the full configuration object. Each modify mutation requires the configuration id and clientId, and updates only the fields you provide.
Customer Hub
The Customer Hub manages accounts, subscriptions, service units, price and discount units, contracts, and billing profiles.
Query: searchAccounts
Use searchAccounts to search customer accounts with filtering and sorting. The response includes contacts and addresses.
AccountFilter fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
id |
BigInteger | Optional | Filter by account identifier |
status |
String | Optional | Filter by account status |
type |
AccountType | Optional | Filter by account type |
customerId |
String | Optional | Filter by customer identifier |
clientAccountId |
String | Optional | Filter by client-assigned account identifier |
parentId |
BigInteger | Optional | Filter by parent account |
provisioningId |
String | Optional | Filter by provisioning identifier |
The Account response includes id, uuid, status, currency, accountCategory, type, organization, customerId, hasChildAccounts, contacts, and addresses.
Queries: Subscriptions
The following queries retrieve subscription data. Key response fields on the Subscription type include id, name, status, category, startDate, endDate, initialTerm, renewalTerm, payingResponsibility, and balanceUnitId.
| Query | Key arguments |
|---|---|
| getSubscriptionsByAccountId | accountId: BigInteger!, clientId: BigInteger! |
| getSubscriptionById | id: BigInteger!, clientId: BigInteger! |
| searchSubscription | Filter by clientId, accountId, status, category, and date range |
| getSubscriptionDetailsByAccountId | accountId: BigInteger!, clientId: BigInteger! |
Queries: Price Units and Discount Units
Key PriceUnit response fields include id, priceOfferId, subscriptionId, serviceUnitId, status, planName, pricingModel, priceOverride, and commitmentTerm.
| Query | Key arguments |
|---|---|
| getPriceUnitsByAccountId | accountId: BigInteger!, clientId: BigInteger! |
| getPriceUnitById | id: BigInteger!, clientId: BigInteger! |
| searchPriceUnit | Filter by clientId, accountId, subscriptionId, priceOfferId, status |
| getDiscountUnitsByAccountId | accountId: BigInteger!, clientId: BigInteger! |
| getDiscountUnitById | id: BigInteger!, clientId: BigInteger! |
Queries: Service Units, Contracts, and Billing
| Query | Key response type | Key fields |
|---|---|---|
| getServiceUnitByAccountId, getServiceUnitById, searchServiceUnit | ServiceUnit | id, type, status, subscriptionId, provisions (with flexAttr1–flexAttr25) |
| getContractByAccountId, getContractById | Contract | id, scope, startDate, endDate, endAction, status, planInstances, rollOverPlans |
| getBillingProfilesByAccountId | BillingProfile | Billing profile configuration for the account |
| getBillUnitsByAccountId | BillUnit | Bill unit records associated with the account |
Mutations: Accounts
Use createAccount to create a customer account. Required input fields are clientId, status, userId, and currency. Optional fields include accountCategory, type, contacts, and addresses. Use modifyAccount with id and clientId to update any fields on an existing account.
Mutations: Price Units, Discount Units, and Contracts
| Mutation | Required fields |
|---|---|
| createPriceUnit | clientId, accountId, priceOfferId, subscriptionId, serviceUnitId |
| modifyPriceUnit | id, clientId; optional: status, startDate, endDate, priceOverride, reason |
| createDiscountUnit | clientId, accountId, discountOfferId, subscriptionId, serviceUnitId |
| modifyDiscountUnit | id, clientId; optional: status, startDate, endDate, reason |
| createContract | accountId, clientId; optional: scope, startDate, endDate, intervalTerm, planInstances |
| modifyContract | id, clientId; optional: status, endDate, endAction, renewalTerm |
Gateway Hub
The Gateway Hub manages transaction aggregation configuration, object synchronization activities, and synchronization error handling.
Query: getTxnAggregationConfig
Use getTxnAggregationConfig to retrieve the transaction aggregation configuration, including attribute definitions. Requires clientId: BigInteger!. Returns a TxnAggregation with a list of TxnAggregationAttributes defining which fields participate in aggregation grouping (attributeName, category, aggregate, coreAttribute, editable).
Queries: Object Synchronization
| Query | Description |
|---|---|
| searchObjectSyncActivities | Search synchronization activity records with filtering by clientId, accountId, status, and date range |
| getObjectSyncActivityById | Retrieve a single synchronization activity by identifier |
| getSyncErrorSummary | Retrieve a grouped summary of synchronization errors |
| getSyncErrorSummaryDetail | Retrieve detailed breakdown of a synchronization error group |
| getSyncErrorObjects | Retrieve the individual objects that failed synchronization |
The ObjectSyncActivity response type includes id, accountId, eventId, eventTime, actionName, objectName, status (PENDING, ERROR, COMPLETE, IGNORED, INCOMPLETE), errorCode, and errorMessage.
Mutations: Gateway Configuration
Use createTxnAggregationConfig or modifyTxnAggregationConfig to manage aggregation configuration. Both accept a TxnAggregationInput or ModifyTxnAggregationInput containing clientId and a list of attribute definitions.
Use processSyncError to retry failed synchronization events. This mutation accepts a SyncErrorObjectInput with clientId, objectName, actionName, and status filters, and re-publishes matching failed events for retry. It returns a confirmation string.
Mediation Hub
The Mediation Hub provides access to Call Detail Record (CDR) file processing statistics, raw usage records, and enriched detail records.
Queries: CDR File Statistics
Use searchCdrStats or getCdrStatsByFileName to retrieve CDR file processing statistics with a per-stage breakdown.
CdrFileProcessingStatsFilter fields
| Field | Type | Required | Description |
|---|---|---|---|
clientId |
BigInteger | Required | Tenant identifier |
fileName |
String | Optional | Partial match on file name |
startDate |
String | Optional | Files processed on or after this date |
endDate |
String | Optional | Files processed on or before this date |
sourcePlatform |
String | Optional | Filter by source platform |
The CdrFileProcessingStats response includes fileName, fileDate, sourcePlatform, startTime, endTime, elapsedTime, and stageStats. Each stageStats entry contains pendingCount, processedCount, errorCount, and suspendedCount per processing stage.
Queries: Usage Records
| Query | Key arguments | Returns |
|---|---|---|
| searchRawUsageRecord | clientId, sourcePlatform, usageRecordIndicator, serviceType |
[[RawUsageRecord]]—each record is a list of column/value pairs (columnName, columnValue) supporting dynamic CDR formats |
| getMediationUsageRecords | clientId, usageId, fileName |
[EnrichedFileDetailRecord] with full account resolution, rating attributes, aggregation status, party numbers, and 25 flexible attributes |
Queries: Error and Suspension Reporting
| Query | Description | Key filter fields |
|---|---|---|
| getLoadErrorFiles | Returns files that failed ingestion, including fileName, filePath, and errorReason |
clientId; optional: sourcePlatform, serviceType, usageRecordIndicator |
| searchSuspendedFailedBatch | Returns batches with suspended or failed records | clientId, sourcePlatform, serviceType, date range |
| searchSuspenseSummary | Returns a grouped error summary including provisioningId, fileName, errorCode, errorMsg, and recordCount |
clientId, sourcePlatform, serviceType, date range |
Common Hub
The Common Hub provides access to virtual time, system properties, UI display templates, client data, and activity logs.
Queries: Common Hub
| Query | Arguments | Returns |
|---|---|---|
| getVirtualTime | clientId! |
SystemVirtualTime (virtualTime: String) |
| getSystemProperty | property!, clientId! |
SystemProperty (property, value) |
| getSystemProperties | clientId! |
[SystemProperty] |
| getUIDisplayTemplate | serviceName!, clientId! |
UIDisplayTemplate with field visibility and ordering |
| getClientDataById | clientId! |
ClientData (clientName, domain, awsBucketName, and others) |
| getActivityLogById | id!, clientId! |
ActivityLog (apiName, direction, sourceIp, input and output JSON) |
| searchActivityLog | Filter (clientId!), sort, page, size |
[ActivityLog] |
Mutations: Common Hub
| Mutation | Required input |
|---|---|
| setVirtualTime | virtualTime (ISO-8601 date), clientId |
| setSystemProperty | property, value, clientId |
| setSystemProperties | systemPropertyList (array of property, value, clientId objects) |
| manageUIDisplayTemplate | serviceName, clientId, uiDisplayTemplateFields |
| createClientData | clientId, userId; optional: clientName, domain, awsBucketName |
| modifyClientData | clientId, userId, and any fields to update |
Operations Hub
The Operations Hub manages job configuration, job scheduling, and permission management.
Queries: Operations Hub
| Query | Arguments | Returns |
|---|---|---|
| getJobs | clientId! |
[Job] with name, scheduleFrequency, jobScheduleTime, and jobList |
| getJobListById | id!, clientId! |
[JobList] with index and jobName |
| getJobScheduleByDate | scheduleDate!, clientId! |
JobSchedule with status and jobScheduleList containing per-job counts |
| getPermissionConfig | clientId! |
Permission with permissionMapList (read, edit, create, delete per feature) |
| getUserPermissions | user!, clientId!, accessToken! |
UserDetailsResponse (firstName, lastName, email, permissions) |
Mutations: Operations Hub
| Mutation | Required input |
|---|---|
| createJob | clientId, name, scheduleFrequency; optional: jobList, jobScheduleTime |
| modifyJob | id!, clientId, and any fields to update |
| createJobSchedule | scheduleDate!, scheduleFrequency!, scheduleName!, clientId |
| deleteJobScheduleById | jobScheduleId!, clientId!—returns Boolean |
| modifyJobScheduleList | id!, clientId, index, scheduleType (AUTOMATIC or MANUAL) |
| modifyPermissionConfig | id!, clientId, and permissionMapList updates |
Usage Process Hub
The Usage Process Hub manages usage stream maps, source platforms, file maps, custom usage records, detail records, and meter readings.
Queries: Usage Process Hub
| Query | Key filter fields | Returns |
|---|---|---|
| getUsageProcessStreamMapConfig | clientId!, serviceType, sourcePlatform |
[UsageProcessStreamMap] with ordered streams and modules |
| getUsageSourcePlatform | clientId!, serviceType, name |
UsageSourcePlatform with interface configurations and mediation rules |
| getUsageFileMap | clientId!, serviceType, sourcePlatform |
[UsageFileMap] with record type mappings and field positions |
| getCustomUsageRecord | clientId! |
CustomUsageRecord with record types and attribute definitions |
| searchDetailRecords | clientId!, startDate, endDate, status, sourcePlatform |
[DetailRecord] with full rating, reference, and balance data |
| searchMeterUsageReadings | clientId!, accountId, provisioningId, date range |
[MeteredServiceUsageReadings] with reading values |
| accountLookup | clientId!, provisioningId! |
[AccountRefDataView]—resolves account and service unit for rating |
| priceUnitAnalysis | clientId!, accountId!, serviceUnitIds, date range |
[PriceUnitView]—pricing analysis for rating |
The DetailRecord response type includes the following key fields:
| Field | Type | Description |
|---|---|---|
usageId |
String | Unique usage record identifier |
accountId |
BigInteger | Resolved account |
serviceUnitId |
BigInteger | Resolved service unit |
usageType |
String | Usage type name |
serviceType |
String | Service type |
status |
UsageRecStatus | PENDING, PROCESSED, FAILED, SUSPENDED, DISCARDED |
quantity |
BigDecimal | Usage quantity |
netvalue |
BigDecimal | Net value |
grossvalue |
BigDecimal | Gross value |
flexattr1–flexattr25 |
String | Flexible custom attributes |
referenceData |
ReferenceData | Account and pricing reference context |
ratingData |
RatingData | Rating calculation details |
balanceData |
BalanceData | Balance impact details |
Mutations: Usage Process Hub
Each configuration area has a paired create and modify mutation: createUsageProcessStreamMap / modifyUsageProcessStreamMap, createUsageSourcePlatform / modifyUsageSourcePlatform, createUsageFileMap / modifyUsageFileMap, and createCustomUsageRecord / modifyCustomUsageRecord. Each create mutation accepts the full configuration object. Each modify mutation requires the configuration id and clientId, and updates only the fields you provide.
Use discardUsageRecord to mark one or more usage records as discarded. This mutation requires clientId and a list of usage record identifiers.