Categorygithub.com/5GCoreNet/openapiopenapi_Nsmf_EventExposure
package
1.18.2
Repository: https://github.com/5gcorenet/openapi.git
Documentation: pkg.go.dev

# README

Go API client for openapi_Nsmf_EventExposure

Session Management Event Exposure Service.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.3.0-alpha.1
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import openapi_Nsmf_EventExposure "github.com/GIT_USER_ID/GIT_REPO_ID/openapi_Nsmf_EventExposure"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), openapi_Nsmf_EventExposure.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), openapi_Nsmf_EventExposure.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), openapi_Nsmf_EventExposure.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), openapi_Nsmf_EventExposure.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to https://example.com/nsmf-event-exposure/v1

ClassMethodHTTP requestDescription
IndividualSubscriptionDocumentApiDeleteIndividualSubcriptionDelete /subscriptions/{subId}Delete an individual subscription for event notifications from the SMF
IndividualSubscriptionDocumentApiGetIndividualSubcriptionGet /subscriptions/{subId}Read an individual subscription for event notifications from the SMF
IndividualSubscriptionDocumentApiReplaceIndividualSubcriptionPut /subscriptions/{subId}Replace an individual subscription for event notifications from the SMF
SubscriptionsCollectionApiCreateIndividualSubcriptionPost /subscriptionsCreate an individual subscription for event notifications from the SMF

Documentation For Models

Documentation For Authorization

oAuth2ClientCredentials

  • Type: OAuth
  • Flow: application
  • Authorization URL:
  • Scopes:
  • nsmf-event-exposure: Access to the Nsmf_EventExposure API

Example

auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
r, err := client.Service.Operation(auth, args)

Or via OAuth2 module to automatically refresh tokens and perform user authentication.

import "golang.org/x/oauth2"

/* Perform OAuth2 round trip request and obtain a token */

tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

# Functions

