GS2-Schedule SDK API Reference

Specification of models and API references for GS2-Schedule SDK for various programming languages

Model

Namespace

Namespace

A Namespace allows multiple independent instances of the same service within a single project by separating data spaces and usage contexts. Each GS2 service is managed on a per-namespace basis. Even when using the same service, if the namespace differs, the data is treated as a completely independent data space.

Therefore, you must create a namespace before you can start using each service.

Details
TypeConditionRequiredDefaultValue LimitsDescription
namespaceIdstring
*
~ 1024 charsNamespace GRN
* Set automatically by the server
namestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
descriptionstring~ 1024 charsDescription
transactionSettingTransactionSettingTransaction Setting
Configuration for controlling how transactions are processed when executing schedule operations.
logSettingLogSettingLog Setting
Configuration for outputting schedule-related operation logs to GS2-Log.
When configured, actions such as event queries, trigger activation, and trigger deletion are recorded for analysis and auditing.
createdAtlong
*
NowDatetime of creation
Unix time, milliseconds
* Set automatically by the server
updatedAtlong
*
NowDatetime of last update
Unix time, milliseconds
* Set automatically by the server
revisionlong00 ~ 9223372036854775805Revision

TransactionSetting

Transaction Setting

Transaction Setting controls how transactions are executed, including their consistency, asynchronous processing, and conflict avoidance mechanisms. Combining features like AutoRun, AtomicCommit, asynchronous execution using GS2-Distributor, batch application of script results, and asynchronous Acquire Actions via GS2-JobQueue enables robust transaction management tailored to game logic.

Details
TypeConditionRequiredDefaultValue LimitsDescription
enableAutoRunboolfalseWhether to automatically execute issued transactions on the server side
enableAtomicCommitbool{enableAutoRun} == truefalseWhether to commit the execution of transactions atomically
* Applicable only if enableAutoRun is true
transactionUseDistributorbool{enableAtomicCommit} == truefalseWhether to execute transactions asynchronously
* Applicable only if enableAtomicCommit is true
commitScriptResultInUseDistributorbool{transactionUseDistributor} == truefalseWhether to execute the commit processing of the script result asynchronously
* Applicable only if transactionUseDistributor is true
acquireActionUseJobQueuebool{enableAtomicCommit} == truefalseWhether to use GS2-JobQueue to execute the acquire action
* Applicable only if enableAtomicCommit is true
distributorNamespaceIdstring“grn:gs2:{region}:{ownerId}:distributor:default”~ 1024 charsGS2-Distributor Namespace GRN used to execute transactions
queueNamespaceIdstring“grn:gs2:{region}:{ownerId}:queue:default”~ 1024 charsGS2-JobQueue Namespace GRN used to execute transactions

LogSetting

Log Output Setting

Log Output Setting defines how log data is exported. This type holds the GS2-Log namespace identifier (Namespace ID) used to export log data. Specify the GS2-Log namespace where log data is collected and stored in the GRN format for the Log Namespace ID (loggingNamespaceId). Configuring this setting ensures that log data for API requests and responses occurring within the specified namespace is output to the target GS2-Log namespace. GS2-Log provides real-time logs that can be used for system monitoring, analysis, debugging, and other operational purposes.

Details
TypeConditionRequiredDefaultValue LimitsDescription
loggingNamespaceIdstring
~ 1024 charsGS2-Log namespace GRN to output logs
Must be specified in GRN format starting with “grn:gs2:”.

GitHubCheckoutSetting

Setup to check out master data from GitHub

Details
TypeConditionRequiredDefaultValue LimitsDescription
apiKeyIdstring
~ 1024 charsGitHub API Key GRN
repositoryNamestring
~ 1024 charsRepository Name
sourcePathstring
~ 1024 charsMaster data (JSON) file path
referenceTypeString Enum
enum {
  “commit_hash”,
  “branch”,
  “tag”
}
Source of code
DefinitionDescription
“commit_hash”Commit hash
“branch”Branch
“tag”Tag
commitHashstring{referenceType} == “commit_hash”
✓*
~ 1024 charsCommit hash
* Required if referenceType is “commit_hash”
branchNamestring{referenceType} == “branch”
✓*
~ 1024 charsBranch Name
* Required if referenceType is “branch”
tagNamestring{referenceType} == “tag”
✓*
~ 1024 charsTag Name
* Required if referenceType is “tag”

Trigger

Trigger

Defines the starting point for relative event scheduling, enabling per-player event periods. When a trigger is activated for a player, it records the activation time (triggeredAt) and an expiration time (expiresAt). Events configured with “relative” schedule type reference a trigger by name; the event period for that player starts from the trigger’s activation time and ends at its expiration. Triggers can be renewed (resetting createdAt and updating expiresAt) and are automatically cleaned up via TTL after expiration.

Details
TypeConditionRequiredDefaultValue LimitsDescription
triggerIdstring
*
~ 1024 charsTrigger GRN
* Set automatically by the server
namestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
triggeredAtlong
*
NowTriggered At
The timestamp when this trigger was activated.
Serves as the reference starting point for relative event scheduling. Automatically set to the current time if not explicitly specified.
Expressed as Unix time in milliseconds.
expiresAtlong
Expires At
The timestamp when this trigger expires and the relative event period ends.
After this time, the trigger is considered expired (IsExpire returns true) and the associated relative event is no longer active for this player.
The trigger data is automatically cleaned up via DynamoDB TTL after expiration. Expressed as Unix time in milliseconds.
createdAtlong
*
NowDatetime of creation
Unix time, milliseconds
* Set automatically by the server
revisionlong00 ~ 9223372036854775805Revision

Event

Event

Two types of event durations exist: absolute and relative. Absolute periods are fixed periods, for example, from YYYY-MM-DD 00:00 (UTC) to YYYY-MM-DD 23:59 (UTC). A relative period is an event period that varies from one game player to another, such as 24 hours from the time the trigger is activated.

In addition to the event duration, a repeat pattern can also be configured. An event period can be set up so that only Monday from 10:00 to 11:00 is included in the event period.

Details
TypeConditionRequiredDefaultValue LimitsDescription
eventIdstring
*
~ 1024 charsGS2-Schedule Event GRN
* Set automatically by the server
namestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
metadatastring~ 2048 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
scheduleTypeString Enum
enum {
  “absolute”,
  “relative”
}
Schedule Type
Determines how the event period is defined.
“absolute” uses fixed start/end timestamps that are the same for all players.
“relative” uses a per-player trigger as the starting point, enabling personalized event periods (e.g., 24 hours from when each player first logs in).
DefinitionDescription
“absolute”Fixed period
“relative”Player-specific period
absoluteBeginlongAbsolute Begin
The fixed start time of the event period for absolute scheduling.
All players share the same start time. If not set for an absolute event, the event is considered to have started from the beginning of time.
Expressed as Unix time in milliseconds.
absoluteEndlongAbsolute End
The fixed end time of the event period for absolute scheduling.
All players share the same end time. If not set for an absolute event, the event is considered to have no end.
Expressed as Unix time in milliseconds.
relativeTriggerNamestring{scheduleType} == “relative”
✓*
~ 128 charsEvent start trigger name
Specify the name of the trigger that serves as the starting point for the event when setting an event period relative to each game player (relative).
Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
* Required if scheduleType is “relative”
repeatSettingRepeatSetting
Repeat Setting
Configuration for recurring time windows within the event period.
Allows narrowing the active period to specific hours, days of the week, days of the month, or custom active/inactive day cycles.
Set repeatType to “always” to keep the event active throughout the entire event period without any repeating pattern.

RepeatSetting

Repeat Setting

Configures a recurring time window within the overall event period. Supports five repeat types: “always” (entire event period), “daily” (specific hours each day), “weekly” (specific day-of-week range with hours), “monthly” (specific day-of-month range with hours), and “custom” (alternating active/inactive day cycles from an anchor date). When beginHour equals endHour for daily/weekly/monthly types, the end time is treated as the same hour on the following day (i.e., a full 24-hour window).

Details
TypeConditionRequiredDefaultValue LimitsDescription
repeatTypeString Enum
enum {
  “always”,
  “daily”,
  “weekly”,
  “monthly”,
  “custom”
}
“always”Repeat Type
The type of repeat pattern to apply within the event period.
Determines which additional fields are required: daily/weekly/monthly require hour settings, weekly requires day-of-week, monthly requires day-of-month, and custom requires anchor timestamp and day counts.
Defaults to “always” if not specified.
DefinitionDescription
“always”Always during the entire event period
“daily”Every day during the event period from X:00 to X:00
“weekly”During the event period, every week from the start day to the end day, X:00 to X:00
“monthly”During the event period, every month from the start date to the end date, X:00 to X:00
“custom”Starting from the reference date, active for X days and inactive for Y days during the event period
beginDayOfMonthint{repeatType} == “monthly”
✓*
1 ~ 31Begin Day of Month
The day of the month when the repeat window starts (1-31).
If the specified value exceeds the number of days in a given month, it is treated as the last day of that month.
Only applicable when repeatType is “monthly”.
* Required if repeatType is “monthly”
endDayOfMonthint{repeatType} == “monthly”
✓*
1 ~ 31End Day of Month
The day of the month when the repeat window ends (1-31).
If the specified value exceeds the number of days in a given month, it is treated as the last day of that month.
Only applicable when repeatType is “monthly”.
* Required if repeatType is “monthly”
beginDayOfWeekString Enum
enum {
  “sunday”,
  “monday”,
  “tuesday”,
  “wednesday”,
  “thursday”,
  “friday”,
  “saturday”
}
{repeatType} == “weekly”
✓*
Begin Day of Week
The day of the week when the repeat window starts.
The window can span across week boundaries (e.g., Friday to Monday). Only applicable when repeatType is “weekly”.
DefinitionDescription
“sunday”Sunday
“monday”Monday
“tuesday”Tuesday
“wednesday”Wednesday
“thursday”Thursday
“friday”Friday
“saturday”Saturday
* Required if repeatType is “weekly”
endDayOfWeekString Enum
enum {
  “sunday”,
  “monday”,
  “tuesday”,
  “wednesday”,
  “thursday”,
  “friday”,
  “saturday”
}
{repeatType} == “weekly”
✓*
End Day of Week
The day of the week when the repeat window ends.
Combined with beginDayOfWeek to define the weekly active period. Only applicable when repeatType is “weekly”.
DefinitionDescription
“sunday”Sunday
“monday”Monday
“tuesday”Tuesday
“wednesday”Wednesday
“thursday”Thursday
“friday”Friday
“saturday”Saturday
* Required if repeatType is “weekly”
beginHourint{repeatType} in [“daily”, “weekly”, “monthly”]
✓*
0 ~ 23Begin Hour
The hour (UTC, 0-23) at which the repeat window starts each cycle.
Required for daily, weekly, and monthly repeat types. If beginHour equals endHour, the window spans a full 24 hours (ending at the same hour the next day).
* Required if repeatType is “daily”,“weekly”,“monthly”
endHourint{repeatType} in [“daily”, “weekly”, “monthly”]
✓*
0 ~ 24End Hour
The hour (UTC, 0-24) at which the repeat window ends each cycle.
A value of 24 represents midnight of the following day. Required for daily, weekly, and monthly repeat types.
* Required if repeatType is “daily”,“weekly”,“monthly”
anchorTimestamplong{repeatType} == “custom”
✓*
Anchor Timestamp
The reference date from which the custom active/inactive cycle begins.
The system calculates which phase (active or inactive) the current time falls into based on elapsed days from this anchor.
Only applicable when repeatType is “custom”. Expressed as Unix time in milliseconds.
* Required if repeatType is “custom”
activeDaysint{repeatType} == “custom”
✓*
1 ~ 2147483646Active Days
The number of consecutive days the event is active in each custom cycle.
After these active days, the event becomes inactive for the number of days specified by inactiveDays, then the cycle repeats.
Only applicable when repeatType is “custom”. Minimum 1 day.
* Required if repeatType is “custom”
inactiveDaysint{repeatType} == “custom”
✓*
0 ~ 2147483646Inactive Days
The number of consecutive days the event is inactive in each custom cycle.
Follows the active days period. Set to 0 for a continuously active event with no gaps.
Only applicable when repeatType is “custom”. Minimum 0 days.
* Required if repeatType is “custom”

