---
title: CloudKit.Container
framework: CloudKit JS
role: symbol
role_heading: Class
platforms: [cloudkit js 1.0+]
path: cloudkitjs/cloudkit.container
---

# CloudKit.Container

A CloudKit.Container object provides access to an app container, and through the app container, access to its databases. It also contains methods for authenticating and fetching users.

## Declaration

```data
interface CloudKit.Container
```

## Overview

Overview You do not create container objects yourself, nor should you subclass the CloudKit.Container class. You configure a container using the CloudKit.configure method and obtain a container using one of the CloudKit namespace container methods. The asynchronous methods in this class return a Promise object that resolves when the operation completes. For a description of the Promise class returned by these methods, go to Mozilla Developer Network: Promise. This class is similar to the CKContainer class in the CloudKit framework.

## Topics

### Getting the Public and Private Databases

- [publicCloudDatabase](cloudkitjs/cloudkit.container/publicclouddatabase.md)
- [privateCloudDatabase](cloudkitjs/cloudkit.container/privateclouddatabase.md)
- [sharedCloudDatabase](cloudkitjs/cloudkit.container/sharedclouddatabase.md)
- [getDatabaseWithDatabaseScope](cloudkitjs/cloudkit.container/getdatabasewithdatabasescope.md)

### Getting the Identifier and Environment

- [containerIdentifier](cloudkitjs/cloudkit.container/containeridentifier.md)
- [environment](cloudkitjs/cloudkit.container/environment.md)
- [apnsEnvironment](cloudkitjs/cloudkit.container/apnsenvironment.md)

### Authenticating Users

- [setUpAuth](cloudkitjs/cloudkit.container/setupauth.md)
- [whenUserSignsIn](cloudkitjs/cloudkit.container/whenusersignsin.md)
- [whenUserSignsOut](cloudkitjs/cloudkit.container/whenusersignsout.md)

### Discovering Users

- [fetchCurrentUserIdentity](cloudkitjs/cloudkit.container/fetchcurrentuseridentity.md)
- [discoverAllUserIdentities](cloudkitjs/cloudkit.container/discoveralluseridentities.md)
- [discoverUserIdentities](cloudkitjs/cloudkit.container/discoveruseridentities.md)
- [discoverUserIdentityWithEmailAddress](cloudkitjs/cloudkit.container/discoveruseridentitywithemailaddress.md)
- [discoverUserIdentityWithPhoneNumber](cloudkitjs/cloudkit.container/discoveruseridentitywithphonenumber.md)
- [discoverUserIdentityWithUserRecordName](cloudkitjs/cloudkit.container/discoveruseridentitywithuserrecordname.md)

### Accepting Shared Records

- [acceptShares](cloudkitjs/cloudkit.container/acceptshares.md)
- [fetchRecordInfos](cloudkitjs/cloudkit.container/fetchrecordinfos.md)

### Receiving Notifications

- [addNotificationListener](cloudkitjs/cloudkit.container/addnotificationlistener.md)
- [removeNotificationListener](cloudkitjs/cloudkit.container/removenotificationlistener.md)
- [registerForNotifications](cloudkitjs/cloudkit.container/registerfornotifications.md)
- [unregisterForNotifications](cloudkitjs/cloudkit.container/unregisterfornotifications.md)
- [isRegisteredForNotifications](cloudkitjs/cloudkit.container/isregisteredfornotifications.md)

### Logging

- [toString](cloudkitjs/cloudkit.container/tostring.md)

## See Also

### Classes

- [CloudKit](cloudkitjs/cloudkit.md)
- [CloudKit.CKError](cloudkitjs/cloudkit.ckerror.md)
- [CloudKit.Database](cloudkitjs/cloudkit.database.md)
- [CloudKit.DatabaseChangesResponse](cloudkitjs/cloudkit.databasechangesresponse.md)
- [CloudKit.Notification](cloudkitjs/cloudkit.notification.md)
- [CloudKit.QueryNotification](cloudkitjs/cloudkit.querynotification.md)
- [CloudKit.QueryResponse](cloudkitjs/cloudkit.queryresponse.md)
- [CloudKit.RecordInfosResponse](cloudkitjs/cloudkit.recordinfosresponse.md)
- [CloudKit.RecordsBatchBuilder](cloudkitjs/cloudkit.recordsbatchbuilder.md)
- [CloudKit.RecordsResponse](cloudkitjs/cloudkit.recordsresponse.md)
- [CloudKit.RecordZoneChangesResponse](cloudkitjs/cloudkit.recordzonechangesresponse.md)
- [CloudKit.RecordZoneNotification](cloudkitjs/cloudkit.recordzonenotification.md)
- [CloudKit.RecordZonesResponse](cloudkitjs/cloudkit.recordzonesresponse.md)
- [CloudKit.Response](cloudkitjs/cloudkit.response.md)
- [CloudKit.ShareRecordType](cloudkitjs/cloudkit.sharerecordtype.md)
