Phoenix Identity

User management and access control

Action

Actions are performed on Resources and can be granted to Users in the form of Permissions and Roles.

Properties

Name Type Description
IdSystem.Int32 the primary identifier of this entity[queryable][sortable]
NameSystem.Stringthe public Name of the Action[required]
DescriptionSystem.Stringa longer description of the Action
CreateDateSystem.DateTime UTC date of when this entity was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this entity was last updated

Application

Applications are externally created consumers of the Phoenix API's and operate within a Project. Each Application has a Restricted Application User assigned to it.

Properties

Name Type Description
IdSystem.Int32 the primary identifier of the entity[queryable][sortable]
ProjectIdSystem.Int32the Project that this entity belongs to[required]
ApplicationTypeIdApplicationTypeEnumthe type of Application
NameSystem.String the Name for this Application[sortable][required]
DescriptionSystem.Stringa longer description of the Application
MetaDataParametersList<KeyValuePair<string, string>>optional XML data to associate with this Application
ImageUrlSystem.Stringa thumbnail image for the Application
UserIdSystem.Int32the User credentials associated with this Application[required]
LatestVersionSystem.Stringthe latest available version of the Application
ForceUpgradeSystem.Booleanwhether any existing Installations should be forced to upgrade to the InstallationUrl[required]
InstallationUrlSystem.Stringthe location of the latest version of the Application
InstallationCountSystem.Int32the number of times that this Application has been Installed[required]
ReferenceSystem.String an optional tag to retrieve this Application by[queryable][required]
CreateDateSystem.DateTime UTC date of when this entity was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this entity was last updated
PhoenixMessaging_AccountIdSystem.Int32 the Messaging Account used for sending to Identifiers for this Application[queryable]
ProjectProjectNavigation property to Project [expandable]
UserUserNavigation property to User [expandable]

Operations

CreateApplication
Create a new ApplicationSoapRestC#
GetApplication
Gets a particular Application by its IdSoapRestC#
ListApplication
Returns a paged list of Applications, optionally filtered and sorted.SoapRestC#
UpdateApplication
Update an existing ApplicationSoapRestC#

Company

Companies are contained within Providers and can operate many Projects.

Properties

Name Type Description
IdSystem.Int32 the primary Identier for the Company[queryable][sortable]
ProviderIdSystem.Int32 the Provider that this Company belongs to [queryable][readonly][sortable][required]
NameSystem.String the Name of the Company[queryable][sortable][required]
ReferenceSystem.String a label that a third party can use to retrieve this Company by[queryable][sortable][required]
IsActiveSystem.Boolean whether this Company is active or not, and displayed within the UI[queryable][sortable][required]
LogoUrlSystem.String an optional absolute URL to the companys logo image
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
MetaDataParametersList<KeyValuePair<string, string>>optional XML data to associate with this Company
ProviderProviderNavigation property to Provider [expandable]
DomainsICollection[]Navigation property to Domain [expandable]

Operations

CreateCompany
Creates a new companySoapRestC#
GetCompany
Gets a particular Company by its IdSoapRestC#
ListCompany
Returns a paginated list of Companies, optionally filtered and sortedSoapRestC#
UpdateCompany
Updates an existing companySoapRestC#

DeleteResponse

Properties

Name Type Description

Operations

DeleteApplication
Delete an existing Application based on it's IdSoapRestC#
DeleteDomain
Delete an existing domain by its IdSoapRestC#
DeleteGroup
Delete an existing group based on it's IdSoapRestC#
DeleteIdentifier
Deletes an Identifier.SoapRestC#
DeleteInstallation
Delete an existing Installation based on it's IdSoapRestC#
DeleteMembership
Removes a user and/or identifier from a groupSoapRestC#
DeleteModule
Gets a Module by its Id.SoapRestC#
DeleteRole
Delete an existing role based on it's IdSoapRestC#
RevokeRole
Remove an existing role from a userSoapRestC#

Domain

A Company may own a number of email domains.

Properties