RepeatSchedule

Repeat Schedule

Represents the current state of an event’s repeat cycle at a given point in time. Contains the repeat count (how many times the cycle has occurred), the current active window’s start and end times, the last completed window’s end time, and the next upcoming window’s start time. This information is computed dynamically from the event’s repeat settings and the current time.

Details
TypeConditionRequiredDefaultValue LimitsDescription
repeatCountint
0 ~ 2147483646Repeat Count
The number of repeat cycles that have completed up to the current time.
Increments each time a repeat window ends. Useful for tracking progress through seasonal or periodic event cycles.
currentRepeatStartAtlongCurrent Repeat Start At
The start time of the currently active repeat window.
Null if the event is not currently in an active repeat window. Expressed as Unix time in milliseconds.
currentRepeatEndAtlongCurrent Repeat End At
The end time of the currently active repeat window.
Null if the event is not currently in an active repeat window. Expressed as Unix time in milliseconds.
lastRepeatEndAtlongLast Repeat End At
The end time of the most recently completed repeat window.
Null if no repeat window has ended yet. Expressed as Unix time in milliseconds.
nextRepeatStartAtlongNext Repeat Start At
The start time of the next upcoming repeat window.
Null if there are no more upcoming repeat windows within the event period. Expressed as Unix time in milliseconds.

CurrentEventMaster

Currently active Event master data

This master data describes the definitions of Events currently active within the namespace. GS2 uses JSON format files for managing master data. By uploading these files, the master data settings are updated on the server.

To create JSON files, GS2 provides a master data editor within the management console. Additionally, you can create tools better suited for game operations and export JSON files in the appropriate format.

Details
TypeConditionRequiredDefaultValue LimitsDescription
namespaceIdstring
*
~ 1024 charsNamespace GRN
* Set automatically by the server
settingsstring
~ 5242880 bytes (5MB)Master Data

EventMaster

Event Master

Event Master is data used to edit and manage event within the game. It is temporarily stored in the Management Console’s Master Data Editor. By performing import and update processes, it is reflected as event actually referenced by the game.

There are two types of event durations: absolute and relative. Absolute periods are fixed periods, for example, from YYYY-MM-DD 00:00 (UTC) to YYYY-MM-DD 23:59 (UTC). A relative period is an event period that varies from one game player to another, such as 24 hours from the time the trigger is activated.

In addition to the event duration, a repeat pattern can also be configured. An event period can be set up so that only Monday from 10:00 to 11:00 is included in the event period.

Details
TypeConditionRequiredDefaultValue LimitsDescription
eventIdstring
*
~ 1024 charsEvent Master GRN
* Set automatically by the server
namestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
descriptionstring~ 1024 charsDescription
metadatastring~ 2048 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
scheduleTypeString Enum
enum {
  “absolute”,
  “relative”
}
Schedule Type
Determines how the event period is defined.
“absolute” uses fixed start/end timestamps that are the same for all players.
“relative” uses a per-player trigger as the starting point, enabling personalized event periods (e.g., 24 hours from when each player first logs in).
DefinitionDescription
“absolute”Fixed period
“relative”Player-specific period
absoluteBeginlongAbsolute Begin
The fixed start time of the event period for absolute scheduling.
All players share the same start time. If not set for an absolute event, the event is considered to have started from the beginning of time.
Expressed as Unix time in milliseconds.
absoluteEndlongAbsolute End
The fixed end time of the event period for absolute scheduling.
All players share the same end time. If not set for an absolute event, the event is considered to have no end.
Expressed as Unix time in milliseconds.
relativeTriggerNamestring{scheduleType} == “relative”
✓*
~ 128 charsEvent start trigger name
Specify the name of the trigger that serves as the starting point for the event when setting an event period relative to each game player (relative).
Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
* Required if scheduleType is “relative”
repeatSettingRepeatSetting
Repeat Setting
Configuration for recurring time windows within the event period.
Allows narrowing the active period to specific hours, days of the week, days of the month, or custom active/inactive day cycles.
Set repeatType to “always” to keep the event active throughout the entire event period without any repeating pattern.
createdAtlong
*
NowDatetime of creation
Unix time, milliseconds
* Set automatically by the server
updatedAtlong
*
NowDatetime of last update
Unix time, milliseconds
* Set automatically by the server
revisionlong00 ~ 9223372036854775805Revision

Methods

describeNamespaces

Get a list of Namespaces

Retrieves a list of namespaces that have been created on a per-service basis within the project. You can use the optional page token to start acquiring data from a specific location in the list. You can also limit the number of namespaces to be acquired.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namePrefixstring~ 64 charsFilter by Namespace name prefix
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data items to retrieve

Result

