Totogi Charging as a Service API

Welcome to the Totogi Charging as a Service API. This GraphQL API is useful for querying balances and EDRs, provisioning subscribers and devices, subscribing to plans and managing configuration.

Using the API Before making a GraphQL call...

Contact

Totogi Support

support@totogi.com

API Endpoints
https://api.ccab.totogi.com/graphql
Version

${DOCS_VERSION}

Queries

getAccount

Description

Returns an account for a provider by an account ID.

Response

Returns an AccountResult

Arguments
Name Description
providerId - ID! Service provider ID.
accountId - ID! Account ID.

Example

Query
query getAccount(
  $providerId: ID!,
  $accountId: ID!
) {
  getAccount(
    providerId: $providerId,
    accountId: $accountId
  ) {
    ... on Account {
      ...AccountFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
  }
}
Variables
{"providerId": 4, "accountId": "4"}
Response
{"data": {"getAccount": Account}}

getCurrentUser

Description

Gets info for the currently logged in user

Response

Returns a GetUserPayload

Example

Query
query getCurrentUser {
  getCurrentUser {
    providerId
    userId
    email
    name
    roleGroupMemberships
    profilePicture {
      ...ProfilePhotoFragment
    }
    phoneNumber
    jobTitle
    softwareMfaEnabled
  }
}
Response
{
  "data": {
    "getCurrentUser": {
      "providerId": 4,
      "userId": "4",
      "email": AWSEmail,
      "name": "xyz789",
      "roleGroupMemberships": ["Account_Query"],
      "profilePicture": ProfilePhoto,
      "phoneNumber": AWSPhone,
      "jobTitle": "abc123",
      "softwareMfaEnabled": false
    }
  }
}

getDeployedFieldMappings

Description

Gets deployed field mappings for a provider sorted by when they will be applied.

Response

Returns a DeployedFieldMappingConnection

Arguments
Name Description
providerId - ID! Service provider ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.

Example

Query
query getDeployedFieldMappings(
  $providerId: ID!,
  $first: Int!,
  $after: String
) {
  getDeployedFieldMappings(
    providerId: $providerId,
    first: $first,
    after: $after
  ) {
    edges {
      ...DeployedFieldMappingEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "first": 987,
  "after": "abc123"
}
Response
{
  "data": {
    "getDeployedFieldMappings": {
      "edges": [DeployedFieldMappingEdge],
      "pageInfo": PageInfo
    }
  }
}

getDevice

Description

Returns a device for a provider by a device ID.

Response

Returns a DeviceResult

Arguments
Name Description
providerId - ID! Service provider ID.
deviceId - ID! Device ID.

Example

Query
query getDevice(
  $providerId: ID!,
  $deviceId: ID!
) {
  getDevice(
    providerId: $providerId,
    deviceId: $deviceId
  ) {
    ... on Device {
      ...DeviceFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
  }
}
Variables
{"providerId": "4", "deviceId": 4}
Response
{"data": {"getDevice": Device}}

getEventDataRecordsByAccount

Description

Gets a list of event data records for an account with pagination.

Arguments
Name Description
providerId - ID! Service provider ID.
accountId - ID! Account ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.
filterBy - EventDataRecordFilter Filtering options for event data records returned in the connection.

Example

Query
query getEventDataRecordsByAccount(
  $providerId: ID!,
  $accountId: ID!,
  $first: Int!,
  $after: String,
  $filterBy: EventDataRecordFilter
) {
  getEventDataRecordsByAccount(
    providerId: $providerId,
    accountId: $accountId,
    first: $first,
    after: $after,
    filterBy: $filterBy
  ) {
    ... on EventDataRecordAccountConnection {
      ...EventDataRecordAccountConnectionFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "accountId": 4,
  "first": 987,
  "after": "xyz789",
  "filterBy": EventDataRecordFilter
}
Response
{
  "data": {
    "getEventDataRecordsByAccount": EventDataRecordAccountConnection
  }
}

getEventDataRecordsByDevice

Description

Gets a list of event data records for a device with pagination.

Arguments
Name Description
providerId - ID! Service provider ID.
deviceId - ID! Device ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.
filterBy - EventDataRecordFilter Filtering options for event data records returned in the connection.

Example

Query
query getEventDataRecordsByDevice(
  $providerId: ID!,
  $deviceId: ID!,
  $first: Int!,
  $after: String,
  $filterBy: EventDataRecordFilter
) {
  getEventDataRecordsByDevice(
    providerId: $providerId,
    deviceId: $deviceId,
    first: $first,
    after: $after,
    filterBy: $filterBy
  ) {
    ... on EventDataRecordDeviceConnection {
      ...EventDataRecordDeviceConnectionFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "deviceId": 4,
  "first": 987,
  "after": "xyz789",
  "filterBy": EventDataRecordFilter
}
Response
{
  "data": {
    "getEventDataRecordsByDevice": EventDataRecordDeviceConnection
  }
}

getFieldMappings

Description

Gets not deployed field mappings for a provider.

Response

Returns a FieldMappingConnection

Arguments
Name Description
providerId - ID! Service provider ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.

Example

Query
query getFieldMappings(
  $providerId: ID!,
  $first: Int!,
  $after: String
) {
  getFieldMappings(
    providerId: $providerId,
    first: $first,
    after: $after
  ) {
    edges {
      ...FieldMappingEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "providerId": 4,
  "first": 123,
  "after": "xyz789"
}
Response
{
  "data": {
    "getFieldMappings": {
      "edges": [FieldMappingEdge],
      "pageInfo": PageInfo
    }
  }
}

getMyProviderConfig

Description

Gets config of the current tenant

Response

Returns a GetMyProviderConfigResult

Example

Query
query getMyProviderConfig {
  getMyProviderConfig {
    ... on ProviderConfig {
      ...ProviderConfigFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
    ... on RateLimitExceeded {
      ...RateLimitExceededFragment
    }
  }
}
Response
{"data": {"getMyProviderConfig": ProviderConfig}}

getMyRestoreJobs

Response

Returns a GetMyRestoreJobsResult

Arguments
Name Description
getMyRestoreJobsInput - GetMyRestoreJobsInput!

Example

Query
query getMyRestoreJobs($getMyRestoreJobsInput: GetMyRestoreJobsInput!) {
  getMyRestoreJobs(getMyRestoreJobsInput: $getMyRestoreJobsInput) {
    ... on GetMyRestoreJobsPayload {
      ...GetMyRestoreJobsPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"getMyRestoreJobsInput": GetMyRestoreJobsInput}
Response
{"data": {"getMyRestoreJobs": GetMyRestoreJobsPayload}}

getPlan

Description

Gets a plan for a provider.

Response

Returns a PlanResult

Arguments
Name Description
providerId - ID! Service provider ID.
planId - ID! Already existing plan ID.

Example

Query
query getPlan(
  $providerId: ID!,
  $planId: ID!
) {
  getPlan(
    providerId: $providerId,
    planId: $planId
  ) {
    ... on Plan {
      ...PlanFragment
    }
    ... on PlanNotFound {
      ...PlanNotFoundFragment
    }
  }
}
Variables
{"providerId": 4, "planId": 4}
Response
{"data": {"getPlan": Plan}}

getPlanServices

Description

Gets a list of plan services for a provider with pagination.

Response

Returns a PlanServiceConnection

Arguments
Name Description
providerId - ID! Service provider ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.

Example

Query
query getPlanServices(
  $providerId: ID!,
  $first: Int!,
  $after: String
) {
  getPlanServices(
    providerId: $providerId,
    first: $first,
    after: $after
  ) {
    edges {
      ...PlanServiceEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "first": 987,
  "after": "xyz789"
}
Response
{
  "data": {
    "getPlanServices": {
      "edges": [PlanServiceEdge],
      "pageInfo": PageInfo
    }
  }
}

getPlanVersion

Description

Gets a plan version for a provider.

Response

Returns a PlanVersionResult

Arguments
Name Description
providerId - ID! Service provider ID.
planVersionId - ID! Already existing plan version ID.

Example

Query
query getPlanVersion(
  $providerId: ID!,
  $planVersionId: ID!
) {
  getPlanVersion(
    providerId: $providerId,
    planVersionId: $planVersionId
  ) {
    ... on PlanVersion {
      ...PlanVersionFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
  }
}
Variables
{"providerId": 4, "planVersionId": "4"}
Response
{"data": {"getPlanVersion": PlanVersion}}

getPlans

Description

Gets a list of plans for a provider with pagination.

Response

Returns a PlanConnection

Arguments
Name Description
providerId - ID! Service provider ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.
orderBy - PlanOrder Ordering options for plans returned from the connection.

Example

Query
query getPlans(
  $providerId: ID!,
  $first: Int!,
  $after: String,
  $orderBy: PlanOrder
) {
  getPlans(
    providerId: $providerId,
    first: $first,
    after: $after,
    orderBy: $orderBy
  ) {
    edges {
      ...PlanEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "first": 987,
  "after": "xyz789",
  "orderBy": PlanOrder
}
Response
{
  "data": {
    "getPlans": {
      "edges": [PlanEdge],
      "pageInfo": PageInfo
    }
  }
}

getProviderConfig

Description

Gets config of a specific tenant

Response

Returns a GetProviderConfigResult

Arguments
Name Description
providerId - ID! Service provider ID.

Example

Query
query getProviderConfig($providerId: ID!) {
  getProviderConfig(providerId: $providerId) {
    ... on ProviderConfig {
      ...ProviderConfigFragment
    }
    ... on ProviderNotFound {
      ...ProviderNotFoundFragment
    }
  }
}
Variables
{"providerId": "4"}
Response
{"data": {"getProviderConfig": ProviderConfig}}

getRatingGroupHierarchy

Description

Gets rating group hierarchy for a provider.

Response

Returns a RatingGroupResult

Arguments
Name Description
providerId - ID! Service provider ID.

Example

Query
query getRatingGroupHierarchy($providerId: ID!) {
  getRatingGroupHierarchy(providerId: $providerId) {
    ... on RatingGroup {
      ...RatingGroupFragment
    }
  }
}
Variables
{"providerId": "4"}
Response
{"data": {"getRatingGroupHierarchy": RatingGroup}}

getRelatedAccountsByDevice

Description

Returns a list of all parent accounts for a provided device ID.

Arguments
Name Description
providerId - ID! Service provider ID.
deviceId - ID! Finds all related accounts by a device ID.

Example

Query
query getRelatedAccountsByDevice(
  $providerId: ID!,
  $deviceId: ID!
) {
  getRelatedAccountsByDevice(
    providerId: $providerId,
    deviceId: $deviceId
  ) {
    ... on GetRelatedAccountsByDevicePayload {
      ...GetRelatedAccountsByDevicePayloadFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
  }
}
Variables
{"providerId": 4, "deviceId": "4"}
Response
{
  "data": {
    "getRelatedAccountsByDevice": GetRelatedAccountsByDevicePayload
  }
}

getRestoreJobs

Response

Returns a GetRestoreJobsResult

Arguments
Name Description
getRestoreJobsInput - GetRestoreJobsInput!

Example

Query
query getRestoreJobs($getRestoreJobsInput: GetRestoreJobsInput!) {
  getRestoreJobs(getRestoreJobsInput: $getRestoreJobsInput) {
    ... on GetRestoreJobsPayload {
      ...GetRestoreJobsPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"getRestoreJobsInput": GetRestoreJobsInput}
Response
{"data": {"getRestoreJobs": GetRestoreJobsPayload}}

getRules

Description

Gets a list of rules for a provider with pagination.

Response

Returns a RuleConnection

Arguments
Name Description
providerId - ID! Service provider ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.

Example

Query
query getRules(
  $providerId: ID!,
  $first: Int!,
  $after: String
) {
  getRules(
    providerId: $providerId,
    first: $first,
    after: $after
  ) {
    edges {
      ...RuleEdgeFragment
    }
    pageInfo {
      ...PageInfoFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "first": 987,
  "after": "abc123"
}
Response
{
  "data": {
    "getRules": {
      "edges": [RuleEdge],
      "pageInfo": PageInfo
    }
  }
}

getSGSNTable

Description

Gets the SGSN table for the provider.

Response

Returns an SGSNTableResult

Arguments
Name Description
providerId - ID! Service provider ID.

Example

Query
query getSGSNTable($providerId: ID!) {
  getSGSNTable(providerId: $providerId) {
    ... on SGSNTable {
      ...SGSNTableFragment
    }
  }
}
Variables
{"providerId": 4}
Response
{"data": {"getSGSNTable": SGSNTable}}

getSettings

Description

Gets settings for a provider.

Response

Returns a SettingsResult

Arguments
Name Description
providerId - ID! Service provider ID.

Example

Query
query getSettings($providerId: ID!) {
  getSettings(providerId: $providerId) {
    ... on Settings {
      ...SettingsFragment
    }
  }
}
Variables
{"providerId": "4"}
Response
{"data": {"getSettings": Settings}}

getUser

Description

Gets a user for the given input, or returns a UserNotFound error

Response

Returns a GetUserResult

Arguments
Name Description
getUserInput - GetUserInput! Get user input

Example

Query
query getUser($getUserInput: GetUserInput!) {
  getUser(getUserInput: $getUserInput) {
    ... on GetUserPayload {
      ...GetUserPayloadFragment
    }
    ... on UserNotFound {
      ...UserNotFoundFragment
    }
  }
}
Variables
{"getUserInput": GetUserInput}
Response
{"data": {"getUser": GetUserPayload}}

listUsers

Description

Lists the users for the given provider ID.

Response

Returns a ListUsersResult

Arguments
Name Description
providerId - ID! Service provider ID.
first - Int! Returns the first n elements from the list or a maximum of 100.
after - String Returns the elements in the list that come after the specified cursor.

Example

Query
query listUsers(
  $providerId: ID!,
  $first: Int!,
  $after: String
) {
  listUsers(
    providerId: $providerId,
    first: $first,
    after: $after
  ) {
    ... on ListUsersConnection {
      ...ListUsersConnectionFragment
    }
  }
}
Variables
{
  "providerId": "4",
  "first": 987,
  "after": "xyz789"
}
Response
{"data": {"listUsers": ListUsersConnection}}

Mutations

archivePlanVersion

Description

Archives plan version if it is suspended with no subscribed accounts.

Response

Returns an ArchivePlanVersionResult!

Arguments
Name Description
input - ArchivePlanVersionInput! Parameters for DeletePlanVersion.

Example

Query
mutation archivePlanVersion($input: ArchivePlanVersionInput!) {
  archivePlanVersion(input: $input) {
    ... on ArchivePlanVersionPayload {
      ...ArchivePlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on PlanVersionWrongTransition {
      ...PlanVersionWrongTransitionFragment
    }
  }
}
Variables
{"input": ArchivePlanVersionInput}
Response
{
  "data": {
    "archivePlanVersion": ArchivePlanVersionPayload
  }
}

cancelPlanSubscription

Description

Cancels existing assignment of a plan to an account. If the parameters 'to' and 'from' are not specified, it cancels the first matching plan. If it is an indefinite plan, then 'to' and 'from' should be specified to get a match.

Arguments
Name Description
input - CancelPlanSubscriptionInput! Parameters for CancelPlanSubscription.

Example

Query
mutation cancelPlanSubscription($input: CancelPlanSubscriptionInput!) {
  cancelPlanSubscription(input: $input) {
    ... on CancelPlanVersionSubscriptionPayload {
      ...CancelPlanVersionSubscriptionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on SubscriptionNotFound {
      ...SubscriptionNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on MultipleSubscriptions {
      ...MultipleSubscriptionsFragment
    }
    ... on InternalServerError {
      ...InternalServerErrorFragment
    }
  }
}
Variables
{"input": CancelPlanSubscriptionInput}
Response
{
  "data": {
    "cancelPlanSubscription": CancelPlanVersionSubscriptionPayload
  }
}

copyPlan

Description

Creates a new plan out of an existing one.

Response

Returns a CopyPlanResult!

Arguments
Name Description
from - CopyFromPlanVersion! Parameters to define from what plan to copy.
to - CopyToPlan! Parameters to define how to create a new plan.

Example

Query
mutation copyPlan(
  $from: CopyFromPlanVersion!,
  $to: CopyToPlan!
) {
  copyPlan(
    from: $from,
    to: $to
  ) {
    ... on CopyPlanPayload {
      ...CopyPlanPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{
  "from": CopyFromPlanVersion,
  "to": CopyToPlan
}
Response
{"data": {"copyPlan": CopyPlanPayload}}

copyPlanService

Description

Creates a plan service in a provided plan by copying an existing plan service from another plan.

Response

Returns a CopyPlanServiceResult!

Arguments
Name Description
from - CopyPlanServiceFrom! Parameters to define from what plan service to copy.
to - CopyPlanServiceTo! Parameters to define where to copy a new plan service.

Example

Query
mutation copyPlanService(
  $from: CopyPlanServiceFrom!,
  $to: CopyPlanServiceTo!
) {
  copyPlanService(
    from: $from,
    to: $to
  ) {
    ... on CopyPlanServicePayload {
      ...CopyPlanServicePayloadFragment
    }
    ... on PlanServiceNotFound {
      ...PlanServiceNotFoundFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{
  "from": CopyPlanServiceFrom,
  "to": CopyPlanServiceTo
}
Response
{"data": {"copyPlanService": CopyPlanServicePayload}}

createAccount

Description

Creates an account for a provider.

Response

Returns a CreateAccountResult!

Arguments
Name Description
input - CreateAccountInput! Parameters for CreateAccount.

Example

Query
mutation createAccount($input: CreateAccountInput!) {
  createAccount(input: $input) {
    ... on CreateAccountPayload {
      ...CreateAccountPayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on AccountAlreadyExists {
      ...AccountAlreadyExistsFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on PostpaidFieldInPrepaidAccount {
      ...PostpaidFieldInPrepaidAccountFragment
    }
    ... on PostpaidPropertiesRequired {
      ...PostpaidPropertiesRequiredFragment
    }
  }
}
Variables
{"input": CreateAccountInput}
Response
{"data": {"createAccount": CreateAccountPayload}}

createDevice

Description

Creates a device in an account.

Response

Returns a CreateDeviceResult!

Arguments
Name Description
input - CreateDeviceInput! Parameters for CreateDevice.

Example

Query
mutation createDevice($input: CreateDeviceInput!) {
  createDevice(input: $input) {
    ... on CreateDevicePayload {
      ...CreateDevicePayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on DeviceAlreadyExists {
      ...DeviceAlreadyExistsFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": CreateDeviceInput}
Response
{"data": {"createDevice": CreateDevicePayload}}

createFieldMapping

Description

Field Mappings are first created in draft and need to be deployed to become effective. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Network_Operator will have rights to use this operation.

Response

Returns a CreateFieldMappingResult!

Arguments
Name Description
input - CreateFieldMappingInput! Parameters for CreateFieldMapping.

Example

Query
mutation createFieldMapping($input: CreateFieldMappingInput!) {
  createFieldMapping(input: $input) {
    ... on CreateFieldMappingPayload {
      ...CreateFieldMappingPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on FieldMappingAlreadyExists {
      ...FieldMappingAlreadyExistsFragment
    }
  }
}
Variables
{"input": CreateFieldMappingInput}
Response
{
  "data": {
    "createFieldMapping": CreateFieldMappingPayload
  }
}

createPlan

Description

Creates a plan for a provider.

Response

Returns a CreatePlanResult!

Arguments
Name Description
input - CreatePlanInput! Parameters for CreatePlan.

Example

Query
mutation createPlan($input: CreatePlanInput!) {
  createPlan(input: $input) {
    ... on CreatePlanPayload {
      ...CreatePlanPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on PlanServiceNotFound {
      ...PlanServiceNotFoundFragment
    }
    ... on PlanAlreadyExists {
      ...PlanAlreadyExistsFragment
    }
  }
}
Variables
{"input": CreatePlanInput}
Response
{"data": {"createPlan": CreatePlanPayload}}

createPlanFromInitialTemplate

Description

Creates a plan by using a template. The fields voice, data, and text are deprecated and will be removed on 2022-08-01. They are replaced by the field services. The field offPeakTimes is deprecated and will be removed on 2022-08-01. It is replaced by the field workingHours in services. The fields rate and ffRate in services are deprecated and will be removed on 2022-08-01. They are replaced by ratePerRounding and InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint. This new field denotes a rate per rounded unit corresponding the the rounding factor in the rating group hierarchy. For example, if a data rating group has a rounding of 1024 then the rounded rate should be 1024 * rate. The fields ffRate and ffRatePerRounding in services are deprecated and will be removed on 2022-08-01. They are replacted by InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint.

Arguments
Name Description
input - CreatePlanFromInitialTemplateInput! Parameters for CreatePlanFromInitialTemplate.

Example

Query
mutation createPlanFromInitialTemplate($input: CreatePlanFromInitialTemplateInput!) {
  createPlanFromInitialTemplate(input: $input) {
    ... on CreatePlanPayload {
      ...CreatePlanPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on PlanAlreadyExists {
      ...PlanAlreadyExistsFragment
    }
    ... on CreatePlanValidationFailed {
      ...CreatePlanValidationFailedFragment
    }
  }
}
Variables
{"input": CreatePlanFromInitialTemplateInput}
Response
{
  "data": {
    "createPlanFromInitialTemplate": CreatePlanPayload
  }
}

createPlanService

Description

Creates a plan service in a plan.

Response

Returns a CreatePlanServiceResult!

Arguments
Name Description
input - CreatePlanServiceInput! Parameters for CreatePlanService.

Example

Query
mutation createPlanService($input: CreatePlanServiceInput!) {
  createPlanService(input: $input) {
    ... on CreatePlanServicePayload {
      ...CreatePlanServicePayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on RuleNotFound {
      ...RuleNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on FieldNotFound {
      ...FieldNotFoundFragment
    }
  }
}
Variables
{"input": CreatePlanServiceInput}
Response
{"data": {"createPlanService": CreatePlanServicePayload}}

createPlanVersionFromInitialTemplate

Description

Updates a plan that was created by using a template. Creates a new version of the plan. The fields voice, data, and text are deprecated and will be removed on 2022-08-01. They are replaced by the field services. The field offPeakTimes is deprecated and will be removed on 2022-08-01. It is replaced by the field workingHours in services. The fields rate and ffRate in services are deprecated and will be removed on 2022-08-01. They are replaced by ratePerRounding and ratePerRounding in InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint. This new field denotes a rate per rounded unit corresponding the the rounding factor in the rating group hierarchy. For example, if a data rating group has a rounding of 1024 then the rounded rate should be 1024 * rate. The fields ffRate and ffRatePerRounding in services are deprecated and will be removed on 2022-08-01. They are replacted by ratePerRounding in InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint.

Arguments
Name Description
input - CreatePlanVersionFromInitialTemplateInput! Parameters for CreatePlanVersionFromInitialTemplate.

Example

Query
mutation createPlanVersionFromInitialTemplate($input: CreatePlanVersionFromInitialTemplateInput!) {
  createPlanVersionFromInitialTemplate(input: $input) {
    ... on PlanVersionPayload {
      ...PlanVersionPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on CreatePlanValidationFailed {
      ...CreatePlanValidationFailedFragment
    }
    ... on PlanVersionAlreadyExists {
      ...PlanVersionAlreadyExistsFragment
    }
  }
}
Variables
{"input": CreatePlanVersionFromInitialTemplateInput}
Response
{
  "data": {
    "createPlanVersionFromInitialTemplate": PlanVersionPayload
  }
}

createProvider

Description

Creates a new tenant.

Response

Returns a CreateProviderResult!

Arguments
Name Description
input - CreateProviderInput! Parameters for CreateProvider.

Example

Query
mutation createProvider($input: CreateProviderInput!) {
  createProvider(input: $input) {
    ... on ProviderConfig {
      ...ProviderConfigFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on InvalidLimitsRange {
      ...InvalidLimitsRangeFragment
    }
    ... on InvalidApiLimitDuplicated {
      ...InvalidApiLimitDuplicatedFragment
    }
  }
}
Variables
{"input": CreateProviderInput}
Response
{"data": {"createProvider": ProviderConfig}}

createUser

Description

Create a cognito user.

Response

Returns a CreateUserResult!

Arguments
Name Description
input - CreateUserInput! Parameters for CreateUser.

Example

Query
mutation createUser($input: CreateUserInput!) {
  createUser(input: $input) {
    ... on SaveUserPayload {
      ...SaveUserPayloadFragment
    }
    ... on UserAlreadyExists {
      ...UserAlreadyExistsFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": CreateUserInput}
Response
{"data": {"createUser": SaveUserPayload}}

creditAccount

Description

Add money to the monetary balance.

Response

Returns a CreditAccountResult!

Arguments
Name Description
input - CreditAccountInput! Parameters for a Credit request.

Example

Query
mutation creditAccount($input: CreditAccountInput!) {
  creditAccount(input: $input) {
    ... on CreditAccountPayload {
      ...CreditAccountPayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": CreditAccountInput}
Response
{"data": {"creditAccount": CreditAccountPayload}}

deleteAccount

Description

Deletes an account if it does not have any children or devices.

Response

Returns a DeleteAccountResult!

Arguments
Name Description
input - DeleteAccountInput! Parameters for DeleteAccount.

Example

Query
mutation deleteAccount($input: DeleteAccountInput!) {
  deleteAccount(input: $input) {
    ... on DeleteAccountPayload {
      ...DeleteAccountPayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on AccountHasReferences {
      ...AccountHasReferencesFragment
    }
  }
}
Variables
{"input": DeleteAccountInput}
Response
{"data": {"deleteAccount": DeleteAccountPayload}}

deleteDevice

Description

Deletes a device from an account.

Response

Returns a DeleteDeviceResult!

Arguments
Name Description
input - DeleteDeviceInput! Parameters for DeleteDevice.

Example

Query
mutation deleteDevice($input: DeleteDeviceInput!) {
  deleteDevice(input: $input) {
    ... on DeleteDevicePayload {
      ...DeleteDevicePayloadFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
  }
}
Variables
{"input": DeleteDeviceInput}
Response
{"data": {"deleteDevice": DeleteDevicePayload}}

deleteFieldMapping

Description

This method deletes Field Mappings in draft and requires deployments to become effective. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Network_Operator will have rights to use this operation.

Response

Returns a DeleteFieldMappingResult!

Arguments
Name Description
input - DeleteFieldMappingInput! Parameters for DeleteFieldMapping.

Example

Query
mutation deleteFieldMapping($input: DeleteFieldMappingInput!) {
  deleteFieldMapping(input: $input) {
    ... on DeleteFieldMappingPayload {
      ...DeleteFieldMappingPayloadFragment
    }
    ... on FieldMappingNotFound {
      ...FieldMappingNotFoundFragment
    }
    ... on FieldMappingHasReferences {
      ...FieldMappingHasReferencesFragment
    }
  }
}
Variables
{"input": DeleteFieldMappingInput}
Response
{
  "data": {
    "deleteFieldMapping": DeleteFieldMappingPayload
  }
}

deletePlan

Description

Deletes a plan. In order to delete a plan it can not be deployed. If a plan is deployed, it can only be archived.

Response

Returns a DeletePlanResult!

Arguments
Name Description
input - DeletePlanInput! Parameters for DeletePlan.

Example

Query
mutation deletePlan($input: DeletePlanInput!) {
  deletePlan(input: $input) {
    ... on DeletePlanPayload {
      ...DeletePlanPayloadFragment
    }
    ... on PlanNotFound {
      ...PlanNotFoundFragment
    }
    ... on PlanVersionHasReferences {
      ...PlanVersionHasReferencesFragment
    }
    ... on PlanIsReadOnly {
      ...PlanIsReadOnlyFragment
    }
  }
}
Variables
{"input": DeletePlanInput}
Response
{"data": {"deletePlan": DeletePlanPayload}}

deletePlanService

Description

Deletes a plan service from a not deployed plan.

Response

Returns a DeletePlanServiceResult!

Arguments
Name Description
input - DeletePlanServiceInput! Parameters for DeletePlanService.

Example

Query
mutation deletePlanService($input: DeletePlanServiceInput!) {
  deletePlanService(input: $input) {
    ... on DeletePlanServicePayload {
      ...DeletePlanServicePayloadFragment
    }
    ... on PlanServiceNotFound {
      ...PlanServiceNotFoundFragment
    }
    ... on PlanVersionHasReferences {
      ...PlanVersionHasReferencesFragment
    }
  }
}
Variables
{"input": DeletePlanServiceInput}
Response
{"data": {"deletePlanService": DeletePlanServicePayload}}

deletePlanVersion

Description

Deletes plan version if it was never deployed.

Response

Returns a DeletePlanVersionResult!

Arguments
Name Description
input - DeletePlanVersionInput! Parameters for DeletePlanVersion.

Example

Query
mutation deletePlanVersion($input: DeletePlanVersionInput!) {
  deletePlanVersion(input: $input) {
    ... on DeletePlanVersionPayload {
      ...DeletePlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on PlanVersionHasReferences {
      ...PlanVersionHasReferencesFragment
    }
  }
}
Variables
{"input": DeletePlanVersionInput}
Response
{"data": {"deletePlanVersion": DeletePlanVersionPayload}}

deleteProvider

Description

Deletes a tenant with all of its related data from the system.

Response

Returns a DeleteProviderResult!

Arguments
Name Description
input - DeleteProviderInput! Parameters for DeleteProvider.

Example

Query
mutation deleteProvider($input: DeleteProviderInput!) {
  deleteProvider(input: $input) {
    ... on DeleteProviderPayload {
      ...DeleteProviderPayloadFragment
    }
    ... on ProviderNotFound {
      ...ProviderNotFoundFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
    ... on ProviderDeletionAlreadyInProgress {
      ...ProviderDeletionAlreadyInProgressFragment
    }
  }
}
Variables
{"input": DeleteProviderInput}
Response
{"data": {"deleteProvider": DeleteProviderPayload}}

deleteUser

Description

Deletes a user.

Response

Returns a DeleteUserResult!

Arguments
Name Description
input - DeleteUserInput! Parameters for DeleteUser.

Example

Query
mutation deleteUser($input: DeleteUserInput!) {
  deleteUser(input: $input) {
    ... on DeleteUserPayload {
      ...DeleteUserPayloadFragment
    }
    ... on UserNotFound {
      ...UserNotFoundFragment
    }
    ... on UserIsReadOnly {
      ...UserIsReadOnlyFragment
    }
  }
}
Variables
{"input": DeleteUserInput}
Response
{"data": {"deleteUser": DeleteUserPayload}}

deployFieldMappings

Description

Once you have defined a new field mapping, you can invoke the deployFieldMapping API and specify the path of the field mapping to deploy. If you provide a from date you can define a point in the future, e.g. the first of the coming month for the field mapping to become active. If you omit the from date, immediate activation is performed. The process to deploy an updated field mapping is equivalent to a new one. You specify the path of the field mapping you want to deploy and this specific mapping will be updated. Any other deployed mappings remain untouched. If you provide a list of paths, this set of field mappings will be deployed. Any other deployed mappings remain unchanged. To remove a deployed field mapping, delete the field mapping from the draft field mappings. Next invoke the deployFieldMapping without providing the paths parameter. This will deploy only the paths in the draft and all non existent paths will be removed from the deployed field mappings. This approach is extremely effective if you want to remove a set of field mappings. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Network_Admin will have rights to use this operation.

Response

Returns a DeployFieldMappingsResult!

Arguments
Name Description
input - DeployFieldMappingsInput! Parameters for DeployFieldMappings.

Example

Query
mutation deployFieldMappings($input: DeployFieldMappingsInput!) {
  deployFieldMappings(input: $input) {
    ... on DeployFieldMappingsPayload {
      ...DeployFieldMappingsPayloadFragment
    }
    ... on FieldMappingNotFound {
      ...FieldMappingNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": DeployFieldMappingsInput}
Response
{
  "data": {
    "deployFieldMappings": DeployFieldMappingsPayload
  }
}

deployPlan

Description

Deploys a plan so it can be used for assignment to accounts. A deployed plan cannot be edited anymore.

Response

Returns a DeployPlanVersionResult!

Arguments
Name Description
input - DeployPlanVersionInput! Parameters for DeployPlan.

Example

Query
mutation deployPlan($input: DeployPlanVersionInput!) {
  deployPlan(input: $input) {
    ... on PlanVersionPayload {
      ...PlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on DeploymentVerificationFailed {
      ...DeploymentVerificationFailedFragment
    }
    ... on MigrationAlreadyInProgress {
      ...MigrationAlreadyInProgressFragment
    }
    ... on PlanVersionWrongTransition {
      ...PlanVersionWrongTransitionFragment
    }
  }
}
Variables
{"input": DeployPlanVersionInput}
Response
{"data": {"deployPlan": PlanVersionPayload}}

makePlanAssignable

Description

Makes a plan assignable. Plan must be deployed to be able to make it assignable.

Response

Returns an AssignablePlanVersionResult!

Arguments
Name Description
input - AssignablePlanVersionInput! Parameters for MakePlanAssignable.

Example

Query
mutation makePlanAssignable($input: AssignablePlanVersionInput!) {
  makePlanAssignable(input: $input) {
    ... on PlanVersionPayload {
      ...PlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on PlanVersionWrongTransition {
      ...PlanVersionWrongTransitionFragment
    }
  }
}
Variables
{"input": AssignablePlanVersionInput}
Response
{"data": {"makePlanAssignable": PlanVersionPayload}}

makePlanNotAssignable

Description

Makes a plan not assignable. It can be done at any point in time to make sure that a plan cannot be assigned to anyone.

Response

Returns an AssignablePlanVersionResult!

Arguments
Name Description
input - AssignablePlanVersionInput! Parameters for MakePlanNotAssignable.

Example

Query
mutation makePlanNotAssignable($input: AssignablePlanVersionInput!) {
  makePlanNotAssignable(input: $input) {
    ... on PlanVersionPayload {
      ...PlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on PlanVersionWrongTransition {
      ...PlanVersionWrongTransitionFragment
    }
  }
}
Variables
{"input": AssignablePlanVersionInput}
Response
{"data": {"makePlanNotAssignable": PlanVersionPayload}}

resetUserPassword

Description

Resets a user password.

Response

Returns a ResetUserPasswordResult!

Arguments
Name Description
input - ResetUserPasswordInput! Parameters for ResetUserPasswordInput

Example

Query
mutation resetUserPassword($input: ResetUserPasswordInput!) {
  resetUserPassword(input: $input) {
    ... on ResetUserPasswordPayload {
      ...ResetUserPasswordPayloadFragment
    }
    ... on UserNotFound {
      ...UserNotFoundFragment
    }
    ... on UserIncorrectStatus {
      ...UserIncorrectStatusFragment
    }
  }
}
Variables
{"input": ResetUserPasswordInput}
Response
{"data": {"resetUserPassword": ResetUserPasswordPayload}}

restoreAccounts

Description

Restores accounts and all related data of a tenant to a specific point in time.

Response

Returns a RestoreAccountsResult!

Arguments
Name Description
input - RestoreJobInput! Parameters for RestoreAccounts.

Example

Query
mutation restoreAccounts($input: RestoreJobInput!) {
  restoreAccounts(input: $input) {
    ... on RestoreJobPayload {
      ...RestoreJobPayloadFragment
    }
    ... on RestoreAccountsAlreadyInProgress {
      ...RestoreAccountsAlreadyInProgressFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": RestoreJobInput}
Response
{"data": {"restoreAccounts": RestoreJobPayload}}

restorePlans

Description

Restores plans and all related data of a tenant to a specific point in time.

Response

Returns a RestorePlansResult!

Arguments
Name Description
input - RestoreJobInput! Parameters for RestorePlans.

Example

Query
mutation restorePlans($input: RestoreJobInput!) {
  restorePlans(input: $input) {
    ... on RestoreJobPayload {
      ...RestoreJobPayloadFragment
    }
    ... on RestorePlansAlreadyInProgress {
      ...RestorePlansAlreadyInProgressFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
  }
}
Variables
{"input": RestoreJobInput}
Response
{"data": {"restorePlans": RestoreJobPayload}}

setApiUsageNotificationWindow

Description

Sets the API Usage Limits Notification window size.

Arguments
Name Description
input - SetApiUsageNotificationWindowInput! Parameters for SetApiUsageNotificationWindow.

Example

Query
mutation setApiUsageNotificationWindow($input: SetApiUsageNotificationWindowInput!) {
  setApiUsageNotificationWindow(input: $input) {
    ... on SetApiUsageNotificationWindowPayload {
      ...SetApiUsageNotificationWindowPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": SetApiUsageNotificationWindowInput}
Response
{
  "data": {
    "setApiUsageNotificationWindow": SetApiUsageNotificationWindowPayload
  }
}

setApiUsageTumblingWindow

Description

Sets the tumbling window.

Arguments
Name Description
input - SetApiUsageTumblingWindowInput! Parameters for RestorePlans.

Example

Query
mutation setApiUsageTumblingWindow($input: SetApiUsageTumblingWindowInput!) {
  setApiUsageTumblingWindow(input: $input) {
    ... on SetApiUsageTumblingWindowPayload {
      ...SetApiUsageTumblingWindowPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": SetApiUsageTumblingWindowInput}
Response
{
  "data": {
    "setApiUsageTumblingWindow": SetApiUsageTumblingWindowPayload
  }
}

startLowLevelLogging

Description

Starts/extends low level logging for a provider/account/device for specific systems for 2 hours (or if until stopped if stopLowLevelLogging is called earlier). This will set the systems log configuration(s) as well, by creating them if they do not exist, or extending their TTLs and/or set a finer log level if needed.

Response

Returns a StartLowLevelLoggingResult!

Arguments
Name Description
input - StartLowLevelLoggingInput! Parameters for StartLowLevelLogging.

Example

Query
mutation startLowLevelLogging($input: StartLowLevelLoggingInput!) {
  startLowLevelLogging(input: $input) {
    ... on StartLowLevelLoggingPayload {
      ...StartLowLevelLoggingPayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
  }
}
Variables
{"input": StartLowLevelLoggingInput}
Response
{
  "data": {
    "startLowLevelLogging": StartLowLevelLoggingPayload
  }
}

stopLowLevelLogging

Description

Stops low level logging for a provider/account/device for specific systems by deleting the records from the DB. This might delete the systems log configuration(s) as well if there are no other provider log configurations for the given system(s).

Response

Returns a StopLowLevelLoggingResult!

Arguments
Name Description
input - StopLowLevelLoggingInput! Parameters for StopLowLevelLogging.

Example

Query
mutation stopLowLevelLogging($input: StopLowLevelLoggingInput!) {
  stopLowLevelLogging(input: $input) {
    ... on StopLowLevelLoggingPayload {
      ...StopLowLevelLoggingPayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
  }
}
Variables
{"input": StopLowLevelLoggingInput}
Response
{
  "data": {
    "stopLowLevelLogging": StopLowLevelLoggingPayload
  }
}

subscribeToPlan

Description

Assigns a plan to an account for a predefined period of time. If the parameters 'to' and 'from' are not specified, the plan period is from now to a far time in the future (indefinite).

Response

Returns a SubscribeToPlanVersionResult!

Arguments
Name Description
input - SubscribeToPlanVersionInput! Parameters for SubscribeToPlan.

Example

Query
mutation subscribeToPlan($input: SubscribeToPlanVersionInput!) {
  subscribeToPlan(input: $input) {
    ... on SubscribeToPlanVersionPayload {
      ...SubscribeToPlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on PlanVersionIsNotAssignable {
      ...PlanVersionIsNotAssignableFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on SubscribeToPlanVersionValidationFailed {
      ...SubscribeToPlanVersionValidationFailedFragment
    }
    ... on InternalServerError {
      ...InternalServerErrorFragment
    }
  }
}
Variables
{"input": SubscribeToPlanVersionInput}
Response
{
  "data": {
    "subscribeToPlan": SubscribeToPlanVersionPayload
  }
}

transitionProviderLifecycleStage

Description

Transition lifecycle stage of a tenant.

Arguments
Name Description
input - TransitionProviderLifecycleStageInput! Parameters for TransitionProviderLifecycleStage.

Example

Query
mutation transitionProviderLifecycleStage($input: TransitionProviderLifecycleStageInput!) {
  transitionProviderLifecycleStage(input: $input) {
    ... on ProviderConfig {
      ...ProviderConfigFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
    ... on ProviderNotFound {
      ...ProviderNotFoundFragment
    }
  }
}
Variables
{"input": TransitionProviderLifecycleStageInput}
Response
{
  "data": {
    "transitionProviderLifecycleStage": ProviderConfig
  }
}

updateAccount

Description

Updates account attributes.

Response

Returns an UpdateAccountResult!

Arguments
Name Description
input - UpdateAccountInput! Parameters for UpdateAccount.

Example

Query
mutation updateAccount($input: UpdateAccountInput!) {
  updateAccount(input: $input) {
    ... on UpdateAccountPayload {
      ...UpdateAccountPayloadFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on CannotChangeAccountType {
      ...CannotChangeAccountTypeFragment
    }
    ... on PostpaidFieldInPrepaidAccount {
      ...PostpaidFieldInPrepaidAccountFragment
    }
  }
}
Variables
{"input": UpdateAccountInput}
Response
{"data": {"updateAccount": UpdateAccountPayload}}

updateArchivingPolicy

Description

Creates a lifecycle rule on EDR S3 bucket to move objects to Glacier store after a period of time.

Response

Returns an UpdateArchivingPolicyResult!

Arguments
Name Description
input - UpdateArchivingPolicyInput! Parameters for UpdateArchivingPolicy.

Example

Query
mutation updateArchivingPolicy($input: UpdateArchivingPolicyInput!) {
  updateArchivingPolicy(input: $input) {
    ... on UpdateArchivingPolicyPayload {
      ...UpdateArchivingPolicyPayloadFragment
    }
    ... on UpdateArchivingPolicyFailed {
      ...UpdateArchivingPolicyFailedFragment
    }
  }
}
Variables
{"input": UpdateArchivingPolicyInput}
Response
{
  "data": {
    "updateArchivingPolicy": UpdateArchivingPolicyPayload
  }
}

updateDevice

Description

Updates device attributes.

Response

Returns an UpdateDeviceResult!

Arguments
Name Description
input - UpdateDeviceInput! Parameters for UpdateDevice.

Example

Query
mutation updateDevice($input: UpdateDeviceInput!) {
  updateDevice(input: $input) {
    ... on UpdateDevicePayload {
      ...UpdateDevicePayloadFragment
    }
    ... on DeviceNotFound {
      ...DeviceNotFoundFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": UpdateDeviceInput}
Response
{"data": {"updateDevice": UpdateDevicePayload}}

updateFieldMapping

Description

This method updates Field Mappings in draft and need to be deployed to become effective. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Network_Operator will have rights to use this operation.

Response

Returns an UpdateFieldMappingResult!

Arguments
Name Description
input - UpdateFieldMappingInput! Parameters for UpdateFieldMapping.

Example

Query
mutation updateFieldMapping($input: UpdateFieldMappingInput!) {
  updateFieldMapping(input: $input) {
    ... on UpdateFieldMappingPayload {
      ...UpdateFieldMappingPayloadFragment
    }
    ... on FieldMappingNotFound {
      ...FieldMappingNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": UpdateFieldMappingInput}
Response
{
  "data": {
    "updateFieldMapping": UpdateFieldMappingPayload
  }
}

updateMyProviderConfig

Description

Updates a tenant Config by the Tenant Admin.

Response

Returns an UpdateMyProviderConfigResult!

Arguments
Name Description
input - UpdateMyProviderConfigInput! Parameters for UpdateMyProviderConfig.

Example

Query
mutation updateMyProviderConfig($input: UpdateMyProviderConfigInput!) {
  updateMyProviderConfig(input: $input) {
    ... on ProviderConfig {
      ...ProviderConfigFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
  }
}
Variables
{"input": UpdateMyProviderConfigInput}
Response
{"data": {"updateMyProviderConfig": ProviderConfig}}

updatePlan

Description

Updates plan attributes, such as name.

Response

Returns an UpdatePlanResult!

Arguments
Name Description
input - UpdatePlanInput! Parameters for UpdatePlan.

Example

Query
mutation updatePlan($input: UpdatePlanInput!) {
  updatePlan(input: $input) {
    ... on UpdatePlanPayload {
      ...UpdatePlanPayloadFragment
    }
    ... on PlanNotFound {
      ...PlanNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": UpdatePlanInput}
Response
{"data": {"updatePlan": UpdatePlanPayload}}

updatePlanService

Description

Updates plan service attributes, such as name.

Response

Returns an UpdatePlanServiceResult!

Arguments
Name Description
input - UpdatePlanServiceInput! Parameters for UpdatePlanService.

Example

Query
mutation updatePlanService($input: UpdatePlanServiceInput!) {
  updatePlanService(input: $input) {
    ... on UpdatePlanServicePayload {
      ...UpdatePlanServicePayloadFragment
    }
    ... on PlanServiceNotFound {
      ...PlanServiceNotFoundFragment
    }
    ... on RuleNotFound {
      ...RuleNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on PlanServiceIsReadOnly {
      ...PlanServiceIsReadOnlyFragment
    }
    ... on FieldNotFound {
      ...FieldNotFoundFragment
    }
  }
}
Variables
{"input": UpdatePlanServiceInput}
Response
{"data": {"updatePlanService": UpdatePlanServicePayload}}

updatePlanSubscription

Description

Updates existing assignment of a plan to an account for a predefined period of time. If the parameters 'to' and 'from' are not specified, the plan period is from now to a far time in the future (indefinite).

Arguments
Name Description
input - UpdatePlanSubscriptionInput! Parameters for UpdatePlanSubscription.

Example

Query
mutation updatePlanSubscription($input: UpdatePlanSubscriptionInput!) {
  updatePlanSubscription(input: $input) {
    ... on SubscribeToPlanVersionPayload {
      ...SubscribeToPlanVersionPayloadFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on PlanVersionIsNotAssignable {
      ...PlanVersionIsNotAssignableFragment
    }
    ... on AccountNotFound {
      ...AccountNotFoundFragment
    }
    ... on SubscriptionNotFound {
      ...SubscriptionNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on SubscribeToPlanVersionValidationFailed {
      ...SubscribeToPlanVersionValidationFailedFragment
    }
  }
}
Variables
{"input": UpdatePlanSubscriptionInput}
Response
{
  "data": {
    "updatePlanSubscription": SubscribeToPlanVersionPayload
  }
}

updatePlanVersionFromInitialTemplate

Description

Updates a plan that was created by using a template. The fields voice, data, and text are deprecated and will be removed on 2022-08-01. They are replaced by the field services. The field offPeakTimes is deprecated and will be removed on 2022-08-01. It is replaced by the field workingHours in services. The fields rate and ffRate in services are deprecated and will be removed on 2022-08-01. They are replaced by ratePerRounding and ratePerRounding in InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint. This new field denotes a rate per rounded unit corresponding the the rounding factor in the rating group hierarchy. For example, if a data rating group has a rounding of 1024 then the rounded rate should be 1024 * rate. The fields ffRate and ffRatePerRounding in services are deprecated and will be removed on 2022-08-01. They are replacted by ratePerRounding in InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint.

Arguments
Name Description
input - UpdatePlanVersionFromInitialTemplateInput! Parameters for UpdatePlanVersionFromInitialTemplate.

Example

Query
mutation updatePlanVersionFromInitialTemplate($input: UpdatePlanVersionFromInitialTemplateInput!) {
  updatePlanVersionFromInitialTemplate(input: $input) {
    ... on PlanVersionPayload {
      ...PlanVersionPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on PlanVersionNotFound {
      ...PlanVersionNotFoundFragment
    }
    ... on CreatePlanValidationFailed {
      ...CreatePlanValidationFailedFragment
    }
    ... on PlanVersionIsReadOnly {
      ...PlanVersionIsReadOnlyFragment
    }
    ... on PlanVersionAlreadyExists {
      ...PlanVersionAlreadyExistsFragment
    }
  }
}
Variables
{"input": UpdatePlanVersionFromInitialTemplateInput}
Response
{
  "data": {
    "updatePlanVersionFromInitialTemplate": PlanVersionPayload
  }
}

updateProviderConfig

Description

Updates a tenant Config.

Response

Returns an UpdateProviderConfigResult!

Arguments
Name Description
input - UpdateProviderConfigInput! Parameters for UpdateProviderConfig.

Example

Query
mutation updateProviderConfig($input: UpdateProviderConfigInput!) {
  updateProviderConfig(input: $input) {
    ... on ProviderConfig {
      ...ProviderConfigFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on ProviderNotFound {
      ...ProviderNotFoundFragment
    }
    ... on InvalidProviderLifecycleStage {
      ...InvalidProviderLifecycleStageFragment
    }
    ... on InvalidLimitsRange {
      ...InvalidLimitsRangeFragment
    }
    ... on InvalidApiLimitDuplicated {
      ...InvalidApiLimitDuplicatedFragment
    }
  }
}
Variables
{"input": UpdateProviderConfigInput}
Response
{"data": {"updateProviderConfig": ProviderConfig}}

updateRatingGroupHierarchy

Description

Updates and deploys after verification rating group hierarchy. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Network_Admin will have rights to use this operation.

Response

Returns an UpdateRatingGroupHierarchyResult!

Arguments
Name Description
input - UpdateRatingGroupHierarchyInput! Parameters for UpdateRatingGroupHierarchy.

Example

Query
mutation updateRatingGroupHierarchy($input: UpdateRatingGroupHierarchyInput!) {
  updateRatingGroupHierarchy(input: $input) {
    ... on UpdateRatingGroupHierarchyPayload {
      ...UpdateRatingGroupHierarchyPayloadFragment
    }
    ... on RatingGroupHierarchyHasReferences {
      ...RatingGroupHierarchyHasReferencesFragment
    }
    ... on RatingGroupValidationFailed {
      ...RatingGroupValidationFailedFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": UpdateRatingGroupHierarchyInput}
Response
{
  "data": {
    "updateRatingGroupHierarchy": UpdateRatingGroupHierarchyPayload
  }
}

updateSGSNTable

Description

Update the SGSN table for a provider. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Network_Operator will have rights to use this operation.

Response

Returns an UpdateSGSNTableResult!

Arguments
Name Description
input - UpdateSGSNTableInput! Parameters for UpdateSGSNTable.

Example

Query
mutation updateSGSNTable($input: UpdateSGSNTableInput!) {
  updateSGSNTable(input: $input) {
    ... on UpdateSGSNTablePayload {
      ...UpdateSGSNTablePayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": UpdateSGSNTableInput}
Response
{"data": {"updateSGSNTable": UpdateSGSNTablePayload}}

updateSettings

Description

Updates settings of a provider. The cognito_group permission Plan_Publisher is deprecated and will be removed on 2022-11-01. Only Plan_Admin will have rights to use this operation.

Response

Returns an UpdateSettingsResult!

Arguments
Name Description
input - UpdateSettingsInput! Parameters for UpdateSettings.

Example

Query
mutation updateSettings($input: UpdateSettingsInput!) {
  updateSettings(input: $input) {
    ... on UpdateSettingsPayload {
      ...UpdateSettingsPayloadFragment
    }
  }
}
Variables
{"input": UpdateSettingsInput}
Response
{"data": {"updateSettings": UpdateSettingsPayload}}

updateUser

Description

Updates a specific user in Cognito for a specific tenant. It returns the updated user or an error.

Response

Returns an UpdateUserResult!

Arguments
Name Description
input - UpdateUserInput! Parameters for UpdateUser

Example

Query
mutation updateUser($input: UpdateUserInput!) {
  updateUser(input: $input) {
    ... on SaveUserPayload {
      ...SaveUserPayloadFragment
    }
    ... on UserNotFound {
      ...UserNotFoundFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
    ... on UserIsReadOnly {
      ...UserIsReadOnlyFragment
    }
  }
}
Variables
{"input": UpdateUserInput}
Response
{"data": {"updateUser": SaveUserPayload}}

updateUserProfile

Description

Update user profile.

Response

Returns an UpdateUserProfileResult!

Arguments
Name Description
input - UpdateUserProfileInput! Parameters for UpdateUserProfile.

Example

Query
mutation updateUserProfile($input: UpdateUserProfileInput!) {
  updateUserProfile(input: $input) {
    ... on SaveUserPayload {
      ...SaveUserPayloadFragment
    }
    ... on InvalidField {
      ...InvalidFieldFragment
    }
  }
}
Variables
{"input": UpdateUserProfileInput}
Response
{"data": {"updateUserProfile": SaveUserPayload}}

Types

AWSDate

Description

An extended ISO 8601 date string in the format YYYY-MM-DD.

Example
AWSDate

AWSDateTime

Description

An extended ISO 8601 date and time string in the format YYYY-MM-DDThh:mm:ss.sssZ.

Example
AWSDateTime

AWSEmail

Description

An email address in the format local-part@domain-part as defined by RFC 822.

Example
AWSEmail

AWSJSON

Description

A JSON string. Any valid JSON construct is automatically parsed and loaded in the resolver mapping templates as maps, lists, or scalar values rather than as the literal input strings. Unquoted strings or otherwise invalid JSON result in a GraphQL validation error.

Example
AWSJSON

AWSPhone

Description

A phone number. This value is stored as a string. Phone numbers can contain either spaces or hyphens to separate digit groups. Phone numbers without a country code are assumed to be US/North American numbers adhering to the North American Numbering Package (NANP).

Example
AWSPhone

AWSURL

Description

A URL as defined by RFC 1738. For example, https://www.amazon.com/dp/B000NZW3KC/ or mailto: example@example.com. URLs must contain a schema (http, mailto) and can't contain two forward slashes (//) in the path part.

Example
AWSURL

Account

Description

An account to manage multiple devices.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of an account.
customData - AWSJSON Any custom data required by the account. Can include used and reserved balance for different services.
balance - Balance The current balance of the account.
parent - Account The parent account in an account hierarchy.
inactivePlanVersions - [SubscribedPlanVersion] Any plan version that the account is subscribed to but is not currently active. Newly subscribed to plans are inactive until the first credit/charge request.
activePlanVersions - [SubscribedPlanVersion] Any plan version that the account is subscribed to and are currently active. The same plan service can not be used in multiple version.
archivedPlanVersions - [SubscribedPlanVersion] Any plan version that the account was subscribed to but the subscription ended.
friendsAndFamily - [String] List of friends and family.
creditLimit - Float The limit an account can be credited to. It is zero for prepaid accounts, and a positive number for postpaid ones.
postpaid - AccountPostpaidProperties If account is a postpaid account, i.e. creditLimit is greater than zero, this holds the postpaid properties
activatedAt - AWSDateTime Date of account activation.
Example
{
  "providerId": 4,
  "id": "4",
  "customData": AWSJSON,
  "balance": Balance,
  "parent": Account,
  "inactivePlanVersions": [SubscribedPlanVersion],
  "activePlanVersions": [SubscribedPlanVersion],
  "archivedPlanVersions": [SubscribedPlanVersion],
  "friendsAndFamily": ["xyz789"],
  "creditLimit": 123.45,
  "postpaid": AccountPostpaidProperties,
  "activatedAt": AWSDateTime
}

AccountAlreadyExists

Description

An error type to be thrown if an account with provided ID already exists.

Fields
Field Name Description
accountId - ID! Already existing account ID.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "accountId": "4",
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

AccountHasReferences

Description

An error type to be thrown if an account has references preventing it from deletion.

Fields
Field Name Description
providerId - ID! An account for a provided provider ID has references (such as devices or children accounts) preventing it from deletion.
accountId - ID! An account with a provided account ID has references (such as devices or children accounts) preventing it from deletion.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "accountId": 4,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

AccountNotFound

Description

An error type to be thrown if an account was not found.

Fields
Field Name Description
providerId - ID! An account for a provided provider ID was not found.
accountId - ID! An account with a provided account ID was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "accountId": "4",
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

AccountPostpaidProperties

Description

Type to hold the postpaid properties of accounts

Fields
Field Name Description
timezone - String The timezone of the user. This is a property for postpaid accounts only
billingDayOfMonth - Int The day of month for resetting balance and units for account. Value is between 1 and 31 inclusive. This is a property for postpaid accounts only
lastBillingDate - AWSDate The date (in yyyy-mm-dd format) of the previous billing. This is a property for postpaid accounts only
longFirstBillingCycle - Boolean Whether the first billing cycle is a long one, e.g. if billing DoM is on the 1st and the account was created on the 16th. If this value is true, it means that the first bill will be for 45 days, while if false, bill will be for 15 days only. This is a property for postpaid accounts only
Example
{
  "timezone": "xyz789",
  "billingDayOfMonth": 987,
  "lastBillingDate": AWSDate,
  "longFirstBillingCycle": false
}

AccountResult

Description

Return type of Account including all possible errors.

Types
Union Types

Account

AccountNotFound

Example
Account

ApiLimitsConfig

Description

The configurations for limiting a specific API.

Fields
Field Name Description
apiType - ApiType! API type including 4G/5G interface.
rejectRequestsOverSoftLimit - Boolean If true, API requests are rejected beyond the soft limit.
softLimitTps - Int The soft limit for the average number of transactions per second.
hardLimitTps - Int The hard limit for the average number of transactions per second.
overSoftLimitUntil - AWSDateTime DateTime when the provider will no longer be over the soft limit.
overHardLimitUntil - AWSDateTime DateTime when the provider will no longer be over the hard limit.
Example
{
  "apiType": "DA_GY",
  "rejectRequestsOverSoftLimit": false,
  "softLimitTps": 987,
  "hardLimitTps": 123,
  "overSoftLimitUntil": AWSDateTime,
  "overHardLimitUntil": AWSDateTime
}

ApiLimitsConfigInput

Description

Input type for API limit configurations.

Fields
Input Field Description
apiType - ApiType!

API type including 4G/5G interface.

rejectRequestsOverSoftLimit - Boolean

If true, API requests are rejected beyond the soft limit. Defaults to false.

softLimitTps - Int

The soft limit for the average number of transactions per second. Defaults to zero which means unlimited.

hardLimitTps - Int

The hard limit for the average number of transactions per second. Defaults to zero which means unlimited.

Example
{
  "apiType": "DA_GY",
  "rejectRequestsOverSoftLimit": true,
  "softLimitTps": 123,
  "hardLimitTps": 987
}

ApiType

Description

All possible API types including 4G/5G interface.

Values
Enum Value Description

DA_GY

Diameter Adapter (4G) Gy interface.

DA_SY

Diameter Adapter (4G) Sy interface.

ENGINE_N40

Engine (5G) n40 interface.

ENGINE_N28

Engine (5G) n28 interface.

APPSYNC

AppSync (GraphQL) API.
Example
"DA_GY"

ArchivePlanVersionInput

Description

Input type of ArchivePlanVersion.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

An existing plan version ID.

Example
{"providerId": "4", "planVersionId": 4}

ArchivePlanVersionPayload

Description

Return type of ArchivePlanVersion.

Fields
Field Name Description
archivedPlanVersion - PlanVersion! A plan version that has been archived.
Example
{"archivedPlanVersion": PlanVersion}

ArchivePlanVersionResult

Description

Return type of ArchivePlanVersion including all possible errors.

Example
ArchivePlanVersionPayload

AssignablePlanVersionInput

Description

Input type of MakePlanVersionAssignable and MakePlanVersionNotAssignable.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

A unique identifier of a plan version to make assignable or not assignable.

Example
{"providerId": 4, "planVersionId": 4}

AssignablePlanVersionResult

Description

Return type of MakePlanVersionAssignable and MakePlanVersionNotAssignable including all possible errors.

Example
PlanVersionPayload

Balance

Description

Representation of a balance of one particular account.

Fields
Field Name Description
version - Int The current version of the balance.
value - Float The value or currency of the balance.
customData - AWSJSON Any custom data required by the balance.
Example
{"version": 987, "value": 987.65, "customData": AWSJSON}

Boolean

Description

The Boolean scalar type represents true or false.

CancelPlanSubscriptionInput

Description

Input type of CancelPlanSubscription.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

planSubscriptionId - ID

A unique identifier of an plan subscription.

planVersionId - ID!

A unique identifier of a plan version to assign.

from - AWSDateTime

The start time of the subscription. Set to now if not provided and if plan version ID exists more than once. If both, 'to' and 'from' are not provided, it will cancel the plan version if only one occurrence exists.

to - AWSDateTime

The end time of the subscription. Set to a far time into the future (the first of January 3000) if not provided and if plan version ID exists more than once. If both, 'to' and 'from' are not provided, it will cancel the plan version if only one occurrence exists.

Example
{
  "providerId": "4",
  "accountId": "4",
  "planSubscriptionId": 4,
  "planVersionId": "4",
  "from": AWSDateTime,
  "to": AWSDateTime
}

CancelPlanVersionSubscriptionPayload

Description

Return type of CancelPlanVersionSubscription.

Fields
Field Name Description
account - Account! The account for which the subscription was cancelled.
planSubscriptionId - ID The account for which the subscription was cancelled.
Example
{
  "account": Account,
  "planSubscriptionId": "4"
}

CancelPlanVersionSubscriptionResult

Description

Return type of CancelPlanVersionSubscription including all possible errors. InternalServerError (ChargeEngineNotAvailable) - The charge engine is not available at this time.

Example
CancelPlanVersionSubscriptionPayload

CannotChangeAccountType

Description

An error that is thrown when user tries to change a postpaid account into a prepaid one and vice versa

Fields
Field Name Description
providerId - ID! Account for a provided provider ID cannot be changed from postpaid to prepaid and vice versa.
accountId - ID! Account with a provided account ID cannot be changed from postpaid to prepaid and vice versa.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "accountId": 4,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

CopyFromPlanVersion

Description

Input type of CopyPlan to define a plan version to copy from.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

A unique identifier of a plan version to make a copy from.

Example
{"providerId": 4, "planVersionId": 4}

CopyPlanPayload

Description

Return type of CopyPlan.

Fields
Field Name Description
plan - Plan! Copied plan.
Example
{"plan": Plan}

CopyPlanResult

Description

Return type of CopyPlan including all possible errors.

Example
CopyPlanPayload

CopyPlanServiceFrom

Description

Input type of CopyPlanService to define a plan service to copy from.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planServiceId - ID!

A unique identifier of a plan service.

Example
{"providerId": "4", "planServiceId": 4}

CopyPlanServicePayload

Description

Return type of CopyPlanService.

Fields
Field Name Description
planService - PlanService! The copied plan service.
planVersion - PlanVersion! The plan version it was copied to.
Example
{
  "planService": PlanService,
  "planVersion": PlanVersion
}

CopyPlanServiceResult

Description

Return type of CopyPlanService including all possible errors.

Example
CopyPlanServicePayload

CopyPlanServiceTo

Description

Input type of CopyPlanService to define a new plan service attributes.

Fields
Input Field Description
planVersionId - ID!

A unique identifier of a plan version where to create a copy of a plan service.

name - String

The name of the plan service.

Example
{"planVersionId": 4, "name": "xyz789"}

CopyToPlan

Description

Input type of CopyPlan to define a new plan attributes.

Fields
Input Field Description
name - String!

The name of the plan attribute.

Example
{"name": "abc123"}

Counter

Description

Counters provide a posibility to calculate spending values and change their states based on the calculations. Later on their state can be used to provide notifications to the customer. They enable other elements of the Provider’s core network to support real-time quality-of-service and other policies, even for post-paid offline transactions.

Fields
Field Name Description
name - String! Unique name for this Counter.
persistent - Boolean! Persistent counter saves its state between sessions, transient counter resets its state between sessions.
period - CounterPeriod Determines when a counter is reset.
selector - String Boolean expression to determine if the current event should be counted.
increment - String! Value expression that will be used to increment the counter.
states - [CounterState!]! Possible states of the counter.
notificationFields - [String] Additional notification fields which are sent in notifications caused by this counter.
Example
{
  "name": "abc123",
  "persistent": false,
  "period": CounterPeriod,
  "selector": "xyz789",
  "increment": "xyz789",
  "states": [CounterState],
  "notificationFields": ["xyz789"]
}

CounterInput

Description

Parameters for counter creation.

Fields
Input Field Description
name - String!

Unique name for this Counter. Must be between 1 and 50 characters and consist of letters, digits or special characters.

persistent - Boolean

Persistent counter saves its state between sessions, transient counter resets its state between sessions. If not provided then considered as transient - false.

period - CounterPeriodInput

Determines when a counter is reset. If not provided then the counter is never reset and will be active while subscription is active.

selector - String

Boolean expression to determine if the current event should be counted. If not provided then all events are counted.

increment - String!

Value expression that will be used to increment the counter. The result of the expression must return a number.

states - [CounterStateInput!]!

Possible states of the counter.

notificationFields - [String]

Additional notification fields which are sent in notifications caused by this counter.

Example
{
  "name": "xyz789",
  "persistent": true,
  "period": CounterPeriodInput,
  "selector": "xyz789",
  "increment": "xyz789",
  "states": [CounterStateInput],
  "notificationFields": ["xyz789"]
}

CounterPeriod

Description

Information when counter value must be reset.

Fields
Field Name Description
type - CounterPeriodType! Determines a period when counter value must be reset.
data - String! Value expression, specific for the given period type - e.g. the hour to reset daily counter.
Example
{"type": "SAME_AS_PLAN", "data": "abc123"}

CounterPeriodInput

Description

Information when counter value must be reset.

Fields
Input Field Description
type - CounterPeriodType!

Determines a period when counter value must be reset.

data - String!

Value expression, specific for the given period type - e.g. the hour to reset daily counter. The result of the expression could be either an integer or a date in AWSDateTime format.

Example
{"type": "SAME_AS_PLAN", "data": "xyz789"}

CounterPeriodType

Description

Possible period types for counters.

Values
Enum Value Description

SAME_AS_PLAN

Counter value is reset when the plan that contains the counter is renewed.

MONTHLY

Counter value is reset every month.

DAILY

Counter value is reset every day.

NONE

Counter value is never reset.
Example
"SAME_AS_PLAN"

CounterState

Description

List of name / value pairs used to determine the counter's current state.

Fields
Field Name Description
name - String! Unique name of the counter's current state.
threshold - String Value expression used as the upper bound of the state - previous state threshold is the lower bound.
Example
{
  "name": "xyz789",
  "threshold": "abc123"
}

CounterStateInput

Description

List of name / value pairs used to determine the counter's current state.

Fields
Input Field Description
name - String!

Unique name of the counter's current state.

threshold - String

Value expression used as the upper bound of the state - previous state threshold is the lower bound. The result of the expression must be a number.

Example
{
  "name": "xyz789",
  "threshold": "abc123"
}

CreateAccountInput

Description

Input type of CreateAccount.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID

A unique identifier of an account.

parentAccountId - ID

The parent account in an account hierarchy.

customData - AWSJSON

Any custom data required by the account.

friendsAndFamily - [String]

List of friends and family.

creditLimit - Float

The limit an account can be credited to. It is zero for prepaid accounts, and a positive number for postpaid ones.

postpaid - CreateAccountPostpaidPropertiesInput

If account is a postpaid account, i.e. creditLimit is greater than zero, this holds the postpaid properties

activatedAt - AWSDateTime

Date of account activation. If it is set, then it’s used, else, it defaults to the invocation time of the mutation.

Example
{
  "providerId": 4,
  "accountId": 4,
  "parentAccountId": 4,
  "customData": AWSJSON,
  "friendsAndFamily": ["xyz789"],
  "creditLimit": 123.45,
  "postpaid": CreateAccountPostpaidPropertiesInput,
  "activatedAt": AWSDateTime
}

CreateAccountPayload

Description

Return type of CreateAccount.

Fields
Field Name Description
account - Account! The created account.
Example
{"account": Account}

CreateAccountPostpaidPropertiesInput

Description

An input type to hold the postpaid properties of accounts to enforce required fields for postpaid accounts only

Fields
Input Field Description
timezone - String!

The timezone of the user in format (+/-hh:mm). This is a property for postpaid accounts only

billingDayOfMonth - Int!

The day of month for resetting balance and units for account. Value is between 1 and 31 inclusive. This is a property for postpaid accounts only

longFirstBillingCycle - Boolean!

A unique identifier of a service provider. Whether the first billing cycle is a long one, e.g. if billing DoM is on the 1st and the account was created on the 16th. If this value is true, it means that the first bill will be for 45 days, while if false, bill will be for 15 days only. This is a property for postpaid accounts only

Example
{
  "timezone": "abc123",
  "billingDayOfMonth": 123,
  "longFirstBillingCycle": false
}

CreateAccountResult

Description

Return type of CreateAccount including all possible errors. InvalidField (InvalidFriendsAndFamilyList) - Friends and family list can consist of 20 numbers maximum. InvalidField (InvalidFriendsAndFamilyNumber) - Friends and family list consists of invalid number. The only allowed format is E.164. InvalidField (InvalidJsonCreditLimit) - Cannot set credit limit from json.creditLimit. Must use creditLimit directly. InvalidField (InvalidTimezone) - Timezone format is wrong. It should be between -12:00 and +14:00. InvalidField (InvalidDayOfMonth) - Billing day of month should be between 1 and 31 inclusive.

Example
CreateAccountPayload

CreateDeviceInput

Description

Input type of CreateDevice.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

deviceId - ID

A unique identifier of a device.

customData - AWSJSON

Any custom data required by the device.

Example
{
  "providerId": "4",
  "accountId": "4",
  "deviceId": "4",
  "customData": AWSJSON
}

CreateDevicePayload

Description

Return type of CreateDevice.

Fields
Field Name Description
device - Device! The created device.
Example
{"device": Device}

CreateDeviceResult

Description

Return type of CreateDevice including all possible errors.

Example
CreateDevicePayload

CreateFieldMappingInput

Description

Input type of CreateFieldMapping.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

path - String!

The path to the field you want to manipulate. For example, "transformedRequest.sMSChargingInformation.numberofMessagesSent". The path must start from either "transformedRequest." or "transformedResponse." and might be existing path or not existing. If provided path does not exist in request or response, only the last key should not exist. For example, "transformedResponse.invocationResult.message" is allowed, while "transformedResponse.invocationResult.message.text" is not allowed, because message is a new key already. It is possible to set a new field to a list. Originally SpEL does not support that, but we iterate over lists with provided [] after them. For example, "transformedRequest.multipleUnitUsage[].usedUnitContainer[].timeSpecificUnits", both multipleUnitUsage and usedUnitContainer are arrays, it means eventually field mapper will add to each item in these lists a new key "timeSpecificUnits".

expr - String!

SpEL expression to generate the value(s). It must return one value, but also it can use the same expressions as "path" with []. For example, "originalRequest.multipleUnitUsage[].usedUnitContainer[].serviceSpecificUnits * 10". It is also possible to use "originalField" as a reference to original value if field exists. For example, "originalField + 10".

Example
{
  "providerId": "4",
  "path": "transformedRequest.multipleUnitUsage[].ratingGroup",
  "expr": "originalField?:100"
}

CreateFieldMappingPayload

Description

Return type of CreateFieldMapping.

Fields
Field Name Description
fieldMapping - FieldMapping! Created field mapping.
Example
{"fieldMapping": FieldMapping}

CreateFieldMappingResult

Description

Return type of CreateFieldMapping including all possible errors. InvalidField (InvalidFieldMappingPath) - The provided field mapping path cannot be compiled. InvalidField (InvalidFieldMappingExpression) - The provided field mapping SpEL expression cannot be compiled.

Example
CreateFieldMappingPayload

CreatePlanFromInitialTemplateInput

Description

Input type of CreatePlanFromInitialTemplate.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planId - ID

A new plan ID. Autogenerated if not provided.

version - String!

The name of the first version.

name - String!

A name for a new plan.

fee - Float

A fee that will be charged per specified recurring period.

firstUsageFee - Float

A fee that will be charged just once on first usage of the plan. If not provided then no such fee is charged.

renewalGracePeriod - [DurationInput]

Put a plan on hold for a limited grace period while waiting for a successful renewal. It is a sum of provided duration inputs.

purchaseFee - Float

A fee that will be charged just once right after the subscription. If not provided then no such fee is charged.

period - RecurringPeriodInput

A period when specified fee will be charged. If not provided then it is considered that plan never expires until cancellation and there are no recurring actions.

services - [InitialTemplateServiceInput!]

List of plan services.

notificationPeriodBeforeExpiration - Int

Period in seconds when to send a notification before the plan expires.

notificationCreditLimitThreshold - Float

Threshold of the credit limit on the account, when the account goes lower than this value then notification is sent.

json - AWSJSON

Custom data in JSON format to be able to save and retrieve some configurations.

priority - Float

Plan priority that determines the execution order for charging and rating. Considered as 0 if not provided.

proratingOptions - ProratingOptionsInput

The prorating options for the plan

Example
{
  "providerId": "4",
  "planId": 4,
  "version": "xyz789",
  "name": "abc123",
  "fee": 123.45,
  "firstUsageFee": 987.65,
  "renewalGracePeriod": [DurationInput],
  "purchaseFee": 123.45,
  "period": RecurringPeriodInput,
  "services": [InitialTemplateServiceInput],
  "notificationPeriodBeforeExpiration": 987,
  "notificationCreditLimitThreshold": 987.65,
  "json": AWSJSON,
  "priority": 123.45,
  "proratingOptions": ProratingOptionsInput
}

CreatePlanFromInitialTemplateResult

Description

Return type of CreatePlanFromInitialTemplate including all possible errors. InvalidField (InvalidExtendedRate) - In the roaming or long distance one of the inputs (origination or termination) must be provided. InvalidField (InvalidRatingGroup) - There is no provided rating group ID in the hierarchy or provided rating group ID is the Root. InvalidField (SubscriptionPolicy) - If "alignBillingToDoM" is set to false and "subscriptionPolicy" was anything other than NONE or empty InvalidField (RefundPolicy) - If "alignBillingToDoM" is set to false and "refundPolicy" was anything other than NONE or empty @deprecated(reason: "Can be removed by CLDCB-12134. Deprecated at 2022-05-23. To be removed at 2022-08-01.") InvalidField (InvalidRate) - Either rate (and ffRate) or ratePerRounding (and ffRatePerRounding) should be provided. @deprecated(reason: "Can be removed by CLDCB-12134. Deprecated at 2022-05-23. To be removed at 2022-08-01.") InvalidField (InvalidRateCombination) - Either rate or ratePerRounding should be provided. InvalidField (ProratingOptionsSetForNonMonthlyPlan) - If "alignBillingToDoM" is set to true for a non-monthly plan

Example
CreatePlanPayload

CreatePlanInput

Description

Input type of CreatePlan.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

id - ID

A new plan ID, if not provided then autogenerated.

version - String!

The name of the first version.

name - String!

A new plan human readable name. Not unique.

planServices - [ID!]

A list of plan services for the first version of a new plan.

counters - [CounterInput!]

List of counters for the first version of the plan.

priority - Float

Plan priority that determines the execution order for charging and rating. Considered as 0 if not provided.

Example
{
  "providerId": "4",
  "id": "4",
  "version": "xyz789",
  "name": "xyz789",
  "planServices": [4],
  "counters": [CounterInput],
  "priority": 123.45
}

CreatePlanPayload

Description

Return type of CreatePlan.

Fields
Field Name Description
plan - Plan! Created plan.
Example
{"plan": Plan}

CreatePlanResult

Description

Return type of CreatePlan including all possible errors. InvalidField (InvalidCounterName) - The provided counter name must be between 1 and 50 characters and consist of letters, digits or special characters. InvalidField (InvalidCounterNames) - Counter names must be unique accross the plan. InvalidField (InvalidCounterStates) - Thresholds and names of states must be unique accross the counter and one of the states must not have a threshold. InvalidField (InvalidCounterExpression) - The provided counter SPEL expression cannot be compiled.

Example
CreatePlanPayload

CreatePlanServiceInput

Description

Input type of CreatePlanService.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

A unique identifier of a plan version where to create a plan service.

name - String!

The name of the plan service.

ruleSets - RuleSetsInput!

The set of rules that the service has available.

providedFields - [ProvidedFieldInput]

The provided fields which override values for the plan service.

ratingGroupId - Int!

Rating group ID for the current plan service.

balanceName - String

Balance name that will be used for charging. Also the same name is used for setting provisioning overrides values. If not specified it means that it will be auto generated.

priority - Float

Plan service priority that determines the execution order for charging and rating. Considered as 0 if not provided.

Example
{
  "providerId": "4",
  "planVersionId": 4,
  "name": "xyz789",
  "ruleSets": RuleSetsInput,
  "providedFields": [ProvidedFieldInput],
  "ratingGroupId": 123,
  "balanceName": "abc123",
  "priority": 123.45
}

CreatePlanServicePayload

Description

Return type of CreatePlanService.

Fields
Field Name Description
planVersion - PlanVersion! A plan version where a new plan service was created.
planService - PlanService! The new created plan service.
Example
{
  "planVersion": PlanVersion,
  "planService": PlanService
}

CreatePlanServiceResult

Description

Return type of CreatePlanService including all possible errors. InvalidField (InvalidRatingGroup) - There is no provided rating group ID in the hierarchy or provided rating group ID is the Root.

Example
CreatePlanServicePayload

CreatePlanValidationFailed

Description

An error type to be thrown if a plan cannot be created out of the provided input. DuplicateCounterName - Two or more counters in a service have the same name. MissingCounterStates - One or more counter has no states. At least one state is required. DuplicateCounterStateName - Two or more counter states in a counter have the same name. MissingDefaultCounterState - A counter has no default state (a state with no threshold). DuplicateCounterStateThreshold - Two or more states of a counter have the same threshold. WrongCountryCodeExpression - The country code expression defines a non-restricting value set. RoamingConfigOverlapping - The roaming configuration includes overlapping entries. A start ( ) includes all countries, having an entry with "" and one with "US" is overlapping " " needs to be replaced with "!US". LongDistanceConfigOverlapping - The long distance configuration includes overlapping entries. A start () includes all countries, having an entry with " " and one with "US" is overlapping "" needs to be replaced with "!US". TooManyEntries - The entry list for the roaming and long distance configuration has too many entries. 10k entries is the maximum. PlanServiceAllowanceIsUnlimited - If "periodAllowance" is not provided, the plan service is considered unlimited. Both, "overage" and "offPeak", are not needed.

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

CreatePlanVersionFromInitialTemplateInput

Description

Input type of CreatePlanVersionFromInitialTemplate.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

An existing plan version ID to be updated or a base plan version ID for a new version.

version - String!

The name of the new version.

fee - Float

A fee that will be charged per specified recurring period. If not provided used from original version.

firstUsageFee - Float

A fee that will be charged just once on first usage of the plan. If not provided used from original version.

purchaseFee - Float

A fee that will be charged just once right after the subscription. If not provided used from original version.

period - RecurringPeriodInput

A period when specified fee will be charged. If not provided used from original version.

notificationPeriodBeforeExpiration - Int

Period in seconds when to send a notification before the plan expires. If not provided used from the original version.

notificationCreditLimitThreshold - Float

Threshold of the credit limit on the account, when the account goes lower than this value then notification is sent. If not provided used from the original version.

renewalGracePeriod - [DurationInput]

Put a plan on hold for a limited grace period while waiting for a successful renewal. It is a sum of provided duration inputs.

json - AWSJSON

Custom data in JSON format to be able to save and retrieve some configurations. If not provided used from the original version.

priority - Float

Plan priority that determines the execution order for charging and rating. If not provided used from the original version.

services - [InitialTemplateServiceInput!]

List of plan services.

proratingOptions - ProratingOptionsInput

The prorating options for the plan

Example
{
  "providerId": 4,
  "planVersionId": 4,
  "version": "abc123",
  "fee": 987.65,
  "firstUsageFee": 987.65,
  "purchaseFee": 123.45,
  "period": RecurringPeriodInput,
  "notificationPeriodBeforeExpiration": 123,
  "notificationCreditLimitThreshold": 987.65,
  "renewalGracePeriod": [DurationInput],
  "json": AWSJSON,
  "priority": 123.45,
  "services": [InitialTemplateServiceInput],
  "proratingOptions": ProratingOptionsInput
}

CreatePlanVersionFromInitialTemplateResult

Description

Return type of CreatePlanVersionFromInitialTemplate including all possible errors. InvalidField (InvalidExtendedRate) - In the roaming or long distance one of the inputs (origination or termination) must be provided. InvalidField (InvalidRatingGroup) - There is no provided rating group ID in the hierarchy or provided rating group ID is the Root. InvalidField (SubscriptionPolicy) - If "alignBillingToDoM" is set to false and "subscriptionPolicy" was anything other than NONE or empty InvalidField (RefundPolicy) - If "alignBillingToDoM" is set to false and "refundPolicy" was anything other than NONE or empty InvalidField (ProratingOptionsSetForNonMonthlyPlan) - If "alignBillingToDoM" is set to true for a non-monthly plan

Example
PlanVersionPayload

CreateProviderInput

Description

Input type for creating a new tenant.

Fields
Input Field Description
name - String!

The name of the tenant.

commonName - String!

The common name that will be used in the SSL certificates of the tenant.

tenantAdminUsername - AWSEmail!

The username to be used for the 5G API calls. Must be a valid email.

ratingGroup - RatingGroupInput

The root rating group for the tenant.

homeNetworks - String

The home networks for the tenant. Required if onNet calls should be supported.

eventBusArn - String

The ARN of the event bus that we should be sending events to.

emergencyNumbers - [String!]

List of emergency numbers.

carrierCode - String

The carrier code.

limits - [ApiLimitsConfigInput]

API limit configurations for 4G, 5G and GraphQL calls. Each api type must be provided at most once.

Example
{
  "name": "xyz789",
  "commonName": "xyz789",
  "tenantAdminUsername": AWSEmail,
  "ratingGroup": RatingGroupInput,
  "homeNetworks": "abc123",
  "eventBusArn": "xyz789",
  "emergencyNumbers": ["xyz789"],
  "carrierCode": "xyz789",
  "limits": [ApiLimitsConfigInput]
}

CreateProviderResult

Description

Return type of CreateProvider including all possible errors. InvalidField (WrongNameLength) - name length must be between 2 and 50 characters. InvalidField (InvalidEventBusArn) - eventBusArn must be a valid AWS ARN for an EventBus. InvalidField (InvalidPositiveNumber) - The provided number can be only a positive number. InvalidApiLimitDuplicated - Request contains duplicated entries in limit for the same API Type. InvalidField (CommonNameExists) - The common name exists for a non-deleted provider.

Example
ProviderConfig

CreateUserInput

Description

Input type of CreateUser

Fields
Input Field Description
providerId - ID!

Service provider ID

email - AWSEmail!

Email

name - String!

The name of the user. Should be between 2 and 75 characters

roleGroupMemberships - [RoleGroup!]!

The roles this user belong to

phoneNumber - AWSPhone

The user's phone number

jobTitle - String

The user's job title. If present, it should be between 2 and 50 characters

Example
{
  "providerId": 4,
  "email": AWSEmail,
  "name": "xyz789",
  "roleGroupMemberships": ["Account_Query"],
  "phoneNumber": AWSPhone,
  "jobTitle": "xyz789"
}

CreateUserResult

Description

Return type of CreateUser including all possible errors. InvalidField (name) - Name should be at least two characters long and a maximum of seventy five InvalidField (jobTitle) - Job title should be at least two characters long and a maximum of fifty

Example
SaveUserPayload

CreditAccountInput

Description

Input type of a Credit request.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

amount - Float!

The amount we add to the monetary balance of the account.

Example
{
  "providerId": "4",
  "accountId": "4",
  "amount": 123.45
}

CreditAccountPayload

Description

Return type of a Credit response.

Fields
Field Name Description
account - Account! The credited account.
Example
{"account": Account}

CreditAccountResult

Description

Return type of Credit including all possible errors. AccountNotFound - Given account ID does not exist. InvalidField (InvalidPositiveNumber) - The provided number can be only a positive number.

Example
CreditAccountPayload

DeleteAccountInput

Description

Input type of DeleteAccount.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

Example
{"providerId": 4, "accountId": 4}

DeleteAccountPayload

Description

Return type of DeleteAccount.

Fields
Field Name Description
deletedAccountId - ID! The unique identifier of the deleted account.
parentAccount - Account The parent account in an account hierarchy, if present.
Example
{
  "deletedAccountId": "4",
  "parentAccount": Account
}

DeleteAccountResult

Description

Return type of DeleteAccount including all possible errors.

Example
DeleteAccountPayload

DeleteDeviceInput

Description

Input type of DeleteDevice.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

The unique identifier of the account the device is associated to.

deviceId - ID!

The unique identifier of the to be deleted device.

Example
{
  "providerId": 4,
  "accountId": "4",
  "deviceId": 4
}

DeleteDevicePayload

Description

Return type of DeleteDevice.

Fields
Field Name Description
deletedDeviceId - ID! The unique identifier of the deleted device.
account - Account! The account the device was associated to.
Example
{
  "deletedDeviceId": "4",
  "account": Account
}

DeleteDeviceResult

Description

Return type of DeleteDevice including all possible errors.

Example
DeleteDevicePayload

DeleteFieldMappingInput

Description

Input type of DeleteFieldMapping.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

path - ID!

A path of a field mapping to delete.

Example
{"providerId": 4, "path": 4}

DeleteFieldMappingPayload

Description

Return type of DeleteFieldMapping.

Fields
Field Name Description
deletedPath - ID! A path of a field mapping that has been deleted.
Example
{"deletedPath": 4}

DeleteFieldMappingResult

Description

Return type of DeleteFieldMapping including all possible errors.

Example
DeleteFieldMappingPayload

DeletePlanInput

Description

Input type of DeletePlan.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planId - ID!

A unique identifier of a plan to delete.

Example
{"providerId": 4, "planId": "4"}

DeletePlanPayload

Description

Return type of DeletePlan.

Fields
Field Name Description
deletedPlanId - ID! A unique identifier of a plan that has been deleted.
deletedPlanVersions - [ID!]! A list of plan version IDs for deleted plan versions.
deletedPlanServices - [ID!]! A list of plan service IDs for deleted plan services.
Example
{
  "deletedPlanId": 4,
  "deletedPlanVersions": [4],
  "deletedPlanServices": ["4"]
}

DeletePlanResult

Description

Return type of DeletePlan including all possible errors.

Example
DeletePlanPayload

DeletePlanServiceInput

Description

Input type of DeletePlanService.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planServiceId - ID!

A unique identifier of a plan service.

Example
{"providerId": "4", "planServiceId": 4}

DeletePlanServicePayload

Description

Return type of DeletePlanService.

Fields
Field Name Description
deletedPlanServiceId - ID! The unique identifier of the deleted plan service.
planVersion - PlanVersion! The plan version it was deleted from.
Example
{"deletedPlanServiceId": 4, "planVersion": PlanVersion}

DeletePlanServiceResult

Description

Return type of DeletePlanService including all possible errors.

Example
DeletePlanServicePayload

DeletePlanVersionInput

Description

Input type of DeletePlanVersion.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

An existing plan version ID.

Example
{
  "providerId": "4",
  "planVersionId": "4"
}

DeletePlanVersionPayload

Description

Return type of DeletePlanVersion.

Fields
Field Name Description
deletedPlanVersionId - ID! A unique identifier of a plan version that has been deleted.
plan - Plan! A plan from where the version has been deleted.
Example
{"deletedPlanVersionId": 4, "plan": Plan}

DeletePlanVersionResult

Description

Return type of DeletePlanVersion including all possible errors.

Example
DeletePlanVersionPayload

DeleteProviderInput

Description

Input type for deleting a tenant.

Fields
Input Field Description
providerId - ID!

Service provider ID.

Example
{"providerId": "4"}

DeleteProviderPayload

Description

Return type for DeleteProvider

Fields
Field Name Description
deletedProviderId - ID! The deleted service provider ID.
Example
{"deletedProviderId": "4"}

DeleteProviderResult

Description

Return type of DeleteProvider including all possible errors.

Example
DeleteProviderPayload

DeleteUserInput

Description

Delete User Mutation Input.

Fields
Input Field Description
providerId - ID!

Service provider ID.

userId - ID!

User ID

Example
{"providerId": 4, "userId": 4}

DeleteUserPayload

Description

Delete user mutation response payload object.

Fields
Field Name Description
providerId - ID! provider ID
userId - ID! User ID
Example
{"providerId": 4, "userId": "4"}

DeleteUserResult

Example
DeleteUserPayload

DeployFieldMappingsInput

Description

Input type of DeployFieldMappings.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

paths - [String!]

Deploys only provided list of fields. If not provided then all field mappings are replaced. If provided then all configurations applied after "from" date are updated with provided set of fields.

from - AWSDateTime

The date when current set of field mappings take effect in the system. If not provided then considered as now. All the configurations after this date are either updated with provided paths or removed if paths are not provided.

Example
{
  "providerId": "4",
  "paths": ["abc123"],
  "from": AWSDateTime
}

DeployFieldMappingsPayload

Description

Return type of DeployFieldMappings.

Fields
Field Name Description
deployedFieldMapping - DeployedFieldMapping!
Example
{"deployedFieldMapping": DeployedFieldMapping}

DeployFieldMappingsResult

Description

Return type of DeployFieldMappings including all possible errors.

Example
DeployFieldMappingsPayload

DeployPlanVersionInput

Description

Input type of DeployPlanVersion.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

A unique identifier of a planVersion version to deploy.

migrateFromVersions - [ID!]

The list of plan version IDs to migrate from to this new deployed version. Automatically upgrade already subscribed accounts to the new version. Not required for a new deployment. If not specified considered as no auto migration is required.

Example
{
  "providerId": 4,
  "planVersionId": "4",
  "migrateFromVersions": ["4"]
}

DeployPlanVersionResult

Description

Return type of DeployPlanVersion including all possible errors.

Example
PlanVersionPayload

DeployedFieldMapping

Description

Field mappings that have been deployed and take effect starting from some date.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
from - AWSDateTime! The date when current set of field mappings take effect in the system.
fieldMappings - FieldMappingConnection! A list of deployed field mappings.
Arguments
first - Int!

Returns the first n elements from the list or a maximum of 100.

after - String

Returns the elements in the list that come after the specified cursor.

Example
{
  "providerId": "4",
  "from": AWSDateTime,
  "fieldMappings": FieldMappingConnection
}

DeployedFieldMappingConnection

Description

The connection type for DeployedFieldMapping.

Fields
Field Name Description
edges - [DeployedFieldMappingEdge!] List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [DeployedFieldMappingEdge],
  "pageInfo": PageInfo
}

DeployedFieldMappingEdge

Description

An edge in a connection.

Fields
Field Name Description
node - DeployedFieldMapping! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": DeployedFieldMapping,
  "cursor": "abc123"
}

DeploymentVerificationFailed

Description

An error type to be thrown if a plan failed verification on deployment.

Fields
Field Name Description
providerId - ID! A plan for a provided provider ID failed verification.
planVersionId - ID! A plan version with a provided plan version ID failed verification.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "planVersionId": 4,
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

Device

Description

The smallest unit in the Charging Engine which represents an end user and belongs to an account.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of a device.
account - Account! The account to which the device belongs to.
customData - AWSJSON Any custom data required by the device.
Example
{
  "providerId": 4,
  "id": 4,
  "account": Account,
  "customData": AWSJSON
}

DeviceAlreadyExists

Description

An error type to be thrown if a device with provided ID already exists.

Fields
Field Name Description
deviceId - ID! Already existing device ID.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "deviceId": 4,
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

DeviceNotFound

Description

An error type to be thrown if a device was not found.

Fields
Field Name Description
providerId - ID! A device for a provided provider ID was not found.
deviceId - ID! A device with a provided device ID was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "deviceId": 4,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

DeviceResult

Description

Return type of Device including all possible errors.

Types
Union Types

Device

DeviceNotFound

Example
Device

Duration

Description

A time-based amount of time, such as '34.5 seconds'

Fields
Field Name Description
amount - Int! The amount of the duration, measured in terms of the unit.
unit - PeriodType! The unit that the duration is measured in.
Example
{"amount": 987, "unit": "HOUR"}

DurationInput

Description

Input type for some time period. For example, 2w, 1d, 30m, etc.

Fields
Input Field Description
type - PeriodType!

Determines a period.

value - Int!

The number of period types to calculate the final time period.

Example
{"type": "HOUR", "value": 123}

Error

EventDataRecord

Description

Represents an event in the Charging Engine.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of a record.
createdAt - AWSDateTime! When the record was created.
action - EventDataRecordAction! Event action.
customData - AWSJSON Any custom data of the record.
eventData - AWSJSON Arbitrary event data.
Example
{
  "providerId": 4,
  "id": "4",
  "createdAt": AWSDateTime,
  "action": "subscribeToPlan",
  "customData": AWSJSON,
  "eventData": AWSJSON
}

EventDataRecordAccountConnection

Description

The connection type for EventDataRecord.

Fields
Field Name Description
edges - [EventDataRecordEdge!] List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
account - Account! All of the EDRs belong to this account.
Example
{
  "edges": [EventDataRecordEdge],
  "pageInfo": PageInfo,
  "account": Account
}

EventDataRecordAccountConnectionResult

Description

Return type of EventDataRecordAccountConnection including all possible errors.

Example
EventDataRecordAccountConnection

EventDataRecordAction

Description

Possible actions in event data records.

Values
Enum Value Description

subscribeToPlan

An account has been subscribed to some plan.

activatePlanSubscription

An existing subscription has been activated.

updatePlanSubscription

An existing subscription has been changed.

migratePlanSubscription

An existing subscription has been migrated.

cancelPlanSubscription

An existing subscription has been cancelled.

expirePlanSubscription

An existing subscription has expired.

recurringFee

A recurring fee has been charged from an account.

purchaseFee

A purchase fee has been charged from an account.

firstUsageFee

A first usage fee has been charged from an account.

credit

A credit event has happened.

charge

A charge event has happened.

notify

A counter threshold has been crossed and a notification has been sent.

notification

A counter threshold has been crossed and a notification has been sent. (Old)

deleteDevice

A device has been deleted.

createAccount

An account has been created.

createDevice

A device has been created.

updateAccount

An account has been updated.

deleteAccount

An account has been deleted.

updateDevice

A device as been updated.

createPlan

A new plan has been created.

createPlanVersion

A new plan version has been created.

updatePlanVersion

A plan version has beed updated.

updatePlan

A plan has beed updated.

createPlanService

A plan service has been created.

copyPlan

A plan has been copied.

deletePlan

A plan has been deleted.

deployPlan

A plan has been deployed.

archivePlanVersion

A plan version has been archived.

deletePlanVersion

A plan version has been deleted.

makePlanAssignable

A plan has been made assignable.

makePlanNotAssignable

A plan has been made not assignable.

copyPlanService

A plan service has been copied.

deletePlanService

A plan service has been deleted.

updatePlanService

A plan service has been updated.

updateRatingGroupHierarchy

The rating group hirarchy has been updated.

deployRatingGroupHierarchy

A new rating group hirarchy has been deployed.
Example
"subscribeToPlan"

EventDataRecordDeviceConnection

Description

The connection type for EventDataRecord.

Fields
Field Name Description
edges - [EventDataRecordEdge!] List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
device - Device! All of the EDRs belong to this device.
Example
{
  "edges": [EventDataRecordEdge],
  "pageInfo": PageInfo,
  "device": Device
}

EventDataRecordDeviceConnectionResult

Description

Return type of EventDataRecordDeviceConnection including all possible errors.

Example
EventDataRecordDeviceConnection

EventDataRecordEdge

Description

An edge in a connection.

Fields
Field Name Description
node - EventDataRecord! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": EventDataRecord,
  "cursor": "xyz789"
}

EventDataRecordFilter

Description

Filtering options for event data records.

Fields
Input Field Description
types - [EventDataRecordType!]

If not provided, then it is considered that all types are included.

from - AWSDateTime

Return EDRs created only at this time or later.

to - AWSDateTime

Return EDRs created only earlier than this time.

Example
{
  "types": ["CHARGING"],
  "from": AWSDateTime,
  "to": AWSDateTime
}

EventDataRecordType

Description

Possible types of event data records.

Values
Enum Value Description

CHARGING

Charging EDRs are created as part of "init" and "update" charging requests.

BILLING

Billing EDRs are created as part of "terminate" charging requests, and event based requests.

ACCOUNT

Account EDRs are created as part of executing any account mutation, and each EDR includes the time of the transaction, the identifier of the user who made the change, the action taken, the changed account identifier and the changed attributes.

DEVICE

Device EDRs are created as part of executing any device mutation, and each EDR includes the time of the transaction, the identifier of the user who made the change, the action taken, the changed device identifier and the changed attributes.
Example
"CHARGING"

ExtendedRate

Description

Rate configuration for roaming.

Fields
Field Name Description
origination - Origination Information about A and B parties for MO calls.
termination - Termination Information about A and B parties for MT calls.
rate - Rate Rate configuration. If not provided means roaming for this origination is denied.
Example
{
  "origination": Origination,
  "termination": Termination,
  "rate": Rate
}

ExtendedRateInput

Description

Information about the rate for a plan. Either origination or termination must be provided. If no rate is provided, it is assumed that the rate is for long distance calls and origination is denied.

Fields
Input Field Description
origination - OriginationInput

Information about A and B parties for MO calls. Either origination or termination must be provided.

termination - TerminationInput

Information about A and B parties for MT calls. Either origination or termination must be provided.

rate - RateInput

Rate configuration. If not provided means long distance for this number and origination is denied.

Example
{
  "origination": OriginationInput,
  "termination": TerminationInput,
  "rate": RateInput
}

External

Description

External entity and the main purpose of it is to provide some data to rules.

Fields
Field Name Description
name - String! The name of the entity.
providedFields - [ProvidedField] The fields for which it provides data.
Example
{
  "name": "abc123",
  "providedFields": [ProvidedField]
}

FairUsagePolicyCounter

Description

Defines a fair usage policy counter with its states

Fields
Field Name Description
name - String! Unique name of the counter within the plan
states - [FairUsagePolicyState!]! Counter states used in the Initial Template
Example
{
  "name": "abc123",
  "states": [FairUsagePolicyState]
}

FairUsagePolicyCounterInput

Description

Input type for FairUsagePolicyCounter.

Fields
Input Field Description
name - String!

Unique name of the counter in the plan that contains it.

states - [FairUsagePolicyStateInput!]!

Fair usage counter states.

Example
{
  "name": "xyz789",
  "states": [FairUsagePolicyStateInput]
}

FairUsagePolicyState

Description

List of name / value pairs used to define the states for the counters used in the InitialTemplateInstance.

Fields
Field Name Description
name - String! Unique name of the counter's current state.
threshold - Float State threshold.
Example
{"name": "xyz789", "threshold": 123.45}

FairUsagePolicyStateInput

Description

Input type for FairUsagePolicyState.

Fields
Input Field Description
name - String!

Unique name of the counter's current state.

threshold - Float

Fair usage threshold.

Example
{"name": "xyz789", "threshold": 123.45}

FieldDataType

Description

The possible values for the field data type.

Values
Enum Value Description

STRING

Data type of the field that represents simple string.

NUMBER

Data type of the field that represents any number.

BOOLEAN

Data type of the field that represents any boolean.

JSON

Data type of the field that represents complex objects in a form of a json string.
Example
"STRING"

FieldMapping

Description

Field mapping.

Fields
Field Name Description
path - String! The path to the field you want to manipulate. For example, "transformedRequest.sMSChargingInformation.numberofMessagesSent". The path must start from either "transformedRequest." or "transformedResponse." and might be existing path or not existing. If provided path does not exist in request or response, only the last key should not exist. For example, "transformedResponse.invocationResult.message" is allowed, while "transformedResponse.invocationResult.message.text" is not allowed, because message is a new key already. It is possible to set a new field to a list. Originally SpEL does not support that, but we iterate over lists with provided [] after them. For example, "transformedRequest.multipleUnitUsage[].usedUnitContainer[].timeSpecificUnits", both multipleUnitUsage and usedUnitContainer are arrays, it means eventually field mapper will add to each item in these lists a new key "timeSpecificUnits".
expr - String! SpEL expression to generate the value(s). It must return one value, but also it can use the same expressions as "path" with []. For example, "originalRequest.multipleUnitUsage[].usedUnitContainer[].serviceSpecificUnits * 10". It is also possible to use "originalField" as a reference to original value if field exists. For example, "originalField + 10".
field - ProvidedField! Field provided by these field mapping.
Example
{
  "path": "transformedRequest.multipleUnitUsage[].ratingGroup",
  "expr": "originalField?:100",
  "field": ProvidedField
}

FieldMappingAlreadyExists

Description

An error type to be thrown if a field mapping for provided path already exists.

Fields
Field Name Description
path - String! Already existing path.
errorCode - String!
errorMessage - String
Example
{
  "path": "xyz789",
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

FieldMappingConnection

Description

The connection type for FieldMapping.

Fields
Field Name Description
edges - [FieldMappingEdge!] List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [FieldMappingEdge],
  "pageInfo": PageInfo
}

FieldMappingEdge

Description

An edge in a connection.

Fields
Field Name Description
node - FieldMapping! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": FieldMapping,
  "cursor": "xyz789"
}

FieldMappingHasReferences

Description

An error type to be thrown if a field mapping has references preventing it from deletion.

Fields
Field Name Description
fieldMapping - FieldMapping! A field mapping with has references preventing it from deletion.
errorCode - String!
errorMessage - String
Example
{
  "fieldMapping": FieldMapping,
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

FieldMappingNotFound

Description

An error type to be thrown if a field mapping was not found.

Fields
Field Name Description
providerId - ID! A field mapping for a provided provider ID was not found.
path - String! A field mapping with a provided path was not found.
errorCode - String!
errorMessage - String
Example
{
  "providerId": 4,
  "path": "abc123",
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

FieldNotFound

Description

An error type to be thrown if a field was not found.

Fields
Field Name Description
fieldName - String! A field with provided name was not found.
fieldDataType - FieldDataType! A field with provided data type was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "fieldName": "abc123",
  "fieldDataType": "STRING",
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

FieldProvider

Description

All possible types of field providers.

Types
Union Types

Rule

PlanService

External

Example
Rule

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

GetMyProviderConfigResult

Description

Return type of GetMyProviderConfig including all possible errors. InvalidProviderLifecycleStage - Provider user can't call API when provider lifecycle stage is CREATING, SUSPENDED, TERMINATED or DELETED.

Example
ProviderConfig

GetMyRestoreJobsInput

Description

Input type for GetMyRestoreJobs.

Fields
Input Field Description
jobId - ID

Optional ID to get info of a specific job. If not passed, then we list jobs.

from - AWSDateTime

Optional date/time in UTC to get the jobs created after (inclusive). If jobId is used, job exists, but doesn't match 'from', then an empty result is returned.

to - AWSDateTime

Date/time in UTC to get the jobs created before (inclusive). If jobId is used, job exists, but doesn't match 'to', then an empty result is returned.

jobType - RestoreJobType

Type to filter only a specific job type. If jobId is used, job exists, but doesn't match 'jobType', then an empty result is returned.

Example
{
  "jobId": "4",
  "from": AWSDateTime,
  "to": AWSDateTime,
  "jobType": "ACCOUNTS"
}

GetMyRestoreJobsPayload

Description

Return type for GetMyRestoreJobs.

Fields
Field Name Description
jobs - [RestoreJob]! The ID for the job.
Example
{"jobs": [RestoreJob]}

GetMyRestoreJobsResult

Description

Return type of GetMyRestoreJobs including all possible errors. InvalidField(from) - from field must be before to.

Example
GetMyRestoreJobsPayload

GetProviderConfigResult

Description

Return type of GetProviderConfig including all possible errors.

Types
Union Types

ProviderConfig

ProviderNotFound

Example
ProviderConfig

GetRelatedAccountsByDevicePayload

Description

Return type of getRelatedAccountsByDevice

Fields
Field Name Description
providerId - ID! Service provider ID. This is retrieved from cognito group named Provider_{providerId}
deviceId - ID! Device id for which the related accounts are returned
accounts - [Account!]! Accounts the device is related to
Example
{
  "providerId": "4",
  "deviceId": "4",
  "accounts": [Account]
}

GetRelatedAccountsByDeviceResult

Description

Return type of GetRelatedAccountsByDevice including all possible errors. DeviceNotFound - Given device ID does not exist in the tenant

Example
GetRelatedAccountsByDevicePayload

GetRestoreJobsInput

Description

Input type for GetRestoreJobs.

Fields
Input Field Description
providerId - ID!

The ID of the provider to get jobs for.

jobId - ID

Optional ID to get info of a specific job. If not passed, then we list jobs.

from - AWSDateTime

Optional date/time in UTC to get the jobs created after (inclusive). If jobId is used, job exists, but doesn't match 'from', then an empty result is returned.

to - AWSDateTime

Date/time in UTC to get the jobs created before (inclusive). If jobId is used, job exists, but doesn't match 'to', then an empty result is returned.

jobType - RestoreJobType

Type to filter only a specific job type. If jobId is used, job exists, but doesn't match 'jobType', then an empty result is returned.

Example
{
  "providerId": "4",
  "jobId": "4",
  "from": AWSDateTime,
  "to": AWSDateTime,
  "jobType": "ACCOUNTS"
}

GetRestoreJobsPayload

Description

Return type for GetRestoreJobs.

Fields
Field Name Description
jobs - [RestoreJob]! The ID for the job.
Example
{"jobs": [RestoreJob]}

GetRestoreJobsResult

Description

Return type of GetRestoreJobs including all possible errors. InvalidField(from) - from field must be before to.

Example
GetRestoreJobsPayload

GetUserInput

Description

Input type of GetUser

Fields
Input Field Description
providerId - ID!

Service provider ID.

userId - ID!

Cognito User ID

Example
{
  "providerId": "4",
  "userId": "4"
}

GetUserPayload

Description

Return type of a User for queries fetching a user or listing a group of them

Fields
Field Name Description
providerId - ID! Service provider ID. This is retrieved from cognito group named Provider_{providerId}
userId - ID! Cognito User ID
email - AWSEmail! User email
name - String The name of the user
roleGroupMemberships - [RoleGroup!]! The roles this user belong to
profilePicture - ProfilePhoto The user's profile picture. If profile picture exists, it will always contain a pre-signed URL to download profile picture. It will contain pre-signed URL to upload picture only for the updateUserProfile mutation
phoneNumber - AWSPhone The user's phone number
jobTitle - String The user's job title
softwareMfaEnabled - Boolean! Whether the user has enabled software MFA or not
Example
{
  "providerId": 4,
  "userId": 4,
  "email": AWSEmail,
  "name": "xyz789",
  "roleGroupMemberships": ["Account_Query"],
  "profilePicture": ProfilePhoto,
  "phoneNumber": AWSPhone,
  "jobTitle": "abc123",
  "softwareMfaEnabled": true
}

GetUserResult

Description

Return type of GetUser including all possible errors. UserNotFound - Given user ID does not exist for the given provider, even if provider does not exist.

Types
Union Types

GetUserPayload

UserNotFound

Example
GetUserPayload

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

InitialTemplateInstance

Description

All the parameters with which initial template was used to create a plan.

Fields
Field Name Description
fee - Float A fee that will be charged per specified recurring period.
firstUsageFee - Float A fee that will be charged just once on first usage of the plan.
renewalGracePeriod - [Duration] Put a plan on hold for a limited grace period while waiting for a successful renewal. It is a sum of provided durations.
purchaseFee - Float A fee that will be charged just once right after the subscription.
period - RecurringPeriod A period when specified fee will be charged.
services - [InitialTemplateService!] List of plan services.
offPeakTimes - [TimePeriod!] A list of time periods used as off-peak times. Deprecated. Use workingHours. Replaced by workingHours. Deprecated date is 2022-05-17. Expiration date is 2022-08-01.
voice - InitialTemplateServiceDeprecated Rates for Voice service. Deprecated. Use services. Replaced by services. Deprecated date is 2022-05-02. Expiration date is 2022-08-01.
data - InitialTemplateServiceDeprecated Rates for Data service. Deprecated. Use services. Replaced by services. Deprecated date is 2022-05-02. Expiration date is 2022-08-01.
text - InitialTemplateServiceDeprecated Rates for Text service. Deprecated. Use services. Replaced by services. Deprecated date is 2022-05-02. Expiration date is 2022-08-01.
notificationPeriodBeforeExpiration - Int Period in seconds when to send a notification before the plan expires.
notificationCreditLimitThreshold - Float Threshold of the credit limit on the account, when the account goes lower than this value then notification is sent.
json - AWSJSON Custom data in JSON format to be able to save and retrieve some configurations.
priority - Float Plan priority that determines the execution order for charging and rating.
proratingOptions - ProratingOptions The prorating options of the plan
Example
{
  "fee": 987.65,
  "firstUsageFee": 987.65,
  "renewalGracePeriod": [Duration],
  "purchaseFee": 987.65,
  "period": RecurringPeriod,
  "services": [InitialTemplateService],
  "offPeakTimes": [TimePeriod],
  "voice": InitialTemplateServiceDeprecated,
  "data": InitialTemplateServiceDeprecated,
  "text": InitialTemplateServiceDeprecated,
  "notificationPeriodBeforeExpiration": 987,
  "notificationCreditLimitThreshold": 123.45,
  "json": AWSJSON,
  "priority": 987.65,
  "proratingOptions": ProratingOptions
}

InitialTemplateService

Description

All the parameters for each service in initial template. If parameters free, unit and monetary are not specified then service is denied completely.

Fields
Field Name Description
ratingGroupId - Int! Custom rating group ID for this service.
priority - Float Plan priority that determines the execution order for charging and rating.
free - [String!] A list of free services (for voice it is a list of free numbers). If not specified it is considered empty.
unit - UnitAllowance Unit balance configuration for this service. If both unit and monetary are specified for this service, unit is used first. Roaming and long distance calls use this unit balance unless it is not restricted by from and to countries.
monetary - MonetaryRate If this rate is specified it will be used after the unit balance when it is depleted or if unit configuration is not provided.
workingHours - [TimePeriod!] A list of time periods when service is applicable.
fromCountriesExpr - String If provided, the origination party must be located in one of these countries for the service allowance and rating to be used. ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)
toCountriesExpr - String Specifies the fair usage policy counter to be created for this service type If provided, the termination party must belong to an operator in one of these countries for the service allowance and rating to be used. ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)
restrictions - [ServiceConstraint] The service allowance and rating can only be used if all the constraints listed are met.
Example
{
  "ratingGroupId": 987,
  "priority": 987.65,
  "free": ["abc123"],
  "unit": UnitAllowance,
  "monetary": MonetaryRate,
  "workingHours": [TimePeriod],
  "fromCountriesExpr": "abc123",
  "toCountriesExpr": "xyz789",
  "restrictions": ["IS_FRIEND_FAMILY"]
}

InitialTemplateServiceDeprecated

Description

All the parameters for each service in initial template.

Fields
Field Name Description
ratingGroupId - Int Custom rating group ID for this service. If not specified it means that a default value from hierarchy is used.
balanceName - String! Balance name that will be used for charging. Also the same name is used for setting provisioning overrides values.
periodAllowance - Float Units that will be added to this service on a specified recurring period. If not specified it means that it is unlimited.
overage - Rate Overage rate configuration. If not specified it means that a service will be denied when all granted units are consumed.
offPeak - Rate Rate configuration for off-peak hours. If not specified everything is rated as specified in overage.
free - [String!] A list of free services (for voice it is a list of free numbers). If not specified it is considered empty.
roaming - [ExtendedRate!] Roaming configuration.
longDistance - [ExtendedRate!] Long distance configuration.
notificationAllowanceThreshold - Float Units threshold to define when to send a notification.
rollover - Boolean An action to perform with balances from a previous period. Rollover if true or reset if false.
fairUsagePolicyCounter - FairUsagePolicyCounter Specifies the fair usage policy counter to be created for this service type
Example
{
  "ratingGroupId": 987,
  "balanceName": "xyz789",
  "periodAllowance": 987.65,
  "overage": Rate,
  "offPeak": Rate,
  "free": ["abc123"],
  "roaming": [ExtendedRate],
  "longDistance": [ExtendedRate],
  "notificationAllowanceThreshold": 987.65,
  "rollover": false,
  "fairUsagePolicyCounter": FairUsagePolicyCounter
}

InitialTemplateServiceInput

Description

Input type for creating a service from a template. If parameters free, unit and monetary are not specified then service is denied completely.

Fields
Input Field Description
ratingGroupId - Int!

Rating group ID for this service.

priority - Float

Plan priority that determines the execution order for charging and rating. Considered as 0 (the highest) if not provided.

free - [String!]

A list of free services (for voice it is a list of free numbers). If not specified it is considered empty.

unit - UnitAllowanceInput

Unit balance configuration for this service. If both unit and monetary are specified for this service, unit is used first. Roaming and long distance calls use this unit balance unless it is not restricted by from and to countries.

monetary - MonetaryRateInput

If this rate is specified it will be used after the unit balance when it is depleted or if unit configuration is not provided.

workingHours - [TimePeriodInput!]

A list of time periods when service is applicable.

fromCountriesExpr - String

If provided, the origination party must be located in one of these countries for the service allowance and rating to be used. ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)

toCountriesExpr - String

If provided, the termination party must belong to an operator in one of these countries for the service allowance and rating to be used. ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)

restrictions - [ServiceConstraint]

The service allowance and rating can only be used if all the constraints listed are met. Note: Do not include opposite restrictions together at the same time, such as IS_ON_NET and IS_OFF_NET.

Example
{
  "ratingGroupId": 123,
  "priority": 123.45,
  "free": ["abc123"],
  "unit": UnitAllowanceInput,
  "monetary": MonetaryRateInput,
  "workingHours": [TimePeriodInput],
  "fromCountriesExpr": "abc123",
  "toCountriesExpr": "abc123",
  "restrictions": ["IS_FRIEND_FAMILY"]
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

InternalServerError

Description

An error type to be thrown if an internal error happened or the charge engine is not available.

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

InvalidApiLimitDuplicated

Description

An error type to be thrown when multiple api limits re defined with same api type

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
apiType - ApiType The duplicated api type
Example
{
  "errorCode": "abc123",
  "errorMessage": "abc123",
  "apiType": "DA_GY"
}

InvalidField

Description

An error type to be thrown if a value of a field in an input fails a validation.

Fields
Field Name Description
fieldName - String! A name of the invalid field.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "fieldName": "abc123",
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

InvalidLimitsRange

Description

An error type to be thrown when soft limit TPS is larger than hard limit TPS

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

InvalidProviderLifecycleStage

Description

An error type to be thrown if a provider's lifecycle state is not valid to execute the operation

Fields
Field Name Description
providerLifecycleStage - ProviderLifecycleStage! A name of the provider lifecycle stage.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerLifecycleStage": "CREATING",
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

KeyValue

Description

Key value object.

Fields
Field Name Description
name - String! Name of the key.
value - String! Value for the key.
Example
{
  "name": "abc123",
  "value": "xyz789"
}

KeyValueInput

Description

Input type of KeyValue. This type is used in overrides which are key value pairs which can be nested. There are two main levels: plan and plan service. A simple plan override is the following: { name: "recurring period", value: "HOUR" } A nested override is used for plan services and can be like the following: "{ name: \"TemplateService0\", value: {\"recurring units":\"120\"} }" Pay attention to the format, it is a JSON, but as an escaped string because only strings are allowed as values. The same applies to inner values, such as recurring units, it must be also a string. A nested override uses the override field and value as the high-level value field with value. The following override fields are valid: Field - Referenced field - Type - Scope alignToBillingDoM - ProratingOptionsInput.alignToBillingDoM - BOOLEAN - Plan fee - fee - NUMBER - Plan first usage fee - firstUsageFee - NUMBER - Plan number of periods - RecurringPeriodInput.numberOfPeriods- NUMBER - Plan recurring - RecurringPeriodInput.recurring - BOOLEAN - Plan recurring period - RecurringPeriodInput.numberOfPeriods - STRING - Plan refundPolicy - ProratingOptionsInput.refundPolicy - STRING(NONE / FULL_REFUND / TIME_BASED) - Plan renewalGracePeriod - InitialTemplateInstance.renewalGracePeriod - STRING - Plan subscriptionPolicy - ProratingOptionsInput.subscriptionPolicy - STRING (NONE / TIME_BASED) - Plan purchase fee - InitialTemplateInstance.purchaseFee - NUMBER - Plan recurring units - UnitAllowance.periodAllowance - NUMBER - Plan-Service rollover - UnitAllowanceInput.rollover - BOOLEAN - Plan-Service workingHours - InitialTemplateServiceInput.workingHours - JSON - Plan-Service

Fields
Input Field Description
name - String!

Name of the key.

value - String

Value for the key. If not provided then the key will be removed.

Example
{
  "name": "xyz789",
  "value": "abc123"
}

ListUserPayload

Description

Return type of a User for queries fetching a user or listing a group of them

Fields
Field Name Description
providerId - ID! Service provider ID. This is retrieved from cognito group named Provider_{providerId}
userId - ID! Cognito User ID
email - AWSEmail! User email
name - String The name of the user
phoneNumber - AWSPhone The user's phone number
jobTitle - String The user's job title
Example
{
  "providerId": "4",
  "userId": "4",
  "email": AWSEmail,
  "name": "xyz789",
  "phoneNumber": AWSPhone,
  "jobTitle": "abc123"
}

ListUsersConnection

Description

The connection type for ListUsers

Fields
Field Name Description
edges - [ListUsersEdge!]! List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [ListUsersEdge],
  "pageInfo": PageInfo
}

ListUsersEdge

Description

An edge in a user connection.

Fields
Field Name Description
node - ListUserPayload! The item at the end of the edge.
cursor - String A cursor for use in pagination.
Example
{
  "node": ListUserPayload,
  "cursor": "xyz789"
}

ListUsersResult

Description

Return type of ListUsers including all possible errors.

Types
Union Types

ListUsersConnection

Example
ListUsersConnection

LoggingSystem

Description

This defines the different systems that produce logs.

Values
Enum Value Description

DA

This is the entry for the Diameter Adapter.

ENGINE

This is the entry for the Charging Engine.

APPSYNC

This is the entry for the GraphQL API

API_USAGE_STREAM

This is the entry for API Usage Kinesis Data Analytics App
Example
"DA"

LowLoggingLevel

Description

This defines the different low logging levels we can configure.

Values
Enum Value Description

DEBUG

When set, this is will cause debug (and higher level) logging messages to be written, including but not limited to the generated EDRs

TRACE

When set, this is will cause trace (and higher level) logging messages to be written, including but not limited to the inputs and outputs of all API calls and for each charging rule
Example
"DEBUG"

MigrationAlreadyInProgress

Description

An error type to be thrown if there is already migration in progress for this plan.

Fields
Field Name Description
providerId - ID! A plan for a provided provider ID is being migrated.
planVersionId - ID! A plan version to which there is an ongoing migration.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "planVersionId": 4,
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

MonetaryRate

Description

Rate configuration for monetary balance.

Fields
Field Name Description
rate - Rate Rate configuration. If not specified then monetary usage is denied (except roaming and long distance which are configured independently).
roaming - [ExtendedRate!] Roaming configuration. If not specified then roaming will be denied.
longDistance - [ExtendedRate!] Long distance configuration. If not specified then long distance will be denied.
notificationThreshold - Float Monetary threshold to define when to send a notification. If not specified then no notification is required.
Example
{
  "rate": Rate,
  "roaming": [ExtendedRate],
  "longDistance": [ExtendedRate],
  "notificationThreshold": 987.65
}

MonetaryRateInput

Description

Input type for rate configuration for monetary balance.

Fields
Input Field Description
rate - RateInput

Rate configuration. If not specified then monetary usage is denied (except roaming and long distance which are configured independently).

roaming - [ExtendedRateInput!]

Roaming configuration. If not specified then roaming will be denied.

longDistance - [ExtendedRateInput!]

Long distance configuration. If not specified then long distance will be denied.

notificationThreshold - Float

Monetary threshold to define when to send a notification. If not specified then no notification is required.

Example
{
  "rate": RateInput,
  "roaming": [ExtendedRateInput],
  "longDistance": [ExtendedRateInput],
  "notificationThreshold": 987.65
}

MultipleSubscriptions

Description

An error type to be thrown if an account has multiple subscriptions and "from" and "to" were not specified.

Fields
Field Name Description
planVersionId - ID! A unique identifier of a plan version of a subscription.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "planVersionId": "4",
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

Node

Description

An object with an ID.

Fields
Field Name Description
providerId - ID! The object belongs to a provider.
id - ID! ID of the object.
Example
{
  "providerId": "4",
  "id": "4"
}

OrderDirection

Description

Possible directions in which to order a list of items when provided an orderBy argument.

Values
Enum Value Description

ASC

Specifies an ascending order for a given orderBy argument.

DESC

Specifies a descending order for a given orderBy argument.
Example
"ASC"

Origination

Fields
Field Name Description
aNumberCurrentCountryExpr - String! ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)
bNumberHomeCountryExpr - String! ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)
Example
{
  "aNumberCurrentCountryExpr": "abc123",
  "bNumberHomeCountryExpr": "abc123"
}

OriginationInput

Description

Information about A and B parties for MO calls.

Fields
Input Field Description
aNumberCurrentCountryExpr - String!

ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)

bNumberHomeCountryExpr - String!

ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)

Example
{
  "aNumberCurrentCountryExpr": "xyz789",
  "bNumberHomeCountryExpr": "abc123"
}

PageInfo

Description

Information about pagination in a connection.

Fields
Field Name Description
hasPreviousPage - Boolean! When paginating backwards, are there more items?
hasNextPage - Boolean! When paginating forwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
endCursor - String When paginating forwards, the cursor to continue.
Example
{
  "hasPreviousPage": true,
  "hasNextPage": false,
  "startCursor": "abc123",
  "endCursor": "abc123"
}

PeriodType

Description

The possible values for recurring period.

Values
Enum Value Description

HOUR

Per hour.

DAY

Per day.

WEEK

Per week.

MONTH

Per month.
Example
"HOUR"

Plan

Description

An object to represent a set of plan services that contains all the information to perform charging / crediting operations.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of a plan.
name - String! A human readable name. Not unique.
versions - PlanVersionConnection! A list of versions of the plan.
Arguments
first - Int!

Returns the first n elements from the list or a maximum of 100.

after - String

Returns the elements in the list that come after the specified cursor.

orderBy - PlanVersionOrder

Ordering options for plan versions returned from the connection.

Example
{
  "providerId": 4,
  "id": "4",
  "name": "xyz789",
  "versions": PlanVersionConnection
}

PlanAlreadyExists

Description

An error type to be thrown if a plan with provided ID already exists.

Fields
Field Name Description
planId - ID! Already existing plan ID.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "planId": 4,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

PlanConnection

Description

The connection type for Plan.

Fields
Field Name Description
edges - [PlanEdge!]! List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [PlanEdge],
  "pageInfo": PageInfo
}

PlanEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Plan! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Plan,
  "cursor": "xyz789"
}

PlanIsReadOnly

Description

An error type to be thrown if the plan is the initial one preventing it from deletion.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
planId - ID! A unique identifier of a plan.
errorCode - String! Machine-readable error identifier.
errorMessage - String Human-readable error description.
Example
{
  "providerId": "4",
  "planId": "4",
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

PlanNotFound

Description

An error type to be thrown if a plan was not found.

Fields
Field Name Description
providerId - ID! A plan for a provided provider ID was not found.
planId - ID! A plan with a provided plan ID was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "planId": 4,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

PlanOrder

Description

Ways in which lists of plans can be ordered upon return.

Fields
Input Field Description
direction - OrderDirection!

The direction in which to order issues by the specified field.

field - PlanOrderField!

The field in which to order plans by.

Example
{"direction": "ASC", "field": "PRIORITY"}

PlanOrderField

Description

Properties by which plan connections can be ordered.

Values
Enum Value Description

PRIORITY

Order plans by last deployed plan version priority.
Example
"PRIORITY"

PlanResult

Description

Return type of Plan including all possible errors.

Types
Union Types

Plan

PlanNotFound

Example
Plan

PlanService

Description

An item that consists of rules and belongs to a plan to provide information how to do charging / crediting for one particular service type.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of a plan service.
name - String! The name of the plan service.
ruleSets - RuleSets! The set of rules that the service has available.
providedFields - [ProvidedField] The provided fields which override values for the plan service.
ratingGroupId - Int! Rating group ID for the current plan service.
balanceName - String Balance name that will be used for charging. Also the same name is used for setting provisioning overrides values.
priority - Float Plan service priority that determines the execution order for charging and rating. Considered as 0 if not provided.
Example
{
  "providerId": "4",
  "id": 4,
  "name": "abc123",
  "ruleSets": RuleSets,
  "providedFields": [ProvidedField],
  "ratingGroupId": 123,
  "balanceName": "abc123",
  "priority": 123.45
}

PlanServiceConnection

Description

The connection type for PlanService.

Fields
Field Name Description
edges - [PlanServiceEdge!]! List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [PlanServiceEdge],
  "pageInfo": PageInfo
}

PlanServiceEdge

Description

An edge in a connection.

Fields
Field Name Description
node - PlanService! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": PlanService,
  "cursor": "xyz789"
}

PlanServiceIsReadOnly

Description

An error type to be thrown if a plan service is read only. For example, when a version is already deployed.

Fields
Field Name Description
providerId - ID! A plan for a provided provider ID is read only.
planServiceId - ID! A unique identifier of a plan which is read only.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "planServiceId": "4",
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

PlanServiceNotFound

Description

An error type to be thrown if a planService was not found.

Fields
Field Name Description
providerId - ID! A plan service for a provided provider ID was not found.
planServiceId - ID! A plan service with a provided plan service ID was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "planServiceId": 4,
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

PlanState

Description

Possible states of a planVersion.

Values
Enum Value Description

NEW

A planVersion was just created and currently editable.

DEPLOYED

A planVersion was already deployed and is no longer editable, but cannot be assigned to an Account.

AVAILABLE

A planVersion can be assigned to an Account.

SUSPENDED

A planVersion cannot be assigned to an Account.

ARCHIVED

A planVersion is no longer used by any Accounts.
Example
"NEW"

PlanVersion

Description

Versioned part of the planVersion.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of a plan version.
version - String! String representation of the version.
basedOn - PlanVersion If the current version is based on another version.
plan - Plan Plan of the plan version.
state - PlanState! Each version has its own state.
refCount - Int! The number of assignments to Accounts this version has.
planServices - [PlanService!]! A list of Plan Services of the planVersion version.
createdAt - AWSDateTime! When it was created.
createdBy - String! By whom it was created.
modifiedAt - AWSDateTime! When it was last modified.
modifiedBy - String! By whom it was modified.
deployedAt - AWSDateTime When it was deployed.
deployedBy - String By whom it was deployed.
template - TemplateInstance If the plan version was created by using template this attribute contains all the parameters with which it was created.
counters - [Counter] List of counters defined in the plan.
priority - Float Plan version priority that determines the execution order for charging and rating.
Example
{
  "providerId": 4,
  "id": 4,
  "version": "abc123",
  "basedOn": PlanVersion,
  "plan": Plan,
  "state": "NEW",
  "refCount": 123,
  "planServices": [PlanService],
  "createdAt": AWSDateTime,
  "createdBy": "abc123",
  "modifiedAt": AWSDateTime,
  "modifiedBy": "xyz789",
  "deployedAt": AWSDateTime,
  "deployedBy": "xyz789",
  "template": InitialTemplateInstance,
  "counters": [Counter],
  "priority": 987.65
}

PlanVersionAlreadyExists

Description

An error type to be thrown if a plan version already exists in a plan.

Fields
Field Name Description
plan - Plan! A plan where the version already exists.
planVersion - PlanVersion! Already existing plan version.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "plan": Plan,
  "planVersion": PlanVersion,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

PlanVersionConnection

Description

The connection type for PlanVersion.

Fields
Field Name Description
edges - [PlanVersionEdge!]! List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [PlanVersionEdge],
  "pageInfo": PageInfo
}

PlanVersionEdge

Description

An edge in a connection.

Fields
Field Name Description
node - PlanVersion! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": PlanVersion,
  "cursor": "xyz789"
}

PlanVersionHasReferences

Description

An error type to be thrown if a plan version has references preventing it from deletion.

Fields
Field Name Description
planVersion - PlanVersion! A plan version with has references preventing it from deletion.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "planVersion": PlanVersion,
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

PlanVersionIsNotAssignable

Description

An error type to be thrown if a plan cannot be assigned.

Fields
Field Name Description
providerId - ID! A plan for a provided provider ID cannot be assigned.
planVersionId - ID! A plan version with a provided plan version ID cannot be assigned.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "planVersionId": 4,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

PlanVersionIsReadOnly

Description

An error type to be thrown if a plan version is read only. For example, when the version is already deployed.

Fields
Field Name Description
planVersion - PlanVersion! A plan version which is read only.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "planVersion": PlanVersion,
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

PlanVersionNotFound

Description

An error type to be thrown if a plan was not found.

Fields
Field Name Description
providerId - ID! A plan for a provided provider ID was not found.
planVersionId - ID! A plan version with a provided plan version ID was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "planVersionId": 4,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

PlanVersionOrder

Description

Ways in which lists of plan versions can be ordered upon return.

Fields
Input Field Description
direction - OrderDirection!

The direction in which to order issues by the specified field.

field - PlanVersionOrderField!

The field in which to order versions by.

Example
{"direction": "ASC", "field": "ID"}

PlanVersionOrderField

Description

Properties by which version connections can be ordered.

Values
Enum Value Description

ID

Order versions by id.

LAST_MODIFIED

Order versions by update time.

DEPLOYED_DATE

Order versions by deploy time.
Example
"ID"

PlanVersionPayload

Description

Return type of PlanVersion.

Fields
Field Name Description
planVersion - PlanVersion! Created plan version.
Example
{"planVersion": PlanVersion}

PlanVersionResult

Description

Return type of PlanVersion including all possible errors.

Types
Union Types

PlanVersion

PlanVersionNotFound

Example
PlanVersion

PlanVersionWrongTransition

Description

An error type to be thrown if transition from one state to another is not possible.

Fields
Field Name Description
providerId - ID! A plan version for a provided provider ID cannot be transitioned.
planVersionId - ID! A plan version with a provided plan version ID cannot be transitioned.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "planVersionId": 4,
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

PostpaidFieldInPrepaidAccount

Description

An error type to be thrown when creating account if postpaid properties were not set when creditLimit of account is positive.

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

PostpaidPropertiesRequired

Description

An error type to be thrown when creating account if postpaid properties were not set when creditLimit of account is positive.

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

ProfilePhoto

Description

An object (a file) in S3

Fields
Field Name Description
url - AWSURL The URL for the object
uploadUrl - AWSURL The pre-signed URL to use for uploading the object
Example
{"url": AWSURL, "uploadUrl": AWSURL}

ProratingOptions

Description

The prorating options for a plan for postpaid accounts

Fields
Field Name Description
alignToBillingDoM - Boolean Whether to align the plan billing to the account billing day of month. If true, then subscription offer and refund policies must be filled,
subscriptionPolicy - SubscriptionPolicy The subscription policy for plans that align billing to the account billing day of month. Default is NONE.
refundPolicy - RefundPolicy The refund policy for plans that align billing to the account billing day of month. Default is NONE.
Example
{
  "alignToBillingDoM": true,
  "subscriptionPolicy": "NONE",
  "refundPolicy": "NONE"
}

ProratingOptionsInput

Description

Input for the prorating options for a plan for postpaid accounts

Fields
Input Field Description
alignToBillingDoM - Boolean

Whether to align the plan billing to the account billing day of month. If false, then subscription and refund policies should always be NONE

subscriptionPolicy - SubscriptionPolicy

The subscription policy for plans that align billing to the account billing day of month. Default is NONE.

refundPolicy - RefundPolicy

The refund policy for plans that align billing to the account billing day of month. Default is NONE.

Example
{
  "alignToBillingDoM": false,
  "subscriptionPolicy": "NONE",
  "refundPolicy": "NONE"
}

ProvidedField

Description

A field that is provided by some entity and can be used by rules.

Fields
Field Name Description
name - String! The name of the field.
dataType - FieldDataType! The type of the field.
usedBy - [Rule] Which rule uses the field. Deprecated. Use usedByRules. Replaced by usedByRules. Deprecated date is 2022-04-05. Expiration date is 2022-08-01
usedByRules - RuleConnection Which rule uses the field.
Arguments
first - Int!

Returns the first n elements from the list or a maximum of 100.

after - String

Returns the elements in the list that come after the specified cursor.

customData - String The custom data of the field.
Example
{
  "name": "xyz789",
  "dataType": "STRING",
  "usedBy": [Rule],
  "usedByRules": RuleConnection,
  "customData": "abc123"
}

ProvidedFieldInput

Description

Input type of ProvidedField.

Fields
Input Field Description
name - String!

The name of the field.

dataType - FieldDataType!

The type of the field.

customData - String!

The custom data of the field.

Example
{
  "name": "abc123",
  "dataType": "STRING",
  "customData": "xyz789"
}

ProviderConfig

Description

Configurations of a tenant.

Fields
Field Name Description
id - ID! The ID of the tenant.
name - String! The name of the tenant.
commonName - String! The common name that will be used in the SSL certificates of the tenant.
homeNetworks - String The home networks for the tenant. Required if onNet calls should be supported.
emergencyNumbers - [String] List of emergency numbers.
lifecycleStage - ProviderLifecycleStage! The lifecycle stage of the tenant
allowedLifecycleTransitions - [ProviderLifecycleStage!]! The allowed lifecycle transitions for the tenant.
limits - [ApiLimitsConfig] API limit configurations for 4G, 5G and GraphQL calls.
deleteProviderExecutionArn - String The execution ARN of delete provider operation. Empty if deletion is not in progress
eventBusArn - String The ARN of the event bus that we should be sending events to.
Example
{
  "id": 4,
  "name": "xyz789",
  "commonName": "abc123",
  "homeNetworks": "xyz789",
  "emergencyNumbers": ["xyz789"],
  "lifecycleStage": "CREATING",
  "allowedLifecycleTransitions": ["CREATING"],
  "limits": [ApiLimitsConfig],
  "deleteProviderExecutionArn": "xyz789",
  "eventBusArn": "xyz789"
}

ProviderDeletionAlreadyInProgress

Description

An error type to be thrown if a request for deleting a provider comes while deletion is already in progress.

Fields
Field Name Description
providerId - ID! Service provider ID with problem.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

ProviderLifecycleStage

Description

Providers possible Lifecycle stages

Values
Enum Value Description

CREATING

Provider is in the process of being created but cannot be used for any live operations / traffic.

UAT_READY

Provider has reference data (plan, accounts devices) loaded, is connected to receive charging events and is ready for User Acceptance Testing.

ACTIVE

Provider is fully operational.

SUSPENDED

Provider is suspended and no usage of the system is possible. Requests via any API will be rejected with an error code indicating the suspended state.

TERMINATED

Provider is fully terminated. No data is deleted from the system.

DELETED

All customer data, except for EDRs, is removed from the system with the exception of any data that must be maintained / archived for regulatory reasons. Customers may also ask for 'proof' of data destruction.
Example
"CREATING"

ProviderNotFound

Description

An error type to be thrown if tenant was not found for given ID.

Fields
Field Name Description
providerId - ID! Service provider ID with problem.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

Rate

Description

Rate configuration.

Fields
Field Name Description
rate - Float Particular rate in units to be applied. Replaced by ratePerRounding. Deprecated at 2022-05-23. To be removed at 2022-08-01.
ratePerRounding - String Particular rate in unit rounding to be applied.
ffRate - Float Particular rate in units to be applied for Friends and Family calls. If not provided then there is only standard rate applied. Replaced by InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstraint. Deprecated at 2022-05-06. To be removed at 2022-08-01.
ffRatePerRounding - String Particular rate in unit rounding to be applied for Friends and Family calls. If not provided then there is only standard rate applied. Replaced by InitialTemplateService with a IS_FRIEND_FAMILY ServiceConstrain. Deprecated at 2022-05-23. To be removed at 2022-08-01.
taxRate - Float! A tax rate to be applied. It is a percentage and expressed as a fraction. For example, 0.15 stands for 15% tax rate.
Example
{
  "rate": 987.65,
  "ratePerRounding": "abc123",
  "ffRate": 123.45,
  "ffRatePerRounding": "abc123",
  "taxRate": 987.65
}

RateInput

Description

Rate configuration.

Fields
Input Field Description
ratePerRounding - String

Particular rate in unit rounding to be applied.

taxRate - Float!

A tax rate to be applied. It is a percentage and expressed as a fraction. For example, 0.15 stands for 15% tax rate.

Example
{
  "ratePerRounding": "xyz789",
  "taxRate": 987.65
}

RateLimitExceeded

Description

An error type to be thrown if a provider crossed the rate limit and request will be rejected

Fields
Field Name Description
retryAfter - AWSDateTime! Date when the rate limit should be restored and request should be retried
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "retryAfter": AWSDateTime,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

RatingGroup

Description

Rating group.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - Int! Rating Group ID.
name - String! Name of the rating group.
perUnitRounding - Int Unit rounding.
minReservation - Float Minimum total resevation that can be held for this rating group. If empty then there is no minimum.
maxReservation - Float Maximum total resevation that can be held for this rating group. If empty then there is no maximum.
unitType - UnitType! Unit type that is used for this rating group.
quotaValidityTime - Int Validity type which is returned in responses.
enableDynamicQuotaAllocation - Boolean Whether dynamic quotas will be used or not.
isDefault - Boolean! Default groups are determined by names, not by IDs, ID of default group can be changed.
children - [RatingGroup] List of nested rating groups.
Example
{
  "providerId": 4,
  "id": 123,
  "name": "xyz789",
  "perUnitRounding": 123,
  "minReservation": 987.65,
  "maxReservation": 987.65,
  "unitType": "TIME",
  "quotaValidityTime": 987,
  "enableDynamicQuotaAllocation": false,
  "isDefault": true,
  "children": [RatingGroup]
}

RatingGroupHierarchyHasReferences

Description

An error type to be thrown if there is a rating group which is not provided in the input but used by some plan.

Fields
Field Name Description
ratingGroup - [RatingGroup!]! A list of rating groups that have references to plans.
errorCode - String!
errorMessage - String
Example
{
  "ratingGroup": [RatingGroup],
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

RatingGroupInput

Description

Rating group parameters.

Fields
Input Field Description
id - Int!

Rating group ID.

name - String!

Unique name for this Rating Group. Must be between 1 and 50 characters and consist of letters, digits or special characters.

perUnitRounding - Int

Unit rounding. If not provided then unit rounding is used from parents RGs.

minReservation - Float

Minimum total resevation that can be held for this rating group. If not provided then there is no minimum.

maxReservation - Float

Maximum total resevation that can be held for this rating group. If not provided then there is no maximum.

unitType - UnitType

Unit type that is used for this rating group. Service specific units used by default.

quotaValidityTime - Int

Validity type which is returned in responses.

enableDynamicQuotaAllocation - Boolean

Whether dynamic quotas will be used or not.

children - [RatingGroupInput]

List of nested rating groups.

Example
{
  "id": 987,
  "name": "xyz789",
  "perUnitRounding": 123,
  "minReservation": 987.65,
  "maxReservation": 123.45,
  "unitType": "TIME",
  "quotaValidityTime": 123,
  "enableDynamicQuotaAllocation": true,
  "children": [RatingGroupInput]
}

RatingGroupResult

Description

Return type of RatingGroup including all possible errors.

Types
Union Types

RatingGroup

Example
RatingGroup

RatingGroupValidationFailed

Description

An error type to be thrown if rating group hierarchy validation failed.

Fields
Field Name Description
root - RatingGroup! A list of default rating groups if default rating groups were not provided.
errorCode - String!
errorMessage - String
Example
{
  "root": RatingGroup,
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

RecurringPeriod

Description

Information about the plan recurring period

Fields
Field Name Description
periodType - PeriodType! Determines a period when counter value must be reset.
numberOfPeriods - Int! The number of period types that will be used to reset or expire the plan.
recurring - Boolean! Determines if the plan is recurring or expires after the period.
Example
{"periodType": "HOUR", "numberOfPeriods": 987, "recurring": true}

RecurringPeriodInput

Description

Parameters for recurring period.

Fields
Input Field Description
periodType - PeriodType!

Determines a period when counter value must be reset.

numberOfPeriods - Int!

The number of period types that will be used to reset or expire the plan.

recurring - Boolean!

Determines if the plan is recurring or expires after the period.

Example
{"periodType": "HOUR", "numberOfPeriods": 123, "recurring": true}

RefundPolicy

Description

The possible values of prorating for the accounts on cancellation of subscriptions.

Values
Enum Value Description

NONE

No refund for for any remaining time in the cycle.

FULL_REFUND

The recurring offer charge is refunded in full.

TIME_BASED

The recurring offer charge is refunded relative to the point in the bill cycle that the offer was canceled.
Example
"NONE"

RequestType

Description

Request types appears in API usage events.

Values
Enum Value Description

Initial

Initial charging request.

Update

Update charging request.

Final

Final charging request.
Example
"Initial"

ResetUserPasswordInput

Description

Input type of CreatePlan.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

userId - ID!

A unique identifier of the user.

Example
{"providerId": 4, "userId": "4"}

ResetUserPasswordPayload

Description

Return type of ResetUserPassword Mutation

Fields
Field Name Description
providerId - ID! Service provider ID. This is retrieved from cognito group named Provider_{providerId}
userId - ID! Cognito User ID
Example
{"providerId": "4", "userId": 4}

ResetUserPasswordResult

Description

Return type of ResetUserPassword including all possible errors. UserNotFound - Given user ID does not exist in the tenant, even if user ID exists in Cognito UserIncorrectStatus - Given user is not in a state where the password can be reset

Example
ResetUserPasswordPayload

RestoreAccountsAlreadyInProgress

Description

An error type to be thrown if a request for restoring accounts comes while another accounts restore is already in progress.

Fields
Field Name Description
jobId - ID! The ID of the job that is currently in progress.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "jobId": 4,
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

RestoreAccountsResult

Description

Return type of RestoreAccounts including all possible errors. RestoreAccountsAlreadyInProgress - We are already processing a previous restore request for the same provider. InvalidProviderLifecycleStage - We can restore only ACTIVE provider. InvalidField(timestamp) - We can restore up to 35 days only.

Example
RestoreJobPayload

RestoreJob

Description

Type for restore job.

Fields
Field Name Description
id - ID! ID for the restore job.
providerId - ID! Provider ID.
jobType - RestoreJobType! Whether it's aa job to restore accounts or plans.
status - RestoreJobStatus! Status of the job.
createdAt - AWSDateTime! The creation time of the job.
createdBy - AWSEmail! The email of the person who triggered the restore job.
modifiedAt - AWSDateTime! Time of the last update of the record. Will be the same as the creation date when record is created.
timestamp - AWSDateTime! Date/time in UTC to restore the data to.
Example
{
  "id": "4",
  "providerId": "4",
  "jobType": "ACCOUNTS",
  "status": "CREATED",
  "createdAt": AWSDateTime,
  "createdBy": AWSEmail,
  "modifiedAt": AWSDateTime,
  "timestamp": AWSDateTime
}

RestoreJobInput

Description

Input type for RestoreAccounts and RestorePlans.

Fields
Input Field Description
timestamp - AWSDateTime!

Date/time in UTC to restore the data to.

Example
{"timestamp": AWSDateTime}

RestoreJobPayload

Description

Return type for RestoreAccounts and RestorePlans.

Fields
Field Name Description
job - RestoreJob! The ID for the job.
Example
{"job": RestoreJob}

RestoreJobStatus

Description

Status of a restore job.

Values
Enum Value Description

CREATED

Status when the job is first created.

IN_PROGRESS

Status to state that the job is in progress.

COMPLETE

Status after job is complete.

CANCELED

Status after job is canceled.
Example
"CREATED"

RestoreJobType

Description

Type of the restore job.

Values
Enum Value Description

ACCOUNTS

Type for restoring accounts.

PLANS

Type for restoring plans.
Example
"ACCOUNTS"

RestorePlansAlreadyInProgress

Description

An error type to be thrown if a request for restoring plans comes while another accounts restore is already in progress.

Fields
Field Name Description
jobId - ID! The ID of the job that is currently in progress.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "jobId": "4",
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

RestorePlansResult

Description

Return type of RestorePlans including all possible errors. RestorePlansAlreadyInProgress - We are already processing a previous restore request for the same provider. InvalidProviderLifecycleStage - We can delete only ACTIVE provider.

Example
RestoreJobPayload

RoleGroup

Description

Cognito role groups

Values
Enum Value Description

Account_Query

Role to allow user to query accounts/devices

Account_Admin

Role to allow user to manipulate accounts/devices

Data_Admin

Role to allow user to query/manipulate accounts/devices and query EDRs

Plan_Query

Role to allow user to query plan related data

Plan_Designer

Role to allow user to query/manipulate plan related data

Plan_Publisher

Role to allow user to query/manipulate plan related data and to publish plans

Tenant_Admin

Role to allow user to administer users of his/her own tenant

Network_Admin

Role to allow user to query/deploy field mappings and update rating groups of his/her own tenant

Network_Operator

Role to allow user to query/manipulate field mappings and SGSN table of his/her own tenant

Plan_Admin

Role to allow user to query/manipulate plan design settings of his/her own tenant

Infrastructure

Allows access to engine APIs
Example
"Account_Query"

Rule

Description

An item that has one to one relation to the plugins.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
id - ID! A unique identifier of a rule.
name - String! The name of the rule.
pluginId - String! The ID of the plugin the rule is used in.
providedFields - [ProvidedField] The fields for which it provides data.
usedFields - [UsedField] The fields it uses.
planVersion - PlanVersion A plan version which is using this field.
Example
{
  "providerId": 4,
  "id": "4",
  "name": "abc123",
  "pluginId": "xyz789",
  "providedFields": [ProvidedField],
  "usedFields": [UsedField],
  "planVersion": PlanVersion
}

RuleConnection

Description

The connection type for Rule.

Fields
Field Name Description
edges - [RuleEdge!]! List of nodes in the connection.
pageInfo - PageInfo! Information about pagination in the connection.
Example
{
  "edges": [RuleEdge],
  "pageInfo": PageInfo
}

RuleEdge

Description

An edge in a connection.

Fields
Field Name Description
node - Rule! The item at the end of the edge.
cursor - String! A cursor for use in pagination.
Example
{
  "node": Rule,
  "cursor": "xyz789"
}

RuleNotFound

Description

An error type to be thrown if a rule was not found.

Fields
Field Name Description
providerId - ID! A rule for a provided provider ID was not found.
ruleId - ID! A rule with a provided rule ID was not found.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "ruleId": 4,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

RuleSets

Description

A set of rules.

Fields
Field Name Description
charging - [Rule!] A list of rules to be used for regular charges.
crediting - [Rule!] A list of rules to be used for crediting.
recurring - [Rule!] A list of rules to be used for recurring charges.
Example
{
  "charging": [Rule],
  "crediting": [Rule],
  "recurring": [Rule]
}

RuleSetsInput

Description

Input type of RuleSets.

Fields
Input Field Description
charging - [ID!]

A list of rules to be used for regular charges.

crediting - [ID!]

A list of rules to be used for crediting.

recurring - [ID!]

A list of rules to be used for recurring charges.

Example
{
  "charging": [4],
  "crediting": ["4"],
  "recurring": [4]
}

SGSNTable

Description

Information about the SGSN table

Fields
Field Name Description
rows - [SGSNTableItem]! SGSN table rows
Example
{"rows": [SGSNTableItem]}

SGSNTableInput

Description

Information about the SGSN table

Fields
Input Field Description
rows - [SGSNTableItemInput]!

SGSN table rows

Example
{"rows": [SGSNTableItemInput]}

SGSNTableItem

Description

Information about the SGSN table row

Fields
Field Name Description
sgsnIPCIDR - String! SGSN IP range of the telco
countryCode - String! Country code of the telco in ISO3166-alpha-2 format
Example
{
  "sgsnIPCIDR": "xyz789",
  "countryCode": "abc123"
}

SGSNTableItemInput

Description

Information about the SGSN table row

Fields
Input Field Description
sgsnIPCIDR - String!

SGSN IP range of the telco

countryCode - String!

Country code of the telco in ISO3166-alpha-2 format

Example
{
  "sgsnIPCIDR": "abc123",
  "countryCode": "xyz789"
}

SGSNTableResult

Description

Return type of getSGSNTable.

Types
Union Types

SGSNTable

Example
SGSNTable

SaveUserPayload

Description

Return type of a User for mutations creating/updating

Fields
Field Name Description
providerId - ID! Service provider ID. This is retrieved from cognito group named Provider_{providerId}
userId - ID! Cognito User ID
email - AWSEmail! User email
name - String! The name of the user
roleGroupMemberships - [RoleGroup!]! The roles this user belong to
profilePicture - ProfilePhoto The user's profile picture. If profile picture exists, it will always contain a pre-signed URL to download profile picture. It will contain pre-signed URL to upload picture only for the updateUserProfile mutation
phoneNumber - AWSPhone The user's phone number
jobTitle - String The user's job title
Example
{
  "providerId": 4,
  "userId": "4",
  "email": AWSEmail,
  "name": "xyz789",
  "roleGroupMemberships": ["Account_Query"],
  "profilePicture": ProfilePhoto,
  "phoneNumber": AWSPhone,
  "jobTitle": "xyz789"
}

ServiceConstraint

Description

Possible restrictions for plan service usage.

Values
Enum Value Description

IS_FRIEND_FAMILY

A flag indicating calls to or from friends and family.

IS_ON_NET

A flag indicating on-net calls. On-net means that the A-number is in the home network and the B-number belongs to the same service provider. Only supported if the provider carrier code/homeNetworks is set.

IS_OFF_NET

A flag indicating off-net calls. If a call is not on-net it is off-net. Only supported if the provider carrier code/homeNetworks is set.
Example
"IS_FRIEND_FAMILY"

SetApiUsageNotificationWindowInput

Description

Inputs for SetApiUsageNotificationWindow mutation.

Fields
Input Field Description
windowSizeInMin - Int!

The notification sliding window size.

Example
{"windowSizeInMin": 123}

SetApiUsageNotificationWindowPayload

Description

Return type for SetApiUsageNotificationWindow mutation.

Fields
Field Name Description
windowSizeInMin - Int! The notification sliding window size.
Example
{"windowSizeInMin": 987}

SetApiUsageNotificationWindowResult

Description

Return type of SetApiUsageNotificationWindow including all possible errors. InvalidField(WindowSizeInMin) - The windowSizeInMin field should be positive.

Example
SetApiUsageNotificationWindowPayload

SetApiUsageTumblingWindowInput

Description

Input type for setApiUsageTumblingWindow.

Fields
Input Field Description
windowSizeInMin - Int!

Window size in minutes

Example
{"windowSizeInMin": 123}

SetApiUsageTumblingWindowPayload

Description

Return type of setApiUsageTumblingWindow including all possible errors.

Fields
Field Name Description
windowSizeInMin - Int!
Example
{"windowSizeInMin": 123}

SetApiUsageTumblingWindowResult

Description

Return type of setApiUsageTumblingWindow. InvalidField(WindowSizeInMin) - The windowSizeInMin field should be positive.

Example
SetApiUsageTumblingWindowPayload

Settings

Description

Settings for providers.

Fields
Field Name Description
providerId - ID! A unique identifier of a service provider.
json - AWSJSON All settings formatted in JSON.
enableDynamicQuotaTestMode - Boolean Status of the Dynamic Quota Allocation test mode. When enabled additional data is saved in EDRs for analysis of DQ feature.
Example
{
  "providerId": "4",
  "json": AWSJSON,
  "enableDynamicQuotaTestMode": false
}

SettingsResult

Description

Return type of Settings including all possible errors.

Types
Union Types

Settings

Example
Settings

StartLowLevelLoggingInput

Description

Input type of StartLowLevelLogging.

Fields
Input Field Description
level - LowLoggingLevel!

The finest logging level to output to logs.

providerId - ID!

Service provider ID.

accountId - ID

Optional account ID

deviceId - ID

Optional device ID.

systems - [LoggingSystem!]!

System(s) to enable low level logging on

apiType - ApiType

API type of an event in the API Usage Stream

requestType - RequestType

Request type of an event in the API Usage Stream

Example
{
  "level": "DEBUG",
  "providerId": 4,
  "accountId": "4",
  "deviceId": 4,
  "systems": ["DA"],
  "apiType": "DA_GY",
  "requestType": "Initial"
}

StartLowLevelLoggingPayload

Description

Return type of StartLowLevelLogging.

Fields
Field Name Description
level - LowLoggingLevel! The finest logging level to output to logs.
providerId - ID! Service provider ID.
accountId - ID Optional account ID
deviceId - ID Optional device ID.
systems - [LoggingSystem!]! System(s) to enable low level logging on
apiType - ApiType API type of an event in the API Usage Stream
requestType - RequestType Request type of an event in the API Usage Stream
Example
{
  "level": "DEBUG",
  "providerId": 4,
  "accountId": 4,
  "deviceId": 4,
  "systems": ["DA"],
  "apiType": "DA_GY",
  "requestType": "Initial"
}

StartLowLevelLoggingResult

Description

Return type of SetLoggingPolicy including all possible errors. AccountNotFound - Given account ID does not exist. DeviceNotFound - Given Device ID does not exist.

Example
StartLowLevelLoggingPayload

StopLowLevelLoggingInput

Description

Input type of StopLowLevelLogging.

Fields
Input Field Description
providerId - ID!

Service provider ID.

accountId - ID

Optional account ID

deviceId - ID

Optional device ID.

systems - [LoggingSystem!]!

System(s) to enable low level logging on

apiType - ApiType

API type of an event in the API Usage Stream

requestType - RequestType

Request type of an event in the API Usage Stream

Example
{
  "providerId": "4",
  "accountId": 4,
  "deviceId": "4",
  "systems": ["DA"],
  "apiType": "DA_GY",
  "requestType": "Initial"
}

StopLowLevelLoggingPayload

Description

Return type of StopLowLevelLogging.

Fields
Field Name Description
providerId - ID! Service provider ID.
accountId - ID Optional account ID
deviceId - ID Optional device ID.
systems - [LoggingSystem!]! System(s) to enable low level logging on
apiType - ApiType API type of an event in the API Usage Stream
requestType - RequestType Request type of an event in the API Usage Stream
Example
{
  "providerId": 4,
  "accountId": 4,
  "deviceId": 4,
  "systems": ["DA"],
  "apiType": "DA_GY",
  "requestType": "Initial"
}

StopLowLevelLoggingResult

Description

Return type of SetLoggingPolicy including all possible errors. AccountNotFound - Given account ID does not exist. DeviceNotFound - Given Device ID does not exist.

Example
StopLowLevelLoggingPayload

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

SubscribeToPlanVersionInput

Description

Input type of SubscribeToPlanVersion.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

planVersionId - ID!

A unique identifier of a plan version to assign.

from - AWSDateTime

The start time of the subscription. Set to now if not provided.

to - AWSDateTime

The end time of the subscription. Set to a far time into the future if not provided.

overrides - [KeyValueInput]

List of fields with values that override values from a plan.

Example
{
  "providerId": 4,
  "accountId": "4",
  "planVersionId": "4",
  "from": AWSDateTime,
  "to": AWSDateTime,
  "overrides": [KeyValueInput]
}

SubscribeToPlanVersionPayload

Description

Return type of SubscribeToPlanVersion.

Fields
Field Name Description
subscribedPlanVersion - SubscribedPlanVersion! The subscribed plan version in question.
account - Account! The account in question.
Example
{
  "subscribedPlanVersion": SubscribedPlanVersion,
  "account": Account
}

SubscribeToPlanVersionResult

Description

Return type of SubscribeToPlan including all possible errors. SubscribeToPlanVersionValidationFailed (SubscriptionDateCannotExceedPlanPeriod) - should be returned when the plan is non recurring and the subscription exceeds the plan period length. SubscribeToPlanVersionValidationFailed (PurchaseFeeCannotBeCharged) - There is not enough balance to charge a purchase fee, plan subscription has been expired immediately. InternalServerError (ChargeEngineNotAvailable) - The charge engine is not available at this time.

Example
SubscribeToPlanVersionPayload

SubscribeToPlanVersionValidationFailed

Description

An error type to be thrown if a plan cannot be assigned or reassigned to provided dates.

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

SubscribedPlanVersion

Description

An instance of a plan version that belongs to an account.

Fields
Field Name Description
planSubscriptionId - ID The ID of the subscription.
from - AWSDateTime The start time of the subscription.
to - AWSDateTime The end time of the subscription.
planVersion - PlanVersion! The plan version in question.
overrides - [KeyValue] List of fields with values that override values from a plan.
Example
{
  "planSubscriptionId": 4,
  "from": AWSDateTime,
  "to": AWSDateTime,
  "planVersion": PlanVersion,
  "overrides": [KeyValue]
}

SubscriptionNotFound

Description

An error type to be thrown if a subscription for provided dates cannot be found. If "to" was empty in input, it will be empty in error. If "from" was empty in input, it will be "now" in error.

Fields
Field Name Description
planSubscriptionId - ID The ID of the subscription.
planVersionId - ID! A unique identifier of a plan version of a subscription.
from - AWSDateTime The start time of the subscription. Set to now if not provided.
to - AWSDateTime The end time of the subscription. Set to a far time into the future if not provided.
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "planSubscriptionId": 4,
  "planVersionId": "4",
  "from": AWSDateTime,
  "to": AWSDateTime,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

SubscriptionPolicy

Description

The possible values of prorating for the postpaid accounts on subscription.

Values
Enum Value Description

NONE

Recurring offers (charge or allowance) are applied in full, independent of when the offer is purchased related to the bill cycle date.

TIME_BASED

Recurring offers (charge or allowance) are prorated based on when the offer is purchased relative to the bill cycle.
Example
"NONE"

TemplateInstance

Description

A union to define all possible parameters for templates.

Types
Union Types

InitialTemplateInstance

Example
InitialTemplateInstance

Termination

Fields
Field Name Description
aNumberHomeCountryExpr - String! ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)
bNumberCurrentCountryExpr - String! ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)
Example
{
  "aNumberHomeCountryExpr": "xyz789",
  "bNumberCurrentCountryExpr": "abc123"
}

TerminationInput

Description

Information about A and B parties for MT calls.

Fields
Input Field Description
aNumberHomeCountryExpr - String!

ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)

bNumberCurrentCountryExpr - String!

ISO 3166-1 alpha-2 country code. For example, US. The list can be found here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Negation can be used. For example, !US. Conjunction can be used. For example, (US,CA). Other valid examples are (US,!CA) , !(US,!CA)

Example
{
  "aNumberHomeCountryExpr": "xyz789",
  "bNumberCurrentCountryExpr": "xyz789"
}

TimePeriod

Description

Consists of times and days to make an overall period (e.g. Mon-Fri 09:00-18:00 as working hours period). It should have times specified or days specified or both.

Fields
Field Name Description
times - [String!] A list of time intervals in a format of HH:mm-HH:mm (10:32-15:43) or hh24:mm-hh24:mm (10:32am-3:43pm).
days - [WeekDay!] A list of week days.
Example
{"times": ["xyz789"], "days": ["MONDAY"]}

TimePeriodInput

Description

Input type of TimePeriod. It should have times specified or days specified or both.

Fields
Input Field Description
times - [String!]

A list of time intervals in a format of HH:mm-HH:mm (10:32-15:43) or hh24:mm-hh24:mm (10:32am-3:43pm).

days - [WeekDay!]

A list of week days.

Example
{"times": ["abc123"], "days": ["MONDAY"]}

TransitionProviderLifecycleStageInput

Description

Input type for transitioning a tenant lifecycle stage.

Fields
Input Field Description
providerId - ID!

Service provider ID.

lifecycleStage - ProviderLifecycleStage!

New tenant lifecycle stage

Example
{"providerId": 4, "lifecycleStage": "CREATING"}

TransitionProviderLifecycleStageResult

Description

Return type of TransitionProviderLifecycleStage including all possible errors.

Example
ProviderConfig

UnitAllowance

Description

All the parameters for each service in initial template.

Fields
Field Name Description
balanceName - String! Balance name that will be used for charging. Also the same name is used for setting provisioning overrides values.
periodAllowance - Float Units that will be added to a specified balance on a specified recurring period. If not specified it means that it is unlimited.
rollover - Boolean! An action to perform with balances from a previous period. Rollover if true or reset if false.
notificationAllowanceThreshold - Float Units threshold to define when to send a notification. If not specified then no notification is required.
fairUsagePolicyCounter - FairUsagePolicyCounter Specifies the fair usage policy counter to be created for unit balance. If empty then no policy is created.
Example
{
  "balanceName": "xyz789",
  "periodAllowance": 987.65,
  "rollover": false,
  "notificationAllowanceThreshold": 987.65,
  "fairUsagePolicyCounter": FairUsagePolicyCounter
}

UnitAllowanceInput

Description

Input type for unit allowance.

Fields
Input Field Description
balanceName - String

Balance name that will be used for charging. Also the same name is used for setting provisioning overrides values. If not specified it means that it will be auto generated or reused from previous version.

periodAllowance - Float

Units that will be added to this service on a specified recurring period. If not specified or zero it means that it is unlimited.

rollover - Boolean

An action to perform with balances from a previous period. Rollover if true or reset if false. False by default.

notificationAllowanceThreshold - Float

Units threshold to define when to send a notification. If not specified then no notification is required.

fairUsagePolicyCounter - FairUsagePolicyCounterInput

Specifies the fair usage policy counter to be created for unit balance. If empty then no policy is created.

Example
{
  "balanceName": "xyz789",
  "periodAllowance": 123.45,
  "rollover": false,
  "notificationAllowanceThreshold": 123.45,
  "fairUsagePolicyCounter": FairUsagePolicyCounterInput
}

UnitType

Description

Possible types of units that will be granted.

Values
Enum Value Description

TIME

Time type of units. Seconds for example.

VOLUME

Volume type of units. Bytes for example.

SERVICE_SPECIFIC_UNITS

Any service specific types of units. SMS for example.
Example
"TIME"

UpdateAccountInput

Description

Input type of UpdateAccount.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

customData - AWSJSON

Any custom data required by the account.

friendsAndFamily - [String]

List of friends and family.

creditLimit - Float

The limit an account can be credited to. It is zero for prepaid accounts, and a positive integer for postpaid ones.

postpaid - UpdateAccountPostpaidPropertiesInput

If account is a postpaid account, i.e. creditLimit is greater than zero, this holds the postpaid properties

Example
{
  "providerId": 4,
  "accountId": 4,
  "customData": AWSJSON,
  "friendsAndFamily": ["abc123"],
  "creditLimit": 987.65,
  "postpaid": UpdateAccountPostpaidPropertiesInput
}

UpdateAccountPayload

Description

Return type of UpdateAccount.

Fields
Field Name Description
account - Account! The updated account.
Example
{"account": Account}

UpdateAccountPostpaidPropertiesInput

Description

An input type to hold the postpaid properties of accounts

Fields
Input Field Description
timezone - String

The timezone of the user in format (+/-hh:mm). This is a property for postpaid accounts only

billingDayOfMonth - Int

The day of month for resetting balance and units for account. Value is between 1 and 31 inclusive. This is a property for postpaid accounts only

longFirstBillingCycle - Boolean

Whether the new billing cycle is a long one, e.g. if current date is the 1st and the account was updated to use the 16th. If this value is true, it means that the next bill will be for 45 days, while if false, bill will be for 15 days only. If not provided then used already existing value for this account.

Example
{
  "timezone": "abc123",
  "billingDayOfMonth": 123,
  "longFirstBillingCycle": true
}

UpdateAccountResult

Description

Return type of UpdateAccount including all possible errors. InvalidField (InvalidFriendsAndFamilyList) - Friends and family list can consist of 20 numbers maximum. InvalidField (InvalidFriendsAndFamilyNumber) - Friends and family list consists of invalid number. The only allowed format is E.164. InvalidField (InvalidJsonCreditLimit) - Cannot set credit limit from json.creditLimit. Must use creditLimit directly. InvalidField (InvalidTimezone) - Timezone format is wrong. It should be between -12:00 and +14:00. InvalidField (InvalidDayOfMonth) - Billing day of month should be between 1 and 31 inclusive.

Example
UpdateAccountPayload

UpdateArchivingPolicyFailed

Description

An error type to be thrown if updating archive policy fails.

Fields
Field Name Description
providerId - ID! Service provider ID.
archiveThreshold - Int The current value for archiving threshold if it exists.
errorCode - String!
errorMessage - String
Example
{
  "providerId": 4,
  "archiveThreshold": 987,
  "errorCode": "xyz789",
  "errorMessage": "abc123"
}

UpdateArchivingPolicyInput

Description

Input type of UpdateArchivingPolicy.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

archiveThreshold - Int!

The number of days after which objects should be moved to Glacier storage.

Example
{"providerId": "4", "archiveThreshold": 987}

UpdateArchivingPolicyPayload

Description

Return type of UpdateArchivingPolicy.

Fields
Field Name Description
providerId - ID! Service provider ID.
oldArchiveThreshold - Int Old value for archiving threshold if it exists.
newArchiveThreshold - Int! New value of archiving threshold, which should be equal to that of one defined in input.
Example
{"providerId": 4, "oldArchiveThreshold": 123, "newArchiveThreshold": 123}

UpdateArchivingPolicyResult

Description

Return type of updateArchivingPolicy and all possible errors. UpdateArchivingPolicyFailed (ErrorSavingArchivingPolicy) - The propagated error message coming from S3. UpdateArchivingPolicyFailed (InvalidArchivingThreshold) - The provided archiveThreshold is invalid. Value should be greater than 0.

Example
UpdateArchivingPolicyPayload

UpdateDeviceInput

Description

Input type of UpdateDevice.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

deviceId - ID!

A unique identifier of a device.

customData - AWSJSON

Any custom data required by the device.

Example
{
  "providerId": 4,
  "accountId": "4",
  "deviceId": "4",
  "customData": AWSJSON
}

UpdateDevicePayload

Description

Return type of UpdateDevice.

Fields
Field Name Description
device - Device! The updated device.
Example
{"device": Device}

UpdateDeviceResult

Description

Return type of UpdateDevice including all possible errors.

Example
UpdateDevicePayload

UpdateFieldMappingInput

Description

Input type of UpdateFieldMapping.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

path - String!

The path to the field you want to manipulate. For example, "transformedRequest.sMSChargingInformation.numberofMessagesSent". It should be an existing path.

expr - String!

SpEL expression to generate the value(s). It must return one value, but also it can use the same expressions as "path" with []. For example, "originalRequest.multipleUnitUsage[].usedUnitContainer[].serviceSpecificUnits * 10". It is also possible to use "originalField" as a reference to original value if field exists. For example, "originalField + 10".

Example
{
  "providerId": 4,
  "path": "abc123",
  "expr": "abc123"
}

UpdateFieldMappingPayload

Description

Return type of UpdateFieldMapping.

Fields
Field Name Description
fieldMapping - FieldMapping! Updated field mapping.
Example
{"fieldMapping": FieldMapping}

UpdateFieldMappingResult

Description

Return type of UpdateFieldMapping including all possible errors. InvalidField (InvalidFieldMappingExpression) - The provided field mapping SpEL expression cannot be compiled.

Example
UpdateFieldMappingPayload

UpdateMyProviderConfigInput

Fields
Input Field Description
name - String

The name of the tenant. Stays the same if not provided.

commonName - String

The common name that will be used in the SSL certificates of the tenant. Stays the same if not provided.

homeNetworks - String

The home networks for the tenant. Required if onNet calls should be supported. Stays the same if not provided.

emergencyNumbers - [String]

List of emergency numbers. Stays the same if not provided.

carrierCode - String

The carrier code. Stays the same if not provided.

eventBusArn - String

The ARN of the event bus that we should be sending events to.

Example
{
  "name": "xyz789",
  "commonName": "xyz789",
  "homeNetworks": "xyz789",
  "emergencyNumbers": ["xyz789"],
  "carrierCode": "abc123",
  "eventBusArn": "xyz789"
}

UpdateMyProviderConfigResult

Description

Return type of UpdateMyProviderConfig including all possible errors. InvalidField (WrongNameLength) - name length must be between 2 and 50 characters. InvalidProviderLifecycleStage - Provider user can't call API when provider lifecycle stage is CREATING, SUSPENDED, TERMINATED or DELETED. InvalidField (CommonNameExists) - The common name exists for a non-deleted provider.

Example
ProviderConfig

UpdatePlanInput

Description

Input type of UpdatePlan.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planId - ID!

A unique identifier of a plan to update.

name - String

A human readable name. Not unique.

Example
{
  "providerId": "4",
  "planId": "4",
  "name": "abc123"
}

UpdatePlanPayload

Description

Return type of UpdatePlan.

Fields
Field Name Description
plan - Plan! Updated plan.
Example
{"plan": Plan}

UpdatePlanResult

Description

Return type of UpdatePlan including all possible errors.

Example
UpdatePlanPayload

UpdatePlanServiceInput

Description

Input type of UpdatePlanService.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planServiceId - ID!

A unique identifier of a plan service.

name - String

The name of the plan service.

ruleSets - RuleSetsInput

The set of rules that the service has available.

providedFields - [ProvidedFieldInput]

The provided fields which override values for the plan service.

balanceName - String

Balance name that will be used for charging. Also the same name is used for setting provisioning overrides values.

priority - Float

Plan service priority that determines the execution order for charging and rating.

Example
{
  "providerId": 4,
  "planServiceId": 4,
  "name": "abc123",
  "ruleSets": RuleSetsInput,
  "providedFields": [ProvidedFieldInput],
  "balanceName": "xyz789",
  "priority": 987.65
}

UpdatePlanServicePayload

Description

Return type of UpdatePlanService.

Fields
Field Name Description
planService - PlanService! The updated plan service.
Example
{"planService": PlanService}

UpdatePlanServiceResult

Description

Return type of UpdatePlanService including all possible errors.

Example
UpdatePlanServicePayload

UpdatePlanSubscriptionInput

Description

Input type of UpdatePlanSubscription.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

accountId - ID!

A unique identifier of an account.

existing - UpdatePlanVersionSubscriptionParametersInput!

Existing parameters of the subscription.

new - UpdatePlanVersionSubscriptionParametersInput

New parameters for the subscription.

overrides - [KeyValueInput]

List of fields with values that override values from a plan.

Example
{
  "providerId": "4",
  "accountId": 4,
  "existing": UpdatePlanVersionSubscriptionParametersInput,
  "new": UpdatePlanVersionSubscriptionParametersInput,
  "overrides": [KeyValueInput]
}

UpdatePlanVersionFromInitialTemplateInput

Description

Input type of UpdatePlanFromInitialTemplate.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

planVersionId - ID!

An existing plan version ID to be updated.

version - String

The name of the version to be updated. Remains not changed if not provided.

fee - Float

A fee that will be charged per specified recurring period. Remains not changed if not provided.

firstUsageFee - Float

A fee that will be charged just once on first usage of the plan. Remains not changed if not provided.

purchaseFee - Float

A fee that will be charged just once right after the subscription. Remains not changed if not provided.

period - RecurringPeriodInput

A period when specified fee will be charged. Remains not changed if not provided.

services - [InitialTemplateServiceInput!]

List of plan services. Remains not changed if not provided.

notificationPeriodBeforeExpiration - Int

Period in seconds when to send a notification before the plan expires. Remains not changed if not provided.

notificationCreditLimitThreshold - Float

Threshold of the credit limit on the account, when the account goes lower than this value then notification is sent. Remains not changed if not provided.

json - AWSJSON

Custom data in JSON format to be able to save and retrieve some configurations. Remains not changed if not provided.

priority - Float

Plan priority that determines the execution order for charging and rating. Remains not changed if not provided.

renewalGracePeriod - [DurationInput]

Put a plan on hold for a limited grace period while waiting for a successful renewal. It is a sum of provided duration inputs.

proratingOptions - ProratingOptionsInput

The prorating options for the plan

Example
{
  "providerId": 4,
  "planVersionId": 4,
  "version": "abc123",
  "fee": 987.65,
  "firstUsageFee": 987.65,
  "purchaseFee": 987.65,
  "period": RecurringPeriodInput,
  "services": [InitialTemplateServiceInput],
  "notificationPeriodBeforeExpiration": 987,
  "notificationCreditLimitThreshold": 123.45,
  "json": AWSJSON,
  "priority": 123.45,
  "renewalGracePeriod": [DurationInput],
  "proratingOptions": ProratingOptionsInput
}

UpdatePlanVersionFromInitialTemplateResult

Description

Return type of UpdatePlanVersionFromInitialTemplate including all possible errors. InvalidField (InvalidExtendedRate) - In the roaming or long distance one of the inputs (origination or termination) must be provided. InvalidField (InvalidRatingGroup) - There is no provided rating group ID in the hierarchy or provided rating group ID is the Root. InvalidField (SubscriptionPolicy) - If "alignBillingToDoM" is set to false and "subscriptionPolicy" was anything other than NONE or empty InvalidField (RefundPolicy) - If "alignBillingToDoM" is set to false and "refundPolicy" was anything other than NONE or empty InvalidField (ProratingOptionsSetForNonMonthlyPlan) - If "alignBillingToDoM" is set to true for a non monthly plan

Example
PlanVersionPayload

UpdatePlanVersionSubscriptionParametersInput

Description

Input type of UpdatePlanSubscription.

Fields
Input Field Description
planVersionId - ID!

A unique identifier of a plan version to assign.

planSubscriptionId - ID

A unique identifier of a plan subscription to assign.

from - AWSDateTime

The start time of the subscription. Set to now if not provided.

to - AWSDateTime

The end time of the subscription. Set to a far time into the future if not provided.

Example
{
  "planVersionId": 4,
  "planSubscriptionId": "4",
  "from": AWSDateTime,
  "to": AWSDateTime
}

UpdatePlanVersionSubscriptionResult

Description

Return type of UpdatePlanSubscription including all possible errors.

Example
SubscribeToPlanVersionPayload

UpdateProviderConfigInput

Description

Input type for updating a tenant config.

Fields
Input Field Description
providerId - ID!

Service provider ID. This is used to get the record to update.

name - String

The name of the tenant. Stays the same if not provided.

commonName - String

The common name that will be used in the SSL certificates of the tenant. Stays the same if not provided.

homeNetworks - String

The home networks for the tenant. Required if onNet calls should be supported. Stays the same if not provided.

emergencyNumbers - [String]

List of emergency numbers. Stays the same if not provided.

eventBusArn - String

The ARN of the event bus that we should be sending events to.

carrierCode - String

The carrier code. Stays the same if not provided.

limits - [ApiLimitsConfigInput]

API limit configurations for 4G, 5G and GraphQL calls. Each api type must be provided at most once. Stays the same if not provided.

Example
{
  "providerId": 4,
  "name": "abc123",
  "commonName": "xyz789",
  "homeNetworks": "xyz789",
  "emergencyNumbers": ["abc123"],
  "eventBusArn": "abc123",
  "carrierCode": "abc123",
  "limits": [ApiLimitsConfigInput]
}

UpdateProviderConfigResult

Description

Return type of UpdateProviderConfig including all possible errors. InvalidField (WrongNameLength) - name length must be between 2 and 50 characters. InvalidProviderLifecycleStage - We cannot update SUSPENDED, TERMINATED or DELETED tenants. InvalidField (InvalidPositiveNumber) - The provided number can be only a positive number. InvalidApiLimitDuplicated - Request contains duplicated entries in limit for the same API Type. InvalidField (CommonNameExists) - The common name exists for a non-deleted provider.

Example
ProviderConfig

UpdateRatingGroupHierarchyInput

Description

Input type of UpdateRatingGroupHierarchy.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

root - RatingGroupInput!

Root rating group where the whole hierarchy starts.

Example
{
  "providerId": "4",
  "root": RatingGroupInput
}

UpdateRatingGroupHierarchyPayload

Description

Return type of UpdateRatingGroupHierarchy.

Fields
Field Name Description
root - RatingGroup! Root rating group where the whole hierarchy starts.
Example
{"root": RatingGroup}

UpdateRatingGroupHierarchyResult

Description

Return type of UpdateRatingGroupHierarchy including all possible errors. RatingGroupValidationFailed (DefaultRatingGroupIsNotProvided) - Mandatory default rating group(s) were not provided with a new hierarchy. RatingGroupValidationFailed (RatingGroupIsDuplicated) - Each rating group ID must be unique. RatingGroupValidationFailed (UnitRoundingInvalidLevel) - Unit rounding can be set only on the second level of hierarchy (the next after Root). RatingGroupValidationFailed (MissingMinReservationForDynamicQuota) - The minReservations should be defined on the same or upper level of the rating group hierarchy when Dynamic Quota Allocation is enabled. RatingGroupValidationFailed (MissingQuotaValidityTimeForDynamicQuota) - The quotaValidityTime should be defined on the same or upper level of the rating group hierarchy when Dynamic Quota Allocation is enabled. RatingGroupHierarchyHasReferences (RatingGroupHierarchyHasReferences) - A node in the hierarchy can not be removed or changed if there are any active Plans referring to it. InvalidField (InvalidReservations) - The max reservation must be greater than the min reservation. InvalidField (InvalidPositiveNumber) - The provided number can be only a positive number.

Example
UpdateRatingGroupHierarchyPayload

UpdateSGSNTableInput

Description

Input type of UpdateSGSNTable.

Fields
Input Field Description
providerId - ID!

Service provider ID.

sgsnTable - SGSNTableInput!

A unique identifier of a service provider.

Example
{"providerId": 4, "sgsnTable": SGSNTableInput}

UpdateSGSNTablePayload

Description

Return type of UpdateSGSNTable.

Fields
Field Name Description
sgsnTable - SGSNTable!     Updated table.    
Example
{"sgsnTable": SGSNTable}

UpdateSGSNTableResult

Description

Return type of UpdateSGSNTableResult including all possible errors. InvalidField (InvalidISO3166CountryCode) - The provided string must be a country code and must be in ISO 3166-1 alpha-2 format. InvalidField (InvalidIPCIDR) - The IP CIDR provided is not valid.

Example
UpdateSGSNTablePayload

UpdateSettingsInput

Description

Input type of UpdateSettings.

Fields
Input Field Description
providerId - ID!

A unique identifier of a service provider.

json - AWSJSON

All settings formatted in JSON.

enableDynamicQuotaTestMode - Boolean

Status of the Dynamic Quota Allocation test mode. When enabled additional data is saved in EDRs for analysis of DQ feature.

Example
{
  "providerId": "4",
  "json": AWSJSON,
  "enableDynamicQuotaTestMode": true
}

UpdateSettingsPayload

Description

Return type of UpdateSettings.

Fields
Field Name Description
settings - Settings! The updated settings.
Example
{"settings": Settings}

UpdateSettingsResult

Description

Return type of UpdateSettings including all possible errors.

Types
Union Types

UpdateSettingsPayload

Example
UpdateSettingsPayload

UpdateUserInput

Description

Input type of UpdateUser

Fields
Input Field Description
providerId - ID!

Service provider ID

userId - ID!

Cognito User ID

email - AWSEmail!

Email

name - String!

The name of the user. Should be between 2 and 75 characters

roleGroupMemberships - [RoleGroup!]!

The roles this user belong to

phoneNumber - AWSPhone

The user's phone number

jobTitle - String

The user's job title. If present, it should be between 2 and 50 characters

Example
{
  "providerId": 4,
  "userId": 4,
  "email": AWSEmail,
  "name": "abc123",
  "roleGroupMemberships": ["Account_Query"],
  "phoneNumber": AWSPhone,
  "jobTitle": "abc123"
}

UpdateUserProfileInput

Description

Input type of UpdateUserProfile

Fields
Input Field Description
name - String!

The name of the user. Should be between 2 and 75 characters

phoneNumber - AWSPhone

The user's phone number

jobTitle - String

The user's job title. If present, it should be between 2 and 50 characters

Example
{
  "name": "abc123",
  "phoneNumber": AWSPhone,
  "jobTitle": "abc123"
}

UpdateUserProfileResult

Description

Return type of UpdateUser including all possible errors InvalidField (name) - Name should be at least two characters long and a maximum of seventy five InvalidField (jobTitle) - Job title should be at least two characters long and a maximum of fifty

Types
Union Types

SaveUserPayload

InvalidField

Example
SaveUserPayload

UpdateUserResult

Description

Return type of UpdateUser including all possible errors. UserNotFound - Given user ID does not exist in the tenant, even if user ID exists in Cognito InvalidField (name) - Name should be at least two characters long and a maximum of seventy five InvalidField (jobTitle) - Job title should be at least two characters long and a maximum of fifty UserIsReadOnly(UsersCanNotUpdateThemselves) - Updating own record should be done via update profile

Example
SaveUserPayload

UsedField

Description

A field that is provided by some entity and already in use.

Fields
Field Name Description
name - String! The name of the field
dataType - FieldDataType! The type of the field.
providedBy - FieldProvider The entity which provides it.
Example
{
  "name": "abc123",
  "dataType": "STRING",
  "providedBy": Rule
}

UserAlreadyExists

Description

An error type to be thrown if a user with the same email exists in the user pool. Provider ID and user ID are not returned to not expose them in case user exists for a different provider

Fields
Field Name Description
email - AWSEmail! The email of the user that already exists
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "email": AWSEmail,
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

UserIncorrectStatus

Description

An error type to be thrown if user was not verified yet. This is returned whether the user does not exist, or if the provider does not exist.

Fields
Field Name Description
providerId - ID! Service provider ID with problem.
userId - ID! User ID
state - String! State of the user
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": 4,
  "userId": "4",
  "state": "abc123",
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

UserIsReadOnly

Description

An error type to be thrown if a user tries to update his/her own user record using the admin API instead of the update user profile API, or if they try to delete their own user record

Fields
Field Name Description
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "errorCode": "xyz789",
  "errorMessage": "xyz789"
}

UserNotFound

Description

An error type to be thrown if user was not found for given provider. This is returned whether the user does not exist, or if the provider does not exist.

Fields
Field Name Description
providerId - ID! Service provider ID with problem.
userId - ID! User ID
errorCode - String! The error code in question.
errorMessage - String The error message in question.
Example
{
  "providerId": "4",
  "userId": 4,
  "errorCode": "abc123",
  "errorMessage": "xyz789"
}

WeekDay

Description

The possible values for week days.

Values
Enum Value Description

MONDAY

Monday.

TUESDAY

Tuesday.

WEDNESDAY

Wednesday.

THURSDAY

Thursday.

FRIDAY

Friday.

SATURDAY

Saturday.

SUNDAY

Sunday.
Example
"MONDAY"