Home‎ > ‎Developer's Guide‎ > ‎REST Web Service API‎ > ‎

API Field Limits

This section outlines the field limits and requirements for the various API objects

Field

Required

data type

size

notes

Product (ProductOffering)

Product Offering

name

yes

string

50

blank:false,

sku

yes

string

50

blank:false, unique:"org"

notes

no

string

255

invoiceText

no

string

50

Plan (ContractOffering)

productOffering

yes

string

name

yes

string

50

blank - false

contractCode

yes

string

50

blank - false, unique:"org"

notes

no

string

255

invoiceText

yes

string

50

startDate

no

date

endDate

no

date

billingAlignment

yes

string

blank-false, inList: StartDate,

NextBillingPeriod

billingPeriod

yes

string

blank-false, inList: Daily,Weekly,

BiWeekly,Monthly,Quarterly,

BiAnnual,Yearly,5-Yearly, 10-Yearly,

20-Yearly, 25-Yearly

 

dueDateValue

yes

integer

blank-false

dueDateUnits

yes

string

blank:false, inList: Days,Weeks,

Months,Quarters,Years

isAutoRenew

yes

boolean

orderType

no

string

16

inList: Subscription,Installment

numberOfInstallments

no

integer

min 1

interestRate

no

BigDecimal

scale:4

fixedChargesReducePayoff

no

boolean

accountingCode

no

string

50

useAccountingCodeForEachInstallment

no

boolean

linkedContractOffering

no

ContractOffering

initialTermValue

no

integer

blank-true

initialTermUnits

no

string

blank-true

renewalTermValue

no

integer

blank-true

renewalTermUnits

no

string

Charge (ContractCharge)

contractOffering

yes

position

yes

integer

unique:"contractOffering

priceCode

yes

string

50

blank-false,unique:"contractOffering"

notes

no

string

255

invoiceText

yes

string

50

blank:false

accountingCode

no

string

50

standardQuantity

no

double

maxQuantity

no

double

minQuantity

no

double

pricingType

yes

string

32

inList: FixedPricing,BulkPricing,

TieredPricing,

UnitPricing,PercentOfTotalPricing,

PercentOfCodedItemsPricing,

UserEnteredPricing,

AdhocPercentOfTotalPricing,

AdhocPercentOfCodedItemsPricing,

UserEnteredBulkPricing,

UserEnteredTieredPricing,

UserEnteredSumBulkPricing,

UserEnteredSumTieredPricing,

CustomPricing


chargeType

yes

string

32

inList: OneTimeCharge,RecurringCharge,

UsageCharge,AssetUsageCharge,

CustomCharge,

DateBasedCharge,AutoRecharge

overageContractCharge

no

contractcharge

unitOfMeasure

no

string

16

isPenalty

yes

boolean

isTax

yes

boolean

taxCodes

no

string

100

isPrepaid

yes

boolean

isSeparateInvoice

yes

boolean

isProrated

yes

boolean

isMandatory

yes

boolean

isCommission

no

boolean

billerGroupCode

no

string

20

dateToChargeValue

no

integer

dateToChargeUnits

no

string

maxPrice

no

BigDecimal

scale 6

specialOptions

no

string

1024

Customer

name

no

string

50

Required for B2B, 

Optional for B2C setting

notes

no

string

255

blank:true

status

yes

string

16

blank:false, inList: Active, InActive

extCustomerRef

no

string

50

blank:true,unique: "org"

extTrackingRef

no

string

255

blank:true

billingContact

no

customerContact

salesContact

no

customerContact

currency

yes

Defaults to organizations currency

locale

yes

string

min 2,max 10

blank:false

ccEmails

no

string

255

blank:true

bccEmails

no

string

255

blank:true

notifyOnPayment

no

boolean

preferTextEmail

no

boolean

invoiceDelivery

yes

string

16

inList: None,HTML,Email,EmailWithPDF

sendInvoicesViaPostalMail

yes

boolean

isBusinessAccount

no

boolean

creditLimit

no

BigDecimal

paymentTermsValue

no

Integer

blank:true,

paymentTermsUnits

no

unitsof time

blank:true,

paymentTermsText

no

string

15

blank:true,

overdueNotificationCode

no

string

32

parent

no

customer

biller

no

biller

custom.fieldX

no

string

125

X is 1 to 10 for each of the 

10 custom fields

CustomerContact

customer

yes

firstName

yes

string

min1,max 30

blank:false

lastName

yes

string

min1,max 30

blank:false

emailSecondary

no

string

255

email:true

emailPrimary

string

255

blank:false, email true

login

string

min 8,max 50

passwd

min 8,max 50

blank:false

workPhone

no

string

min 10,max 30

cellPhone

no

string

min 10,max 30

isDeleted

yes

boolean

display:false

notificationsEnabled

yes

boolean

dateCreated

date

display:false

lastUpdated

date

display:false

tempPasswdExpiry

no

date

ssoProviderId

no

string

50

ssoValidatedId

no

string

256

profileImageUrl

no

string

100

gender

no

string

10

address.street1

yes

string

100

address.street2

yes

string

100

address.city

yes

string

50

address.state

yes

string

50

address.zip

yes

string

20

address.country

yes

string

50

address.countryCode

yes

string

3

CreditCardPaymentMethod

cardNumber

yes

string

100

blank:false, creditCard:true

