» Account PUT API Documentation

Update Account Billing Preferences: /accounts/{account_id}/billing-preferences

PUT
https://dev-api.exsited.com/api/v3/accounts/{account_id}/billing-preferences
Try It Out
Purpose

This API endpoint allows updating the billing preferences for a specific account.

Use Case

Use this endpoint when you need to modify how an account is billed. For example, you may want to change the invoice mode from manual to automatic, update the payment processor, align billing with the order start date, or update the communication profile for billing notifications. This ensures that invoices are generated correctly, payments are processed according to the selected terms, and the account’s billing behavior reflects the latest business rules.

Path Parameters
Parameter Type Description
account_id string Unique identifier of the account to update.
Query Parameters

No query parameters required for this endpoint.

Request Body
{
    "account": {
        "billing_preferences": {
            "communication_profile": "COMMUNICATION_PROFILE",
            "invoice_mode": "INVOICE_MODE",
            "invoice_term": "INVOICE_TERM",
            "billing_period": "BILLING_PERIOD",
            "billing_start_date": "BILLING_START_DATE",
            "charging_and_billing_alignment": "CHARGING_AND_BILLING_ALIGNMENT",
            "payment_processor": "PAYMENT_PROCESSOR",
            "payment_mode": "PAYMENT_MODE",
            "payment_term": "PAYMENT_TERM",
            "payment_term_alignment": "PAYMENT_TERM_ALIGNMENT"
        }
    }
}
Attribute
Type
Description
account
object
Container object representing the account.
billing_preferences
object
Object containing all billing preference settings.
communication_profile
string
The communication profile for billing notifications.
invoice_mode
string
The mode of invoice generation (example: AUTOMATIC, MANUAL).
invoice_term
string
The basis for calculating invoice terms (example: Billing Start Date).
billing_period
string
Frequency of billing (example: 1 Month).
billing_start_date
string
The start date for billing (example: ORDER_START_DATE).
charging_and_billing_alignment
string
Whether charging and billing dates are aligned (true/false).
payment_processor
string
Payment processor used for the account (example: Cheque).
payment_mode
string
Payment mode (example: MANUAL, AUTOMATIC).
payment_term
string
Payment terms (example: Due on Receipt).
payment_term_alignment
string
Alignment for payment terms (example: BILLING_DATE).
Response

On success, the API returns the updated account object including the applied billing preferences. Each preference field reflects the updated configuration, such as communication profile, invoice mode, billing start date, payment processor, and alignment settings. Some fields may include calculated or system-generated values, such as the day of the month the billing starts. This response confirms that the account’s billing behavior has been updated successfully and can be used to verify the applied settings.

Response Body
{
    "account": {
        "id": "ACCOUNT_ID",
        "billing_preferences": {
            "communication_profile": "COMMUNICATION_PROFILE",
            "invoice_mode": "INVOICE_MODE",
            "invoice_term": "INVOICE_TERM",
            "billing_period": "BILLING_PERIOD",
            "billing_start_date": "BILLING_START_DATE",
            "billing_start_day_of_month": "BILLING_START_DAY_OF_MONTH",
            "charging_and_billing_alignment": "CHARGING_AND_BILLING_ALIGNMENT",
            "payment_processor": "PAYMENT_PROCESSOR",
            "payment_mode": "PAYMENT_MODE",
            "payment_term": "PAYMENT_TERM",
            "payment_term_alignment": "PAYMENT_TERM_ALIGNMENT"
        }
    }
}
Attribute
Type
Description
account
object
Container object representing the account.
id
string
Unique identifier of the account.
billing_preferences
object
Object containing the updated billing preference settings.
communication_profile
string
Updated communication profile for billing notifications.
invoice_mode
string
Updated mode of invoice generation.
invoice_term
string
Updated basis for invoice terms.
billing_period
string
Updated frequency of billing.
billing_start_date
string
Updated start date for billing.
billing_start_day_of_month
string
System-calculated start day of the month for billing.
charging_and_billing_alignment
string
Updated alignment of charging and billing dates.
payment_processor
string
Updated payment processor.
payment_mode
string
Updated payment mode.
payment_term
string
Updated payment term.
payment_term_alignment
string
Updated alignment of payment terms.

Update Specific Contact by Type: /accounts/{account_id}/contacts/{contact_type}

PUT
https://dev-api.exsited.com/api/v3/accounts/{account_id}/contacts/{contact_type}
Try It Out
Purpose

This API updates the contact information of a specified type (example: billing or shipping) for a specific account. There are two types of contact type: System Defined and User Defined. CONTACT_1 and CONTACT_2 are System Defined containing values respectively Billing Contact and Shipping Contact. User can add more contact(if needed) but those will come after CONTACT_1 and CONTACT_2. This endpoint allows partial or full updates to fields such as address, phone numbers, name, and communication preferences.

Use Case

Used when editing a contact's information, such as changing their phone number, title, or address, within a specific role (example: billing contact) under an account.

Path Parameters
Parameter
Type
Description
account_id
String
Unique identifier of the account.
contact_type
EnumIdentifier for the contact type. (Example: CONTACT_1, CONTACT_2)
Query Parameters

No query parameters required for this endpoint.

