Registration Test
Web/Registration/{sessionKey}/Register
This is a combined resource for registering a new constituent with logging into the current session. This resource combines a workflow of multiple API actions into a single request. This is primarily designed for creating a constituent with a primary electronic address, a primary login, and logging into the session using the provide login.

Creates a new constituent and login. Affiliates can be specified for the constituent to create a household account.

The login must be unique for the login type. The electronic address for this constituent must be primary. The primary indicator on ElectronicAddress is unused in this request. The session will be logged in with the new login after successful registration.
Http Verb POST
Resource URL https://ts-stg-appgw.calacademy.org/TessituraService/Web/Registration/{sessionKey}/Register

URI Parameters

Parameter Name Data Type Required Notes
sessionKey string Y

Request Body

Request object type : RegisterConstituent

Request object type RegisterConstituent has the following properties.
Property Name Data Type Length Required Readonly Notes
Address RegisterAddress Y Required only if REQUIRE ADDRESS is set to YES in Tessitura System Defaults (T_DEFAULTS).
Affiliates Collection of RegisterAffiliate N
ConstituentTypeId integer Y
FK: TR_CUST_TYPE.id   Resource: ConstituentTypes
ElectronicAddress RegisterElectronicAddress Y This is used to create a primary electronic address for the constituent. This eaddress must not be control grouped as it will be primary for the registered constituent.
EmarketIndicatorId integer N
FK: TR_EMRKT_IND.id   Resource: EmarketIndicators
FirstName string N
GenderId integer N
LastName string Y
MailIndicatorId integer N
FK: TR_MAIL_IND.id   Resource: MailIndicators
MiddleName string N
NameStatusId integer N
FK: TR_NAMESTATUS.id   Resource: NameStatuses
OriginalSourceId integer Y
FK: TR_ORIGINAL_SOURCE.id   Resource: OriginalSources
PhoneIndicatorId integer N
FK: TR_PHONE_IND.id   Resource: PhoneIndicators
Phones Collection of RegisterPhone N
PrefixId integer N
FK: TR_PREFIX.id   Resource: Prefixes
Salutation RegisterSalutationRequest N
SortName string N
SourceId integer N Pass sourceId to set the source. If not passed the source will be set to the default.
SuffixId integer N
FK: TR_SUFFIX.id   Resource: Suffixes
WebLogin RegisterWebLogin Y
{
  "Address": {
    "AddressTypeId": 1,
    "City": "sample string 1",
    "PostalCode": "sample string 2",
    "StateId": "sample string 3",
    "Street1": "sample string 4",
    "Street2": "sample string 5",
    "Street3": "sample string 6",
    "CountryId": 1
  },
  "Affiliates": [
    {
      "AffiliationTypeId": 1,
      "NameIndicator": 1,
      "Note": "sample string 1",
      "Title": "sample string 2",
      "LastName": "sample string 3",
      "MiddleName": "sample string 4",
      "FirstName": "sample string 5",
      "NameStatusId": 6,
      "Prefix": {
        "Description": "sample string 1",
        "Id": 1,
        "Inactive": true
      },
      "Suffix": {
        "Description": "sample string 1",
        "Id": 1,
        "Inactive": true
      },
      "Gender": {
        "Id": 1,
        "Description": "sample string 1",
        "ShortDescription": "sample string 2",
        "Inactive": true
      },
      "SortName": "sample string 7",
      "ConstituentTypeId": 1
    },
    {
      "AffiliationTypeId": 1,
      "NameIndicator": 1,
      "Note": "sample string 1",
      "Title": "sample string 2",
      "LastName": "sample string 3",
      "MiddleName": "sample string 4",
      "FirstName": "sample string 5",
      "NameStatusId": 6,
      "Prefix": {
        "Description": "sample string 1",
        "Id": 1,
        "Inactive": true
      },
      "Suffix": {
        "Description": "sample string 1",
        "Id": 1,
        "Inactive": true
      },
      "Gender": {
        "Id": 1,
        "Description": "sample string 1",
        "ShortDescription": "sample string 2",
        "Inactive": true
      },
      "SortName": "sample string 7",
      "ConstituentTypeId": 1
    }
  ],
  "ConstituentTypeId": 1,
  "ElectronicAddress": {
    "Address": "sample string 1",
    "ElectronicAddressTypeId": 1,
    "AllowHtmlFormat": true,
    "AllowMarketing": true
  },
  "EmarketIndicatorId": 1,
  "FirstName": "sample string 2",
  "GenderId": 1,
  "LastName": "sample string 3",
  "MailIndicatorId": 1,
  "MiddleName": "sample string 4",
  "NameStatusId": 1,
  "OriginalSourceId": 5,
  "PhoneIndicatorId": 1,
  "Phones": [
    {
      "AllowTelemarketing": true,
      "DayEveningIndicator": "sample string 1",
      "PhoneNumber": "sample string 2",
      "PhoneTypeId": 1
    },
    {
      "AllowTelemarketing": true,
      "DayEveningIndicator": "sample string 1",
      "PhoneNumber": "sample string 2",
      "PhoneTypeId": 1
    }
  ],
  "PrefixId": 1,
  "Salutation": {
    "BusinessTitle": "sample string 1",
    "EnvelopeSalutation1": "sample string 2",
    "EnvelopeSalutation2": "sample string 3",
    "LetterSalutation": "sample string 4",
    "SalutationTypeId": 1
  },
  "SortName": "sample string 6",
  "SuffixId": 1,
  "WebLogin": {
    "Login": "sample string 1",
    "LoginTypeId": 1,
    "Password": "sample string 2"
  },
  "SourceId": 1
}
<RegisterConstituent xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Address>
    <AddressTypeId>1</AddressTypeId>
    <City>sample string 1</City>
    <CountryId>1</CountryId>
    <PostalCode>sample string 2</PostalCode>
    <StateId>sample string 3</StateId>
    <Street1>sample string 4</Street1>
    <Street2>sample string 5</Street2>
    <Street3>sample string 6</Street3>
  </Address>
  <Affiliates>
    <RegisterAffiliate>
      <AffiliationTypeId>1</AffiliationTypeId>
      <ConstituentTypeId>1</ConstituentTypeId>
      <FirstName>sample string 5</FirstName>
      <Gender>
        <Description>sample string 1</Description>
        <Id>1</Id>
        <Inactive>true</Inactive>
        <ShortDescription>sample string 2</ShortDescription>
      </Gender>
      <LastName>sample string 3</LastName>
      <MiddleName>sample string 4</MiddleName>
      <NameIndicator>1</NameIndicator>
      <NameStatusId>6</NameStatusId>
      <Note>sample string 1</Note>
      <Prefix>
        <Description>sample string 1</Description>
        <Id>1</Id>
        <Inactive>true</Inactive>
      </Prefix>
      <SortName>sample string 7</SortName>
      <Suffix>
        <Description>sample string 1</Description>
        <Id>1</Id>
        <Inactive>true</Inactive>
      </Suffix>
      <Title>sample string 2</Title>
    </RegisterAffiliate>
    <RegisterAffiliate>
      <AffiliationTypeId>1</AffiliationTypeId>
      <ConstituentTypeId>1</ConstituentTypeId>
      <FirstName>sample string 5</FirstName>
      <Gender>
        <Description>sample string 1</Description>
        <Id>1</Id>
        <Inactive>true</Inactive>
        <ShortDescription>sample string 2</ShortDescription>
      </Gender>
      <LastName>sample string 3</LastName>
      <MiddleName>sample string 4</MiddleName>
      <NameIndicator>1</NameIndicator>
      <NameStatusId>6</NameStatusId>
      <Note>sample string 1</Note>
      <Prefix>
        <Description>sample string 1</Description>
        <Id>1</Id>
        <Inactive>true</Inactive>
      </Prefix>
      <SortName>sample string 7</SortName>
      <Suffix>
        <Description>sample string 1</Description>
        <Id>1</Id>
        <Inactive>true</Inactive>
      </Suffix>
      <Title>sample string 2</Title>
    </RegisterAffiliate>
  </Affiliates>
  <ConstituentTypeId>1</ConstituentTypeId>
  <ElectronicAddress>
    <Address>sample string 1</Address>
    <AllowHtmlFormat>true</AllowHtmlFormat>
    <AllowMarketing>true</AllowMarketing>
    <ElectronicAddressTypeId>1</ElectronicAddressTypeId>
  </ElectronicAddress>
  <EmarketIndicatorId>1</EmarketIndicatorId>
  <FirstName>sample string 2</FirstName>
  <GenderId>1</GenderId>
  <LastName>sample string 3</LastName>
  <MailIndicatorId>1</MailIndicatorId>
  <MiddleName>sample string 4</MiddleName>
  <NameStatusId>1</NameStatusId>
  <OriginalSourceId>5</OriginalSourceId>
  <PhoneIndicatorId>1</PhoneIndicatorId>
  <Phones>
    <RegisterPhone>
      <AllowTelemarketing>true</AllowTelemarketing>
      <DayEveningIndicator>sample string 1</DayEveningIndicator>
      <PhoneNumber>sample string 2</PhoneNumber>
      <PhoneTypeId>1</PhoneTypeId>
    </RegisterPhone>
    <RegisterPhone>
      <AllowTelemarketing>true</AllowTelemarketing>
      <DayEveningIndicator>sample string 1</DayEveningIndicator>
      <PhoneNumber>sample string 2</PhoneNumber>
      <PhoneTypeId>1</PhoneTypeId>
    </RegisterPhone>
  </Phones>
  <PrefixId>1</PrefixId>
  <Salutation>
    <BusinessTitle>sample string 1</BusinessTitle>
    <EnvelopeSalutation1>sample string 2</EnvelopeSalutation1>
    <EnvelopeSalutation2>sample string 3</EnvelopeSalutation2>
    <LetterSalutation>sample string 4</LetterSalutation>
    <SalutationTypeId>1</SalutationTypeId>
  </Salutation>
  <SortName>sample string 6</SortName>
  <SourceId>1</SourceId>
  <SuffixId>1</SuffixId>
  <WebLogin>
    <Login>sample string 1</Login>
    <LoginTypeId>1</LoginTypeId>
    <Password>sample string 2</Password>
  </WebLogin>