CacheExpires helper function to determine remaining time before repeating a request.
interface{}AsIpAddr is a convenience function that returns interface{} wrapped in IpAddr.
IsNil checks if an input is nil.
NewAccessTokenErr instantiates a new AccessTokenErr object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAccessTokenErrWithDefaults instantiates a new AccessTokenErr object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAccessTokenReq instantiates a new AccessTokenReq object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAccessTokenReqWithDefaults instantiates a new AccessTokenReq object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAccessTypeFromValue returns a pointer to a valid AccessType for the value passed as argument, or an error if the value passed is not allowed by the enum.
NewAckOfNotify instantiates a new AckOfNotify object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAckOfNotifyWithDefaults instantiates a new AckOfNotify object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAddrFqdn instantiates a new AddrFqdn object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAddrFqdnWithDefaults instantiates a new AddrFqdn object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAfResultInfo instantiates a new AfResultInfo object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewAfResultInfoWithDefaults instantiates a new AfResultInfo object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewAPIClient creates a new API client.
NewAPIResponse returns a new APIResponse object.
NewAPIResponseWithError returns a new APIResponse object with the provided error message.
NewCommunicationFailure instantiates a new CommunicationFailure object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewCommunicationFailureWithDefaults instantiates a new CommunicationFailure object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewConfiguration returns a new Configuration object.
NewDddTrafficDescriptor instantiates a new DddTrafficDescriptor object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewDddTrafficDescriptorWithDefaults instantiates a new DddTrafficDescriptor object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewEasIpReplacementInfo instantiates a new EasIpReplacementInfo object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewEasIpReplacementInfoWithDefaults instantiates a new EasIpReplacementInfo object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewEasServerAddress instantiates a new EasServerAddress object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewEasServerAddressWithDefaults instantiates a new EasServerAddress object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewEthFlowDescription instantiates a new EthFlowDescription object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewEthFlowDescriptionWithDefaults instantiates a new EthFlowDescription object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewEventNotification instantiates a new EventNotification object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewEventNotificationWithDefaults instantiates a new EventNotification object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewEventSubscription instantiates a new EventSubscription object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewEventSubscriptionWithDefaults instantiates a new EventSubscription object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewGuami instantiates a new Guami object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewGuamiWithDefaults instantiates a new Guami object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewInvalidParam instantiates a new InvalidParam object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewInvalidParamWithDefaults instantiates a new InvalidParam object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewIpv6Addr instantiates a new Ipv6Addr object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewIpv6AddrWithDefaults instantiates a new Ipv6Addr object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewIpv6Prefix instantiates a new Ipv6Prefix object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewIpv6PrefixWithDefaults instantiates a new Ipv6Prefix object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNgApCause instantiates a new NgApCause object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNgApCauseWithDefaults instantiates a new NgApCause object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNsmfEventExposure instantiates a new NsmfEventExposure object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNsmfEventExposureNotification instantiates a new NsmfEventExposureNotification object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewNsmfEventExposureNotificationWithDefaults instantiates a new NsmfEventExposureNotification object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewNsmfEventExposureWithDefaults instantiates a new NsmfEventExposure object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewPduSessionInfo instantiates a new PduSessionInfo object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPduSessionInformation instantiates a new PduSessionInformation object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPduSessionInformationWithDefaults instantiates a new PduSessionInformation object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPduSessionInfoWithDefaults instantiates a new PduSessionInfo object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPlmnId instantiates a new PlmnId object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPlmnIdNid instantiates a new PlmnIdNid object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewPlmnIdNidWithDefaults instantiates a new PlmnIdNid object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewPlmnIdWithDefaults instantiates a new PlmnId object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewProblemDetails instantiates a new ProblemDetails object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewProblemDetailsWithDefaults instantiates a new ProblemDetails object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewRedirectResponse instantiates a new RedirectResponse object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewRedirectResponseWithDefaults instantiates a new RedirectResponse object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewRouteInformation instantiates a new RouteInformation object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewRouteInformationWithDefaults instantiates a new RouteInformation object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewSmNasFromSmf instantiates a new SmNasFromSmf object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewSmNasFromSmfWithDefaults instantiates a new SmNasFromSmf object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewSmNasFromUe instantiates a new SmNasFromUe object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewSmNasFromUeWithDefaults instantiates a new SmNasFromUe object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewSnssai instantiates a new Snssai object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewSnssaiWithDefaults instantiates a new Snssai object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewTimeWindow instantiates a new TimeWindow object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewTimeWindowWithDefaults instantiates a new TimeWindow object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewTransactionInfo instantiates a new TransactionInfo object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewTransactionInfoWithDefaults instantiates a new TransactionInfo object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
NewUpfInformation instantiates a new UpfInformation object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed.
NewUpfInformationWithDefaults instantiates a new UpfInformation object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set.
PtrBool is a helper routine that returns a pointer to given boolean value.
PtrFloat32 is a helper routine that returns a pointer to given float value.
PtrFloat64 is a helper routine that returns a pointer to given float value.
PtrInt is a helper routine that returns a pointer to given integer value.
PtrInt32 is a helper routine that returns a pointer to given integer value.
PtrInt64 is a helper routine that returns a pointer to given integer value.
PtrString is a helper routine that returns a pointer to given string value.
PtrTime is helper routine that returns a pointer to given Time value.

# Constants

List of AccessType.

# Variables

All allowed values of AccessType enum.
ContextOAuth2 takes an oauth2.TokenSource as authentication for the request.
ContextOperationServerIndices uses a server configuration from the index mapping.
ContextOperationServerVariables overrides a server configuration variables using operation specific values.
ContextServerIndex uses a server configuration from the index.
ContextServerVariables overrides a server configuration variables.

# Structs