Request Body
{
  "account": {
    "contact": {
      "salutation": "SALUTATION_NAME",
      "designation": "DESIGNATION_NAME",
      "first_name": "FIRST_NAME",
      "middle_name": "MIDDLE_NAME",
      "email": {
        "address": "EMAIL_ADDRESS",
        "do_not_email": "BOOLEAN_STRING"
      },
      "address_line_1": "ADDRESS_LINE_1",
      "address_line_2": "ADDRESS_LINE_2",
      "address_line_3": "ADDRESS_LINE_3",
      "address_line_4": "ADDRESS_LINE_4",
      "address_line_5": "ADDRESS_LINE_5",
      "post_code": "POST_CODE",
      "city": "CITY",
      "state": "STATE",
      "country": "COUNTRY",
      "phone": {
        "country_code": "CC",
        "area_code": "AC",
        "number": "PHONE_NUMBER",
        "do_not_call": "BOOLEAN_STRING"
      },
      "fax": {
        "country_code": "CC",
        "area_code": "AC",
        "number": "FAX_NUMBER",
        "do_not_call": "BOOLEAN_STRING"
      },
      "mobile": {
        "country_code": "CC",
        "area_code": "AC",
        "number": "MOBILE_NUMBER",
        "do_not_call": "BOOLEAN_STRING"
      },
      "custom_attributes": [],
      "receive_billing_information": "BOOLEAN_STRING"
    }
  }
}
AttributeType
Description
salutation
String
Title prefix (example: Mr., Ms.).
designation
String
Role or job title (example: CEO).
first_name
String
Contact’s first name.
middle_name
String
Middle name of the contact.
email.address
String
Contact's email address.
email.do_not_email
String
Flag to suppress emails (true/false).
address_line_1-5
String
Mailing address lines.
post_code
String
Postal code.
city
String
City name.
state
String
State or province.
country
String
Country name.
phone, fax, mobile
Object
Contact numbers and opt-out settings.
receive_billing_information
String
Flag to receive billing info (true/false).
custom_attributes
Array
Any custom metadata or user-defined fields.
Response 

Returns the updated contact object under the given type for the specified account.

Response Body
{
  "account": {
    "contacts": {
      "type": "CONTACT_TYPE",
      "type_display_name": "TYPE_DISPLAY_NAME",
      "billing_contact": "BOOLEAN_STRING",
      "shipping_contact": "BOOLEAN_STRING",
      "salutation": {
        "id": "SALUTATION_ID",
        "name": "SALUTATION_NAME",
        "link": "SALUTATION_LINK"
      },
      "designation": {
        "id": "DESIGNATION_ID",
        "name": "DESIGNATION_NAME",
        "link": "DESIGNATION_LINK"
      },
      "first_name": "FIRST_NAME",
      "middle_name": "MIDDLE_NAME",
      "last_name": "LAST_NAME",
      "email": {
        "address": "EMAIL_ADDRESS",
        "do_not_email": "BOOLEAN_STRING"
      },
      "address_line_1": "ADDRESS_LINE_1",
      "address_line_2": "ADDRESS_LINE_2",
      "address_line_3": "ADDRESS_LINE_3",
      "address_line_4": "ADDRESS_LINE_4",
      "address_line_5": "ADDRESS_LINE_5",
      "post_code": "POST_CODE",
      "city": "CITY",
      "state": "STATE",
      "country": "COUNTRY",
      "phone": {
        "country_code": "CC",
        "area_code": "AC",
        "number": "PHONE_NUMBER",
        "full": "FULL_NUMBER",
        "do_not_call": "BOOLEAN_STRING"
      },
      "fax": {
        "country_code": "CC",
        "area_code": "AC",
        "number": "FAX_NUMBER",
        "full": "FULL_FAX",
        "do_not_call": "BOOLEAN_STRING"
      },
      "mobile": {
        "country_code": "CC",
        "area_code": "AC",
        "number": "MOBILE_NUMBER",
        "full": "FULL_MOBILE",
        "do_not_call": "BOOLEAN_STRING"
      },
      "receive_billing_information": "BOOLEAN_STRING",
      "created_by": "CREATOR_NAME",
      "created_on": "CREATED_TIMESTAMP",
      "last_updated_by": "UPDATER_NAME",
      "last_updated_on": "UPDATED_TIMESTAMP",
      "uuid": "CONTACT_UUID",
      "version": "VERSION",
      "custom_attributes": []
    },
    "id": "ACCOUNT_ID"
  }
}
AttributeType
Description
type
String
Type of contact (CONTACT_1, CONTACT_2, etc).
type_display_name
String
Human-readable type (example: "Billing Contact").
billing_contact
String
Whether this is the billing contact.
shipping_contact
String
Whether this is the shipping contact.
salutation
Object
Salutation details with id, name, and link.
designation
Object
Designation info with id, name, and link.
first_name
String
First name of the contact.
middle_name
String
Middle name of the contact.
last_name
String
Last name of the contact.
email.address
String
Email address.
email.do_not_email
String
Email opt-out flag (true/false).
address_line_1-5
String
Address fields for mailing purposes.
post_code
String
Postal code.
city, state, country
String
Location info.
phone, fax, mobile
Object
Full number, segmented parts, and opt-out flags.
receive_billing_information
String
Indicates if billing info should be sent here.
created_by, last_updated_by
String
Creator and last updater of the contact.
created_on, last_updated_on
String
Timestamps of creation and update.
uuid
UUID
Unique ID of the contact.
version
String
Version control metadata.
custom_attributes
Array
Custom user-defined metadata.