expiry

yes

date

100

blank:false, creditCard:true

cardType

yes

string

16

cardholderName

no

string

200

cvv

no

string

min3, max 4

Transient, never stored/saved

HouseCreditPaymentMethod

invoiceText

yes

string

100

blank:false

notes

no

string

100

CheckPaymentMethod

institutionName

yes

string

50

blank:false

checkNumber

yes

string

8

blank:false

checkDate

yes

date

notes

no

string

100

status

yes

string

16

inList: Draft,Error,Declined,

Paid,Voided,Reversed

CashPaymentMethod

notes

no

string

100

AchPaymentMethod

abaRoutingNumber

yes

string

min 9, max 64

blank:false

accountNumber

yes

string

min 9, max 128

blank:false

institutionName

yes

string

50

blank:false

accountType

yes

string

16

blank:false,inList:accountTypes

accountName

yes

string

50

blank:false

autopayPreference

yes

Integer

Range:0 to 3

Numbers 1 to 3 imply this should be 

used for automatic payments

SubscriptionOrder

customer

yes

customer

biller

no

biller

parentOrder

no

SubscriptionOrder

orderNumber

yes

string

20

blank:true

orderStatus

yes

string

blank:false

notes

no

string

100

invoiceNotes

no

string

255

currency

yes

currency

totalLifetimeValue

no

BigDecimal

recurringRevenue

no

BigDecimal

contractOffering

yes

contractOffering

invoiceText

no

string

50

startDate

no

date

endDate

no

date

billingPeriod

yes

string

blank:false,inList:Daily,Weekly,

BiWeekly,Monthly,Quarterly,

BiAnnual,Yearly,5-Yearly, 

10-Yearly,20-Yearly, 25-Yearly

dueDateValue

yes

integer

dueDateUnits

yes

string

blank:false,inList:Days,Weeks,

Months,Quarters,Years

isAutoRenew

yes

boolean

isAutoPay

yes

boolean

isSeparateInvoice

yes

boolean

nextBillableDate

no

date

deprecated

purchaseOrderNo

no

string

25

orderType

no

string

16

inList: Subscription. Installment

originalAmount

no

BigDecimal

scale:2

payoffAmount

no

BigDecimal

scale:2

installmentsRemaining

no

integer

numberOfRenewals

no

integer

lastRenewalDate

no

date

OrderLineItem

subscriptionOrder

yes

subscriptionOrder

position

yes

integer

contractCharge

yes

contractCharge

priceCode

no

string

50

blank:true,this should really be

 not-null, but we'd need a migration 

 script then

invoiceText

no

string

50

quantity

no

double

totalLifetimeValue

no

BigDecimal

isActive

yes

boolean

unitPrice

no

BigDecimal

scale:2

amount

no

BigDecimal

scale:2

percent

no

BigDecimal

scale:4

nextBillableDate

no

date

pricingTiers

no

string

1024

Activity

customer

yes

customer

order

yes

orderLineItem

yes

orderLineItem

extRefId

no

string

16

source

no

string

16

invoiceText

no

string

250

xpanded InvoiceLineItemCharge.smartInvoiceText

unitPrice

no

BigDecimal

scale 2

quantity

no

BigDecimal

amount

no

BigDecimal

scale 2

 amount can be rated during

 invoice creation

 chargeDate

yes

date

 chargeDate

no

date

status

yes

string

inList:Draft,Unbiled,Processed

invoiceLineItemCharge

no

invoiceLineItemCharge

activityBatch

no

activityBatch

purchaseOrderNo

no

string

25

description

no

string

256

Sign Up

status

inList: DRAFT,READY,PROCESSED

tracking

no

string

hideCustomerFields

no

boolean

companyName

no

string

50

blank:true

extCustomerRef

no

string

50

unique:org

login

no

string

min 6,max 50

unique: 'org'

passwd

no

string

min 8,max 50

matches:"^\\w*(?=\\w*\\d)(?=\\w*[a-z])(?=\\w*[A-Z])\\w*\$"

firstName

no

string

min 1,max 30

lastName

no

string

min 1,max 30

phone

no

string

min 1,max 30

email

no

string

email:true

street

no

string

100

city

no

string

50

state

no

string

50

zipcode

no

string

20

country

no

string

50

hideOrderFields

no

boolean

sku

no

string

50

contractCode

no

string

50

contractOffering

no

contractOffering

startDate

no

date

quantity

no

double

orderNumber

no

string

20

invoiceNumber

no

string

20

paymentApprovalCode

no

string

32

paymentAmount

no

BigDecimal

hideCouponFields

no

boolean

couponCode

no

string

16

billerCode

no

string

10

cardNumber

no

string

100

expiry

no

date

cardType

no

string

inList:Mastercard,Amex,Visa,

Discover,JCB,Diners

cardholderName

no

string

200

cvv

no

string

min3, max 4

tosLink

no

string

tosAccepted

yes

boolean

savePaymentMethod

yes

boolean

successURL

yes

string

blank:false

failURL

yes

string

blank:false

cssURL

yes

string

blank:false

ssoProviderId

no

string

50

ssoValidatedId

no

string

256

ssoProfileImageUrl

no

string

100

ssoGender

no

string

10

autopayPreferenceNo

no

interger

min 0 max 3

biller

no

biller

orderAmounts

no

string

64







    

Comments