AccessTokenErr Error returned in the access token response message.
AccessTokenReq Contains information related to the access token request.
AckOfNotify Represents an acknowledgement information of an event notification.
AddrFqdn IP address and/or FQDN.
AfResultInfo Identifies the result of application layer handling.
AfResultStatus Possible values are: - SUCCESS: The application layer is ready or the relocation is completed.
APIClient manages communication with the Nsmf_EventExposure API v1.3.0-alpha.1 In most cases there should be only one, shared, APIClient.
No description provided by the author
No description provided by the author
No description provided by the author
APIKey provides API key based authentication to a request passed via context using ContextAPIKey.
No description provided by the author
APIResponse stores the API response returned by the server.
AppliedSmccType Possible values are: - DNN_CC: Indicates the DNN based congestion control.
BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth.
CommunicationFailure Describes a communication failure detected by AMF.
Configuration stores the configuration of the API client.
DddTrafficDescriptor Contains a Traffic Descriptor.
DlDataDeliveryStatus Possible values are: - BUFFERED: The first downlink data is buffered with extended buffering matching the source of the downlink traffic.
DnaiChangeType Possible values are: - EARLY: Early notification of UP path reconfiguration.
EasIpReplacementInfo Contains EAS IP replacement information for a Source and a Target EAS.
EasServerAddress Represents the IP address and port of an EAS server.
EthFlowDescription Identifies an Ethernet flow.
EventNotification Represents a notification related to a single event that occurred.
EventSubscription Represents a subscription to a single event.
FlowDirection Possible values are: - DOWNLINK: The corresponding filter applies for traffic to the UE.
GenericOpenAPIError Provides access to the body, error and model on returned errors.
Guami Globally Unique AMF Identifier constructed out of PLMN, Network and AMF identity.
InvalidParam It contains an invalid parameter and a related description.
IpAddr - Contains an IP adresse.
Ipv6Addr String identifying an IPv6 address formatted according to clause 4 of RFC5952.
Ipv6Prefix String identifying an IPv6 address prefix formatted according to clause 4 of RFC 5952.
NFType NF types known to NRF.
NgApCause Represents the NGAP cause.
NotificationFlag Possible values are: - ACTIVATE: The event notification is activated.
NotificationMethod Possible values are: - PERIODIC - ONE_TIME - ON_EVENT_DETECTION.
NsmfEventExposure Represents an Individual SMF Notification Subscription resource.
NsmfEventExposureNotification Represents notifications on events that occurred.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
PartitioningCriteria Possible values are: - \"TAC\": Type Allocation Code - \"SUBPLMN\": Subscriber PLMN ID - \"GEOAREA\": Geographical area, i.e.
PduSessionInfo Represents session information.
PduSessionInformation Represents the PDU session related information.
PduSessionStatus Possible values are: - ACTIVATED: PDU Session status is activated.
PduSessionType PduSessionType indicates the type of a PDU session.
PlmnId When PlmnId needs to be converted to string (e.g.
PlmnIdNid Contains the serving core network operator PLMN ID and, for an SNPN, the NID that together with the PLMN ID identifies the SNPN.
ProblemDetails Provides additional information in an error response.
RatType Indicates the radio access used.
RedirectResponse The response shall include a Location header field containing a different URI (pointing to a different URI of an other service instance), or the same URI if a request is redirected to the same target resource via a different SCP.
RouteInformation At least one of the \"ipv4Addr\" attribute and the \"ipv6Addr\" attribute shall be included in the \"RouteInformation\" data type.
RouteToLocation At least one of the \"routeInfo\" attribute and the \"routeProfId\" attribute shall be included in the \"RouteToLocation\" data type.
ServerConfiguration stores the information about a server.
ServerVariable stores the information about a server variable.
ServiceName Service names known to NRF.
SmfEvent Possible values are: - AC_TY_CH: Access Type Change - UP_PATH_CH: UP Path Change - PDU_SES_REL: PDU Session Release - PLMN_CH: PLMN Change - UE_IP_CH: UE IP address change - RAT_TY_CH: RAT Type Change - DDDS: Downlink data delivery status - COMM_FAIL: Communication Failure - PDU_SES_EST: PDU Session Establishment - QFI_ALLOC: QFI allocation - QOS_MON: QoS Monitoring - SMCC_EXP: SM congestion control experience for PDU Session - DISPERSION: Session Management transaction dispersion - RED_TRANS_EXP: Redundant transmission experience for PDU Session - WLAN_INFO: WLAN information on PDU session for which Access Type is NON_3GPP_ACCESS and RAT Type is TRUSTED_WLAN - UPF_INFO: The UPF information, including the UPF ID/address/FQDN information.
SmNasFromSmf Represents information on the SM congestion control applied SM NAS messages that SMF sends to UE for PDU Session.
SmNasFromUe Represents information on the SM NAS messages that SMF receives from UE for PDU Session.
Snssai When Snssai needs to be converted to string (e.g.
TimeWindow Represents a time window identified by a start time and a stop time.
TransactionInfo Represents SMF Transaction Information.
TransactionMetric Possible values are: - PDU_SES_EST: PDU Session Establishment - PDU_SES_AUTH: PDU Session Authentication - PDU_SES_MODIF: PDU Session Modification - PDU_SES_REL: PDU Session Release.
UpfInformation Represents the ID/address/FQDN of the UPF.

# Interfaces

No description provided by the author

# Type aliases

AccessType Indicates whether the access is via 3GPP or via non-3GPP.
IndividualSubscriptionDocumentApiService IndividualSubscriptionDocumentApi service.
ServerConfigurations stores multiple ServerConfiguration items.
SubscriptionsCollectionApiService SubscriptionsCollectionApi service.