TypeDescription
itemsList<Namespace>List of Namespace
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeNamespaces(
    &schedule.DescribeNamespacesRequest {
        NamePrefix: nil,
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeNamespacesRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeNamespaces(
        (new DescribeNamespacesRequest())
            ->withNamePrefix(null)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeNamespacesRequest;
import io.gs2.schedule.result.DescribeNamespacesResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeNamespacesResult result = client.describeNamespaces(
        new DescribeNamespacesRequest()
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    List<Namespace> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
    new Gs2.Gs2Schedule.Request.DescribeNamespacesRequest()
        .WithNamePrefix(null)
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeNamespaces(
        new Gs2Schedule.DescribeNamespacesRequest()
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_namespaces(
        schedule.DescribeNamespacesRequest()
            .with_name_prefix(None)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_namespaces({
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_namespaces_async({
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createNamespace

Create a new Namespace

You must specify detailed information including the name, description, and various settings of the namespace.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
descriptionstring~ 1024 charsDescription
transactionSettingTransactionSettingTransaction Setting
Configuration for controlling how transactions are processed when executing schedule operations.
logSettingLogSettingLog Setting
Configuration for outputting schedule-related operation logs to GS2-Log.
When configured, actions such as event queries, trigger activation, and trigger deletion are recorded for analysis and auditing.

Result

TypeDescription
itemNamespaceNamespace created

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CreateNamespace(
    &schedule.CreateNamespaceRequest {
        Name: pointy.String("namespace-0001"),
        Description: nil,
        TransactionSetting: nil,
        LogSetting: &schedule.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CreateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->createNamespace(
        (new CreateNamespaceRequest())
            ->withName("namespace-0001")
            ->withDescription(null)
            ->withTransactionSetting(null)
            ->withLogSetting((new \Gs2\Schedule\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CreateNamespaceRequest;
import io.gs2.schedule.result.CreateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CreateNamespaceResult result = client.createNamespace(
        new CreateNamespaceRequest()
            .withName("namespace-0001")
            .withDescription(null)
            .withTransactionSetting(null)
            .withLogSetting(new io.gs2.schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
    new Gs2.Gs2Schedule.Request.CreateNamespaceRequest()
        .WithName("namespace-0001")
        .WithDescription(null)
        .WithTransactionSetting(null)
        .WithLogSetting(new Gs2.Gs2Schedule.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.createNamespace(
        new Gs2Schedule.CreateNamespaceRequest()
            .withName("namespace-0001")
            .withDescription(null)
            .withTransactionSetting(null)
            .withLogSetting(new Gs2Schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.create_namespace(
        schedule.CreateNamespaceRequest()
            .with_name('namespace-0001')
            .with_description(None)
            .with_transaction_setting(None)
            .with_log_setting(
                schedule.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.create_namespace({
    name="namespace-0001",
    description=nil,
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.create_namespace_async({
    name="namespace-0001",
    description=nil,
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getNamespaceStatus

Get Namespace status

Get the current status of the specified namespace. This includes whether the Namespace is active, pending, or in some other state.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
statusstring

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetNamespaceStatus(
    &schedule.GetNamespaceStatusRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
status := result.Status
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetNamespaceStatusRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getNamespaceStatus(
        (new GetNamespaceStatusRequest())
            ->withNamespaceName("namespace-0001")
    );
    $status = $result->getStatus();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetNamespaceStatusRequest;
import io.gs2.schedule.result.GetNamespaceStatusResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetNamespaceStatusResult result = client.getNamespaceStatus(
        new GetNamespaceStatusRequest()
            .withNamespaceName("namespace-0001")
    );
    String status = result.getStatus();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
    new Gs2.Gs2Schedule.Request.GetNamespaceStatusRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var status = result.Status;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getNamespaceStatus(
        new Gs2Schedule.GetNamespaceStatusRequest()
            .withNamespaceName("namespace-0001")
    );
    const status = result.getStatus();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_namespace_status(
        schedule.GetNamespaceStatusRequest()
            .with_namespace_name('namespace-0001')
    )
    status = result.status
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_namespace_status({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
status = result.status;
client = gs2('schedule')

api_result_handler = client.get_namespace_status_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
status = result.status;

getNamespace

Get namespace

Get detailed information about the specified namespace. This includes the name, description, and other settings of the namespace.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemNamespaceNamespace

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetNamespace(
    &schedule.GetNamespaceRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getNamespace(
        (new GetNamespaceRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetNamespaceRequest;
import io.gs2.schedule.result.GetNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetNamespaceResult result = client.getNamespace(
        new GetNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
    new Gs2.Gs2Schedule.Request.GetNamespaceRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getNamespace(
        new Gs2Schedule.GetNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_namespace(
        schedule.GetNamespaceRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_namespace({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_namespace_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

updateNamespace

Update Namespace

Update the settings of the specified namespace. You can change the description of the Namespace and specific settings.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
descriptionstring~ 1024 charsDescription
transactionSettingTransactionSettingTransaction Setting
Configuration for controlling how transactions are processed when executing schedule operations.
logSettingLogSettingLog Setting
Configuration for outputting schedule-related operation logs to GS2-Log.
When configured, actions such as event queries, trigger activation, and trigger deletion are recorded for analysis and auditing.

Result

TypeDescription
itemNamespaceNamespace updated

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateNamespace(
    &schedule.UpdateNamespaceRequest {
        NamespaceName: pointy.String("namespace-0001"),
        Description: pointy.String("description1"),
        TransactionSetting: nil,
        LogSetting: &schedule.LogSetting{
            LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateNamespace(
        (new UpdateNamespaceRequest())
            ->withNamespaceName("namespace-0001")
            ->withDescription("description1")
            ->withTransactionSetting(null)
            ->withLogSetting((new \Gs2\Schedule\Model\LogSetting())
                ->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateNamespaceRequest;
import io.gs2.schedule.result.UpdateNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateNamespaceResult result = client.updateNamespace(
        new UpdateNamespaceRequest()
            .withNamespaceName("namespace-0001")
            .withDescription("description1")
            .withTransactionSetting(null)
            .withLogSetting(new io.gs2.schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
    new Gs2.Gs2Schedule.Request.UpdateNamespaceRequest()
        .WithNamespaceName("namespace-0001")
        .WithDescription("description1")
        .WithTransactionSetting(null)
        .WithLogSetting(new Gs2.Gs2Schedule.Model.LogSetting()
            .WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001")),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateNamespace(
        new Gs2Schedule.UpdateNamespaceRequest()
            .withNamespaceName("namespace-0001")
            .withDescription("description1")
            .withTransactionSetting(null)
            .withLogSetting(new Gs2Schedule.model.LogSetting()
                .withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_namespace(
        schedule.UpdateNamespaceRequest()
            .with_namespace_name('namespace-0001')
            .with_description('description1')
            .with_transaction_setting(None)
            .with_log_setting(
                schedule.LogSetting()
                    .with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_namespace({
    namespaceName="namespace-0001",
    description="description1",
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_namespace_async({
    namespaceName="namespace-0001",
    description="description1",
    transactionSetting=nil,
    logSetting={
        loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteNamespace

Delete Namespace

Delete the specified namespace. This operation is irreversible and all data associated with the deleted Namespace will be lost.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemNamespaceThe deleted Namespace

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteNamespace(
    &schedule.DeleteNamespaceRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteNamespaceRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteNamespace(
        (new DeleteNamespaceRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteNamespaceRequest;
import io.gs2.schedule.result.DeleteNamespaceResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteNamespaceResult result = client.deleteNamespace(
        new DeleteNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    Namespace item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
    new Gs2.Gs2Schedule.Request.DeleteNamespaceRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteNamespace(
        new Gs2Schedule.DeleteNamespaceRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_namespace(
        schedule.DeleteNamespaceRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_namespace({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_namespace_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getServiceVersion

Get the microservice version

Details

Request

Request parameters: None

Result

TypeDescription
itemstringVersion

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetServiceVersion(
    &schedule.GetServiceVersionRequest {
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetServiceVersionRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getServiceVersion(
        (new GetServiceVersionRequest())
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetServiceVersionRequest;
import io.gs2.schedule.result.GetServiceVersionResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetServiceVersionResult result = client.getServiceVersion(
        new GetServiceVersionRequest()
    );
    String item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetServiceVersionResult> asyncResult = null;
yield return client.GetServiceVersion(
    new Gs2.Gs2Schedule.Request.GetServiceVersionRequest(),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getServiceVersion(
        new Gs2Schedule.GetServiceVersionRequest()
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_service_version(
        schedule.GetServiceVersionRequest()
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_service_version({
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_service_version_async({
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

dumpUserDataByUserId

Dump data associated with the specified user ID

Can be used to meet legal requirements for the protection of personal information, or to back up or migrate data.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DumpUserDataByUserId(
    &schedule.DumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DumpUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->dumpUserDataByUserId(
        (new DumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DumpUserDataByUserIdRequest;
import io.gs2.schedule.result.DumpUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DumpUserDataByUserIdResult result = client.dumpUserDataByUserId(
        new DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DumpUserDataByUserIdResult> asyncResult = null;
yield return client.DumpUserDataByUserId(
    new Gs2.Gs2Schedule.Request.DumpUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.dumpUserDataByUserId(
        new Gs2Schedule.DumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.dump_user_data_by_user_id(
        schedule.DumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.dump_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.dump_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

checkDumpUserDataByUserId

Check if the dump of the data associated with the specified user ID is complete

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
urlstringURL of output data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CheckDumpUserDataByUserId(
    &schedule.CheckDumpUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CheckDumpUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->checkDumpUserDataByUserId(
        (new CheckDumpUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $url = $result->getUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CheckDumpUserDataByUserIdRequest;
import io.gs2.schedule.result.CheckDumpUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CheckDumpUserDataByUserIdResult result = client.checkDumpUserDataByUserId(
        new CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    String url = result.getUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CheckDumpUserDataByUserIdResult> asyncResult = null;
yield return client.CheckDumpUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CheckDumpUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.checkDumpUserDataByUserId(
        new Gs2Schedule.CheckDumpUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.check_dump_user_data_by_user_id(
        schedule.CheckDumpUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.check_dump_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;
client = gs2('schedule')

api_result_handler = client.check_dump_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;

cleanUserDataByUserId

Delete user data

Execute cleaning of data associated with the specified user ID This allows you to safely delete specific user data from the project.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CleanUserDataByUserId(
    &schedule.CleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CleanUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->cleanUserDataByUserId(
        (new CleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CleanUserDataByUserIdRequest;
import io.gs2.schedule.result.CleanUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CleanUserDataByUserIdResult result = client.cleanUserDataByUserId(
        new CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CleanUserDataByUserIdResult> asyncResult = null;
yield return client.CleanUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CleanUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.cleanUserDataByUserId(
        new Gs2Schedule.CleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.clean_user_data_by_user_id(
        schedule.CleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.clean_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.clean_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

checkCleanUserDataByUserId

Check if the clean of the data associated with the specified user ID is complete

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CheckCleanUserDataByUserId(
    &schedule.CheckCleanUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CheckCleanUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->checkCleanUserDataByUserId(
        (new CheckCleanUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CheckCleanUserDataByUserIdRequest;
import io.gs2.schedule.result.CheckCleanUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CheckCleanUserDataByUserIdResult result = client.checkCleanUserDataByUserId(
        new CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CheckCleanUserDataByUserIdResult> asyncResult = null;
yield return client.CheckCleanUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CheckCleanUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.checkCleanUserDataByUserId(
        new Gs2Schedule.CheckCleanUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.check_clean_user_data_by_user_id(
        schedule.CheckCleanUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.check_clean_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.check_clean_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

prepareImportUserDataByUserId

Execute import of data associated with the specified user ID

The data that can be used for import is limited to the data exported by GS2, and old data may fail to import. You can import data with a user ID different from the one you exported, but if the user ID is included in the payload of the user data, this may not be the case.

You can start the actual import process by uploading the exported zip file to the URL returned in the return value of this API and calling importUserDataByUserId.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
uploadTokenstringToken used to reflect results after upload
uploadUrlstringURL used to upload user data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.PrepareImportUserDataByUserId(
    &schedule.PrepareImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrl
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\PrepareImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->prepareImportUserDataByUserId(
        (new PrepareImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $uploadToken = $result->getUploadToken();
    $uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.PrepareImportUserDataByUserIdRequest;
import io.gs2.schedule.result.PrepareImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    PrepareImportUserDataByUserIdResult result = client.prepareImportUserDataByUserId(
        new PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    String uploadToken = result.getUploadToken();
    String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.PrepareImportUserDataByUserIdResult> asyncResult = null;
yield return client.PrepareImportUserDataByUserId(
    new Gs2.Gs2Schedule.Request.PrepareImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.prepareImportUserDataByUserId(
        new Gs2Schedule.PrepareImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const uploadToken = result.getUploadToken();
    const uploadUrl = result.getUploadUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.prepare_import_user_data_by_user_id(
        schedule.PrepareImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    upload_token = result.upload_token
    upload_url = result.upload_url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.prepare_import_user_data_by_user_id({
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;
client = gs2('schedule')

api_result_handler = client.prepare_import_user_data_by_user_id_async({
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;

importUserDataByUserId

Execute import of data associated with the specified user ID

The data that can be used for import is limited to the data exported by GS2, and old data may fail to import. You can import data with a user ID different from the one you exported, but if the user ID is included in the payload of the user data, this may not be the case.

Before calling this API, you must call prepareImportUserDataByUserId to complete the upload preparation.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
uploadTokenstring
~ 1024 charsToken received in preparation for upload
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.ImportUserDataByUserId(
    &schedule.ImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\ImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->importUserDataByUserId(
        (new ImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
            ->withTimeOffsetToken(null)
    );
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.ImportUserDataByUserIdRequest;
import io.gs2.schedule.result.ImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    ImportUserDataByUserIdResult result = client.importUserDataByUserId(
        new ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.ImportUserDataByUserIdResult> asyncResult = null;
yield return client.ImportUserDataByUserId(
    new Gs2.Gs2Schedule.Request.ImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.importUserDataByUserId(
        new Gs2Schedule.ImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.import_user_data_by_user_id(
        schedule.ImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
            .with_time_offset_token(None)
    )
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.import_user_data_by_user_id({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
client = gs2('schedule')

api_result_handler = client.import_user_data_by_user_id_async({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result

checkImportUserDataByUserId

Check if the import of the data associated with the specified user ID is complete

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
userIdstring
~ 128 charsUser ID
uploadTokenstring
~ 1024 charsToken received in preparation for upload
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
urlstringURL of log data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CheckImportUserDataByUserId(
    &schedule.CheckImportUserDataByUserIdRequest {
        UserId: pointy.String("user-0001"),
        UploadToken: pointy.String("upload-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
url := result.Url
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CheckImportUserDataByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->checkImportUserDataByUserId(
        (new CheckImportUserDataByUserIdRequest())
            ->withUserId("user-0001")
            ->withUploadToken("upload-0001")
            ->withTimeOffsetToken(null)
    );
    $url = $result->getUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CheckImportUserDataByUserIdRequest;
import io.gs2.schedule.result.CheckImportUserDataByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CheckImportUserDataByUserIdResult result = client.checkImportUserDataByUserId(
        new CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
    String url = result.getUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CheckImportUserDataByUserIdResult> asyncResult = null;
yield return client.CheckImportUserDataByUserId(
    new Gs2.Gs2Schedule.Request.CheckImportUserDataByUserIdRequest()
        .WithUserId("user-0001")
        .WithUploadToken("upload-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.checkImportUserDataByUserId(
        new Gs2Schedule.CheckImportUserDataByUserIdRequest()
            .withUserId("user-0001")
            .withUploadToken("upload-0001")
            .withTimeOffsetToken(null)
    );
    const url = result.getUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.check_import_user_data_by_user_id(
        schedule.CheckImportUserDataByUserIdRequest()
            .with_user_id('user-0001')
            .with_upload_token('upload-0001')
            .with_time_offset_token(None)
    )
    url = result.url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.check_import_user_data_by_user_id({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;
client = gs2('schedule')

api_result_handler = client.check_import_user_data_by_user_id_async({
    userId="user-0001",
    uploadToken="upload-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
url = result.url;

describeTriggers

Get a list of Triggers

Retrieves a paginated list of triggers that have been pulled for the requesting user. Triggers are used to activate relative schedule events and have an expiration time (TTL).

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data items to retrieve

Result

TypeDescription
itemsList<Trigger>List of Triggers
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeTriggers(
    &schedule.DescribeTriggersRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeTriggersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeTriggers(
        (new DescribeTriggersRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeTriggersRequest;
import io.gs2.schedule.result.DescribeTriggersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeTriggersResult result = client.describeTriggers(
        new DescribeTriggersRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    List<Trigger> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeTriggersResult> asyncResult = null;
yield return client.DescribeTriggers(
    new Gs2.Gs2Schedule.Request.DescribeTriggersRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeTriggers(
        new Gs2Schedule.DescribeTriggersRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_triggers(
        schedule.DescribeTriggersRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_triggers({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_triggers_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    pageToken=nil,
    limit=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

describeTriggersByUserId

Get a list of Triggers by specifying a user ID

Retrieves a paginated list of triggers that have been pulled for the specified user. Triggers are used to activate relative schedule events and have an expiration time (TTL).

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data items to retrieve
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemsList<Trigger>List of Triggers
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeTriggersByUserId(
    &schedule.DescribeTriggersByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        PageToken: nil,
        Limit: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeTriggersByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeTriggersByUserId(
        (new DescribeTriggersByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withPageToken(null)
            ->withLimit(null)
            ->withTimeOffsetToken(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeTriggersByUserIdRequest;
import io.gs2.schedule.result.DescribeTriggersByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeTriggersByUserIdResult result = client.describeTriggersByUserId(
        new DescribeTriggersByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
            .withTimeOffsetToken(null)
    );
    List<Trigger> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeTriggersByUserIdResult> asyncResult = null;
yield return client.DescribeTriggersByUserId(
    new Gs2.Gs2Schedule.Request.DescribeTriggersByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithPageToken(null)
        .WithLimit(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeTriggersByUserId(
        new Gs2Schedule.DescribeTriggersByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withPageToken(null)
            .withLimit(null)
            .withTimeOffsetToken(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_triggers_by_user_id(
        schedule.DescribeTriggersByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_page_token(None)
            .with_limit(None)
            .with_time_offset_token(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_triggers_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    pageToken=nil,
    limit=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_triggers_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    pageToken=nil,
    limit=nil,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

getTrigger

Get trigger

Retrieves the specified trigger including its name, creation time, and expiration time (TTL). Returns the trigger’s current state for the requesting user.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemTriggerTrigger

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetTrigger(
    &schedule.GetTriggerRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        TriggerName: pointy.String("trigger1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetTriggerRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getTrigger(
        (new GetTriggerRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withTriggerName("trigger1")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetTriggerRequest;
import io.gs2.schedule.result.GetTriggerResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetTriggerResult result = client.getTrigger(
        new GetTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetTriggerResult> asyncResult = null;
yield return client.GetTrigger(
    new Gs2.Gs2Schedule.Request.GetTriggerRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithTriggerName("trigger1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getTrigger(
        new Gs2Schedule.GetTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_trigger(
        schedule.GetTriggerRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_trigger_name('trigger1')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_trigger({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_trigger_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getTriggerByUserId

Get Trigger by specifying a user ID

Retrieves the specified trigger including its name, creation time, and expiration time (TTL) for the specified user.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemTriggerTrigger

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetTriggerByUserId(
    &schedule.GetTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TriggerName: pointy.String("trigger1"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getTriggerByUserId(
        (new GetTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTriggerName("trigger1")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetTriggerByUserIdRequest;
import io.gs2.schedule.result.GetTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetTriggerByUserIdResult result = client.getTriggerByUserId(
        new GetTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetTriggerByUserIdResult> asyncResult = null;
yield return client.GetTriggerByUserId(
    new Gs2.Gs2Schedule.Request.GetTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTriggerName("trigger1")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getTriggerByUserId(
        new Gs2Schedule.GetTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_trigger_by_user_id(
        schedule.GetTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_trigger_name('trigger1')
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_trigger_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

triggerByUserId

Execute the Trigger by specifying a user ID

Pulls a trigger for the specified user. The trigger strategy determines behavior: ‘renew’ resets with new TTL, ’extend’ extends existing TTL, ‘drop’ ignores if already pulled, ‘repeatCycleEnd’/‘repeatCycleNextStart’/‘absoluteEnd’ aligns expiration with the specified event’s schedule. Pulling a trigger activates associated relative schedule events.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
triggerStrategyString Enum
enum {
  “renew”,
  “extend”,
  “drop”,
  “repeatCycleEnd”,
  “repeatCycleNextStart”,
  “absoluteEnd”
}
Trigger Execution Policy
DefinitionDescription
“renew”Redraw with a new period if the trigger has already been pulled
“extend”Extend the period if the trigger has already been pulled
“drop”Ignore if the trigger has already been pulled
“repeatCycleEnd”Trigger to expire at the end of the repeat period of the specified event
“repeatCycleNextStart”Trigger to expire at the next repeat start date and time of the specified event
“absoluteEnd”Trigger to expire at the end date and time of the specified event
ttlint{triggerStrategy} in [“renew”, “extend”, “drop”]
✓*
0 ~ 2147483646Trigger expiration time (seconds)
* Required if triggerStrategy is “renew”,“extend”,“drop”
eventIdstring{triggerStrategy} in [“repeatCycleEnd”, “repeatCycleNextStart”, “absoluteEnd”]
✓*
~ 1024 charsEvent GRN
* Required if triggerStrategy is “repeatCycleEnd”,“repeatCycleNextStart”,“absoluteEnd”
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemTriggerPulled Trigger

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.TriggerByUserId(
    &schedule.TriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        TriggerName: pointy.String("trigger1"),
        UserId: pointy.String("user-0001"),
        TriggerStrategy: pointy.String("renew"),
        Ttl: pointy.Int32(300),
        EventId: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\TriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->triggerByUserId(
        (new TriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withTriggerName("trigger1")
            ->withUserId("user-0001")
            ->withTriggerStrategy("renew")
            ->withTtl(300)
            ->withEventId(null)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.TriggerByUserIdRequest;
import io.gs2.schedule.result.TriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    TriggerByUserIdResult result = client.triggerByUserId(
        new TriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withTriggerStrategy("renew")
            .withTtl(300)
            .withEventId(null)
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.TriggerByUserIdResult> asyncResult = null;
yield return client.TriggerByUserId(
    new Gs2.Gs2Schedule.Request.TriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithTriggerName("trigger1")
        .WithUserId("user-0001")
        .WithTriggerStrategy("renew")
        .WithTtl(300)
        .WithEventId(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.triggerByUserId(
        new Gs2Schedule.TriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withTriggerStrategy("renew")
            .withTtl(300)
            .withEventId(null)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.trigger_by_user_id(
        schedule.TriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_trigger_name('trigger1')
            .with_user_id('user-0001')
            .with_trigger_strategy('renew')
            .with_ttl(300)
            .with_event_id(None)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.trigger_by_user_id({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    triggerStrategy="renew",
    ttl=300,
    eventId=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.trigger_by_user_id_async({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    triggerStrategy="renew",
    ttl=300,
    eventId=nil,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

extendTriggerByUserId

Extend the period of a trigger by specifying a user ID

Extends the expiration period of an existing trigger for the specified user by the specified number of seconds. If the trigger does not exist, a new trigger is created with the specified extension period as its TTL.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
extendSecondsint
0 ~ 2147483646Trigger extension period (seconds)
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemTriggerPulled Trigger

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.ExtendTriggerByUserId(
    &schedule.ExtendTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        TriggerName: pointy.String("trigger1"),
        UserId: pointy.String("user-0001"),
        ExtendSeconds: pointy.Int32(300),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\ExtendTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->extendTriggerByUserId(
        (new ExtendTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withTriggerName("trigger1")
            ->withUserId("user-0001")
            ->withExtendSeconds(300)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.ExtendTriggerByUserIdRequest;
import io.gs2.schedule.result.ExtendTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    ExtendTriggerByUserIdResult result = client.extendTriggerByUserId(
        new ExtendTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withExtendSeconds(300)
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.ExtendTriggerByUserIdResult> asyncResult = null;
yield return client.ExtendTriggerByUserId(
    new Gs2.Gs2Schedule.Request.ExtendTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithTriggerName("trigger1")
        .WithUserId("user-0001")
        .WithExtendSeconds(300)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.extendTriggerByUserId(
        new Gs2Schedule.ExtendTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withTriggerName("trigger1")
            .withUserId("user-0001")
            .withExtendSeconds(300)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.extend_trigger_by_user_id(
        schedule.ExtendTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_trigger_name('trigger1')
            .with_user_id('user-0001')
            .with_extend_seconds(300)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.extend_trigger_by_user_id({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    extendSeconds=300,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.extend_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    triggerName="trigger1",
    userId="user-0001",
    extendSeconds=300,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteTrigger

Delete Trigger

Deletes the specified trigger for the requesting user. Deleting a trigger deactivates associated relative schedule events.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemTriggerTrigger deleted

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteTrigger(
    &schedule.DeleteTriggerRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        TriggerName: pointy.String("trigger1"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteTriggerRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteTrigger(
        (new DeleteTriggerRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withTriggerName("trigger1")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteTriggerRequest;
import io.gs2.schedule.result.DeleteTriggerResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteTriggerResult result = client.deleteTrigger(
        new DeleteTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteTriggerResult> asyncResult = null;
yield return client.DeleteTrigger(
    new Gs2.Gs2Schedule.Request.DeleteTriggerRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithTriggerName("trigger1"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteTrigger(
        new Gs2Schedule.DeleteTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger1")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_trigger(
        schedule.DeleteTriggerRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_trigger_name('trigger1')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_trigger({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_trigger_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger1",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteTriggerByUserId

Delete Trigger by specifying a user ID

Deletes the specified trigger for the specified user. Deleting a trigger deactivates associated relative schedule events.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemTriggerTrigger deleted

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteTriggerByUserId(
    &schedule.DeleteTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TriggerName: pointy.String("trigger1"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteTriggerByUserId(
        (new DeleteTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTriggerName("trigger1")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteTriggerByUserIdRequest;
import io.gs2.schedule.result.DeleteTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteTriggerByUserIdResult result = client.deleteTriggerByUserId(
        new DeleteTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteTriggerByUserIdResult> asyncResult = null;
yield return client.DeleteTriggerByUserId(
    new Gs2.Gs2Schedule.Request.DeleteTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTriggerName("trigger1")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteTriggerByUserId(
        new Gs2Schedule.DeleteTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger1")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_trigger_by_user_id(
        schedule.DeleteTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_trigger_name('trigger1')
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_trigger_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger1",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

verifyTrigger

Verify the elapsed time since the trigger was pulled

Verifies conditions related to the trigger’s state. The verifyType can be: ’notTriggerd’ to verify the trigger has not been pulled, ’elapsed’ to verify the specified minutes have elapsed since the trigger was pulled, or ’notElapsed’ to verify the specified minutes have not yet elapsed. Returns an error if the verification condition is not met.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
verifyTypeString Enum
enum {
  “notTriggerd”,
  “elapsed”,
  “notElapsed”
}
Type of verification
DefinitionDescription
“notTriggerd”Trigger not pulled
“elapsed”Elapsed time
“notElapsed”Not elapsed time
elapsedMinutesint{verifyType} in [“elapsed”, “notElapsed”]
✓*
0 ~ 2147483646Elapsed time (minutes)
* Required if verifyType is “elapsed”,“notElapsed”

Result

TypeDescription
itemTriggerTrigger

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyTrigger(
    &schedule.VerifyTriggerRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        TriggerName: pointy.String("trigger-0001"),
        VerifyType: pointy.String("elapsed"),
        ElapsedMinutes: pointy.Int32(60),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyTriggerRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyTrigger(
        (new VerifyTriggerRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withTriggerName("trigger-0001")
            ->withVerifyType("elapsed")
            ->withElapsedMinutes(60)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyTriggerRequest;
import io.gs2.schedule.result.VerifyTriggerResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyTriggerResult result = client.verifyTrigger(
        new VerifyTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyTriggerResult> asyncResult = null;
yield return client.VerifyTrigger(
    new Gs2.Gs2Schedule.Request.VerifyTriggerRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithTriggerName("trigger-0001")
        .WithVerifyType("elapsed")
        .WithElapsedMinutes(60),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyTrigger(
        new Gs2Schedule.VerifyTriggerRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_trigger(
        schedule.VerifyTriggerRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_trigger_name('trigger-0001')
            .with_verify_type('elapsed')
            .with_elapsed_minutes(60)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_trigger({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.verify_trigger_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

verifyTriggerByUserId

Verify the elapsed time since the Trigger was pulled by specifying a user ID

Verifies conditions related to the trigger’s state for the specified user. The verifyType can be: ’notTriggerd’, ’elapsed’, or ’notElapsed’. Returns an error if the verification condition is not met.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
triggerNamestring
~ 128 charsTrigger name
Trigger-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
verifyTypeString Enum
enum {
  “notTriggerd”,
  “elapsed”,
  “notElapsed”
}
Type of verification
DefinitionDescription
“notTriggerd”Trigger not pulled
“elapsed”Elapsed time
“notElapsed”Not elapsed time
elapsedMinutesint{verifyType} in [“elapsed”, “notElapsed”]
✓*
0 ~ 2147483646Elapsed time (minutes)
* Required if verifyType is “elapsed”,“notElapsed”
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemTriggerTrigger

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyTriggerByUserId(
    &schedule.VerifyTriggerByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TriggerName: pointy.String("trigger-0001"),
        VerifyType: pointy.String("elapsed"),
        ElapsedMinutes: pointy.Int32(60),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyTriggerByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyTriggerByUserId(
        (new VerifyTriggerByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTriggerName("trigger-0001")
            ->withVerifyType("elapsed")
            ->withElapsedMinutes(60)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyTriggerByUserIdRequest;
import io.gs2.schedule.result.VerifyTriggerByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyTriggerByUserIdResult result = client.verifyTriggerByUserId(
        new VerifyTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
            .withTimeOffsetToken(null)
    );
    Trigger item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyTriggerByUserIdResult> asyncResult = null;
yield return client.VerifyTriggerByUserId(
    new Gs2.Gs2Schedule.Request.VerifyTriggerByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTriggerName("trigger-0001")
        .WithVerifyType("elapsed")
        .WithElapsedMinutes(60)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyTriggerByUserId(
        new Gs2Schedule.VerifyTriggerByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTriggerName("trigger-0001")
            .withVerifyType("elapsed")
            .withElapsedMinutes(60)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_trigger_by_user_id(
        schedule.VerifyTriggerByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_trigger_name('trigger-0001')
            .with_verify_type('elapsed')
            .with_elapsed_minutes(60)
            .with_time_offset_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_trigger_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.verify_trigger_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    triggerName="trigger-0001",
    verifyType="elapsed",
    elapsedMinutes=60,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

describeEvents

Get a list of Events

Retrieves a list of currently active events for the requesting user. Only events whose schedule is currently in progress are returned. For relative schedule events, the result depends on the user’s trigger state.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token

Result

TypeDescription
itemsList<Event>List of Events

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeEvents(
    &schedule.DescribeEventsRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeEventsRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeEvents(
        (new DescribeEventsRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeEventsRequest;
import io.gs2.schedule.result.DescribeEventsResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeEventsResult result = client.describeEvents(
        new DescribeEventsRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
    );
    List<Event> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeEventsResult> asyncResult = null;
yield return client.DescribeEvents(
    new Gs2.Gs2Schedule.Request.DescribeEventsRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeEvents(
        new Gs2Schedule.DescribeEventsRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_events(
        schedule.DescribeEventsRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_events({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
client = gs2('schedule')

api_result_handler = client.describe_events_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;

describeEventsByUserId

Get a list of Events by specifying a user ID

Retrieves a list of currently active events for the specified user. Only events whose schedule is currently in progress are returned. For relative schedule events, the result depends on the specified user’s trigger state.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemsList<Event>List of Events

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeEventsByUserId(
    &schedule.DescribeEventsByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeEventsByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeEventsByUserId(
        (new DescribeEventsByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withTimeOffsetToken(null)
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeEventsByUserIdRequest;
import io.gs2.schedule.result.DescribeEventsByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeEventsByUserIdResult result = client.describeEventsByUserId(
        new DescribeEventsByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    List<Event> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeEventsByUserIdResult> asyncResult = null;
yield return client.DescribeEventsByUserId(
    new Gs2.Gs2Schedule.Request.DescribeEventsByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeEventsByUserId(
        new Gs2Schedule.DescribeEventsByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withTimeOffsetToken(null)
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_events_by_user_id(
        schedule.DescribeEventsByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_time_offset_token(None)
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_events_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
client = gs2('schedule')

api_result_handler = client.describe_events_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;

describeRawEvents

Get a list of Events

Retrieves a list of all event definitions in the namespace without filtering by user context or schedule status. Returns the raw event data regardless of whether events are currently active.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemsList<Event>List of Events

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeRawEvents(
    &schedule.DescribeRawEventsRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeRawEventsRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeRawEvents(
        (new DescribeRawEventsRequest())
            ->withNamespaceName("namespace-0001")
    );
    $items = $result->getItems();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeRawEventsRequest;
import io.gs2.schedule.result.DescribeRawEventsResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeRawEventsResult result = client.describeRawEvents(
        new DescribeRawEventsRequest()
            .withNamespaceName("namespace-0001")
    );
    List<Event> items = result.getItems();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeRawEventsResult> asyncResult = null;
yield return client.DescribeRawEvents(
    new Gs2.Gs2Schedule.Request.DescribeRawEventsRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeRawEvents(
        new Gs2Schedule.DescribeRawEventsRequest()
            .withNamespaceName("namespace-0001")
    );
    const items = result.getItems();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_raw_events(
        schedule.DescribeRawEventsRequest()
            .with_namespace_name('namespace-0001')
    )
    items = result.items
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_raw_events({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
client = gs2('schedule')

api_result_handler = client.describe_raw_events_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;

getEvent

Get Event

Retrieves the specified event along with its schedule status. Returns whether the event is currently in its active period, the schedule start/end times, repeat schedule information, and whether it is a global schedule. If isInSchedule is set to true and the event is not currently active, a NotFound error is returned.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token
isInSchedulebooltrueAre only current events eligible for acquisition

Result

TypeDescription
itemEventEvent
inSchedulebool?Whether in schedule
scheduleStartAtlongSchedule start time
scheduleEndAtlongSchedule end time
If the event type is absolute, the absoluteEnd of the EventModel is stored.
If the event type is relative, scheduleEndAt stores either the trigger’s expiration time or the absoluteEnd of the EventModel, whichever ends sooner.
repeatScheduleRepeatScheduleRepeat Schedule
isGlobalSchedulebool?Is the event a global schedule

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetEvent(
    &schedule.GetEventRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        IsInSchedule: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetEventRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getEvent(
        (new GetEventRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
            ->withAccessToken("accessToken-0001")
            ->withIsInSchedule(null)
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetEventRequest;
import io.gs2.schedule.result.GetEventResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetEventResult result = client.getEvent(
        new GetEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withAccessToken("accessToken-0001")
            .withIsInSchedule(null)
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetEventResult> asyncResult = null;
yield return client.GetEvent(
    new Gs2.Gs2Schedule.Request.GetEventRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001")
        .WithAccessToken("accessToken-0001")
        .WithIsInSchedule(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getEvent(
        new Gs2Schedule.GetEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withAccessToken("accessToken-0001")
            .withIsInSchedule(null)
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_event(
        schedule.GetEventRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
            .with_access_token('accessToken-0001')
            .with_is_in_schedule(None)
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_event({
    namespaceName="namespace-0001",
    eventName="event-0001",
    accessToken="accessToken-0001",
    isInSchedule=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.get_event_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
    accessToken="accessToken-0001",
    isInSchedule=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

getEventByUserId

Get Event by specifying a user ID

Retrieves the specified event along with its schedule status for the specified user. Returns whether the event is currently in its active period, the schedule start/end times, repeat schedule information, and whether it is a global schedule.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
isInSchedulebooltrueAre only current events eligible for acquisition
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemEventEvent
inSchedulebool?Whether in schedule
scheduleStartAtlongSchedule start time
scheduleEndAtlongSchedule end time
If the event type is absolute, the absoluteEnd of the EventModel is stored.
If the event type is relative, scheduleEndAt stores either the trigger’s expiration time or the absoluteEnd of the EventModel, whichever ends sooner.
repeatScheduleRepeatScheduleRepeat Schedule
isGlobalSchedulebool?Is the event a global schedule

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetEventByUserId(
    &schedule.GetEventByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
        UserId: pointy.String("user-0001"),
        IsInSchedule: nil,
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetEventByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getEventByUserId(
        (new GetEventByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
            ->withUserId("user-0001")
            ->withIsInSchedule(null)
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetEventByUserIdRequest;
import io.gs2.schedule.result.GetEventByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetEventByUserIdResult result = client.getEventByUserId(
        new GetEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withUserId("user-0001")
            .withIsInSchedule(null)
            .withTimeOffsetToken(null)
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetEventByUserIdResult> asyncResult = null;
yield return client.GetEventByUserId(
    new Gs2.Gs2Schedule.Request.GetEventByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001")
        .WithUserId("user-0001")
        .WithIsInSchedule(null)
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getEventByUserId(
        new Gs2Schedule.GetEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withUserId("user-0001")
            .withIsInSchedule(null)
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_event_by_user_id(
        schedule.GetEventByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
            .with_user_id('user-0001')
            .with_is_in_schedule(None)
            .with_time_offset_token(None)
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_event_by_user_id({
    namespaceName="namespace-0001",
    eventName="event-0001",
    userId="user-0001",
    isInSchedule=nil,
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.get_event_by_user_id_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
    userId="user-0001",
    isInSchedule=nil,
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

getRawEvent

Get Event

Retrieves the raw event definition without user context. Returns the event data without evaluating the schedule status against a specific user’s trigger state.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemEventEvent

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetRawEvent(
    &schedule.GetRawEventRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetRawEventRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getRawEvent(
        (new GetRawEventRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetRawEventRequest;
import io.gs2.schedule.result.GetRawEventResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetRawEventResult result = client.getRawEvent(
        new GetRawEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    Event item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetRawEventResult> asyncResult = null;
yield return client.GetRawEvent(
    new Gs2.Gs2Schedule.Request.GetRawEventRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getRawEvent(
        new Gs2Schedule.GetRawEventRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_raw_event(
        schedule.GetRawEventRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_raw_event({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_raw_event_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

verifyEvent

Verify if it is the event holding period

Verifies whether the specified event is currently in its active schedule period. The verifyType can be set to ‘inSchedule’ to verify the event is active, or ’notInSchedule’ to verify it is not active. Returns an error if the verification condition is not met.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
accessTokenstring
~ 128 charsAccess token
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
verifyTypeString Enum
enum {
  “inSchedule”,
  “notInSchedule”
}
Type of verification
DefinitionDescription
“inSchedule”The event is in its active period
“notInSchedule”The event is not in its active period

Result

TypeDescription
itemEventEvent
inSchedulebool?Whether in schedule
scheduleStartAtlongSchedule start time
scheduleEndAtlongSchedule end time
If the event type is absolute, the absoluteEnd of the EventModel is stored.
If the event type is relative, scheduleEndAt stores either the trigger’s expiration time or the absoluteEnd of the EventModel, whichever ends sooner.
repeatScheduleRepeatScheduleRepeat Schedule
isGlobalSchedulebool?Is the event a global schedule

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyEvent(
    &schedule.VerifyEventRequest {
        NamespaceName: pointy.String("namespace-0001"),
        AccessToken: pointy.String("accessToken-0001"),
        EventName: pointy.String("event-0001"),
        VerifyType: pointy.String("inSchedule"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyEventRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyEvent(
        (new VerifyEventRequest())
            ->withNamespaceName("namespace-0001")
            ->withAccessToken("accessToken-0001")
            ->withEventName("event-0001")
            ->withVerifyType("inSchedule")
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyEventRequest;
import io.gs2.schedule.result.VerifyEventResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyEventResult result = client.verifyEvent(
        new VerifyEventRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyEventResult> asyncResult = null;
yield return client.VerifyEvent(
    new Gs2.Gs2Schedule.Request.VerifyEventRequest()
        .WithNamespaceName("namespace-0001")
        .WithAccessToken("accessToken-0001")
        .WithEventName("event-0001")
        .WithVerifyType("inSchedule"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyEvent(
        new Gs2Schedule.VerifyEventRequest()
            .withNamespaceName("namespace-0001")
            .withAccessToken("accessToken-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_event(
        schedule.VerifyEventRequest()
            .with_namespace_name('namespace-0001')
            .with_access_token('accessToken-0001')
            .with_event_name('event-0001')
            .with_verify_type('inSchedule')
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_event({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    eventName="event-0001",
    verifyType="inSchedule",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.verify_event_async({
    namespaceName="namespace-0001",
    accessToken="accessToken-0001",
    eventName="event-0001",
    verifyType="inSchedule",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

verifyEventByUserId

Verify whether the Event is active by specifying a user ID

Verifies whether the specified event is currently in its active schedule period for the specified user. The verifyType can be set to ‘inSchedule’ or ’notInSchedule’. Returns an error if the verification condition is not met.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
verifyTypeString Enum
enum {
  “inSchedule”,
  “notInSchedule”
}
Type of verification
DefinitionDescription
“inSchedule”The event is in its active period
“notInSchedule”The event is not in its active period
timeOffsetTokenstring~ 1024 charsTime offset token

Result

TypeDescription
itemEventEvent
inSchedulebool?Whether in schedule
scheduleStartAtlongSchedule start time
scheduleEndAtlongSchedule end time
If the event type is absolute, the absoluteEnd of the EventModel is stored.
If the event type is relative, scheduleEndAt stores either the trigger’s expiration time or the absoluteEnd of the EventModel, whichever ends sooner.
repeatScheduleRepeatScheduleRepeat Schedule
isGlobalSchedulebool?Is the event a global schedule

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.VerifyEventByUserId(
    &schedule.VerifyEventByUserIdRequest {
        NamespaceName: pointy.String("namespace-0001"),
        UserId: pointy.String("user-0001"),
        EventName: pointy.String("event-0001"),
        VerifyType: pointy.String("inSchedule"),
        TimeOffsetToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
inSchedule := result.InSchedule
scheduleStartAt := result.ScheduleStartAt
scheduleEndAt := result.ScheduleEndAt
repeatSchedule := result.RepeatSchedule
isGlobalSchedule := result.IsGlobalSchedule
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\VerifyEventByUserIdRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->verifyEventByUserId(
        (new VerifyEventByUserIdRequest())
            ->withNamespaceName("namespace-0001")
            ->withUserId("user-0001")
            ->withEventName("event-0001")
            ->withVerifyType("inSchedule")
            ->withTimeOffsetToken(null)
    );
    $item = $result->getItem();
    $inSchedule = $result->getInSchedule();
    $scheduleStartAt = $result->getScheduleStartAt();
    $scheduleEndAt = $result->getScheduleEndAt();
    $repeatSchedule = $result->getRepeatSchedule();
    $isGlobalSchedule = $result->getIsGlobalSchedule();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.VerifyEventByUserIdRequest;
import io.gs2.schedule.result.VerifyEventByUserIdResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    VerifyEventByUserIdResult result = client.verifyEventByUserId(
        new VerifyEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
            .withTimeOffsetToken(null)
    );
    Event item = result.getItem();
    boolean inSchedule = result.getInSchedule();
    long scheduleStartAt = result.getScheduleStartAt();
    long scheduleEndAt = result.getScheduleEndAt();
    RepeatSchedule repeatSchedule = result.getRepeatSchedule();
    boolean isGlobalSchedule = result.getIsGlobalSchedule();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.VerifyEventByUserIdResult> asyncResult = null;
yield return client.VerifyEventByUserId(
    new Gs2.Gs2Schedule.Request.VerifyEventByUserIdRequest()
        .WithNamespaceName("namespace-0001")
        .WithUserId("user-0001")
        .WithEventName("event-0001")
        .WithVerifyType("inSchedule")
        .WithTimeOffsetToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var inSchedule = result.InSchedule;
var scheduleStartAt = result.ScheduleStartAt;
var scheduleEndAt = result.ScheduleEndAt;
var repeatSchedule = result.RepeatSchedule;
var isGlobalSchedule = result.IsGlobalSchedule;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.verifyEventByUserId(
        new Gs2Schedule.VerifyEventByUserIdRequest()
            .withNamespaceName("namespace-0001")
            .withUserId("user-0001")
            .withEventName("event-0001")
            .withVerifyType("inSchedule")
            .withTimeOffsetToken(null)
    );
    const item = result.getItem();
    const inSchedule = result.getInSchedule();
    const scheduleStartAt = result.getScheduleStartAt();
    const scheduleEndAt = result.getScheduleEndAt();
    const repeatSchedule = result.getRepeatSchedule();
    const isGlobalSchedule = result.getIsGlobalSchedule();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.verify_event_by_user_id(
        schedule.VerifyEventByUserIdRequest()
            .with_namespace_name('namespace-0001')
            .with_user_id('user-0001')
            .with_event_name('event-0001')
            .with_verify_type('inSchedule')
            .with_time_offset_token(None)
    )
    item = result.item
    in_schedule = result.in_schedule
    schedule_start_at = result.schedule_start_at
    schedule_end_at = result.schedule_end_at
    repeat_schedule = result.repeat_schedule
    is_global_schedule = result.is_global_schedule
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.verify_event_by_user_id({
    namespaceName="namespace-0001",
    userId="user-0001",
    eventName="event-0001",
    verifyType="inSchedule",
    timeOffsetToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;
client = gs2('schedule')

api_result_handler = client.verify_event_by_user_id_async({
    namespaceName="namespace-0001",
    userId="user-0001",
    eventName="event-0001",
    verifyType="inSchedule",
    timeOffsetToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
inSchedule = result.inSchedule;
scheduleStartAt = result.scheduleStartAt;
scheduleEndAt = result.scheduleEndAt;
repeatSchedule = result.repeatSchedule;
isGlobalSchedule = result.isGlobalSchedule;

exportMaster

Export Model Master in a master data format that can be activated

Exports the currently registered event masters in an activatable master data format. The exported data contains all event schedule definitions including absolute/relative timing, repeat settings, and trigger configurations.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemCurrentEventMastermaster data that can be activated

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.ExportMaster(
    &schedule.ExportMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\ExportMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->exportMaster(
        (new ExportMasterRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.ExportMasterRequest;
import io.gs2.schedule.result.ExportMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    ExportMasterResult result = client.exportMaster(
        new ExportMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.ExportMasterResult> asyncResult = null;
yield return client.ExportMaster(
    new Gs2.Gs2Schedule.Request.ExportMasterRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.exportMaster(
        new Gs2Schedule.ExportMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.export_master(
        schedule.ExportMasterRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.export_master({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.export_master_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getCurrentEventMaster

Get currently active Event master data

Retrieves the currently active event master data including all event schedule definitions that are being used for schedule evaluation.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemCurrentEventMasterCurrently active Event master data

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetCurrentEventMaster(
    &schedule.GetCurrentEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetCurrentEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getCurrentEventMaster(
        (new GetCurrentEventMasterRequest())
            ->withNamespaceName("namespace-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetCurrentEventMasterRequest;
import io.gs2.schedule.result.GetCurrentEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetCurrentEventMasterResult result = client.getCurrentEventMaster(
        new GetCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetCurrentEventMasterResult> asyncResult = null;
yield return client.GetCurrentEventMaster(
    new Gs2.Gs2Schedule.Request.GetCurrentEventMasterRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getCurrentEventMaster(
        new Gs2Schedule.GetCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_current_event_master(
        schedule.GetCurrentEventMasterRequest()
            .with_namespace_name('namespace-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_current_event_master({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_current_event_master_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

preUpdateCurrentEventMaster

Update currently active Event master data (3-phase version)

When uploading master data larger than 1MB, the update is performed in 3 phases.

  1. Execute this API to obtain a token and URL for uploading.
  2. Upload the master data to the obtained URL.
  3. Execute UpdateCurrentModelMaster by passing the token obtained from the the upload to reflect the master data.
Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
uploadTokenstringToken used to reflect results after upload
uploadUrlstringURL used to upload

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.PreUpdateCurrentEventMaster(
    &schedule.PreUpdateCurrentEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrl
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\PreUpdateCurrentEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->preUpdateCurrentEventMaster(
        (new PreUpdateCurrentEventMasterRequest())
            ->withNamespaceName("namespace-0001")
    );
    $uploadToken = $result->getUploadToken();
    $uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.PreUpdateCurrentEventMasterRequest;
import io.gs2.schedule.result.PreUpdateCurrentEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    PreUpdateCurrentEventMasterResult result = client.preUpdateCurrentEventMaster(
        new PreUpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    String uploadToken = result.getUploadToken();
    String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.PreUpdateCurrentEventMasterResult> asyncResult = null;
yield return client.PreUpdateCurrentEventMaster(
    new Gs2.Gs2Schedule.Request.PreUpdateCurrentEventMasterRequest()
        .WithNamespaceName("namespace-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.preUpdateCurrentEventMaster(
        new Gs2Schedule.PreUpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
    );
    const uploadToken = result.getUploadToken();
    const uploadUrl = result.getUploadUrl();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.pre_update_current_event_master(
        schedule.PreUpdateCurrentEventMasterRequest()
            .with_namespace_name('namespace-0001')
    )
    upload_token = result.upload_token
    upload_url = result.upload_url
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.pre_update_current_event_master({
    namespaceName="namespace-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;
client = gs2('schedule')

api_result_handler = client.pre_update_current_event_master_async({
    namespaceName="namespace-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;

updateCurrentEventMaster

Update currently active Event master data

Updates the currently active event master data. Supports both direct update mode and pre-upload mode for handling large master data. In pre-upload mode, the settings are read using the upload token obtained from the PreUpdate API.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
modeString Enum
enum {
  “direct”,
  “preUpload”
}
“direct”Update mode
DefinitionDescription
“direct”Directly update master data
“preUpload”Upload master data and then update
settingsstring{mode} == “direct”
✓*
~ 5242880 charsMaster Data
* Required if mode is “direct”
uploadTokenstring{mode} == “preUpload”
✓*
~ 1024 charsToken obtained by pre-upload
Used to apply the uploaded master data.
* Required if mode is “preUpload”

Result

TypeDescription
itemCurrentEventMasterUpdated master data of the currently active Events

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentEventMaster(
    &schedule.UpdateCurrentEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        Mode: nil,
        Settings: pointy.String("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}"),
        UploadToken: nil,
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateCurrentEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateCurrentEventMaster(
        (new UpdateCurrentEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withMode(null)
            ->withSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
            ->withUploadToken(null)
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateCurrentEventMasterRequest;
import io.gs2.schedule.result.UpdateCurrentEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateCurrentEventMasterResult result = client.updateCurrentEventMaster(
        new UpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withMode(null)
            .withSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
            .withUploadToken(null)
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateCurrentEventMasterResult> asyncResult = null;
yield return client.UpdateCurrentEventMaster(
    new Gs2.Gs2Schedule.Request.UpdateCurrentEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithMode(null)
        .WithSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
        .WithUploadToken(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateCurrentEventMaster(
        new Gs2Schedule.UpdateCurrentEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withMode(null)
            .withSettings("{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}")
            .withUploadToken(null)
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_current_event_master(
        schedule.UpdateCurrentEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_mode(None)
            .with_settings('{\n  "version": "2019-03-31",\n  "events": [\n    {\n      "name": "event-0001",\n      "metadata": "EVENT_0001",\n      "scheduleType": "absolute",\n      "absoluteBegin": 10000,\n      "absoluteEnd": 20000,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "event-0002",\n      "metadata": "EVENT_0002",\n      "scheduleType": "relative",\n      "relativeTriggerName": "trigger-0001",\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "daily-0001",\n      "metadata": "EVENT_0003",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569369600000,\n      "absoluteEnd": 1569456000000,\n      "repeatType": "daily",\n      "repeatBeginHour": 1,\n      "repeatEndHour": 2,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "daily-0002",\n      "metadata": "EVENT_0004",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569369600000,\n      "absoluteEnd": 1569456000000,\n      "repeatType": "daily",\n      "repeatBeginHour": 3,\n      "repeatEndHour": 1,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "weekly-0001",\n      "metadata": "EVENT_0005",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569888000000,\n      "absoluteEnd": 1570406400000,\n      "repeatType": "weekly",\n      "repeatBeginDayOfWeek": "tuesday",\n      "repeatEndDayOfWeek": "wednesday",\n      "repeatBeginHour": 1,\n      "repeatEndHour": 2,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "weekly-0002",\n      "metadata": "EVENT_0006",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1569888000000,\n      "absoluteEnd": 1570406400000,\n      "repeatType": "weekly",\n      "repeatBeginDayOfWeek": "wednesday",\n      "repeatEndDayOfWeek": "tuesday",\n      "repeatBeginHour": 3,\n      "repeatEndHour": 1,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "monthly-0001",\n      "metadata": "EVENT_0007",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1570406400000,\n      "absoluteEnd": 1575158400000,\n      "repeatType": "monthly",\n      "repeatBeginDayOfMonth": 10,\n      "repeatEndDayOfMonth": 15,\n      "repeatBeginHour": 1,\n      "repeatEndHour": 2,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    },\n    {\n      "name": "monthly-0002",\n      "metadata": "EVENT_0008",\n      "scheduleType": "absolute",\n      "absoluteBegin": 1570406400000,\n      "absoluteEnd": 1575158400000,\n      "repeatType": "monthly",\n      "repeatBeginDayOfMonth": 16,\n      "repeatEndDayOfMonth": 9,\n      "repeatBeginHour": 3,\n      "repeatEndHour": 0,\n      "repeatSetting": {\n        "repeatType": "always",\n        "beginDayOfMonth": 1,\n        "endDayOfMonth": 1,\n        "beginHour": 0,\n        "endHour": 0,\n        "activeDays": 1,\n        "inactiveDays": 0\n    }\n    }\n  ]\n}')
            .with_upload_token(None)
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_current_event_master({
    namespaceName="namespace-0001",
    mode=nil,
    settings="{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}",
    uploadToken=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_current_event_master_async({
    namespaceName="namespace-0001",
    mode=nil,
    settings="{\n  \"version\": \"2019-03-31\",\n  \"events\": [\n    {\n      \"name\": \"event-0001\",\n      \"metadata\": \"EVENT_0001\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 10000,\n      \"absoluteEnd\": 20000,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"event-0002\",\n      \"metadata\": \"EVENT_0002\",\n      \"scheduleType\": \"relative\",\n      \"relativeTriggerName\": \"trigger-0001\",\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0001\",\n      \"metadata\": \"EVENT_0003\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"daily-0002\",\n      \"metadata\": \"EVENT_0004\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569369600000,\n      \"absoluteEnd\": 1569456000000,\n      \"repeatType\": \"daily\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0001\",\n      \"metadata\": \"EVENT_0005\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"tuesday\",\n      \"repeatEndDayOfWeek\": \"wednesday\",\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"weekly-0002\",\n      \"metadata\": \"EVENT_0006\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1569888000000,\n      \"absoluteEnd\": 1570406400000,\n      \"repeatType\": \"weekly\",\n      \"repeatBeginDayOfWeek\": \"wednesday\",\n      \"repeatEndDayOfWeek\": \"tuesday\",\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 1,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0001\",\n      \"metadata\": \"EVENT_0007\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 10,\n      \"repeatEndDayOfMonth\": 15,\n      \"repeatBeginHour\": 1,\n      \"repeatEndHour\": 2,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    },\n    {\n      \"name\": \"monthly-0002\",\n      \"metadata\": \"EVENT_0008\",\n      \"scheduleType\": \"absolute\",\n      \"absoluteBegin\": 1570406400000,\n      \"absoluteEnd\": 1575158400000,\n      \"repeatType\": \"monthly\",\n      \"repeatBeginDayOfMonth\": 16,\n      \"repeatEndDayOfMonth\": 9,\n      \"repeatBeginHour\": 3,\n      \"repeatEndHour\": 0,\n      \"repeatSetting\": {\n        \"repeatType\": \"always\",\n        \"beginDayOfMonth\": 1,\n        \"endDayOfMonth\": 1,\n        \"beginHour\": 0,\n        \"endHour\": 0,\n        \"activeDays\": 1,\n        \"inactiveDays\": 0\n    }\n    }\n  ]\n}",
    uploadToken=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

updateCurrentEventMasterFromGitHub

Update currently active Event master data from GitHub

Updates the currently active event master data by checking out master data from a GitHub repository using the specified checkout settings. The API key is decrypted via the key service to authenticate with GitHub.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
checkoutSettingGitHubCheckoutSetting
Setup to check out master data from GitHub

Result

TypeDescription
itemCurrentEventMasterUpdated master data of the currently active Events

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateCurrentEventMasterFromGitHub(
    &schedule.UpdateCurrentEventMasterFromGitHubRequest {
        NamespaceName: pointy.String("namespace-0001"),
        CheckoutSetting: &schedule.GitHubCheckoutSetting{
            ApiKeyId: pointy.String("apiKeyId-0001"),
            RepositoryName: pointy.String("gs2io/master-data"),
            SourcePath: pointy.String("path/to/file.json"),
            ReferenceType: pointy.String("branch"),
            BranchName: pointy.String("develop"),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateCurrentEventMasterFromGitHubRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateCurrentEventMasterFromGitHub(
        (new UpdateCurrentEventMasterFromGitHubRequest())
            ->withNamespaceName("namespace-0001")
            ->withCheckoutSetting((new GitHubCheckoutSetting())
                ->withApiKeyId("apiKeyId-0001")
                ->withRepositoryName("gs2io/master-data")
                ->withSourcePath("path/to/file.json")
                ->withReferenceType("branch")
                ->withBranchName("develop")
            )
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateCurrentEventMasterFromGitHubRequest;
import io.gs2.schedule.result.UpdateCurrentEventMasterFromGitHubResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateCurrentEventMasterFromGitHubResult result = client.updateCurrentEventMasterFromGitHub(
        new UpdateCurrentEventMasterFromGitHubRequest()
            .withNamespaceName("namespace-0001")
            .withCheckoutSetting(new GitHubCheckoutSetting()
                .withApiKeyId("apiKeyId-0001")
                .withRepositoryName("gs2io/master-data")
                .withSourcePath("path/to/file.json")
                .withReferenceType("branch")
                .withBranchName("develop")
            )
    );
    CurrentEventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateCurrentEventMasterFromGitHubResult> asyncResult = null;
yield return client.UpdateCurrentEventMasterFromGitHub(
    new Gs2.Gs2Schedule.Request.UpdateCurrentEventMasterFromGitHubRequest()
        .WithNamespaceName("namespace-0001")
        .WithCheckoutSetting(new Gs2.Gs2Schedule.Model.GitHubCheckoutSetting()
            .WithApiKeyId("apiKeyId-0001")
            .WithRepositoryName("gs2io/master-data")
            .WithSourcePath("path/to/file.json")
            .WithReferenceType("branch")
            .WithBranchName("develop")
        ),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateCurrentEventMasterFromGitHub(
        new Gs2Schedule.UpdateCurrentEventMasterFromGitHubRequest()
            .withNamespaceName("namespace-0001")
            .withCheckoutSetting(new Gs2Schedule.model.GitHubCheckoutSetting()
                .withApiKeyId("apiKeyId-0001")
                .withRepositoryName("gs2io/master-data")
                .withSourcePath("path/to/file.json")
                .withReferenceType("branch")
                .withBranchName("develop")
            )
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_current_event_master_from_git_hub(
        schedule.UpdateCurrentEventMasterFromGitHubRequest()
            .with_namespace_name('namespace-0001')
            .with_checkout_setting(schedule.GitHubCheckoutSetting()
                .with_api_key_id('apiKeyId-0001')
                .with_repository_name('gs2io/master-data')
                .with_source_path('path/to/file.json')
                .with_reference_type('branch')
                .with_branch_name('develop')
            )
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_current_event_master_from_git_hub({
    namespaceName="namespace-0001",
    checkoutSetting={
        api_key_id="apiKeyId-0001",
        repository_name="gs2io/master-data",
        source_path="path/to/file.json",
        reference_type="branch",
        branch_name="develop",
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_current_event_master_from_git_hub_async({
    namespaceName="namespace-0001",
    checkoutSetting={
        api_key_id="apiKeyId-0001",
        repository_name="gs2io/master-data",
        source_path="path/to/file.json",
        reference_type="branch",
        branch_name="develop",
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

describeEventMasters

Get a list of Event Masters

Retrieves a paginated list of event masters. Can filter by event name prefix. Event masters define event schedules including absolute/relative timing, repeat settings, and trigger associations.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
namePrefixstring~ 64 charsFilter by event name prefix
pageTokenstring~ 1024 charsToken specifying the position from which to start acquiring data
limitint301 ~ 1000Number of data items to retrieve

Result

TypeDescription
itemsList<EventMaster>List of Event masters
nextPageTokenstringPage token to retrieve the rest of the listing

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DescribeEventMasters(
    &schedule.DescribeEventMastersRequest {
        NamespaceName: pointy.String("namespace-0001"),
        NamePrefix: nil,
        PageToken: nil,
        Limit: nil,
    }
)
if err != nil {
    panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageToken
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DescribeEventMastersRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->describeEventMasters(
        (new DescribeEventMastersRequest())
            ->withNamespaceName("namespace-0001")
            ->withNamePrefix(null)
            ->withPageToken(null)
            ->withLimit(null)
    );
    $items = $result->getItems();
    $nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DescribeEventMastersRequest;
import io.gs2.schedule.result.DescribeEventMastersResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DescribeEventMastersResult result = client.describeEventMasters(
        new DescribeEventMastersRequest()
            .withNamespaceName("namespace-0001")
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    List<EventMaster> items = result.getItems();
    String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DescribeEventMastersResult> asyncResult = null;
yield return client.DescribeEventMasters(
    new Gs2.Gs2Schedule.Request.DescribeEventMastersRequest()
        .WithNamespaceName("namespace-0001")
        .WithNamePrefix(null)
        .WithPageToken(null)
        .WithLimit(null),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.describeEventMasters(
        new Gs2Schedule.DescribeEventMastersRequest()
            .withNamespaceName("namespace-0001")
            .withNamePrefix(null)
            .withPageToken(null)
            .withLimit(null)
    );
    const items = result.getItems();
    const nextPageToken = result.getNextPageToken();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.describe_event_masters(
        schedule.DescribeEventMastersRequest()
            .with_namespace_name('namespace-0001')
            .with_name_prefix(None)
            .with_page_token(None)
            .with_limit(None)
    )
    items = result.items
    next_page_token = result.next_page_token
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.describe_event_masters({
    namespaceName="namespace-0001",
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;
client = gs2('schedule')

api_result_handler = client.describe_event_masters_async({
    namespaceName="namespace-0001",
    namePrefix=nil,
    pageToken=nil,
    limit=nil,
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;

createEventMaster

Create a new Event Master

Creates a new event master with schedule type (absolute or relative), begin/end times, repeat settings (daily, weekly, monthly), and optional trigger name for relative schedule events.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
namestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
descriptionstring~ 1024 charsDescription
metadatastring~ 2048 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
scheduleTypeString Enum
enum {
  “absolute”,
  “relative”
}
Schedule Type
Determines how the event period is defined.
“absolute” uses fixed start/end timestamps that are the same for all players.
“relative” uses a per-player trigger as the starting point, enabling personalized event periods (e.g., 24 hours from when each player first logs in).
DefinitionDescription
“absolute”Fixed period
“relative”Player-specific period
absoluteBeginlongAbsolute Begin
The fixed start time of the event period for absolute scheduling.
All players share the same start time. If not set for an absolute event, the event is considered to have started from the beginning of time.
Expressed as Unix time in milliseconds.
absoluteEndlongAbsolute End
The fixed end time of the event period for absolute scheduling.
All players share the same end time. If not set for an absolute event, the event is considered to have no end.
Expressed as Unix time in milliseconds.
relativeTriggerNamestring{scheduleType} == “relative”
✓*
~ 128 charsEvent start trigger name
Specify the name of the trigger that serves as the starting point for the event when setting an event period relative to each game player (relative).
Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
* Required if scheduleType is “relative”
repeatSettingRepeatSetting
Repeat Setting
Configuration for recurring time windows within the event period.
Allows narrowing the active period to specific hours, days of the week, days of the month, or custom active/inactive day cycles.
Set repeatType to “always” to keep the event active throughout the entire event period without any repeating pattern.

Result

TypeDescription
itemEventMasterEvent Master created

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.CreateEventMaster(
    &schedule.CreateEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        Name: pointy.String("event-0001"),
        Description: nil,
        Metadata: nil,
        ScheduleType: pointy.String("absolute"),
        AbsoluteBegin: pointy.Int64(10000),
        AbsoluteEnd: pointy.Int64(20000),
        RelativeTriggerName: pointy.String("trigger-0001"),
        RepeatSetting: &schedule.RepeatSetting{
            BeginDayOfMonth: pointy.Int32(1),
            EndDayOfMonth: pointy.Int32(2),
            BeginDayOfWeek: pointy.String("monday"),
            EndDayOfWeek: pointy.String("sunday"),
            BeginHour: pointy.Int32(5),
            EndHour: pointy.Int32(6),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\CreateEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->createEventMaster(
        (new CreateEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withName("event-0001")
            ->withDescription(null)
            ->withMetadata(null)
            ->withScheduleType("absolute")
            ->withAbsoluteBegin(10000)
            ->withAbsoluteEnd(20000)
            ->withRelativeTriggerName("trigger-0001")
            ->withRepeatSetting((new \Gs2\Schedule\Model\RepeatSetting())
                ->withBeginDayOfMonth(1)
                ->withEndDayOfMonth(2)
                ->withBeginDayOfWeek("monday")
                ->withEndDayOfWeek("sunday")
                ->withBeginHour(5)
                ->withEndHour(6))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.CreateEventMasterRequest;
import io.gs2.schedule.result.CreateEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    CreateEventMasterResult result = client.createEventMaster(
        new CreateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withName("event-0001")
            .withDescription(null)
            .withMetadata(null)
            .withScheduleType("absolute")
            .withAbsoluteBegin(10000L)
            .withAbsoluteEnd(20000L)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new io.gs2.schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.CreateEventMasterResult> asyncResult = null;
yield return client.CreateEventMaster(
    new Gs2.Gs2Schedule.Request.CreateEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithName("event-0001")
        .WithDescription(null)
        .WithMetadata(null)
        .WithScheduleType("absolute")
        .WithAbsoluteBegin(10000L)
        .WithAbsoluteEnd(20000L)
        .WithRelativeTriggerName("trigger-0001")
        .WithRepeatSetting(new Gs2.Gs2Schedule.Model.RepeatSetting()
            .WithBeginDayOfMonth(1)
            .WithEndDayOfMonth(2)
            .WithBeginDayOfWeek("monday")
            .WithEndDayOfWeek("sunday")
            .WithBeginHour(5)
            .WithEndHour(6)),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.createEventMaster(
        new Gs2Schedule.CreateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withName("event-0001")
            .withDescription(null)
            .withMetadata(null)
            .withScheduleType("absolute")
            .withAbsoluteBegin(10000)
            .withAbsoluteEnd(20000)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new Gs2Schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.create_event_master(
        schedule.CreateEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_name('event-0001')
            .with_description(None)
            .with_metadata(None)
            .with_schedule_type('absolute')
            .with_absolute_begin(10000)
            .with_absolute_end(20000)
            .with_relative_trigger_name('trigger-0001')
            .with_repeat_setting(
                schedule.RepeatSetting()
                    .with_begin_day_of_month(1)
                    .with_end_day_of_month(2)
                    .with_begin_day_of_week('monday')
                    .with_end_day_of_week('sunday')
                    .with_begin_hour(5)
                    .with_end_hour(6))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.create_event_master({
    namespaceName="namespace-0001",
    name="event-0001",
    description=nil,
    metadata=nil,
    scheduleType="absolute",
    absoluteBegin=10000,
    absoluteEnd=20000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.create_event_master_async({
    namespaceName="namespace-0001",
    name="event-0001",
    description=nil,
    metadata=nil,
    scheduleType="absolute",
    absoluteBegin=10000,
    absoluteEnd=20000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

getEventMaster

Get Event Master

Retrieves the specified event master including its schedule type, begin/end times, repeat settings, and trigger configuration.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemEventMasterEvent master

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.GetEventMaster(
    &schedule.GetEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\GetEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->getEventMaster(
        (new GetEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.GetEventMasterRequest;
import io.gs2.schedule.result.GetEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    GetEventMasterResult result = client.getEventMaster(
        new GetEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.GetEventMasterResult> asyncResult = null;
yield return client.GetEventMaster(
    new Gs2.Gs2Schedule.Request.GetEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.getEventMaster(
        new Gs2Schedule.GetEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.get_event_master(
        schedule.GetEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.get_event_master({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.get_event_master_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

updateEventMaster

Update Event Master

Updates the specified event master’s schedule type, begin/end times, repeat settings, trigger configuration, and other properties.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
descriptionstring~ 1024 charsDescription
metadatastring~ 2048 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
scheduleTypeString Enum
enum {
  “absolute”,
  “relative”
}
Schedule Type
Determines how the event period is defined.
“absolute” uses fixed start/end timestamps that are the same for all players.
“relative” uses a per-player trigger as the starting point, enabling personalized event periods (e.g., 24 hours from when each player first logs in).
DefinitionDescription
“absolute”Fixed period
“relative”Player-specific period
absoluteBeginlongAbsolute Begin
The fixed start time of the event period for absolute scheduling.
All players share the same start time. If not set for an absolute event, the event is considered to have started from the beginning of time.
Expressed as Unix time in milliseconds.
absoluteEndlongAbsolute End
The fixed end time of the event period for absolute scheduling.
All players share the same end time. If not set for an absolute event, the event is considered to have no end.
Expressed as Unix time in milliseconds.
relativeTriggerNamestring{scheduleType} == “relative”
✓*
~ 128 charsEvent start trigger name
Specify the name of the trigger that serves as the starting point for the event when setting an event period relative to each game player (relative).
Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
* Required if scheduleType is “relative”
repeatSettingRepeatSetting
Repeat Setting
Configuration for recurring time windows within the event period.
Allows narrowing the active period to specific hours, days of the week, days of the month, or custom active/inactive day cycles.
Set repeatType to “always” to keep the event active throughout the entire event period without any repeating pattern.

Result

TypeDescription
itemEventMasterEvent Master updated

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.UpdateEventMaster(
    &schedule.UpdateEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
        Description: pointy.String("description1"),
        Metadata: pointy.String("{\"hoge\": \"fuga\"}"),
        ScheduleType: pointy.String("absolute"),
        AbsoluteBegin: pointy.Int64(20000),
        AbsoluteEnd: pointy.Int64(30000),
        RelativeTriggerName: pointy.String("trigger-0001"),
        RepeatSetting: &schedule.RepeatSetting{
            BeginDayOfMonth: pointy.Int32(1),
            EndDayOfMonth: pointy.Int32(2),
            BeginDayOfWeek: pointy.String("monday"),
            EndDayOfWeek: pointy.String("sunday"),
            BeginHour: pointy.Int32(5),
            EndHour: pointy.Int32(6),
        },
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\UpdateEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->updateEventMaster(
        (new UpdateEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
            ->withDescription("description1")
            ->withMetadata("{\"hoge\": \"fuga\"}")
            ->withScheduleType("absolute")
            ->withAbsoluteBegin(20000)
            ->withAbsoluteEnd(30000)
            ->withRelativeTriggerName("trigger-0001")
            ->withRepeatSetting((new \Gs2\Schedule\Model\RepeatSetting())
                ->withBeginDayOfMonth(1)
                ->withEndDayOfMonth(2)
                ->withBeginDayOfWeek("monday")
                ->withEndDayOfWeek("sunday")
                ->withBeginHour(5)
                ->withEndHour(6))
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.UpdateEventMasterRequest;
import io.gs2.schedule.result.UpdateEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    UpdateEventMasterResult result = client.updateEventMaster(
        new UpdateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withScheduleType("absolute")
            .withAbsoluteBegin(20000L)
            .withAbsoluteEnd(30000L)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new io.gs2.schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.UpdateEventMasterResult> asyncResult = null;
yield return client.UpdateEventMaster(
    new Gs2.Gs2Schedule.Request.UpdateEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001")
        .WithDescription("description1")
        .WithMetadata("{\"hoge\": \"fuga\"}")
        .WithScheduleType("absolute")
        .WithAbsoluteBegin(20000L)
        .WithAbsoluteEnd(30000L)
        .WithRelativeTriggerName("trigger-0001")
        .WithRepeatSetting(new Gs2.Gs2Schedule.Model.RepeatSetting()
            .WithBeginDayOfMonth(1)
            .WithEndDayOfMonth(2)
            .WithBeginDayOfWeek("monday")
            .WithEndDayOfWeek("sunday")
            .WithBeginHour(5)
            .WithEndHour(6)),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.updateEventMaster(
        new Gs2Schedule.UpdateEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
            .withDescription("description1")
            .withMetadata("{\"hoge\": \"fuga\"}")
            .withScheduleType("absolute")
            .withAbsoluteBegin(20000)
            .withAbsoluteEnd(30000)
            .withRelativeTriggerName("trigger-0001")
            .withRepeatSetting(new Gs2Schedule.model.RepeatSetting()
                .withBeginDayOfMonth(1)
                .withEndDayOfMonth(2)
                .withBeginDayOfWeek("monday")
                .withEndDayOfWeek("sunday")
                .withBeginHour(5)
                .withEndHour(6))
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.update_event_master(
        schedule.UpdateEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
            .with_description('description1')
            .with_metadata('{"hoge": "fuga"}')
            .with_schedule_type('absolute')
            .with_absolute_begin(20000)
            .with_absolute_end(30000)
            .with_relative_trigger_name('trigger-0001')
            .with_repeat_setting(
                schedule.RepeatSetting()
                    .with_begin_day_of_month(1)
                    .with_end_day_of_month(2)
                    .with_begin_day_of_week('monday')
                    .with_end_day_of_week('sunday')
                    .with_begin_hour(5)
                    .with_end_hour(6))
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.update_event_master({
    namespaceName="namespace-0001",
    eventName="event-0001",
    description="description1",
    metadata="{\"hoge\": \"fuga\"}",
    scheduleType="absolute",
    absoluteBegin=20000,
    absoluteEnd=30000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.update_event_master_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
    description="description1",
    metadata="{\"hoge\": \"fuga\"}",
    scheduleType="absolute",
    absoluteBegin=20000,
    absoluteEnd=30000,
    relativeTriggerName="trigger-0001",
    repeatSetting={
        beginDayOfMonth=1,
        endDayOfMonth=2,
        beginDayOfWeek="monday",
        endDayOfWeek="sunday",
        beginHour=5,
        endHour=6,
    },
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;

deleteEventMaster

Delete Event Master

Deletes the specified event master. Note that this only removes the master definition; the currently active event master data is not affected until the next master data update.

Details

Request

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
eventNamestring
~ 128 charsEvent name
Event-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).

Result

TypeDescription
itemEventMasterEvent Master deleted

Implementation Example

import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/schedule"
import "github.com/openlyinc/pointy"

session := core.Gs2RestSession{
    Credential: &core.BasicGs2Credential{
        ClientId: "your client id",
        ClientSecret: "your client secret",
    },
    Region: core.ApNortheast1,
}

if err := session.Connect(); err != nil {
    panic("error occurred")
}

client := schedule.Gs2ScheduleRestClient{
    Session: &session,
}
result, err := client.DeleteEventMaster(
    &schedule.DeleteEventMasterRequest {
        NamespaceName: pointy.String("namespace-0001"),
        EventName: pointy.String("event-0001"),
    }
)
if err != nil {
    panic("error occurred")
}
item := result.Item
use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Schedule\Gs2ScheduleRestClient;
use Gs2\Schedule\Request\DeleteEventMasterRequest;

$session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region::AP_NORTHEAST_1
);

$session->open();

$client = new Gs2ScheduleRestClient(
    $session
);

try {
    $result = $client->deleteEventMaster(
        (new DeleteEventMasterRequest())
            ->withNamespaceName("namespace-0001")
            ->withEventName("event-0001")
    );
    $item = $result->getItem();
} catch (Gs2Exception $e) {
    exit("error occurred")
}
import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.schedule.rest.Gs2ScheduleRestClient;
import io.gs2.schedule.request.DeleteEventMasterRequest;
import io.gs2.schedule.result.DeleteEventMasterResult;

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    )
);
session.connect();
Gs2ScheduleRestClient client = new Gs2ScheduleRestClient(session);

try {
    DeleteEventMasterResult result = client.deleteEventMaster(
        new DeleteEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    EventMaster item = result.getItem();
} catch (Gs2Exception e) {
    System.exit(1);
}
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;

var session = new Gs2RestSession(
    new BasicGs2Credential(
        "your client id",
        "your client secret"
    ),
    Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2ScheduleRestClient(session);

AsyncResult<Gs2.Gs2Schedule.Result.DeleteEventMasterResult> asyncResult = null;
yield return client.DeleteEventMaster(
    new Gs2.Gs2Schedule.Request.DeleteEventMasterRequest()
        .WithNamespaceName("namespace-0001")
        .WithEventName("event-0001"),
    r => asyncResult = r
);
if (asyncResult.Error != null) {
    throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
import Gs2Core from '@/gs2/core';
import * as Gs2Schedule from '@/gs2/schedule';

const session = new Gs2Core.Gs2RestSession(
    "ap-northeast-1",
    new Gs2Core.BasicGs2Credential(
        'your client id',
        'your client secret'
    )
);
await session.connect();
const client = new Gs2Schedule.Gs2ScheduleRestClient(session);

try {
    const result = await client.deleteEventMaster(
        new Gs2Schedule.DeleteEventMasterRequest()
            .withNamespaceName("namespace-0001")
            .withEventName("event-0001")
    );
    const item = result.getItem();
} catch (e) {
    process.exit(1);
}
from gs2 import core
from gs2 import schedule

session = core.Gs2RestSession(
    core.BasicGs2Credential(
        'your client id',
        'your client secret'
    ),
    "ap-northeast-1",
)
session.connect()
client = schedule.Gs2ScheduleRestClient(session)

try:
    result = client.delete_event_master(
        schedule.DeleteEventMasterRequest()
            .with_namespace_name('namespace-0001')
            .with_event_name('event-0001')
    )
    item = result.item
except core.Gs2Exception as e:
    exit(1)
client = gs2('schedule')

api_result = client.delete_event_master({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;
client = gs2('schedule')

api_result_handler = client.delete_event_master_async({
    namespaceName="namespace-0001",
    eventName="event-0001",
})

api_result = api_result_handler()  -- Call the handler to get the result

if(api_result.isError) then
    -- When error occurs
    fail(api_result['statusCode'], api_result['errorMessage'])
end

result = api_result.result
item = result.item;