Name Type Description
IdSystem.Int32 the primary identifier for the CompanyDomain[queryable][sortable]
ProviderIdSystem.Int32 the Provider that owns this Domain[queryable][sortable][required]
CompanyIdSystem.Int32 the Company that owns this Domain[queryable][sortable][required]
NameSystem.String the Name of this CompanyDomain[queryable][sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
ProviderProviderNavigation property to Provider [expandable]

Operations

CreateDomain
Creates a new domainSoapRestC#
GetDomain
Gets a particular Domain by its IdSoapRestC#
ListDomain
Returns a paginated list of Domains, optionally filtered and sortedSoapRestC#
UpdateDomain
Update an existing domain by its IdSoapRestC#

Entity

An Entity is an instance of a ResourceType, identified by it's Id

Properties

Name Type Description
ResourceTypeSystem.StringUnavailable
ResourceIdSystem.Int32Unavailable
CreateDateSystem.DateTimeUnavailable
ModifyDateSystem.DateTimeUnavailable

Operations

ListDependentResource
Returns a list of Resources that are dependent upon the Resource in the requestSoapRestC#

Group

Groups allow segmentation of Users or Identifiers and are leveraged by Phoenix modules - such as Messaging sending a broadcast to a Group of email Identifiers.

Properties

Name Type Description
IdSystem.Int32 the identifier of the UserGroup[queryable][sortable]
ProjectIdSystem.Int32 the Project that this UserGroup belongs to[queryable][sortable][required]
TitleSystem.String the Title of this UserGroup[queryable][sortable][required]
ReferenceSystem.Stringa Reference that an external system can use to retrieve this UserGroup
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
MemberCountSystem.Int32 the number of Memberships this Group contains[queryable][readonly][sortable][required]
IsActiveSystem.Boolean Whether this Group is active or not[queryable]
ProjectProjectNavigation property to Project [expandable]

Operations

CreateGroup
Create a new groupSoapRestC#
GetGroup
Gets a particular group by its IdSoapRestC#
ListGroup
Returns a paged list of Groups, optionally filtered and sorted.SoapRestC#
UpdateGroup
Update an existing groupSoapRestC#

Identifier

Identifiers are a means to contact an end user via Email (using an email address), SMS (using a Msisdn) or Push Notification (using an Apple Device Token or Android RegistrationId).

Properties

Name Type Description
IdSystem.Int32 the primary identifier of this Customer Identifier[queryable][sortable]
ProjectIdSystem.Int32 the Project that this Identiifer belongs to[queryable][sortable]
UserIdSystem.Int32 this Identifier may optionally belong to a User if known[queryable][sortable]
IdentifierTypeIdIdentifierTypeEnum the type of Identifier this is[queryable][sortable]
IsConfirmedSystem.Boolean indicates whether the user has confirmed this Identifier (eg via a confirmation token in an SMS or Email)[queryable][sortable][required]
ValueSystem.String the value of this Identifier - eg MSISDN or Email[queryable][sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
ApplicationIdSystem.Int32 the Application that this Identiifer belongs to[queryable]
ProjectProjectNavigation property to Project [expandable]
ApplicationApplicationNavigation property to Application [expandable]

Operations

CreateIdentifier
Creates a new Identifier for a Customer.SoapRestC#
GetIdentifier
Gets an Identifier by its Id.SoapRestC#
ListGroupIdentifiers
Gets the Identifier members of a Group, whether they are Users or Identifiers membershipsSoapRestC#
ListIdentifier
Returns a paged list of Identifiers, optionally filtered and sorted.SoapRestC#
UpdateIdentifier
Updates an existing Identifier.SoapRestC#

Installation

When an Application is installed on a Device, an Installation record is created with a InstallationId GUID issued and persisted on the device. This is required to uniquely identify the Application installed on that particular Device.

Properties

Name Type Description
IdSystem.Int32 the internal Id of Installation[queryable][sortable]
ProjectIdSystem.Int32the Project that this Installation relates to[required]
InstallationIdSystem.Guid The primary identifier for the Installation to be cached on external devices and sent in the header of subsequent requests[readonly][required]
ApplicationIdSystem.Int32the Application that was installed[required]
InstalledVersionSystem.Stringthe version of the Application that was installed
DeviceTypeIdDeviceTypeEnum the type of device this Application was installed on[queryable][sortable]
UserIdSystem.Int32 the User account if known of the person owning the device that the Application is installed upon[queryable][sortable]
IdentifierIdSystem.Int32the device token if known if the user has opted for push notifications
CreateDateSystem.DateTime UTC date of when this entity was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this entity last modified
OperatingSystemVersionSystem.Stringthe version of the OS of the device the Application was installed on
ModelReferenceSystem.Stringa reference to the make and model of the device that the application was isntalled on
IdentifierIdentifierNavigation property to Identifier [expandable]
ProjectProjectNavigation property to Project [expandable]
UserUserNavigation property to User [expandable]
ApplicationApplicationNavigation property to Application [expandable]

Operations

CreateInstallation
Create a new InstallationSoapRestC#
GetInstallation
Gets a particular Installation by its IdSoapRestC#
ListInstallation
Returns a paged list of Installations, optionally filtered and sorted.SoapRestC#
UpdateInstallation
Update an existing InstallationSoapRestC#

Membership

A Membership relates either a User or an Identifier to a Group. Memberships to Groups is leveraged by other Phoenix modules for purposes of segmentation.

Properties

Name Type Description
IdSystem.Int32 the primary identifier for this entity[queryable][sortable]
GroupIdSystem.Int32 the UserGroup that either the User or an App Install on a Device is a member of[queryable][sortable][required]
UserIdSystem.Int32 the User that this Membership pertains to[queryable][sortable]
IdentifierIdSystem.Int32 memberships may involve an Identifier[queryable][sortable]
JoinDateSystem.DateTimethe date that the membership began[required]
ExpiryDateSystem.DateTimean optional date of when the membership expires
CreateDateSystem.DateTime UTC date of when this Object was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this Object last viewed
GroupGroupNavigation property to Group [expandable]
UserUserNavigation property to User [expandable]
IdentifierIdentifierNavigation property to Identifier [expandable]

Operations

CreateMembership
Adds a user and/or identifier to a groupSoapRestC#
GetMembership
Gets the Membership entitySoapRestC#
ListGroupMembers
Gets the Memberships of a Group, optionally expanding User or IdentifierSoapRestC#
ListMembership
Show the groups that a particular User or Identifier is a member ofSoapRestC#
UpdateMembership
Updates the expiry of a users membership to a groupSoapRestC#

Module

Phoenix is comprised of a number of Modules, each with a distinct design goal.

Properties

Name Type Description
IdModuleEnum the primary identifier of the Module[queryable][sortable]
NameSystem.Stringthe name of the Module[required]
ReferenceSystem.Stringa unique label that this entity can be retrieved by[required]
IsVisibleInPhoenixSystem.Boolean whether this Module is visible in the Phoenix UI[queryable][required]
RankSystem.Int32 the sort order of the Module in the UI[sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this Object last viewed

Operations

CreateModule
Creates a new Module.SoapRestC#
GetModule
Gets a Module by its Id.SoapRestC#
ListProjectModule
Returns a paged list of Modules that are enabled for a specific project, optionally filtered and sorted.SoapRestC#
ListProviderModule
Returns a paged list of Modules, optionally filtered and sorted.SoapRestC#
UpdateModule
Updates a Module.SoapRestC#

PlatformInstance

The Phoenix platform is located in multiple geographical points of presence.

Properties

Name Type Description
IdSystem.Int32the Id of the entity
NameSystem.Stringthe Name of the entity[required]
ConsoleUrlSystem.Stringthe URL of the console for this instance[required]
ApiUrlSystem.Stringthe base URL of the APIs for this instance[required]
CreateDateSystem.DateTime UTC date of when this object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this object was last modified[queryable][sortable]

Project

Projects (synonomous to a Campaign) are run by Companies and involve the use of one or more Phoenix modules.

Properties

Name Type Description
IdSystem.Int32 the primary identifier of this entity[queryable][sortable]
CompanyIdSystem.Int32 The Company that this Project item belongs to [queryable][readonly][sortable][required]
NameSystem.String The human readable name given to this Project[queryable][sortable][required]
ReferenceSystem.String An option reference to a 3rd party system. An alternative identifier but not necessarily unique.[queryable][sortable][required]
StartDateSystem.DateTime UTC date of when this Project started[queryable][sortable]
EndDateSystem.DateTime UTC date of when this Project ends[queryable][sortable]
IsActiveSystem.Boolean Indicates whether this Project is visible or not[queryable][sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
MetaDataParametersList<KeyValuePair<string, string>>optional XML data to associate with this Project
CompanyCompanyNavigation property to Company [expandable]

Operations

CreateProject
Create a new projectSoapRestC#
GetProject
Gets a particular project by its IdSoapRestC#
ListProject
Returns a paginated list of Projects, optionally filtered and sortedSoapRestC#
UpdateProject
Update an existing projectSoapRestC#

ProjectModuleMap

This mapping reflects the activation of Modules for each Project.

Properties

Name Type Description
ProjectIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable][required]
ModuleIdModuleEnum the composite primary identifier of this entity[queryable][sortable]
MetaDataParametersList<KeyValuePair<string, string>>optional XML data to store against the ProjectModuleMap
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
ProjectProjectNavigation property to Project [expandable]

Operations

ListProjectModuleMap
Returns a paged list of Modules that are enabled for a specific project, optionally filtered and sorted.SoapRestC#

Provider

Providers are logical business units (eg Tigerspike APAC) which aggregate client Companies.

Properties

Name Type Description
IdSystem.Int32 the primary identifier for the Provider[queryable][sortable]
NameSystem.String the name of the Provider[queryable][sortable][required]
LogoUrlSystem.Stringthe optional logo for the Provider
IsActiveSystem.Boolean whether this Provider should appear in the UI or not[queryable][sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
MetaDataParametersList<KeyValuePair<string, string>>optional XML data to associate with this Provider
PhoenixInstanceIdSystem.Int32 the PlatformInstance that this Provider belongs to[queryable][sortable][required]
PlatformInstancePlatformInstanceNavigation property to PlatformInstance [expandable]

Operations

CreateProvider
Creates a new providerSoapRestC#
GetProvider
Gets a particular Provider by its IdSoapRestC#
ListProvider
Returns a paginated list of Providers, optionally filtered and sortedSoapRestC#

Resource

Each Module contains a number of securable Resources.

Properties

Name Type Description
IdSystem.Int32 the primary identifier of this entity[queryable][sortable]
ModuleIdModuleEnum The Module that this Resource belongs to[queryable][sortable]
CompanyIdSystem.Int32 The Company that this Resource belongs to.[queryable]
ProjectIdSystem.Int32 The Project that this Resource belongs to.[queryable]
NameSystem.Stringthe name of this entity[required]
ReferenceSystem.String a label that an external system may retrieve this entity by[queryable][sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]

Operations

CreateResource
Create a new ResourceSoapRestC#
ListResource
Returns a paged list of Resources, optionally filtered and sorted.SoapRestC#

Role

Roles are a set or performable Actions on Resrouces within the context of a Project.

Properties

Name Type Description
IdSystem.Int32 the primary Id for Role[queryable][sortable]
NameSystem.Stringthe name of this entity[required]
CompanyIdSystem.Int32 the Company that this Role belongs to [queryable][readonly][sortable]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
CompanyCompanyNavigation property to Company [expandable]

Operations

CreateRole
Create a new roleSoapRestC#
GetRole
Gets a particular role by its IdSoapRestC#
ListRole
Returns a paginated list of Roles, optionally filtered and sortedSoapRestC#
UpdateRole
Update an existing role based on it's IdSoapRestC#

RolePermission

Roles contain a number of Actions that can be performed on Resources.

Properties

Name Type Description
IdSystem.Int32 The primary Id for RolePermission[queryable][sortable]
RoleIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable][required]
ResourceIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable]
ActionIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable]
EntityIdSystem.Int32 The Id of the Entity that this permission is restricted to[queryable][sortable]
IsGrantSystem.BooleanDoes this permission represent Grant (1) or Deny (0) access[required]
CreateDateSystem.DateTime UTC date of when this Object was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this Object last viewed
ActionActionNavigation property to Action [expandable]
RoleRoleNavigation property to Role [expandable]
ResourceResourceNavigation property to Resource [expandable]

Operations

AddPermissionToRole
Add an existing permission to an existing roleSoapRestC#
ListRolePermission
Returns a paged list of Roles, optionally filtered and sorted.SoapRestC#
RemovePermissionFromRole
Remove a permission from an existing roleSoapRestC#

UploadCompanyImageResponse

Properties

Name Type Description

Operations

UploadCompanyImage
Upload a logo image for the companySoapRestC#

UploadUserImageResponse

Properties

Name Type Description

Operations

UploadUserImage
Upload a User Image objectSoapRestC#

User

Users can be granted access to Phoenix. A user can be human or an application.

Properties

Name Type Description
IdSystem.Int32 the primary Identifier for a User[queryable][sortable]
UserTypeIdUserTypeEnum The user type that this user relates too[queryable][sortable]
CompanyIdSystem.Int32 The Company that this user belongs to [queryable][readonly][sortable][required]
UsernameSystem.String The unique username for this user account[queryable][sortable][required]
PasswordSystem.String The password for this user account[obscure]
ImageUrlSystem.String The profile/avatar url for this user
FirstNameSystem.String The firstname of the user[queryable]
LastNameSystem.String The last name of the user[queryable]
LockingCountSystem.ByteTo store the locking count, must be increased by 1 for any login failure.[required]
ReferenceSystem.String An external reference to identify the User[queryable]
LastLoginDateSystem.DateTime Date the user last logged in[queryable][sortable]
ExpiryDateSystem.DateTime Expiry date for the user[queryable][sortable]
IsActiveSystem.Boolean Indication of whether the user is able to access the system[queryable][sortable][required]
CreateDateSystem.DateTime UTC date of when this Object was created[queryable][readonly][sortable]
ModifyDateSystem.DateTime UTC date of when this Object last viewed[queryable][sortable]
MetaDataParametersList<KeyValuePair<string, string>>optional XML data to store against the User
TimeZoneIdSystem.StringUnavailable
CompanyCompanyNavigation property to Company [expandable]
IdentifiersICollection[]Navigation property to Identifier [expandable]

Operations

ChangePassword
Allows an authenticated user to change their passwordSoapRestC#
CreateUser
Create a new userSoapRestC#
GetMyUser
Returns the consuming user entitySoapRestC#
GetUser
Gets a particular user by its IdSoapRestC#
ListUser
Returns a list of users for a companySoapRestC#
ResetPassword
(Part 2 of 2 of the Password retrieval process) Allows a password to be reset by a temporary token (issued in RetrievePassword)SoapRestC#
RetrievePassword
(Part 1 of 2 of the Password retrieval process) Sends a user a recovery email if they have forgotten their passwordSoapRestC#
SendVerification
Generates a verification code and sends to the Customer via either email or SMSSoapRestC#
UpdateUser
Update an existing user by its IdSoapRestC#
VerifyIdentifier
Verifies an Identifier.SoapRestC#

UserPermission

Each User can be mapped directly a series of Operations that they can access

Properties

Name Type Description
IdSystem.Int32 The primary Id for RolePermission[queryable][sortable]
UserIdSystem.Int32 the User that this permission is granted to[queryable][sortable][required]
ResourceIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable]
ActionIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable]
ProviderIdSystem.Int32 whether this permission applies to a single provider or platform wide[readonly]
CompanyIdSystem.Int32 whether this permission applies to a single company or any company[readonly]
ProjectIdSystem.Int32 whether this permission applies to a single project or any project[readonly]
EntityIdSystem.Int32 The Id of the Entity that this permission is restricted to[queryable][sortable]
IsGrantSystem.BooleanDoes this permission represent Grant (1) or Deny (0) access[required]
CreateDateSystem.DateTime UTC date of when this Object was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this Object last viewed
ActionActionNavigation property to Action [expandable]
ProjectProjectNavigation property to Project [expandable]
UserUserNavigation property to User [expandable]
CompanyCompanyNavigation property to Company [expandable]
ProviderProviderNavigation property to Provider [expandable]
ResourceResourceNavigation property to Resource [expandable]