</RegisterConstituent>

Response object type : Session

Response object type Session has the following properties.
Property Name Data Type Length Required Readonly Notes
BusinessFacing boolean Whether this session is considered to be a business facing session (only used by TRBO).
CartInfo CartInfo Contains a count of each cart product for the session. Also, the date/time of the first seat added to the cart is returned.
CheckoutStatus CheckoutStatus
HasLockedSeats boolean
IsGuest boolean If true, this session is using general public for checkout. Any contact details will be associated to the order but stored as constituent id 0.
IsLoggedIn boolean True if the session has been logged in.
LoginInfo SessionLoginInfo Summary data (constituent, email, etc) pertaining to the active login for the session.
ModeOfSaleId integer The current mode of sale for the session and cart. This can differ from the OriginalModeOfSale if a promotion shifts the session to a different mode of sale or the mode of sale has been updated on the cart.
OrderId integer
OriginalModeOfSaleId integer The default mode of sale for the session when initiated.
SeatsExpired boolean If true, seats that have been previously locked have expired and are no longer locked.
SourceId integer The current source applied to the order and products as they are added to the cart.
{
  "OrderId": 1,
  "IsLoggedIn": true,
  "ModeOfSaleId": 3,
  "OriginalModeOfSaleId": 4,
  "SourceId": 5,
  "LoginInfo": {
    "ConstituentId": 1,
    "OriginalConstituentId": 2,
    "UserId": "sample string 3",
    "Status": "sample string 4",
    "FailedAttempts": 5,
    "LockedDate": "2025-07-29T15:06:18.2514012-07:00",
    "ElectronicAddress": "sample string 6"
  },
  "CartInfo": {
    "PerformanceCount": 1,
    "PackageCount": 2,
    "ContributionCount": 3,
    "MembershipCount": 4,
    "UserDefinedFeeCount": 5,
    "GiftCertificateCount": 6,
    "PaymentCount": 7,
    "FirstSeatAddedDateTime": "2025-07-29T15:06:18.2514012-07:00"
  },
  "BusinessFacing": true,
  "IsGuest": true,
  "CheckoutStatus": {
    "Status": "sample string 1",
    "Date": "2025-07-29T15:06:18.2514012-07:00"
  },
  "HasLockedSeats": true,
  "SeatsExpired": true
}
<Session xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <BusinessFacing>true</BusinessFacing>
  <CartInfo>
    <ContributionCount>3</ContributionCount>
    <FirstSeatAddedDateTime>2025-07-29T15:06:18.2514012-07:00</FirstSeatAddedDateTime>
    <GiftCertificateCount>6</GiftCertificateCount>
    <MembershipCount>4</MembershipCount>
    <PackageCount>2</PackageCount>
    <PaymentCount>7</PaymentCount>
    <PerformanceCount>1</PerformanceCount>
    <UserDefinedFeeCount>5</UserDefinedFeeCount>
  </CartInfo>
  <CheckoutStatus>
    <Date>2025-07-29T15:06:18.2514012-07:00</Date>
    <Status>sample string 1</Status>
  </CheckoutStatus>
  <HasLockedSeats>true</HasLockedSeats>
  <IsGuest>true</IsGuest>
  <IsLoggedIn>true</IsLoggedIn>
  <LoginInfo>
    <ConstituentId>1</ConstituentId>
    <ElectronicAddress>sample string 6</ElectronicAddress>
    <FailedAttempts>5</FailedAttempts>
    <LockedDate>2025-07-29T15:06:18.2514012-07:00</LockedDate>
    <OriginalConstituentId>2</OriginalConstituentId>
    <Status>sample string 4</Status>
    <UserId>sample string 3</UserId>
  </LoginInfo>
  <ModeOfSaleId>3</ModeOfSaleId>
  <OrderId>1</OrderId>
  <OriginalModeOfSaleId>4</OriginalModeOfSaleId>
  <SeatsExpired>true</SeatsExpired>
  <SourceId>5</SourceId>
</Session>
Change Version Description Contract Old New
Property Added 15.1.7 HasLockedSeats has been added to Session Session Session.HasLockedSeats
Property Added 15.1.7 SeatsExpired has been added to Session Session Session.SeatsExpired
Property Removed 15.1.0 Gender has been removed from RegisterConstituent RegisterConstituent Gender
Property Added 15.1.0 GenderId has been added to RegisterConstituent RegisterConstituent RegisterConstituent.GenderId
Property Added 15.0.0 CheckoutStatus has been added to Session Session Session.CheckoutStatus
Parameter Changed 15.0.0 sessionKey has been marked as required. Required