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.
API Endpoints
https://gql.produseast1.api.totogi.com/graphql
Version
generated at 2024-10-02T11:12:33Z
Queries
getAccount
Description
Returns an account for a provider by an account ID.
Response
Returns an AccountResult
Example
Query
query getAccount(
$providerId: ID!,
$accountId: ID!,
$balanceTypeIds: [ID!]
) {
getAccount(
providerId: $providerId,
accountId: $accountId,
balanceTypeIds: $balanceTypeIds
) {
... on Account {
...AccountFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"providerId": "4",
"accountId": 4,
"balanceTypeIds": [4]
}
Response
{"data": {"getAccount": Account}}
getAccountBalanceTypeCounters
Description
Retrieve Balance Type Counters configured for an account.
Response
Returns an AccountBalanceTypeCountersResult
Arguments
Name | Description |
---|---|
input - GetAccountBalanceTypeCountersInput!
|
Example
Query
query getAccountBalanceTypeCounters($input: GetAccountBalanceTypeCountersInput!) {
getAccountBalanceTypeCounters(input: $input) {
... on AccountNotFound {
...AccountNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on AccountBalanceTypeCountersPayload {
...AccountBalanceTypeCountersPayloadFragment
}
... on AccountBalanceTypeCounterNotFound {
...AccountBalanceTypeCounterNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetAccountBalanceTypeCountersInput}
Response
{
"data": {
"getAccountBalanceTypeCounters": AccountNotFound
}
}
getAccountCohort
Description
Fetch an Account Cohort by ID and provider ID.
Response
Returns a GetAccountCohortResult
Arguments
Name | Description |
---|---|
input - GetAccountCohortInput!
|
Example
Query
query getAccountCohort($input: GetAccountCohortInput!) {
getAccountCohort(input: $input) {
... on AccountCohort {
...AccountCohortFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on AccountCohortNotFound {
...AccountCohortNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetAccountCohortInput}
Response
{"data": {"getAccountCohort": AccountCohort}}
getAccountCohorts
Description
Fetch a list of Account Cohorts by provider ID with pagination.
Response
Returns a GetAccountCohortsResult
Arguments
Name | Description |
---|---|
input - GetAccountCohortsInput!
|
Example
Query
query getAccountCohorts($input: GetAccountCohortsInput!) {
getAccountCohorts(input: $input) {
... on AccountCohortConnection {
...AccountCohortConnectionFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetAccountCohortsInput}
Response
{"data": {"getAccountCohorts": AccountCohortConnection}}
getBalanceType
Description
Gets the balance type information of a specific balance type ID.
Response
Returns a GetBalanceTypeResult
Arguments
Name | Description |
---|---|
getBalanceTypeInput - GetBalanceTypeInput!
|
Includes the provider ID and balance type ID. |
Example
Query
query getBalanceType($getBalanceTypeInput: GetBalanceTypeInput!) {
getBalanceType(getBalanceTypeInput: $getBalanceTypeInput) {
... on BalanceTypePayload {
...BalanceTypePayloadFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"getBalanceTypeInput": GetBalanceTypeInput}
Response
{"data": {"getBalanceType": BalanceTypePayload}}
getBalanceTypeCounters
Description
Retrieve Balance Type Counter notifications based on the provided input parameters. At least one value must be supplied.
Response
Returns a GetBalanceTypeCountersResult
Arguments
Name | Description |
---|---|
input - GetBalanceTypeCountersInput!
|
Example
Query
query getBalanceTypeCounters($input: GetBalanceTypeCountersInput!) {
getBalanceTypeCounters(input: $input) {
... on BalanceTypeCountersPayload {
...BalanceTypeCountersPayloadFragment
}
... on BalanceTypeCounterNotFound {
...BalanceTypeCounterNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetBalanceTypeCountersInput}
Response
{
"data": {
"getBalanceTypeCounters": BalanceTypeCountersPayload
}
}
getBalanceTypes
Description
Gets the balance type information of a list or all balance type IDs. If none is provided, all are returned. If some are provided, the ones that are found are returned.
Response
Returns a GetBalanceTypesResult
Arguments
Name | Description |
---|---|
getBalanceTypesInput - GetBalanceTypesInput!
|
Includes the provider ID and an optional list of balance type IDs. |
Example
Query
query getBalanceTypes($getBalanceTypesInput: GetBalanceTypesInput!) {
getBalanceTypes(getBalanceTypesInput: $getBalanceTypesInput) {
... on GetBalanceTypesPayload {
...GetBalanceTypesPayloadFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"getBalanceTypesInput": GetBalanceTypesInput}
Response
{"data": {"getBalanceTypes": GetBalanceTypesPayload}}
getBulkMetadataJobStatus
Description
Get the status of a bulk metadata job.
Response
Returns a GetBulkUploadMetadataResult!
Arguments
Name | Description |
---|---|
input - GetBulkUploadMetadataInput!
|
Example
Query
query getBulkMetadataJobStatus($input: GetBulkUploadMetadataInput!) {
getBulkMetadataJobStatus(input: $input) {
... on GetBulkUploadMetadataPayload {
...GetBulkUploadMetadataPayloadFragment
}
... on BulkUploadMetadataJobNotFound {
...BulkUploadMetadataJobNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetBulkUploadMetadataInput}
Response
{
"data": {
"getBulkMetadataJobStatus": GetBulkUploadMetadataPayload
}
}
getCampaign
Description
Get details of a specific campaign.
Response
Returns a GetCampaignResult!
Arguments
Name | Description |
---|---|
input - GetCampaignInput!
|
Example
Query
query getCampaign($input: GetCampaignInput!) {
getCampaign(input: $input) {
... on Campaign {
...CampaignFragment
}
... on CampaignNotFound {
...CampaignNotFoundFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetCampaignInput}
Response
{"data": {"getCampaign": Campaign}}
getCampaignStatistics
Description
Retrieve Campaign Statistics.
Response
Returns a CampaignStatisticsResult
Arguments
Name | Description |
---|---|
input - GetCampaignStatisticsInput!
|
Example
Query
query getCampaignStatistics($input: GetCampaignStatisticsInput!) {
getCampaignStatistics(input: $input) {
... on CampaignStatisticsPayload {
...CampaignStatisticsPayloadFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on CampaignNotFound {
...CampaignNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetCampaignStatisticsInput}
Response
{
"data": {
"getCampaignStatistics": CampaignStatisticsPayload
}
}
getCampaigns
Description
Get a list of campaigns with pagination.
Response
Returns a GetCampaignsResult!
Arguments
Name | Description |
---|---|
input - GetCampaignsInput!
|
Example
Query
query getCampaigns($input: GetCampaignsInput!) {
getCampaigns(input: $input) {
... on CampaignConnection {
...CampaignConnectionFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": GetCampaignsInput}
Response
{"data": {"getCampaigns": CampaignConnection}}
getCurrentUser
Description
Gets info for the currently logged in User. When used in an API context, this will return the API user.
Authorized Roles: All
Response
Returns a GetUserPayload
Example
Query
query getCurrentUser {
getCurrentUser {
providerId
userId
email
name
roleGroupMemberships
profilePicture {
...ProfilePhotoFragment
}
phoneNumber
jobTitle
softwareMfaEnabled
expiry
alertInterval
}
}
Response
{
"data": {
"getCurrentUser": {
"providerId": "4",
"userId": "4",
"email": AWSEmail,
"name": "abc123",
"roleGroupMemberships": ["Account_Query"],
"profilePicture": ProfilePhoto,
"phoneNumber": AWSPhone,
"jobTitle": "xyz789",
"softwareMfaEnabled": false,
"expiry": AWSDateTime,
"alertInterval": 987
}
}
}
getDeployedFieldMappings
Description
Gets deployed field mappings for a provider sorted by when they will be applied.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
, Network_Operator
, Network_Admin
Response
Returns a DeployedFieldMappingConnection
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": 123,
"after": "abc123"
}
Response
{
"data": {
"getDeployedFieldMappings": {
"edges": [DeployedFieldMappingEdge],
"pageInfo": PageInfo
}
}
}
getDevice
Description
Returns a Device for a provider by a device ID.
Authorized Roles: Account_Query
, Account_Admin
, Data_Admin
Response
Returns a DeviceResult
Example
Query
query getDevice(
$providerId: ID!,
$deviceId: ID!
) {
getDevice(
providerId: $providerId,
deviceId: $deviceId
) {
... on Device {
...DeviceFragment
}
... on DeviceNotFound {
...DeviceNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"providerId": 4, "deviceId": "4"}
Response
{"data": {"getDevice": Device}}
getEventDataRecordsByAccount
Description
Gets a list of event data records for an Account with pagination.
Authorized Roles: Data_Admin
Response
Returns an EventDataRecordAccountConnectionResult
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 25. |
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
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.
Authorized Roles: Data_Admin
Response
Returns an EventDataRecordDeviceConnectionResult
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 25. |
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
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.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
, Network_Operator
Response
Returns a FieldMappingConnection
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": 987,
"after": "xyz789"
}
Response
{
"data": {
"getFieldMappings": {
"edges": [FieldMappingEdge],
"pageInfo": PageInfo
}
}
}
getMyExportJobs
Description
Gets export jobs of the current tenant.
Authorized Roles: Tenant_Admin
Response
Returns a GetMyExportJobsResult
Arguments
Name | Description |
---|---|
getMyExportJobsInput - GetMyExportJobsInput!
|
Example
Query
query getMyExportJobs($getMyExportJobsInput: GetMyExportJobsInput!) {
getMyExportJobs(getMyExportJobsInput: $getMyExportJobsInput) {
... on GetMyExportJobsPayload {
...GetMyExportJobsPayloadFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"getMyExportJobsInput": GetMyExportJobsInput}
Response
{"data": {"getMyExportJobs": GetMyExportJobsPayload}}
getMyProviderConfig
Description
Gets tenant configuration of the logged in User.
Authorized Roles: All
Response
Returns a GetMyProviderConfigResult
Example
Query
query getMyProviderConfig {
getMyProviderConfig {
... on ProviderConfig {
...ProviderConfigFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Response
{"data": {"getMyProviderConfig": ProviderConfig}}
getMyRestoreJobs
Description
Gets restore jobs of the current tenant.
Authorized Roles: Tenant_Admin
Response
Returns a GetMyRestoreJobsResult
Arguments
Name | Description |
---|---|
getMyRestoreJobsInput - GetMyRestoreJobsInput!
|
Example
Query
query getMyRestoreJobs($getMyRestoreJobsInput: GetMyRestoreJobsInput!) {
getMyRestoreJobs(getMyRestoreJobsInput: $getMyRestoreJobsInput) {
... on GetMyRestoreJobsPayload {
...GetMyRestoreJobsPayloadFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"getMyRestoreJobsInput": GetMyRestoreJobsInput}
Response
{"data": {"getMyRestoreJobs": GetMyRestoreJobsPayload}}
getOffers
Description
Returns the list of Offers for a provider.
Authorized Roles: Account_Admin
Response
Returns a GetOffersResult
Example
Query
query getOffers(
$providerId: ID!,
$first: Int!,
$after: String
) {
getOffers(
providerId: $providerId,
first: $first,
after: $after
) {
... on OfferConnection {
...OfferConnectionFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"providerId": 4,
"first": 123,
"after": "abc123"
}
Response
{"data": {"getOffers": OfferConnection}}
getPlan
Description
Gets a Plan for a provider by a plan ID.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
Response
Returns a PlanResult
Example
Query
query getPlan(
$providerId: ID!,
$planId: ID!
) {
getPlan(
providerId: $providerId,
planId: $planId
) {
... on Plan {
...PlanFragment
}
... on PlanNotFound {
...PlanNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"providerId": "4", "planId": 4}
Response
{"data": {"getPlan": Plan}}
getPlanServices
Description
Gets a list of plan services for a provider with pagination.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
Response
Returns a PlanServiceConnection
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 by a plan version ID.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
Response
Returns a PlanVersionResult
Example
Query
query getPlanVersion(
$providerId: ID!,
$planVersionId: ID!
) {
getPlanVersion(
providerId: $providerId,
planVersionId: $planVersionId
) {
... on PlanVersion {
...PlanVersionFragment
}
... on PlanVersionNotFound {
...PlanVersionNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"providerId": "4",
"planVersionId": "4"
}
Response
{"data": {"getPlanVersion": PlanVersion}}
getPlans
Description
Gets a list of plans for a provider with pagination.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
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 25. |
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
}
}
}
getRatingGroupHierarchy
Description
Gets Rating Group hierarchy for a provider.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
, Network_Admin
Response
Returns a RatingGroupResult
Arguments
Name | Description |
---|---|
providerId - ID!
|
Service provider ID. |
Example
Query
query getRatingGroupHierarchy($providerId: ID!) {
getRatingGroupHierarchy(providerId: $providerId) {
... on RatingGroup {
...RatingGroupFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"providerId": 4}
Response
{"data": {"getRatingGroupHierarchy": RatingGroup}}
getRelatedAccountsByDevice
Description
Gets a list of all parent accounts for a provided device ID.
Authorized Roles:Account_Query
, Account_Admin
,Data_Admin
Response
Returns a GetRelatedAccountsByDeviceResult
Example
Query
query getRelatedAccountsByDevice(
$providerId: ID!,
$deviceId: ID!
) {
getRelatedAccountsByDevice(
providerId: $providerId,
deviceId: $deviceId
) {
... on GetRelatedAccountsByDevicePayload {
...GetRelatedAccountsByDevicePayloadFragment
}
... on DeviceNotFound {
...DeviceNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"providerId": "4",
"deviceId": "4"
}
Response
{
"data": {
"getRelatedAccountsByDevice": GetRelatedAccountsByDevicePayload
}
}
getRules
Description
Gets a list of rules for a provider with pagination.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
Response
Returns a RuleConnection
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": 123,
"after": "abc123"
}
Response
{
"data": {
"getRules": {
"edges": [RuleEdge],
"pageInfo": PageInfo
}
}
}
getSGSNTable
Description
Gets the SGSN table for a provider.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
, Network_Operator
Response
Returns an SGSNTableResult
Arguments
Name | Description |
---|---|
providerId - ID!
|
Service provider ID. |
Example
Query
query getSGSNTable($providerId: ID!) {
getSGSNTable(providerId: $providerId) {
... on SGSNTable {
...SGSNTableFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"providerId": "4"}
Response
{"data": {"getSGSNTable": SGSNTable}}
getSettings
Description
Gets settings for a provider.
Authorized Roles: Plan_Query
, Plan_Designer
, Plan_Publisher
, Plan_Admin
Response
Returns a SettingsResult
Arguments
Name | Description |
---|---|
providerId - ID!
|
Service provider ID. |
Example
Query
query getSettings($providerId: ID!) {
getSettings(providerId: $providerId) {
... on Settings {
...SettingsFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"providerId": 4}
Response
{"data": {"getSettings": Settings}}
getUser
Description
Gets a User for a given provider ID and user ID, or returns a UserNotFound
error.
Authorized Roles: Tenant_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"getUserInput": GetUserInput}
Response
{"data": {"getUser": GetUserPayload}}
listUsers
Description
Lists the users for the given provider ID.
Authorized Roles: Tenant_Admin
Response
Returns a ListUsersResult
Example
Query
query listUsers(
$providerId: ID!,
$first: Int!,
$after: String
) {
listUsers(
providerId: $providerId,
first: $first,
after: $after
) {
... on ListUsersConnection {
...ListUsersConnectionFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"providerId": 4,
"first": 987,
"after": "abc123"
}
Response
{"data": {"listUsers": ListUsersConnection}}
Mutations
archivePlanVersion
Description
Archives a Plan Version if it is suspended with no subscribed accounts.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": ArchivePlanVersionInput}
Response
{
"data": {
"archivePlanVersion": ArchivePlanVersionPayload
}
}
bulkUploadMetadata
Description
Bulk upload metadata for Accounts provided by customer
Response
Returns a BulkUploadMetadataResult
Arguments
Name | Description |
---|---|
input - BulkUploadMetadataInput!
|
Example
Query
mutation bulkUploadMetadata($input: BulkUploadMetadataInput!) {
bulkUploadMetadata(input: $input) {
... on BulkUploadMetadataPayload {
...BulkUploadMetadataPayloadFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": BulkUploadMetadataInput}
Response
{
"data": {
"bulkUploadMetadata": BulkUploadMetadataPayload
}
}
cancelPlanSubscription
Description
Cancels existing assignment of a Plan to an Account.
- Uses the
planSubscriptionId
to identify the correct plan. - Balances from the Plan remain after cancellation.
Authorized Roles: Account_Admin
Response
Returns a CancelPlanVersionSubscriptionResult!
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
}
}
Variables
{"input": CancelPlanSubscriptionInput}
Response
{
"data": {
"cancelPlanSubscription": CancelPlanVersionSubscriptionPayload
}
}
copyPlan
Description
Creates a new Plan out of an existing one.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
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.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"from": CopyPlanServiceFrom,
"to": CopyPlanServiceTo
}
Response
{"data": {"copyPlanService": CopyPlanServicePayload}}
createAccount
Description
Creates an Account for a provider.
Authorized Roles: Account_Admin
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 TransactionHasBeenProcessed {
...TransactionHasBeenProcessedFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on AccountAlreadyExists {
...AccountAlreadyExistsFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on PostpaidFieldInPrepaidAccount {
...PostpaidFieldInPrepaidAccountFragment
}
... on PostpaidPropertiesRequired {
...PostpaidPropertiesRequiredFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreateAccountInput}
Response
{"data": {"createAccount": CreateAccountPayload}}
createAccountCohort
Description
Create a new Account Cohort.
Response
Returns a CreateAccountCohortResult
Arguments
Name | Description |
---|---|
input - CreateAccountCohortInput!
|
Example
Query
mutation createAccountCohort($input: CreateAccountCohortInput!) {
createAccountCohort(input: $input) {
... on AccountCohort {
...AccountCohortFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on InvalidField {
...InvalidFieldFragment
}
}
}
Variables
{"input": CreateAccountCohortInput}
Response
{"data": {"createAccountCohort": AccountCohort}}
createBalance
Description
Creates a new balance for the provider.
Response
Returns a CreateBalanceResult
Arguments
Name | Description |
---|---|
input - CreateBalanceInput!
|
Payload with provider ID and balance information. |
Example
Query
mutation createBalance($input: CreateBalanceInput!) {
createBalance(input: $input) {
... on BalancePayload {
...BalancePayloadFragment
}
... on TransactionHasBeenProcessed {
...TransactionHasBeenProcessedFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreateBalanceInput}
Response
{"data": {"createBalance": BalancePayload}}
createBalanceType
Description
Creates a new balance type for the provider.
Response
Returns a CreateBalanceTypeResult
Arguments
Name | Description |
---|---|
input - CreateBalanceTypeInput!
|
Payload with provider ID and balance type information. |
Example
Query
mutation createBalanceType($input: CreateBalanceTypeInput!) {
createBalanceType(input: $input) {
... on BalanceTypePayload {
...BalanceTypePayloadFragment
}
... on BalanceTypeNameInUse {
...BalanceTypeNameInUseFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreateBalanceTypeInput}
Response
{"data": {"createBalanceType": BalanceTypePayload}}
createCampaign
Description
Create a new Campaign.
Authorized Roles: Account_Admin
Response
Returns a CreateCampaignResult!
Arguments
Name | Description |
---|---|
input - CreateCampaignInput!
|
Example
Query
mutation createCampaign($input: CreateCampaignInput!) {
createCampaign(input: $input) {
... on CreateCampaignPayload {
...CreateCampaignPayloadFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on EmailNotActivated {
...EmailNotActivatedFragment
}
... on OfferNotFound {
...OfferNotFoundFragment
}
... on AccountCohortNotFound {
...AccountCohortNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on CampaignManagementNotReady {
...CampaignManagementNotReadyFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on InvalidField {
...InvalidFieldFragment
}
}
}
Variables
{"input": CreateCampaignInput}
Response
{"data": {"createCampaign": CreateCampaignPayload}}
createDevice
Description
Creates a Device in an Account.
Authorized Roles: Account_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreateDeviceInput}
Response
{"data": {"createDevice": CreateDevicePayload}}
createFieldMapping
Description
Creates a Field Mapping in draft. Draft field mappings need to be deployed using deployFieldMappings
to become effective.
Authorized Roles: Network_Operator
, Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreateFieldMappingInput}
Response
{
"data": {
"createFieldMapping": CreateFieldMappingPayload
}
}
createOffer
Description
Creates an Offer.
Authorized Roles: Account_Admin
Response
Returns a CreateOfferResult!
Arguments
Name | Description |
---|---|
input - CreateOfferInput!
|
Parameters for CreateOffer. |
Example
Query
mutation createOffer($input: CreateOfferInput!) {
createOffer(input: $input) {
... on CreateOfferPayload {
...CreateOfferPayloadFragment
}
... on OfferAlreadyExists {
...OfferAlreadyExistsFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on PlanVersionNotFound {
...PlanVersionNotFoundFragment
}
}
}
Variables
{"input": CreateOfferInput}
Response
{"data": {"createOffer": CreateOfferPayload}}
createPlan
Description
Creates a Plan for a provider.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreatePlanInput}
Response
{"data": {"createPlan": CreatePlanPayload}}
createPlanFromInitialRecurringFirstUsageTemplate
Description
Creates a plan by using a template.
Response
Returns a CreatePlanFromInitialTemplateResult!
Arguments
Name | Description |
---|---|
input - CreatePlanFromInitialRecurringFirstUsageTemplateInput!
|
Parameters for CreatePlanFromInitialRecurringFirstUsageTemplate. |
Example
Query
mutation createPlanFromInitialRecurringFirstUsageTemplate($input: CreatePlanFromInitialRecurringFirstUsageTemplateInput!) {
createPlanFromInitialRecurringFirstUsageTemplate(input: $input) {
... on CreatePlanPayload {
...CreatePlanPayloadFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on PlanAlreadyExists {
...PlanAlreadyExistsFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on CreatePlanValidationFailed {
...CreatePlanValidationFailedFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"input": CreatePlanFromInitialRecurringFirstUsageTemplateInput
}
Response
{
"data": {
"createPlanFromInitialRecurringFirstUsageTemplate": CreatePlanPayload
}
}
createPlanFromInitialTemplate
Description
Creates a Plan by using a template.
Authorized Roles: Plan_Designer
Response
Returns a CreatePlanFromInitialTemplateResult!
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 BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on CreatePlanValidationFailed {
...CreatePlanValidationFailedFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreatePlanFromInitialTemplateInput}
Response
{
"data": {
"createPlanFromInitialTemplate": CreatePlanPayload
}
}
createPlanService
Description
Creates a Plan Service in a Plan.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreatePlanServiceInput}
Response
{"data": {"createPlanService": CreatePlanServicePayload}}
createPlanVersionFromInitialRecurringFirstUsageTemplate
Description
Updates a plan that was created by using a template. Creates a new version of the plan.
Response
Arguments
Name | Description |
---|---|
input - CreatePlanVersionFromInitialRecurringFirstUsageTemplateInput!
|
Parameters for CreatePlanVersionFromInitialRecurringFirstUsageTemplate. |
Example
Query
mutation createPlanVersionFromInitialRecurringFirstUsageTemplate($input: CreatePlanVersionFromInitialRecurringFirstUsageTemplateInput!) {
createPlanVersionFromInitialRecurringFirstUsageTemplate(input: $input) {
... on PlanVersionPayload {
...PlanVersionPayloadFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on PlanVersionNotFound {
...PlanVersionNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on CreatePlanValidationFailed {
...CreatePlanValidationFailedFragment
}
... on PlanVersionAlreadyExists {
...PlanVersionAlreadyExistsFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"input": CreatePlanVersionFromInitialRecurringFirstUsageTemplateInput
}
Response
{
"data": {
"createPlanVersionFromInitialRecurringFirstUsageTemplate": PlanVersionPayload
}
}
createPlanVersionFromInitialTemplate
Description
Creates a new Plan Version of a Plan that was originally created by using createPlanFromInitialTemplate
.
Authorized Roles: Plan_Designer
Response
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 BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on CreatePlanValidationFailed {
...CreatePlanValidationFailedFragment
}
... on PlanVersionAlreadyExists {
...PlanVersionAlreadyExistsFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreatePlanVersionFromInitialTemplateInput}
Response
{
"data": {
"createPlanVersionFromInitialTemplate": PlanVersionPayload
}
}
createUser
Description
Creates a tenant User.
Authorized Roles: Tenant_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreateUserInput}
Response
{"data": {"createUser": SaveUserPayload}}
creditAccount
updateBalance
API. Please update your integrations accordingly. Deprecated date is 2024-01-23. Expiration date is 2024-03-08. 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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": CreditAccountInput}
Response
{"data": {"creditAccount": CreditAccountPayload}}
debitAccount
updateBalance
API. Please update your integrations accordingly. Deprecated date is 2024-01-23. Expiration date is 2024-03-08. Description
Deduct money from the monetary balance.
Response
Returns a DebitAccountResult!
Arguments
Name | Description |
---|---|
input - DebitAccountInput!
|
Parameters for a Debit request. |
Example
Query
mutation debitAccount($input: DebitAccountInput!) {
debitAccount(input: $input) {
... on DebitAccountPayload {
...DebitAccountPayloadFragment
}
... on DebitAccountFailed {
...DebitAccountFailedFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
}
}
Variables
{"input": DebitAccountInput}
Response
{"data": {"debitAccount": DebitAccountPayload}}
deleteAccount
Description
Deletes an Account if it does not have any children or devices.
Authorized Roles: Account_Admin
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 TransactionHasBeenProcessed {
...TransactionHasBeenProcessedFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on AccountHasReferences {
...AccountHasReferencesFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteAccountInput}
Response
{"data": {"deleteAccount": DeleteAccountPayload}}
deleteAccountBalanceTypeCounter
Description
Delete a Balance Type Counter for an account based on the provided input parameters.
Response
Returns a DeleteAccountBalanceTypeCounterResult
Arguments
Name | Description |
---|---|
input - DeleteAccountBalanceTypeCounterInput!
|
Example
Query
mutation deleteAccountBalanceTypeCounter($input: DeleteAccountBalanceTypeCounterInput!) {
deleteAccountBalanceTypeCounter(input: $input) {
... on DeleteAccountBalanceTypeCounterPayload {
...DeleteAccountBalanceTypeCounterPayloadFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on AccountBalanceTypeCounterNotFound {
...AccountBalanceTypeCounterNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteAccountBalanceTypeCounterInput}
Response
{
"data": {
"deleteAccountBalanceTypeCounter": DeleteAccountBalanceTypeCounterPayload
}
}
deleteAccountCohort
Description
Delete an existing Account Cohort.
Response
Returns a DeleteAccountCohortResult
Arguments
Name | Description |
---|---|
input - DeleteAccountCohortInput!
|
Example
Query
mutation deleteAccountCohort($input: DeleteAccountCohortInput!) {
deleteAccountCohort(input: $input) {
... on DeleteAccountCohortPayload {
...DeleteAccountCohortPayloadFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on AccountCohortNotFound {
...AccountCohortNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteAccountCohortInput}
Response
{
"data": {
"deleteAccountCohort": DeleteAccountCohortPayload
}
}
deleteBalance
Description
Deletes an existing balance for the provider.
Response
Returns a DeleteBalanceResult
Arguments
Name | Description |
---|---|
input - DeleteBalanceInput!
|
Payload with provider ID and balance ID. |
Example
Query
mutation deleteBalance($input: DeleteBalanceInput!) {
deleteBalance(input: $input) {
... on DeleteBalancePayload {
...DeleteBalancePayloadFragment
}
... on TransactionHasBeenProcessed {
...TransactionHasBeenProcessedFragment
}
... on BalanceNotFound {
...BalanceNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on BalanceHasReferences {
...BalanceHasReferencesFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteBalanceInput}
Response
{"data": {"deleteBalance": DeleteBalancePayload}}
deleteBalanceType
Description
Deletes an existing balance type for the provider.
Response
Returns a DeleteBalanceTypeResult
Arguments
Name | Description |
---|---|
input - DeleteBalanceTypeInput!
|
Payload with provider ID and balance type ID. |
Example
Query
mutation deleteBalanceType($input: DeleteBalanceTypeInput!) {
deleteBalanceType(input: $input) {
... on DeleteBalanceTypePayload {
...DeleteBalanceTypePayloadFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on BalanceTypeHasReferences {
...BalanceTypeHasReferencesFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteBalanceTypeInput}
Response
{"data": {"deleteBalanceType": DeleteBalanceTypePayload}}
deleteBalanceTypeCounter
Description
Delete a Balance Type Counter based on the provided input parameters.
Response
Returns a DeleteBalanceTypeCounterResult
Arguments
Name | Description |
---|---|
input - DeleteBalanceTypeCounterInput!
|
Example
Query
mutation deleteBalanceTypeCounter($input: DeleteBalanceTypeCounterInput!) {
deleteBalanceTypeCounter(input: $input) {
... on DeleteBalanceTypeCounterPayload {
...DeleteBalanceTypeCounterPayloadFragment
}
... on BalanceTypeCounterNotFound {
...BalanceTypeCounterNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteBalanceTypeCounterInput}
Response
{
"data": {
"deleteBalanceTypeCounter": DeleteBalanceTypeCounterPayload
}
}
deleteCampaign
Description
Deletes an existing Campaign.
Authorized Roles: Account_Admin
Response
Returns a DeleteCampaignResult!
Arguments
Name | Description |
---|---|
input - DeleteCampaignInput!
|
Example
Query
mutation deleteCampaign($input: DeleteCampaignInput!) {
deleteCampaign(input: $input) {
... on DeleteCampaignPayload {
...DeleteCampaignPayloadFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on CampaignNotFound {
...CampaignNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteCampaignInput}
Response
{"data": {"deleteCampaign": DeleteCampaignPayload}}
deleteDevice
Description
Deletes a Device from an Account.
Authorized Roles: Account_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteDeviceInput}
Response
{"data": {"deleteDevice": DeleteDevicePayload}}
deleteFieldMapping
Description
Deletes a Field Mapping in draft. Draft field mappings need to be deployed using deployFieldMappings
to become effective.
Authorized Roles: Network_Operator
, Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteFieldMappingInput}
Response
{
"data": {
"deleteFieldMapping": DeleteFieldMappingPayload
}
}
deleteOffer
Description
Deletes an Offer.
Authorized Roles: Account_Admin
Response
Returns a DeleteOfferResult!
Arguments
Name | Description |
---|---|
input - DeleteOfferInput!
|
Parameters for DeleteOffer. |
Example
Query
mutation deleteOffer($input: DeleteOfferInput!) {
deleteOffer(input: $input) {
... on DeleteOfferPayload {
...DeleteOfferPayloadFragment
}
... on OfferNotFound {
...OfferNotFoundFragment
}
... on OfferIsReadOnly {
...OfferIsReadOnlyFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteOfferInput}
Response
{"data": {"deleteOffer": DeleteOfferPayload}}
deletePlan
Description
Deletes a Plan. Deployed plans cannot be deleted but its plan versions can be archived using archivePlanVersion
.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeletePlanInput}
Response
{"data": {"deletePlan": DeletePlanPayload}}
deletePlanService
Description
Deletes a Plan Service from a new Pllan. Deployed plans cannot be edited.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeletePlanServiceInput}
Response
{"data": {"deletePlanService": DeletePlanServicePayload}}
deletePlanVersion
Description
Deletes a Plan Version if it was never deployed.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeletePlanVersionInput}
Response
{"data": {"deletePlanVersion": DeletePlanVersionPayload}}
deleteUser
Description
Deletes a tenant User.
Authorized Roles: Tenant_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeleteUserInput}
Response
{"data": {"deleteUser": DeleteUserPayload}}
deployFieldMappings
Description
Once you have defined a new Field Mapping, you can call deployFieldMappings
and specify the path of the field mapping you want to deploy.
- By providing a
from
date, you can specify a point in the future when current set of field mappings will take effect, 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 using
deleteFieldMapping
. - Next invoke thedeployFieldMappings
without providing thepaths
parameter. - This operation will deploy only the field mappings that are specified in the draft. - If afrom
date is not provided, the current time is used as the defaultfrom
date. - Any existing field mappings not in the draft will be removed with the following limitations. When existing field mappings are deleted, the system checks if thefrom
date of the existing mapping is earlier than thefrom
date specified for the new mapping. If it is, the deleted mapping is re-added. So to completely delete a deployed field mapping, you should provide afrom
date that matches or precedes thefrom
date used in the prior deployment of the field mapping you wish to remove.
Authorized Roles: Network_Admin
, Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeployFieldMappingsInput}
Response
{
"data": {
"deployFieldMappings": DeployFieldMappingsPayload
}
}
deployPlan
Description
Deploys a Plan so it can be subscribed by accounts. A deployed plan cannot be updated anymore.
Authorized Roles: Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": DeployPlanVersionInput}
Response
{"data": {"deployPlan": PlanVersionPayload}}
makePlanAssignable
Description
Makes a Plan assignable so it can be subscribed by accounts. Plan must be deployed to be able to make it assignable.
Authorized Roles: Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
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 subscribed by accounts.
Authorized Roles: Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": AssignablePlanVersionInput}
Response
{"data": {"makePlanNotAssignable": PlanVersionPayload}}
resetUserPassword
Description
Resets the password of a given User.
Authorized Roles: Tenant_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": ResetUserPasswordInput}
Response
{"data": {"resetUserPassword": ResetUserPasswordPayload}}
subscribeToPlan
Description
Assigns a Plan to an Account for a predefined period of time. If the from
parameter is not specified, the plan starts immediately. If the to
parameter is not specified, the plan continues indefinitely for recurring plans, or until the end of the plan period for non-recurring plans.
When subscribing to a plan, provide one of the following identifiers:
- planAliasId NEW: The unique identifier of the plan to subscribe to. This is the preferred method as it ensures that the subscription is continuously updated to the latest active version of the plan, reducing the need for manual interventions.
- planVersionId: The unique identifier of a specific version of a plan. Use this when you need to enforce a particular plan version without automatic updates.
- planId: The unique identifier of a plan. If provided, the subscription will apply the latest version of the specified plan.
Important: planId
is deprecated in favor of planAliasId
. Using planAliasId
enables automatic transitions to new plan versions for subscribed accounts. Please update your integrations accordingly.
- Deprecation Date: 2024-07-26
- End of Support: 2024-10-31
Please reach out to Totogi Customer Support if you need help with this transition or to activate automated migrations through the use of planAliasId
.
Authorized Roles: Account_Admin
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 SubscriptionNotFound {
...SubscriptionNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on SubscribeToPlanVersionValidationFailed {
...SubscribeToPlanVersionValidationFailedFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on PlanNotFound {
...PlanNotFoundFragment
}
... on PlanAliasNotFound {
...PlanAliasNotFoundFragment
}
... on PlanAliasNotActive {
...PlanAliasNotActiveFragment
}
}
}
Variables
{"input": SubscribeToPlanVersionInput}
Response
{
"data": {
"subscribeToPlan": SubscribeToPlanVersionPayload
}
}
triggerRar
Description
Create RARs for all active sessions of an account.
Response
Returns a TriggerRarResult
Arguments
Name | Description |
---|---|
input - TriggerRarInput!
|
Payload with provider ID and account ID. |
Example
Query
mutation triggerRar($input: TriggerRarInput!) {
triggerRar(input: $input) {
... on TriggerRarPayload {
...TriggerRarPayloadFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on RarNotEnabled {
...RarNotEnabledFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": TriggerRarInput}
Response
{"data": {"triggerRar": TriggerRarPayload}}
updateAccount
Description
Updates Account attributes.
Authorized Roles: Account_Admin
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
}
... on CannotSetLongFirstBillingCycle {
...CannotSetLongFirstBillingCycleFragment
}
... on DayOfMonthAlreadySet {
...DayOfMonthAlreadySetFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateAccountInput}
Response
{"data": {"updateAccount": UpdateAccountPayload}}
updateAccountBalanceTypeCounter
Description
Updates or creates a Balance Type Counter for an account based on the provided input parameters. If balanceTypeCounterId
is specified, the new configuration will override the settings inherited from the associated BalanceType
.
Note: A BalanceType Counter operates on the sum of all balances of the same BalanceType on the account, not on an individual balance.
Response
Returns an AccountBalanceTypeCounterResult
Arguments
Name | Description |
---|---|
input - UpdateAccountBalanceTypeCounterInput!
|
Example
Query
mutation updateAccountBalanceTypeCounter($input: UpdateAccountBalanceTypeCounterInput!) {
updateAccountBalanceTypeCounter(input: $input) {
... on AccountBalanceTypeCounterPayload {
...AccountBalanceTypeCounterPayloadFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on AccountBalanceTypeCounterNotFound {
...AccountBalanceTypeCounterNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateAccountBalanceTypeCounterInput}
Response
{
"data": {
"updateAccountBalanceTypeCounter": AccountBalanceTypeCounterPayload
}
}
updateAccountCohort
Description
Update an existing Account Cohort.
Response
Returns an UpdateAccountCohortResult
Arguments
Name | Description |
---|---|
input - UpdateAccountCohortInput!
|
Example
Query
mutation updateAccountCohort($input: UpdateAccountCohortInput!) {
updateAccountCohort(input: $input) {
... on AccountCohort {
...AccountCohortFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on AccountCohortNotFound {
...AccountCohortNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on InvalidField {
...InvalidFieldFragment
}
}
}
Variables
{"input": UpdateAccountCohortInput}
Response
{"data": {"updateAccountCohort": AccountCohort}}
updateArchivingPolicy
Description
Creates a lifecycle rule on EDR S3 bucket to move objects to Glacier store after a period of time.
Authorized Roles: Tenant_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateArchivingPolicyInput}
Response
{
"data": {
"updateArchivingPolicy": UpdateArchivingPolicyPayload
}
}
updateBalance
Description
Updates an existing balance for the provider.
Response
Returns an UpdateBalanceResult
Arguments
Name | Description |
---|---|
input - UpdateBalanceInput!
|
Payload with provider ID, balance ID, and fields to be updated. |
Example
Query
mutation updateBalance($input: UpdateBalanceInput!) {
updateBalance(input: $input) {
... on BalancePayload {
...BalancePayloadFragment
}
... on TransactionHasBeenProcessed {
...TransactionHasBeenProcessedFragment
}
... on BalanceNotFound {
...BalanceNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateBalanceInput}
Response
{"data": {"updateBalance": BalancePayload}}
updateBalanceType
Description
Updates an existing balance type for the provider.
Response
Returns an UpdateBalanceTypeResult
Arguments
Name | Description |
---|---|
input - UpdateBalanceTypeInput!
|
Payload with provider ID, balance type ID, and fields to be updated. |
Example
Query
mutation updateBalanceType($input: UpdateBalanceTypeInput!) {
updateBalanceType(input: $input) {
... on BalanceTypePayload {
...BalanceTypePayloadFragment
}
... on BalanceTypeNameInUse {
...BalanceTypeNameInUseFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on BalanceTypeHasReferences {
...BalanceTypeHasReferencesFragment
}
... on BalanceTypeCounterNotFound {
...BalanceTypeCounterNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateBalanceTypeInput}
Response
{"data": {"updateBalanceType": BalanceTypePayload}}
updateBalanceTypeCounter
Description
Update or create Balance Type Counter notifications based on the provided input parameters. Creates or updates BalanceTypeCounter.
Response
Returns a BalanceTypeCounterResult
Arguments
Name | Description |
---|---|
input - UpdateBalanceTypeCounterInput!
|
Example
Query
mutation updateBalanceTypeCounter($input: UpdateBalanceTypeCounterInput!) {
updateBalanceTypeCounter(input: $input) {
... on UpdateBalanceTypeCounterPayload {
...UpdateBalanceTypeCounterPayloadFragment
}
... on BalanceTypeCounterNotFound {
...BalanceTypeCounterNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateBalanceTypeCounterInput}
Response
{
"data": {
"updateBalanceTypeCounter": UpdateBalanceTypeCounterPayload
}
}
updateCampaign
Description
Updates an existing Campaign.
Authorized Roles: Account_Admin
Response
Returns an UpdateCampaignResult!
Arguments
Name | Description |
---|---|
input - UpdateCampaignInput!
|
Example
Query
mutation updateCampaign($input: UpdateCampaignInput!) {
updateCampaign(input: $input) {
... on UpdateCampaignPayload {
...UpdateCampaignPayloadFragment
}
... on CampaignAlreadyCompleted {
...CampaignAlreadyCompletedFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on OfferNotFound {
...OfferNotFoundFragment
}
... on AccountCohortNotFound {
...AccountCohortNotFoundFragment
}
... on CampaignNotFound {
...CampaignNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on CampaignManagementNotReady {
...CampaignManagementNotReadyFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateCampaignInput}
Response
{"data": {"updateCampaign": UpdateCampaignPayload}}
updateDebit
updateBalance
API. Please update your integrations accordingly. Deprecated date is 2024-01-23. Expiration date is 2024-03-08. Description
Updates a RESERVED debit request.
Authorized Roles: Account_Admin
Response
Returns an UpdateDebitResult!
Arguments
Name | Description |
---|---|
input - UpdateDebitInput!
|
Parameters for the update debit request. |
Example
Query
mutation updateDebit($input: UpdateDebitInput!) {
updateDebit(input: $input) {
... on UpdateDebitPayload {
...UpdateDebitPayloadFragment
}
... on DebitReservationNotFound {
...DebitReservationNotFoundFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
}
}
Variables
{"input": UpdateDebitInput}
Response
{"data": {"updateDebit": UpdateDebitPayload}}
updateDevice
Description
Updates Device attributes.
Authorized Roles: Account_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateDeviceInput}
Response
{"data": {"updateDevice": UpdateDevicePayload}}
updateFieldMapping
Description
Updates a Field Mapping in draft. Draft field mappings need to be deployed using deployFieldMappings
to become effective.
Authorized Roles: Network_Operator
, Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateFieldMappingInput}
Response
{
"data": {
"updateFieldMapping": UpdateFieldMappingPayload
}
}
updateMyProviderConfig
Description
Updates config of the current tenant.
Authorized Roles: 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
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateMyProviderConfigInput}
Response
{"data": {"updateMyProviderConfig": ProviderConfig}}
updateOffer
Description
Updates Offer attributes.
Authorized Roles: Account_Admin
Response
Returns an UpdateOfferResult!
Arguments
Name | Description |
---|---|
input - UpdateOfferInput!
|
Parameters for UpdateOffer. |
Example
Query
mutation updateOffer($input: UpdateOfferInput!) {
updateOffer(input: $input) {
... on UpdateOfferPayload {
...UpdateOfferPayloadFragment
}
... on OfferNotFound {
...OfferNotFoundFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on CampaignsNotEnabled {
...CampaignsNotEnabledFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on PlanVersionNotFound {
...PlanVersionNotFoundFragment
}
}
}
Variables
{"input": UpdateOfferInput}
Response
{"data": {"updateOffer": UpdateOfferPayload}}
updatePlan
Description
Updates attributes of a Plan, such as name.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdatePlanInput}
Response
{"data": {"updatePlan": UpdatePlanPayload}}
updatePlanService
Description
Updates attributes of a Plan Service, such as name.
Authorized Roles: Plan_Designer
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdatePlanServiceInput}
Response
{"data": {"updatePlanService": UpdatePlanServicePayload}}
updatePlanSubscription
Description
Updates the properties of a Plan instance subscribed by an Account or switches the subscription to a different plan.
-
Plan Switching: If
planId
,planVersionId
, orplanAliasId
is specified, the subscription will be switched to the corresponding plan. The switch is handled similarly to canceling the current plan and subscribing to a new one. -
Balances: Any balances associated with the current plan will remain intact after switching to a different plan. Balances of the switched plan will be created as well.
When switching plans, it is recommended to use planAliasId
because it ensures that the subscription is automatically updated to the latest active version of the new plan going forward, minimizing the need for manual updates. However, if you need to enforce a specific version, you can use planVersionId
.
Important: planId
is deprecated in favor of planAliasId
. Please update your integrations accordingly.
- Deprecation Date: 2024-07-26
- End of Support: 2024-10-31
Please reach out to Totogi Customer Support if you need help with this transition or to activate automated migrations through the use of planAliasId
.
Authorized Roles: Account_Admin
Response
Returns an UpdatePlanVersionSubscriptionResult!
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
... on PlanNotFound {
...PlanNotFoundFragment
}
... on PlanAliasNotFound {
...PlanAliasNotFoundFragment
}
... on PlanAliasNotActive {
...PlanAliasNotActiveFragment
}
}
}
Variables
{"input": UpdatePlanSubscriptionInput}
Response
{
"data": {
"updatePlanSubscription": SubscribeToPlanVersionPayload
}
}
updatePlanVersionFromInitialRecurringFirstUsageTemplate
Description
Updates a plan that was created by using a template.
Response
Returns an UpdatePlanVersionFromInitialTemplateResult!
Arguments
Name | Description |
---|---|
input - UpdatePlanVersionFromInitialRecurringFirstUsageTemplateInput!
|
Parameters for UpdatePlanVersionFromInitialRecurringFirstUsageTemplate. |
Example
Query
mutation updatePlanVersionFromInitialRecurringFirstUsageTemplate($input: UpdatePlanVersionFromInitialRecurringFirstUsageTemplateInput!) {
updatePlanVersionFromInitialRecurringFirstUsageTemplate(input: $input) {
... on PlanVersionPayload {
...PlanVersionPayloadFragment
}
... on InvalidField {
...InvalidFieldFragment
}
... on PlanVersionNotFound {
...PlanVersionNotFoundFragment
}
... on BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on CreatePlanValidationFailed {
...CreatePlanValidationFailedFragment
}
... on PlanVersionIsReadOnly {
...PlanVersionIsReadOnlyFragment
}
... on PlanVersionAlreadyExists {
...PlanVersionAlreadyExistsFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on PlanVersionUpdateAlreadyInProgress {
...PlanVersionUpdateAlreadyInProgressFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{
"input": UpdatePlanVersionFromInitialRecurringFirstUsageTemplateInput
}
Response
{
"data": {
"updatePlanVersionFromInitialRecurringFirstUsageTemplate": PlanVersionPayload
}
}
updatePlanVersionFromInitialTemplate
Description
Updates Plan Version of a Plan that was originally created by using a template.
Authorized Roles: Plan_Designer
Response
Returns an UpdatePlanVersionFromInitialTemplateResult!
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 BalanceTypeNotFound {
...BalanceTypeNotFoundFragment
}
... on CreatePlanValidationFailed {
...CreatePlanValidationFailedFragment
}
... on PlanVersionIsReadOnly {
...PlanVersionIsReadOnlyFragment
}
... on PlanVersionAlreadyExists {
...PlanVersionAlreadyExistsFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on ServiceFormatError {
...ServiceFormatErrorFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on PlanVersionUpdateAlreadyInProgress {
...PlanVersionUpdateAlreadyInProgressFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdatePlanVersionFromInitialTemplateInput}
Response
{
"data": {
"updatePlanVersionFromInitialTemplate": PlanVersionPayload
}
}
updateRatingGroupHierarchy
Description
Updates and deploys after verifying Rating Group hierarchy.
Authorized Roles: Network_Admin
, Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateRatingGroupHierarchyInput}
Response
{
"data": {
"updateRatingGroupHierarchy": UpdateRatingGroupHierarchyPayload
}
}
updateSGSNTable
Description
Update the SGSN table for a provider.
Authorized Roles: Network_Operator
, Plan_Publisher
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateSGSNTableInput}
Response
{"data": {"updateSGSNTable": UpdateSGSNTablePayload}}
updateSettings
Description
Updates settings of a provider.
Authorized Roles: Plan_Admin
, Plan_Publisher
Response
Returns an UpdateSettingsResult!
Arguments
Name | Description |
---|---|
input - UpdateSettingsInput!
|
Parameters for UpdateSettings. |
Example
Query
mutation updateSettings($input: UpdateSettingsInput!) {
updateSettings(input: $input) {
... on UpdateSettingsPayload {
...UpdateSettingsPayloadFragment
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateSettingsInput}
Response
{"data": {"updateSettings": UpdateSettingsPayload}}
updateUser
Description
Updates a specific User for a given tenant. It returns the updated user or an error.
Authorized Roles: Tenant_Admin
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateUserInput}
Response
{"data": {"updateUser": SaveUserPayload}}
updateUserProfile
Description
Updates user profile for current User.
Authorized Roles: All
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
}
... on InvalidProviderLifecycleStage {
...InvalidProviderLifecycleStageFragment
}
... on RateLimitExceeded {
...RateLimitExceededFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UpdateUserProfileInput}
Response
{"data": {"updateUserProfile": SaveUserPayload}}
uploadMetadata
Description
Upload metadata for Account provided by customer
Response
Returns an UploadMetadataResult
Arguments
Name | Description |
---|---|
input - UploadMetadataInput!
|
Example
Query
mutation uploadMetadata($input: UploadMetadataInput!) {
uploadMetadata(input: $input) {
... on UploadMetadataPayload {
...UploadMetadataPayloadFragment
}
... on AccountNotFound {
...AccountNotFoundFragment
}
... on InternalServerError {
...InternalServerErrorFragment
}
}
}
Variables
{"input": UploadMetadataInput}
Response
{"data": {"uploadMetadata": UploadMetadataPayload}}
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. Important: Totogi balances are now first-class objects with attributes such as name, type, limit, and notification thresholds. To align with this change, plans have been updated to support the new balance objects, replacing the previous integrated plan balances. Accordingly, the |
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 should be negative/zero for prepaid accounts and positive for postpaid accounts. |
notificationCreditLimitThresholds - [Float]
|
Thresholds of the default monetary balance on the account. Whenever the account balance goes lower than any of the values in the set a notification is sent. |
balances - [AccountBalanceInfo!]!
|
Balances associated with the Account, either created through plan subscriptions and renewals or manually added via the createBalance API. |
postpaid - AccountPostpaidProperties
|
If account is a postpaid account, i.e. creditLimit is greater than zero, this holds the postpaid properties |
churnScore - Float
|
The churn score for the account, which is the probability that this account would churn |
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,
"notificationCreditLimitThresholds": [123.45],
"balances": [AccountBalanceInfo],
"postpaid": AccountPostpaidProperties,
"churnScore": 987.65,
"activatedAt": AWSDateTime
}
AccountAlreadyExists
Description
An error type to be thrown if an account with provided ID already exists.
Example
{
"accountId": 4,
"errorCode": "abc123",
"errorMessage": "abc123"
}
AccountAttributeDimension
Description
Defines a filter dimension for an account attribute.
Fields
Field Name | Description |
---|---|
attribute - String!
|
The account attribute to filter on. |
dimensionType - AttributeDimensionType!
|
The type of dimension being filtered. Default is INCLUSIVE. If values are in ISO_INSTANT format the type can be: "BEFORE", "AFTER", "BETWEEN", "ON". |
values - [String!]!
|
The values to filter on. |
Example
{
"attribute": "abc123",
"dimensionType": "INCLUSIVE",
"values": ["abc123"]
}
AccountAttributeDimensionInput
Description
Defines a filter dimension for an account attribute.
Fields
Input Field | Description |
---|---|
attribute - String!
|
The account attribute to filter on. |
dimensionType - AttributeDimensionType!
|
The type of dimension being filtered. Default is INCLUSIVE. If values are in ISO_INSTANT format the type can be: "BEFORE", "AFTER", "BETWEEN", "ON". |
values - [String!]!
|
The values to filter on. |
Example
{
"attribute": "xyz789",
"dimensionType": "INCLUSIVE",
"values": ["xyz789"]
}
AccountBalanceInfo
Description
Balance details return type.
Fields
Field Name | Description |
---|---|
balanceId - ID!
|
ID for the balance. |
balanceType - BalanceTypePayload!
|
Each balance is associated with a BalanceType , which defines its characteristics, such as type (e.g., volume, time, rate), notification thresholds, policy counters, and the maximum allowable value. |
priority - Float!
|
Priority of the balance. If there are multiple balances of the same type, the one with the highest priority will be used first. |
balanceValue - Float!
|
Value of the balance. |
unlimited - Boolean
|
Whether the balance is unlimited or not. |
limit - Float
|
The maximum amount a balance can reach through credit operations. For multiple balances of the same Rate-based balances (e.g., the default Monetary balance) can have decimal limits, while others (e.g., volume, time) should use integers. |
from - AWSDateTime
|
Defines the start date of the balance's validity.
|
to - AWSDateTime
|
Defines the end date of the balance's validity.
|
total - Float
|
The total balance of the account. If there are no active sessions, it equals the Available balance. Otherwise, it is the sum of the Available balance and any unused reservations from the current active sessions. |
reserved - Float
|
The sum of all reservations on this balance from active sessions. Reservations continue to accumulate until the session is closed. |
used - Float
|
The amount of the balance used since the from date. For the default Monetary balance, it reflects the total amount used since the account's creation. |
available - Float
|
Available balance amount, excluding current reservations from active sessions. Upon session termination, any unused reservations are returned to the Available. |
counters - [BalanceTypeCounterPayload!]
|
All counters configured on the balance, including notification counters for allowance thresholds and policy counters to enable PCRF/PCF interworking. By default, counters are inherited from the BalanceType of the balance and can be overridden at the account level using |
planSubscriptionId - ID
|
The ID of the associated plan subscription if the balance is managed by a plan service. |
Example
{
"balanceId": "4",
"balanceType": BalanceTypePayload,
"priority": 987.65,
"balanceValue": 987.65,
"unlimited": true,
"limit": 123.45,
"from": AWSDateTime,
"to": AWSDateTime,
"total": 123.45,
"reserved": 987.65,
"used": 987.65,
"available": 123.45,
"counters": [BalanceTypeCounterPayload],
"planSubscriptionId": "4"
}
AccountBalanceTypeCounterNotFound
Description
An error type to be thrown if the Balance Type Counter was not found with the given inputs for the account.
Example
{
"balanceTypeCounterId": "4",
"balanceTypeId": 4,
"accountId": "4",
"errorCode": "abc123",
"errorMessage": "abc123"
}
AccountBalanceTypeCounterPayload
Description
A representation of a single Balance Type Counter overridden in an Account.
Fields
Field Name | Description |
---|---|
balanceTypeId - ID!
|
The Balance Type associated with the Balance Type Counter. |
accountId - ID!
|
The account ID associated with the Balance Type Counter. |
counter - BalanceTypeCounterPayload!
|
The counter information payload. |
Example
{
"balanceTypeId": "4",
"accountId": "4",
"counter": BalanceTypeCounterPayload
}
AccountBalanceTypeCounterResult
Description
Return type of BalanceTypeCounter including all possible errors.
AccountNotFound (AccountNotFound)
- The specified account does not exist.AccountBalanceTypeCounterNotFound (AccountBalanceTypeCounterNotFound)
- The specified counter does not exist in the account.BalanceTypeNotFound (BalanceTypeNotFound)
- The specified balance type does not exist.
Example
AccountBalanceTypeCounterPayload
AccountBalanceTypeCountersPayload
Description
A representation of BalanceType
counters configured on an account.
A BalanceType
counter is created on the account the first time a balance of a certain BalanceType
is created, either during plan subscription or through the createBalance
API. The corresponding counter configuration is inherited from the BalanceType
.
Once the counter configuration is copied to the account, any modifications can only be made using the updateAccountBalanceTypeCounter
API. Changes made to the BalanceType
counters after it is copied to the account are not reflected to the account Balance Type Counters.
Fields
Field Name | Description |
---|---|
balanceTypeId - ID!
|
The Balance Type associated with the counter. |
accountId - ID!
|
The account ID associated with the Balance Type Counter. |
counters - [BalanceTypeCounterPayload!]!
|
List of counter payload on the account configured for the given BalanceType . |
Example
{
"balanceTypeId": 4,
"accountId": "4",
"counters": [BalanceTypeCounterPayload]
}
AccountBalanceTypeCountersResult
Description
Return type of several BalanceTypeCounter items including all possible errors.
AccountNotFound (AccountNotFound)
- The specified account does not exist.AccountBalanceTypeCounterNotFound (AccountBalanceTypeCounterNotFound)
- The specified counter does not exist in the account.BalanceTypeNotFound (BalanceTypeNotFound)
- The specified balance type does not exist.
Example
AccountNotFound
AccountCohort
Description
The Account Cohort definition for Plan Marketing Campaigns.
Fields
Field Name | Description |
---|---|
id - ID!
|
Unique identifier for the Account Cohort. |
name - String!
|
Name of the Account Cohort. |
dimensions - AccountCohortDimensions!
|
Conditions for Account Dimensions. |
nestedConditions - AccountCohortGroups
|
Additional nested conditions. |
creationDate - AWSDateTime!
|
Creation date of the Account Cohort. |
lastModifiedDate - AWSDateTime!
|
Last modification date of the Account Cohort. |
Example
{
"id": 4,
"name": "xyz789",
"dimensions": AccountCohortDimensions,
"nestedConditions": AccountCohortGroups,
"creationDate": AWSDateTime,
"lastModifiedDate": AWSDateTime
}
AccountCohortConnection
Description
Pagination result for the GetAccountCohorts query.
Fields
Field Name | Description |
---|---|
edges - [AccountCohortEdge!]!
|
List of nodes in the connection. |
pageInfo - PageInfo!
|
Information about pagination in the connection. |
Example
{
"edges": [AccountCohortEdge],
"pageInfo": PageInfo
}
AccountCohortDimensions
Description
Account Cohort dimensions to filter on.
Fields
Field Name | Description |
---|---|
attributes - [AccountAttributeDimension]
|
Filter based on account attributes. |
userAttributes - [AccountAttributeDimension]
|
Filter based on account user attributes. |
metrics - [AccountCohortMetricDimension]
|
Metrics based criteria. |
Example
{
"attributes": [AccountAttributeDimension],
"userAttributes": [AccountAttributeDimension],
"metrics": [AccountCohortMetricDimension]
}
AccountCohortDimensionsInput
Description
Account Cohort dimensions to filter on.
Fields
Input Field | Description |
---|---|
attributes - [AccountAttributeDimensionInput]
|
Filter based on account custom attributes. |
metrics - [AccountCohortMetricDimensionInput]
|
Metrics based criteria. |
userAttributes - [AccountAttributeDimensionInput]
|
Filter based on account user attributes. |
Example
{
"attributes": [AccountAttributeDimensionInput],
"metrics": [AccountCohortMetricDimensionInput],
"userAttributes": [AccountAttributeDimensionInput]
}
AccountCohortEdge
Description
Item in the pagination result for the GetAccountCohorts query.
Fields
Field Name | Description |
---|---|
node - AccountCohort!
|
The item at the end of the edge. |
cursor - String!
|
A cursor for use in pagination. |
Example
{
"node": AccountCohort,
"cursor": "abc123"
}
AccountCohortGroup
Description
Defines an Account Cohort group of conditions on several dimensions joined by a logical operation.
Fields
Field Name | Description |
---|---|
dimensions - [AccountCohortDimensions!]!
|
Dimensions of the group. |
join - AccountCohortJoinType
|
The joining approach for conditions of the dimensions. |
Example
{"dimensions": [AccountCohortDimensions], "join": "ALL"}
AccountCohortGroupInput
Description
Defines an Account Cohort group of conditions on several dimensions joined by a logical operation.
Fields
Input Field | Description |
---|---|
dimensions - [AccountCohortDimensionsInput!]!
|
Dimensions of the group. |
join - AccountCohortJoinType
|
The joining approach for conditions of the dimensions. Default is ALL. |
Example
{
"dimensions": [AccountCohortDimensionsInput],
"join": "ALL"
}
AccountCohortGroups
Description
Defines a set of Account Cohort condition groups joined by a logical operation.
Fields
Field Name | Description |
---|---|
groups - [AccountCohortGroup]!
|
List of nested groups. |
join - AccountCohortJoinType
|
The joining approach for conditions of the groups. |
Example
{"groups": [AccountCohortGroup], "join": "ALL"}
AccountCohortGroupsInput
Description
Defines a set of Account Cohort condition groups joined by a logical operation.
Fields
Input Field | Description |
---|---|
groups - [AccountCohortGroupInput]!
|
List of groups within the cohort. |
join - AccountCohortJoinType
|
The joining approach for conditions of the groups. Default is ALL. |
Example
{"groups": [AccountCohortGroupInput], "join": "ALL"}
AccountCohortInput
Description
Defines the Account Cohort properties.
Fields
Input Field | Description |
---|---|
name - String!
|
The name of the cohort. |
dimensions - AccountCohortDimensionsInput!
|
The dimensions for the cohort. |
nestedConditions - AccountCohortGroupsInput
|
Additional nested conditions. |
Example
{
"name": "abc123",
"dimensions": AccountCohortDimensionsInput,
"nestedConditions": AccountCohortGroupsInput
}
AccountCohortJoinType
Description
Defines how the set of filters is joined together.
Values
Enum Value | Description |
---|---|
|
Match all of the results (AND operator). |
|
Match any of the results (OR operator). |
|
Match none of the results (NOT operator). |
Example
"ALL"
AccountCohortMetricDimension
Description
The filter dimension for an account metric.
Fields
Field Name | Description |
---|---|
metric - AccountMetric!
|
The account metric |
dimensionType - MetricDimensionType!
|
The comparison operator for the dimension. Default is EQUAL. |
value - Float!
|
The values to compare with. |
Example
{"metric": "churnScore", "dimensionType": "GREATER_THAN", "value": 987.65}
AccountCohortMetricDimensionInput
Description
The filter dimension for an account metric.
Fields
Input Field | Description |
---|---|
metric - AccountMetric!
|
The account metric |
dimensionType - MetricDimensionType!
|
The comparison operator for the dimension. Default is EQUAL. |
value - Float!
|
The values to compare with. |
Example
{"metric": "churnScore", "dimensionType": "GREATER_THAN", "value": 987.65}
AccountCohortNotFound
Description
An error type to be thrown if a given Account Cohort was not found.
Example
{
"providerId": 4,
"id": "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": "abc123",
"errorMessage": "xyz789"
}
AccountMetric
Description
Metrics reported for an account for usage in account cohort filters.
Values
Enum Value | Description |
---|---|
|
The churn score of users. |
|
The average monthly spend of users. |
Example
"churnScore"
AccountNotFound
Description
An error type to be thrown if an account was not found.
Example
{
"providerId": "4",
"accountId": "4",
"errorCode": "abc123",
"errorMessage": "xyz789"
}
AccountPostpaidProperties
Description
Type to hold the postpaid properties of accounts
Fields
Field Name | Description |
---|---|
timezone - String
|
The timezone of the user in +/-hh:mm or Country/City format. This is a property for postpaid accounts only. 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": "abc123",
"billingDayOfMonth": 987,
"lastBillingDate": AWSDate,
"longFirstBillingCycle": false
}
AccountResult
Description
Return type of Account including all possible errors.
Types
Union Types |
---|
Example
Account
AdjustmentType
Description
Balance adjustment type.
Values
Enum Value | Description |
---|---|
|
If amount need to be added to the balance. |
|
If amount need to be subtracted from the balance. |
|
If amount need to be set as the balance. |
Example
"CREDIT"
Alias
Fields
Field Name | Description |
---|---|
planVersionId - ID!
|
The plan version ID that is being aliased. |
effectiveTime - AWSDateTime
|
The effective time the plan version ID becomes active for the alias. |
migrationType - MigrationType!
|
The migration type of the alias. |
Example
{
"planVersionId": "4",
"effectiveTime": AWSDateTime,
"migrationType": "TIME"
}
AliasInput
Fields
Input Field | Description |
---|---|
effectiveTime - AWSDateTime
|
The optional time the new plan version should become active in the alias. Needs to be at least 6min in the future. If not provided and 'migrationFromVersions' is not provided as well, the alias will be active in 6min in the future. |
migrationType - MigrationType
|
The optional migration type how the new plan version should become active. The default is TIME if not passed. |
Example
{"effectiveTime": AWSDateTime, "migrationType": "TIME"}
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": true,
"softLimitTps": 987,
"hardLimitTps": 123,
"overSoftLimitUntil": AWSDateTime,
"overHardLimitUntil": AWSDateTime
}
ApiType
Description
All possible API types including 4G/5G interface.
Values
Enum Value | Description |
---|---|
|
Diameter Adapter (4G) Gy interface. |
|
Diameter Adapter (4G) Sy interface. |
|
Engine (5G) n40 interface. |
|
Engine (5G) n28 interface. |
|
AppSync (GraphQL) API. |
Example
"DA_GY"
ArchivePlanVersionInput
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.
Example
{"providerId": "4", "planVersionId": 4}
AssignablePlanVersionResult
Description
Return type of MakePlanVersionAssignable and MakePlanVersionNotAssignable including all possible errors.
PlanVersionNotFound (PlanVersionNotFound)
- The requested plan version with the provided ID cannot be found.MigrationAlreadyInProgress (MigrationAlreadyInProgress)
- Another migration on the same plan can be done only when the current migration is finished.PlanVersionWrongTransition (PlanVersionIsAlreadyInState)
- The plan version is already in the correct state. Transition is not required.PlanVersionWrongTransition (PlanVersionIsAlreadyInState)
- The plan version is already archived and can not move to suspended anymore.PlanVersionWrongTransition (PlanVersionCanNotBeAvailable)
- The state of a plan version can be changed to available only if it is in suspended or deployed state.PlanVersionWrongTransition (PlanAliasUsesVersions)
- The plan version is part of a plan alias and other versions of the plan alias that would be made unassignable are either in use or will be in use by the alias.InternalServerError (ChargeEngineNotAvailable)
- The charge engine is not available at this time.
Example
PlanVersionPayload
AttributeDimensionType
Description
The account attribute dimension type.
Values
Enum Value | Description |
---|---|
|
Accounts matching the specified values would be included in the cohort. |
|
Accounts matching the specified values would be excluded from the cohort. |
|
Accounts having the attribute value with the given substring would be included in the cohort. |
|
Accounts having the attribute value as a datetime before the given value would be included in the cohort. |
|
Accounts having the attribute value as a datetime after the given value would be included in the cohort. |
|
Accounts having the attribute value as a datetime between the given values would be included in the cohort. |
|
Accounts having the attribute value as a date matching the given value would be included in the cohort. The time component in the attribute is ignored. |
Example
"INCLUSIVE"
AuthProvider
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"apiKey"
AuthRule
Fields
Input Field | Description |
---|---|
allow - AuthStrategy!
|
|
provider - AuthProvider
|
|
ownerField - String
|
|
identityClaim - String
|
|
groupClaim - String
|
|
groups - [String]
|
|
groupsField - String
|
|
operations - [ModelOperation]
|
|
queries - [ModelQuery]
|
|
mutations - [ModelMutation]
|
Example
{
"allow": "owner",
"provider": "apiKey",
"ownerField": "abc123",
"identityClaim": "xyz789",
"groupClaim": "abc123",
"groups": ["abc123"],
"groupsField": "xyz789",
"operations": ["create"],
"queries": ["get"],
"mutations": ["create"]
}
AuthStrategy
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"owner"
Balance
Description
Representation of a balance of one particular account.
Example
{"version": 987, "value": 123.45, "customData": AWSJSON}
BalanceHasReferences
Description
An error type to be thrown if the balance is used in an active account.
Example
{
"balanceId": "4",
"errorCode": "xyz789",
"errorMessage": "abc123"
}
BalanceNotFound
Description
An error type to be thrown if a balance was not found.
Example
{
"providerId": "4",
"balanceId": "4",
"errorCode": "xyz789",
"errorMessage": "abc123"
}
BalancePayload
Description
Balance return type.
Fields
Field Name | Description |
---|---|
providerId - ID!
|
Provider ID. |
accountId - ID!
|
Account ID. |
balanceInfo - AccountBalanceInfo!
|
Details of the created balance, including its type, value, and validity. |
transactionId - ID!
|
The transaction ID returned as a result of the If not provided in the request, Totogi generates a unique identifier for the transaction. |
Example
{
"providerId": 4,
"accountId": "4",
"balanceInfo": AccountBalanceInfo,
"transactionId": 4
}
BalanceTypeCounterInput
Description
Input parameters for updating Balance Type Counter configuration.
Fields
Input Field | Description |
---|---|
balanceTypeCounterId - ID
|
The unique identifier for the Balance Type Counter. If balanceTypeCounterId is not provided, a new counter will be created. Otherwise, the existing counter will be modified. |
name - String
|
The unique name associated with the Balance Type Counter. This name will appear in the Event Bridge notifications. If the counter is used to track policy management, the name should be set to the PCRF policy counter name, while individual state names should match the PCRF counter value in the The name is required if |
period - BalanceTypeCounterPeriodInput
|
The optional reset date for the Balance Type Counter. Note: This feature is reserved for future implementation and is currently not functional. |
isActive - Boolean
|
Indicates whether the counter is active or not. |
states - [BalanceTypeCounterStateInput]
|
An optional list of states associated with the Balance Type Counter. The current state of a counter is determined by comparing the threshold value against the balance values, either the used balance (if isOnUsedBalance is true) or the available balance (if isOnUsedBalance is false). The isExclusive parameter determines whether reservations are included on top of available or used when calculating the current state. |
isExclusive - Boolean
|
Indicates whether the counter includes or excludes reservations when calculating the current state.
|
isOnUsedBalance - Boolean
|
Indicates whether the counter operates on the remaining (available) balance or the used balance. |
Example
{
"balanceTypeCounterId": 4,
"name": "xyz789",
"period": BalanceTypeCounterPeriodInput,
"isActive": true,
"states": [BalanceTypeCounterStateInput],
"isExclusive": false,
"isOnUsedBalance": false
}
BalanceTypeCounterNotFound
Description
An error type to be thrown if Balance Type Counter was not found with the given inputs.
Example
{
"balanceTypeCounterId": "4",
"balanceTypeId": 4,
"errorCode": "xyz789",
"errorMessage": "abc123"
}
BalanceTypeCounterPayload
Description
A representation of Balance Type Counter.
Fields
Field Name | Description |
---|---|
balanceTypeCounterId - ID!
|
The unique identifier for the Balance Type Counter. |
name - String!
|
The unique name associated with the Balance Type Counter. This name will appear in the Event Bridge notifications. If the counter is used to track policy management, the name should be the PCRF policy counter name, while individual state names should match the PCRF counter value in the states array. |
period - BalanceTypeCounterPeriod
|
The optional reset date for the Balance Type Counter. Note: This feature is reserved for future implementation and is currently not functional. |
isActive - Boolean
|
Indicates whether the counter is active or not. |
states - [BalanceTypeCounterState]
|
An optional list of states associated with the Balance Type Counter. The current state of a counter is determined by comparing the threshold value against the balance values, either the used balance (if The |
isExclusive - Boolean!
|
Indicates whether the counter includes or excludes reservations when calculating the current state.
|
isOnUsedBalance - Boolean!
|
Indicates whether the counter operates on the remaining (available) balance or the used balance. |
Example
{
"balanceTypeCounterId": 4,
"name": "xyz789",
"period": BalanceTypeCounterPeriod,
"isActive": true,
"states": [BalanceTypeCounterState],
"isExclusive": true,
"isOnUsedBalance": true
}
BalanceTypeCounterPeriod
Description
Information when balance counter value resets.
Important: This feature is reserved for future implementation and is currently not functional.
Fields
Field Name | Description |
---|---|
type - CounterPeriodType!
|
The period when counter value must be reset. |
hourOfDay - Int
|
The hour at which a balance type counter is reset in UTC in case of DAILY periods. |
dayOfMonth - Int
|
The day on which a balance type counter is reset in case of MONTHLY periods. |
Example
{"type": "SAME_AS_PLAN", "hourOfDay": 987, "dayOfMonth": 123}
BalanceTypeCounterPeriodInput
Description
Information when balance counter value must be reset.
Important: This feature is reserved for future implementation and is currently not functional.
Fields
Input Field | Description |
---|---|
type - CounterPeriodType!
|
Determines the period when the counter value must be reset. Use the option NONE when providing the counter period. |
hourOfDay - Int
|
The hour at which a balance type counter is reset in UTC. Applicable for DAILY periods. Has to be in range of 0 - 23. Default is 0. |
dayOfMonth - Int
|
The day on which a balance type counter is reset. Required for MONTHLY periods. Has to be in range of 1 - 31. If the day is not valid for the month, the reset will happen on the last day of the month. |
Example
{"type": "SAME_AS_PLAN", "hourOfDay": 987, "dayOfMonth": 123}
BalanceTypeCounterResult
Description
Return type of BalanceTypeCounter including all possible errors.
BalanceTypeCounterNotFound (BalanceTypeCounterNotFound)
- The balance type ID provided does not exist.BalanceTypeNotFound (BalanceTypeNotFound)
- The balance type ID provided does not exist.
Example
UpdateBalanceTypeCounterPayload
BalanceTypeCounterState
Description
Defines the name, threshold, and action for a Balance Type Counter state.
A state represents a specific threshold in the counter’s operation and triggers the configured actions when that threshold is reached. Each counter has at least one initial state with a null
threshold.
Fields
Field Name | Description |
---|---|
name - String!
|
The unique name of the Balance Type Counter's current state. This name is used to identify both the previous and current states in Event Bridge notifications. If the counter is configured for policy management, state names should correspond to the PCRF policy counter values of the associated policy counter. The name must be between 1 and 50 characters and consist of letters, digits, or special characters. |
threshold - Float
|
The threshold value that determines when the Balance Type Counter transitions to the specified state. If no threshold is provided, the state is considered the default state. This threshold is compared against either the used or available balance to trigger state transitions.
|
actions - [BalanceTypeCounterStateAction!]!
|
Actions to perform when the state is triggered. |
Example
{
"name": "xyz789",
"threshold": 987.65,
"actions": ["NOTIFY"]
}
BalanceTypeCounterStateAction
Description
The action to perform when a Balance Type Counter State is triggered.
Values
Enum Value | Description |
---|---|
|
Trigger notification when the state is triggered. |
|
Block the balance (if not blocked) when this state is triggered. |
|
Unblock the balance (if blocked) when this state is triggered. |
Example
"NOTIFY"
BalanceTypeCounterStateInput
Description
Defines the name, threshold, and action for a Balance Type Counter state. A state represents a specific threshold in the counter’s operation and triggers the configured actions when that threshold is reached. Each counter must have at least one initial state with a null
threshold. If not provided, the backend automatically creates an initial state with name: "normal"
, threshold: null
, and action: "notify"
.
Fields
Input Field | Description |
---|---|
name - String!
|
The unique name of the Balance Type Counter's current state. This name is used to identify both the previous and current states in Event Bridge notifications. If the counter is configured for policy management, state names should correspond to the PCRF values of the associated policy counter. The name must be between 1 and 50 characters and consist of letters, digits, or special characters. |
threshold - Float
|
The threshold value that determines when the Balance Type Counter transitions to the specified state. If no threshold is provided, the state is considered the default state. This threshold is compared against either the used or available balance to trigger state transitions.
|
actions - [BalanceTypeCounterStateAction!]
|
Specifies the actions to be performed when the counter reaches the given state.
Actions typically include notifications sent to Event Bridge. If the counter is configured for Policy Management, the PCRF is additionally notified about state changes for the subscribed counters. |
Example
{
"name": "xyz789",
"threshold": 987.65,
"actions": ["NOTIFY"]
}
BalanceTypeCountersPayload
Description
A representation of Balance Type Counters associated with a balance type.
Fields
Field Name | Description |
---|---|
balanceTypeId - ID!
|
The Balance Type associated with the Balance Type Counter. |
counters - [BalanceTypeCounterPayload]!
|
The counters information payload. |
Example
{
"balanceTypeId": 4,
"counters": [BalanceTypeCounterPayload]
}
BalanceTypeHasReferences
Description
An error type to be thrown if the balance type is used in an active plan.
Example
{
"balanceTypeId": 4,
"errorCode": "abc123",
"errorMessage": "xyz789"
}
BalanceTypeNameInUse
Description
An error type to be thrown if the BalanceType name is already in use.
Example
{
"balanceTypeId": "4",
"name": "abc123",
"errorCode": "xyz789",
"errorMessage": "xyz789"
}
BalanceTypeNotFound
Description
An error type to be thrown if a balance type was not found.
Example
{
"providerId": "4",
"balanceTypeId": 4,
"errorCode": "xyz789",
"errorMessage": "xyz789"
}
BalanceTypePayload
Description
Balance type return type.
Fields
Field Name | Description |
---|---|
balanceTypeId - ID!
|
ID for the balance type. |
providerId - ID!
|
Provider ID. |
name - String!
|
Name of the balance type. |
unitType - UnitType!
|
Unit type of the balance type. |
limit - Float
|
The maximum amount a balance of a specific Rate-based balances (e.g., the default Monetary balance) can have decimal limits, while others (e.g., volume, time) should use integers. |
rateBased - Boolean!
|
Specifies whether the BalanceType is rate-based, like the default Monetary balance, or allowance-based, measured in units (e.g., time, volume). |
counters - [BalanceTypeCounterPayload!]
|
List of counters configured for the given BalanceType . |
Example
{
"balanceTypeId": 4,
"providerId": "4",
"name": "xyz789",
"unitType": "TIME",
"limit": 987.65,
"rateBased": true,
"counters": [BalanceTypeCounterPayload]
}
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
true
BulkUploadMetadataInput
Description
Input parameters for bulk uploading metadata
Fields
Input Field | Description |
---|---|
providerId - ID!
|
Provider ID. |
Example
{"providerId": 4}
BulkUploadMetadataJobNotFound
Description
An error type to be thrown if a job was not found for given ID.
Example
{
"providerId": "4",
"jobId": 4,
"errorCode": "abc123",
"errorMessage": "xyz789"
}
BulkUploadMetadataJobStatus
Description
Status of a bulk update job.
Values
Enum Value | Description |
---|---|
|
The job was created, but a file was not yet provided. |
|
The job was started, but not yet completed. |
|
The job ended successfully. |
|
The job ended with a failure. |
Example
"CREATED"
BulkUploadMetadataPayload
BulkUploadMetadataResult
Types
Union Types |
---|
Example
BulkUploadMetadataPayload
Campaign
Description
Campaign details.
Fields
Field Name | Description |
---|---|
providerId - ID!
|
The object belongs to a provider. |
id - ID!
|
The unique identifier for the campaign. |
name - String!
|
The name of the campaign. |
description - String
|
A custom description of the campaign. |
campaignSchedule - CampaignSchedule
|
Specifies the schedule settings for a campaign. |
campaignEmailMessage - CampaignEmailMessage
|
Specifies the content for an email message that's sent to recipients of a campaign. |
offers - [Offer!]
|
Offers for this campaign. |
cohort - AccountCohort!
|
Cohort for this campaign. |
state - CampaignState!
|
The current status of the campaign. |
createdAt - AWSDateTime!
|
When it was created. |
modifiedAt - AWSDateTime!
|
When it was last modified. |
Example
{
"providerId": 4,
"id": "4",
"name": "xyz789",
"description": "xyz789",
"campaignSchedule": CampaignSchedule,
"campaignEmailMessage": CampaignEmailMessage,
"offers": [Offer],
"cohort": AccountCohort,
"state": "COMPLETED",
"createdAt": AWSDateTime,
"modifiedAt": AWSDateTime
}
CampaignActivityDetail
CampaignActivityEntry
Description
The actual statistics for the campaign execution.
Fields
Field Name | Description |
---|---|
state - CampaignExecutionState!
|
The current status of the activity. |
successfulAccountCount - Int!
|
The total number of accounts that the campaign successfully delivered messages to. |
totalAccountCount - Int!
|
The total number of accounts that the campaign successfully delivered messages to. |
scheduledStart - AWSDateTime
|
The scheduled start time of the activity. |
actualStart - AWSDateTime
|
The actual start time of the activity. |
end - AWSDateTime
|
The actual end time when the activity was cancelled or completed. |
executionMetrics - CampaignExecutionMetric
|
The metrics for the execution. |
Example
{
"state": "PENDING",
"successfulAccountCount": 123,
"totalAccountCount": 123,
"scheduledStart": AWSDateTime,
"actualStart": AWSDateTime,
"end": AWSDateTime,
"executionMetrics": CampaignExecutionMetric
}
CampaignAlreadyCompleted
Description
An error type to be thrown if campaign was already completed with the given inputs.
Example
{
"providerId": "4",
"campaignId": 4,
"errorCode": "abc123",
"errorMessage": "abc123"
}
CampaignConnection
Description
A connection to a list of Campaign items.
Fields
Field Name | Description |
---|---|
edges - [CampaignEdge!]!
|
List of campaigns. |
pageInfo - PageInfo!
|
Information about pagination in a connection. |
Example
{
"edges": [CampaignEdge],
"pageInfo": PageInfo
}
CampaignEdge
CampaignEmailMessage
Description
Campaign email message content.
Fields
Field Name | Description |
---|---|
body - String
|
The body of the email for recipients whose email clients don't render HTML content. |
htmlBody - String!
|
The body of the email, in HTML format, for recipients whose email clients render HTML content. |
subject - String!
|
The subject line, or title, of the email. |
Example
{
"body": "xyz789",
"htmlBody": "xyz789",
"subject": "abc123"
}
CampaignEmailMessageInput
Description
Input for campaign email message content.
Fields
Input Field | Description |
---|---|
body - String
|
The body of the email for recipients whose email clients don't render HTML content. |
htmlBody - String!
|
The body of the email, in HTML format, for recipients whose email clients render HTML content. |
subject - String!
|
The subject line, or title, of the email. |
Example
{
"body": "abc123",
"htmlBody": "xyz789",
"subject": "xyz789"
}
CampaignExecutionMetric
Description
The detailed statistics for the campaign.
Fields
Field Name | Description |
---|---|
hardBounceRate - Float
|
For all campaign runs, the percentage of email messages that couldn't be delivered to recipients. This metric measures only hard bounces—that is, messages in which the recipient's email address had a permanent issue that prevented the message from being delivered. |
successfulDeliveryRate - Float
|
For all campaign runs, the percentage of messages that were delivered to recipients. |
successfulDeliveryGroupedByDate - [CampaignActivityDetail]
|
For all campaign runs, the percentage of messages that were delivered to recipients during each day in the specified date range. The query results for this metric are grouped by calendar day. |
emailOpenRate - Float
|
For all campaign runs, the percentage of email messages that were opened by recipients. |
directEmailOpens - Float
|
For each campaign run, the number of email messages that were opened by recipients. |
uniqueDeliveries - Float
|
For all campaign runs, the number of unique endpoints that messages were delivered to. |
uniqueDeliveriesByDate - [CampaignActivityDetail]
|
For all campaign runs, the number of unique endpoints that messages were delivered to, for each day in the specified date range. The query results for this metric are grouped by calendar day. |
clicks - Float
|
For each campaign run, the number of times that recipients clicked links in the email message. If a single recipient clicked multiple links in the message, or clicked the same link more than once, each click is included in the count. |
successfulDeliveries - Float
|
For each campaign run, the number of messages that were delivered to recipients. |
attemptedDeliveries - Float
|
For each campaign run, the number of messages that were sent. |
Example
{
"hardBounceRate": 987.65,
"successfulDeliveryRate": 987.65,
"successfulDeliveryGroupedByDate": [
CampaignActivityDetail
],
"emailOpenRate": 987.65,
"directEmailOpens": 123.45,
"uniqueDeliveries": 123.45,
"uniqueDeliveriesByDate": [CampaignActivityDetail],
"clicks": 123.45,
"successfulDeliveries": 123.45,
"attemptedDeliveries": 987.65
}
CampaignExecutionState
Description
Status of the campaign.
Values
Enum Value | Description |
---|---|
|
The campaign is pending. |
|
The campaign is invalid. |
|
The campaign is running. |
|
The campaign is paused. |
|
The campaign has been cancelled. |
|
The campaign has been completed. |
|
The campaign failed. |
Example
"PENDING"
CampaignFrequency
Description
Frequency at which the campaign is sent.
Values
Enum Value | Description |
---|---|
|
Campaign is sent once. |
|
Campaign is sent hourly. |
|
Campaign is sent daily. |
|
Campaign is sent weekly. |
|
Campaign is sent monthly. |
Example
"ONCE"
CampaignManagementNotReady
Description
An error type to be thrown if the campaign management is not fully ready.
Example
{
"providerId": "4",
"errorCode": "xyz789",
"errorMessage": "xyz789"
}
CampaignNotFound
Description
An error type to be thrown if campaign was not found with the given inputs.
Example
{
"providerId": "4",
"campaignId": "4",
"errorCode": "xyz789",
"errorMessage": "abc123"
}
CampaignSchedule
Description
Campaign schedule settings.
Fields
Field Name | Description |
---|---|
startDate - AWSDateTime!
|
The scheduled start date of the campaign in ISO 8601 format. |
endDate - AWSDateTime
|
The scheduled end date of the campaign in ISO 8601 format. |
frequency - CampaignFrequency!
|
The frequency at which the campaign is sent. |
Example
{
"startDate": AWSDateTime,
"endDate": AWSDateTime,
"frequency": "ONCE"
}
CampaignScheduleInput
Description
Input for campaign schedule settings.
Fields
Input Field | Description |
---|---|
startDate - AWSDateTime
|
The scheduled start date of the campaign in ISO 8601 format. Optional, Campaign is started immediately if omitted. |
endDate - AWSDateTime!
|
The scheduled end date of the campaign in ISO 8601 format. |
frequency - CampaignFrequency!
|
The frequency at which the campaign is sent. |
Example
{
"startDate": AWSDateTime,
"endDate": AWSDateTime,
"frequency": "ONCE"
}
CampaignState
Description
Status of the campaign.
Values
Enum Value | Description |
---|---|
|
The campaign has been completed. |
|
The campaign has been deleted. |
|
The campaign is currently executing. |
|
The campaign is invalid. |
|
The campaign is paused. |
|
The campaign is pending its next run. |
|
The campaign is scheduled to run. |
Example
"COMPLETED"
CampaignStatisticsConnection
Description
A connection to a list of Campaign items.
Fields
Field Name | Description |
---|---|
edges - [CampaignStatisticsEdge!]!
|
List of campaigns. |
pageInfo - PageInfo!
|
Information about pagination in a connection. |
Example
{
"edges": [CampaignStatisticsEdge],
"pageInfo": PageInfo
}
CampaignStatisticsEdge
Description
An edge in a connection.
Fields
Field Name | Description |
---|---|
node - CampaignActivityEntry!
|
The item at the end of the edge. |
cursor - String!
|
A cursor for use in pagination. |
Example
{
"node": CampaignActivityEntry,
"cursor": "xyz789"
}
CampaignStatisticsPayload
Description
Return type for campaign statistics.
Fields
Field Name | Description |
---|---|
providerId - ID!
|
A unique identifier of a service provider. |
campaignId - ID!
|
The campaign ID. |
statistics - CampaignStatisticsConnection!
|
Array of statitics for each execution of the campaign. |
Example
{
"providerId": 4,
"campaignId": "4",
"statistics": CampaignStatisticsConnection
}
CampaignStatisticsResult
Description
Return type of campaign statistics including all possible errors.
Example
CampaignStatisticsPayload
CampaignsNotEnabled
Description
An error type to be thrown if a campaign management feature is not enabled for the provider.
Example
{
"providerId": 4,
"errorCode": "abc123",
"errorMessage": "abc123"
}
CancelPlanSubscriptionInput
Description
Input type of CancelPlanSubscription.
Example
{
"planSubscriptionId": "4",
"providerId": 4,
"accountId": "4"
}
CancelPlanVersionSubscriptionPayload
CancelPlanVersionSubscriptionResult
Description
Return type of CancelPlanVersionSubscription including all possible errors.
AccountNotFound (AccountNotFound)
- The requested account with the provided ID cannot be found.SubscriptionNotFound (SubscriptionNotFound)
- The plan subscription with the provided ID was not found.InvalidField (OnlyOnePlanToBeProvided)
- You cannot provide both planId and planVersionId. (Deprecated, will be removed 12.08.2024)InvalidField (PlanMustBeProvided)
- Either planId or planVersionId must be provided. (Deprecated, will be removed 12.08.2024)PlanVersionNotFound (PlanVersionNotFound)
- No plan version was found. (Deprecated, will be removed 12.08.2024)MultipleSubscriptions (MultipleSubscriptions)
- Multiple subscriptions found. (Deprecated, will be removed 12.08.2024)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": "abc123",
"errorMessage": "abc123"
}
CannotSetLongFirstBillingCycle
Description
An error that is thrown when user tries to set longFirstBillingCycle without changing DoM
Example
{
"providerId": "4",
"accountId": "4",
"errorCode": "abc123",
"errorMessage": "xyz789"
}
CopyFromPlanVersion
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
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.
Example
{
"planVersionId": "4",
"name": "abc123"
}
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": "xyz789"}
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": "abc123",
"increment": "xyz789",
"states": [CounterState],
"notificationFields": ["abc123"]
}
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": "abc123",
"increment": "abc123",
"states": [CounterStateInput],
"notificationFields": ["abc123"]
}
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": "xyz789"}
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 |
---|---|
|
Counter value is reset when the plan that contains the counter is renewed. |
|
Counter value is reset every month. |
|
Counter value is reset every day. |
|
Counter value is never reset. |
Example
"SAME_AS_PLAN"
CounterState
Description
List of name / value pairs used to determine the counter's current state.
Example
{
"name": "xyz789",
"threshold": "abc123"
}
CounterStateInput
Description
List of name / value pairs used to determine the counter's current state.
Example
{
"name": "abc123",
"threshold": "abc123"
}
CreateAccountCohortInput
Description
Defines the input for the CreateAccountCohort mutation.
Fields
Input Field | Description |
---|---|
providerId - ID!
|
A unique identifier of a service provider. |
definition - AccountCohortInput!
|
Defines the input for the Account Cohort properties. |
Example
{"providerId": 4, "definition": AccountCohortInput}
CreateAccountCohortResult
Types
Union Types |
---|
Example
AccountCohort
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 should be negative/zero for prepaid accounts and positive for postpaid accounts. |
notificationCreditLimitThresholds - [Float!]
|
Thresholds of the default monetary balance on the account. Whenever the account balance goes lower than any of the values in the set a notification is sent. |
balances - [CreateBalanceInfoInput!]
|
Balances types for account. TODO: Make it required field when moving to schema.graphql |
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. |
transactionId - ID
|
An optional transaction ID to ensure idempotency of the API call if required. |
Example
{
"providerId": 4,
"accountId": 4,
"parentAccountId": 4,
"customData": AWSJSON,
"friendsAndFamily": ["abc123"],
"creditLimit": 123.45,
"notificationCreditLimitThresholds": [123.45],
"balances": [CreateBalanceInfoInput],
"postpaid": CreateAccountPostpaidPropertiesInput,
"activatedAt": AWSDateTime,
"transactionId": 4
}
CreateAccountPayload
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 +/-hh:mm or Country/City format. 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 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": true
}
CreateAccountResult
Description
Return type of CreateAccount including all possible errors.
BalanceTypeNotFound (BalanceTypeNotFound)
- The balance type ID provided does not exist.TransactionHasBeenProcessed (TransactionHasBeenProcessed)
- The transaction has been processed.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 or use a Country/City format.InvalidField (InvalidDayOfMonth)
- Billing day of month should be between 1 and 31 inclusive.InvalidField (InvalidCreateBalanceInfoInput)
- Only value field can be provided for the default monetary balance type.InvalidField (BalanceLimitViolation)
- When the balance total exceeds the balance or balance type limit or limit exceeds the limit in balance type.
Example
CreateAccountPayload
CreateBalanceInfoInput
Description
Input type for creating a new balance details.
Fields
Input Field | Description |
---|---|
balanceTypeId - ID!
|
ID of the BalanceType , which defines the characteristics of the balance to be created, such as type (e.g., volume, time, rate), notification thresholds, policy counters, and the maximum allowable value. |
priority - Float!
|
Priority of the balance. If there are multiple balances of the same type, the one with the highest priority will be used first. |
value - Float!
|
Value of the balance. |
limit - Float
|
The maximum amount a balance can reach through credit operations. If there are multiple balances of the same BalanceType on the account, the limit applies independently to each balance. If not specified, limits are inherited from the BalanceType. For rate-based |
from - AWSDateTime
|
Defines the start date of the balance's validity. |
to - AWSDateTime
|
Defines the end date of the balance's validity. |
Example
{
"balanceTypeId": 4,
"priority": 123.45,
"value": 123.45,
"limit": 987.65,
"from": AWSDateTime,
"to": AWSDateTime
}
CreateBalanceInput
Description
Input type for creating a new balance.
Fields
Input Field | Description |
---|---|
providerId - ID!
|
Provider ID. |
accountId - ID!
|
Account ID. |
balanceInfo - CreateBalanceInfoInput!
|
Details of the balance to be created, including its type, value, and validity. |
transactionId - ID
|
An optional transaction ID to ensure idempotency of the API call, allowing for transaction correlation between Totogi and upstream systems. If not provided, Totogi automatically generates a unique identifier for each transaction |
Example
{
"providerId": 4,
"accountId": 4,
"balanceInfo": CreateBalanceInfoInput,
"transactionId": "4"
}
CreateBalanceResult
Description
Return type of DeleteBalance including all possible errors.
TransactionHasBeenProcessed (TransactionHasBeenProcessed)
- The transaction has been processed.InvalidField (InvalidLimit)
- The limit has to be an integer value if it is not a rate based balance. Only rate based balance types can have decimal limits.AccountNotFound (AccountNotFound)
- The specified account does not exist.BalanceTypeNotFound (BalanceTypeNotFound)
- None of the balance type IDs provided does exist.InvalidField (BalanceLimitViolation)
- When the balance total exceeds the balance or balance type limit or limit exceeds the limit in balance type.
Example
BalancePayload
CreateBalanceTypeInput
Description
Input type for creating a new balance type.
Fields
Input Field | Description |
---|---|
providerId - ID!
|
Provider ID. |
name - String!
|
Name of the balance type. Has to be unique across a tenant. |
unitType - UnitType!
|
Unit type of the balance type. |
limit - Float
|
Limit of the balance type. If the balance is rate based, it is equivalent creditLimit. |
rateBased - Boolean!
|
Whether it is a rate based balance type like a monetary balance or an allowance based type that is in units. If it is a rate based type, then decimal limits are allowed, otherwise, they aren't. |
counters - [BalanceTypeCounterInput!]
|
List of balance type counter inputs of the balance type. |
Example
{
"providerId": "4",
"name": "xyz789",
"unitType": "TIME",
"limit": 123.45,
"rateBased": false,
"counters": [BalanceTypeCounterInput]
}
CreateBalanceTypeResult
Description
Return type of CreateBalanceType including all possible errors.
BalanceTypeNameInUse (BalanceTypeNameInUse)
- The balance type name is already in use.InvalidField (InvalidLimit)
- The limit has to be an integer value if it is not a rate based balance type. Only rate based balance types can have decimal limits.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 across the balance type.InvalidField (InvalidCounterStates)
- Thresholds and names of states must be unique across the counter and one of the states must not have a threshold.
Types
Union Types |
---|
Example
BalanceTypePayload
CreateCampaignInput
Description
Input for creating a campaign.
Fields
Input Field | Description |
---|---|
providerId - ID!
|
Service provider ID. |
name - String!
|
The name of the campaign. |
description - String
|
A custom description of the campaign. |
campaignSchedule - CampaignScheduleInput
|
Specifies the schedule settings for a campaign. If not provided, it will default to an intermediately starting campaign. |
campaignEmailMessage - CampaignEmailMessageInput
|
Specifies the content for an email message that's sent to recipients of a campaign. |
offerIds - [ID!]
|
Array of Offers. |
cohortId - ID!
|
The Cohort ID. |
Example
{
"providerId": 4,
"name": "xyz789",
"description": "xyz789",
"campaignSchedule": CampaignScheduleInput,
"campaignEmailMessage": CampaignEmailMessageInput,
"offerIds": ["4"],
"cohortId": "4"
}
CreateCampaignPayload
Description
Return type of createCampaign.
Fields
Field Name | Description |
---|---|
campaign - Campaign!
|
The created campaign. |
Example
{"campaign": Campaign}
CreateCampaignResult
Description
Result of the CreateCampaign mutation.
InvalidField (NameAlreadyExists)
- The campaign name already exists
Example
CreateCampaignPayload
CreateDeviceInput
Description
Input type of CreateDevice.
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". For the N28/SY interface, the path must start from either "transformedN28Request" or "transformedN28Response". You can then set the custom "tenantIdentifier" field by using the path "transformedN28Request.tenantIdentifier". This field can and will not be set on deleting spending limit subscriptions but the subscription ID will be used. |
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". For the N28/SY interface, the expression must start with either "originalN28Request" or "originalN28Response". |
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. |