Operations

AssignPermission
Assign an existing permission to a userSoapRestC#
ListUserPermission
Returns a paged list of UserPermissions, optionally filtered and sorted.SoapRestC#
RevokePermission
Remove an existing permission from a userSoapRestC#

UserRoleMap

Each Role that is mapped to a User is assigned a scope to whether it applies to a specific Project, Projects belonging to a specific Company, or Projects belonging to the Companies for a specific Provider

Properties

Name Type Description
IdSystem.Int32Unavailable
UserIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable][required]
RoleIdSystem.Int32 the composite primary identifier of this entity[queryable][sortable][required]
ProviderIdSystem.Int32Unavailable
CompanyIdSystem.Int32Unavailable
ProjectIdSystem.Int32 the composite primary identifier of this entity [queryable][readonly][sortable]
CreateDateSystem.DateTime UTC date of when this Object was created[readonly]
ModifyDateSystem.DateTimeUTC date of when this Object last viewed
ProjectProjectNavigation property to Project [expandable]
RoleRoleNavigation property to Role [expandable]
UserUserNavigation property to User [expandable]
CompanyCompanyNavigation property to Company [expandable]
ProviderProviderNavigation property to Provider [expandable]

Operations

AssignRole
Assign an existing role to a userSoapRestC#
ListUserRoleMap
Returns a paged list of UserRoleMaps, optionally filtered and sorted.SoapRestC#