📄️ Get Address Type
Retrieves a single address type by its identifier.
📄️ Update Address Type
Updates an existing address type.
📄️ Delete Address Type
Deletes an address type by its ID if it is not a system entry and not in use by any addresses.
📄️ Create Address Type
Creates a new address type.
📄️ Get Address Types
Retrieves a list of address types available in the system.
📄️ Get Automation Settings
Retrieves automation settings for billing actions.
📄️ Update Automation Settings
Updates automation settings for billing actions.
📄️ Serve Image
Serves an image file from the server.
📄️ Get Logo File Data for Embedding
Retrieves the logo file data as a Base64 image along with metadata for the purposes of embeding the image onto a web page.
📄️ Upload a Logo Image
Allows upload of a single Logo image file for use in the system and on invoices.
📄️ Get Bill Profile Bill Messages
Returns the special, ACH and CC messages printed on invoices for customers on this bill profile.
📄️ Update Bill Profile Bill Messages
Replaces the special, ACH and CC messages for a bill profile. A missing or blank message clears that slot.
📄️ Get Service Type
Retrieves a single service type by its identifier.
📄️ Update Service Type
Updates an existing service type.
📄️ Create Service Type
Creates a new service type.
📄️ Get Service Types
Retrieves a list of service types available in the system.
📄️ Get Steps
Retrieves a list of collection steps for a given template.
📄️ Get a Collection Step
Retrieves a specific collection step by its ID.
📄️ Update a Collection Step
Updates an existing collection step with the provided details.
📄️ Delete a Collection Step
Deletes an existing collection step by its ID.
📄️ Get Templates
Retrieves a list of collection templates.
📄️ Create a Collection Template
Creates a new collection template with the provided details.
📄️ Get a Collection Template
Retrieves a collection template by its ID.
📄️ Update a Collection Template
Updates an existing collection template with the provided details.
📄️ Get a list of Payment Processor Configurations
Retrieves a list of payment processor configurations.
📄️ Get Accounting Period
Retrieves a specific accounting period by its ID.
📄️ Get Accounting Periods
Retrieves a paged and sorted list of closed accounting periods.
📄️ Create Accounting Period
Creates a new accounting period by closing the specified end date.
📄️ Get Accounting Period Automation Settings
Retrieves automation settings for accounting period closing.
📄️ Update Accounting Period Automation Settings
Updates automation settings for accounting period closing.
📄️ Update Client Billing Settings
Updates the PSA-specific, client-level billing settings for the current client. This operation performs an upsert.
📄️ Get Client Billing Settings
Retrieves the PSA-specific, client-level billing settings for the current client.
📄️ Get Lead Lifecycle Stages
Retrieves a list of lead lifecycle stages available in the system.
📄️ Create Lead Lifecycle Stage
Creates a new lead lifecycle stage.
📄️ Update Lead Lifecycle Stage
Updates an existing lead lifecycle stage's name, description, or active status.
📄️ Delete Lead Lifecycle Stage
Deletes a lead lifecycle stage by its ID.
📄️ Get Lead Statuses
Retrieves a list of lead statuses available in the system.
📄️ Create Lead Status
Creates a new lead status.
📄️ Update Lead Status
Updates an existing lead status's name, description, or active status.
📄️ Delete Lead Status
Deletes a lead status by its ID.
📄️ Get Lead Ratings
Retrieves a list of lead ratings available in the system.
📄️ Create Lead Rating
Creates a new lead rating.
📄️ Update Lead Rating
Updates an existing lead rating's name, description, or active status.
📄️ Delete Lead Rating
Deletes a lead rating by its ID.
📄️ Get Lead Company Sizes
Retrieves a list of lead company sizes available in the system.
📄️ Create Lead Company Size
Creates a new lead company size.
📄️ Update Lead Company Size
Updates an existing lead company size's name, description, or active status.
📄️ Delete Lead Company Size
Deletes a lead company size by its ID.
📄️ Get Agreements Configuration
Retrieves the client-wide Agreements configuration shown under Admin > System Settings > Agreements. Returns 404 if the singleton row has not been seeded on this database.
📄️ Update Agreements Configuration
Upserts the client-wide Agreements configuration. Both Product Types must be One-Time. On a fresh database (no row yet) the first call inserts the singleton; subsequent calls update it in place.
📄️ Create an Overage Template
Creates an Overage Template with its full set of rule tiers. Day-one only accepts BLOCK_HOURS as the component type. Tier validation (contiguity, non-overlap, single open-ended top tier) matches customer-side Block Hour overage rules. Returns the new template id and its initial Version (1).
📄️ List Overage Templates
Returns a paged list of Overage Templates, header-only. Filter by name (contains) or component type id.
📄️ Get an Overage Template by id
Returns the Overage Template header plus all rule tiers. 404 if the template does not exist.
📄️ Update an Overage Template
Replaces the rule set and renames the template in one call. Version bumps only when rule rows change; header-only edits do not bump it. Tier validation runs against the incoming rule set.
📄️ Delete an Overage Template
Deletes the template and its rule tiers. Returns 409 with referencingTemplateCount if any Agreement Template BlockHour references this Overage Template.
📄️ List Overage Template change history
Returns immutable create, edit, and propagation events with scalar values, ordered rule snapshots, actor, timestamp, scope, and affected or skipped counts.
📄️ List the Agreement Templates and Customer Agreements linked to an Overage Template
Returns all current references grouped by Agreement Template, including direct or historically unmatched Customer Agreements. This read model is independent of propagation eligibility and version staleness.
📄️ Preview which Agreement Templates / customer agreements would be touched by Overage Template propagation
Returns the would-apply / locked-skip split for the supplied Overage Template — both at the Agreement Template stamp layer and the customer agreement layer.
📄️ Propagate an Overage Template to its referencing Agreement Template BlockHours and (optionally) non-locked customer Block Hours
Restamps Source_Overage_Template_Version on AT BlockHour stamps. When Scope is TemplatesAndCustomerAgreements, also bulk-replaces customer overage rule rows and restamps customer BlockHour stamps. Locked customer agreements are always skipped.
📄️ Create an Agreement Template
Creates a full-hierarchy Agreement Template (header, components, BlockHours, overage rules) in a single transaction. Returns the new id and initial Version (1).
📄️ List Agreement Templates
Returns a paged list of Agreement Templates, header-only. Filter by name, status, and duration.
📄️ Get an Agreement Template by id
Returns the full template hierarchy — header + components + BlockHours + overage rules. 404 if not found.
📄️ Update an Agreement Template
Replaces the template hierarchy and renames the header in one call. Version bumps only when any descendant (component, BlockHour, overage rule, or Overage Template reference) changes.
📄️ Delete an Agreement Template
Deletes the template and its full hierarchy. Returns 409 with referencingAgreementCount if any customer agreement still references this template.
📄️ Preview which customer agreements would be touched by Agreement Template propagation
Returns the would-apply / locked-skip split for the supplied Agreement Template. Up-to-date agreements are excluded from both lists.
📄️ Propagate an Agreement Template to its non-locked customer agreements
Updates every non-locked customer agreement carrying Source_Agreement_Template_ID = id to match the template's current Version. Snapshots history on rate change; replaces overage rules per BlockHour; stamps the new Version.
📄️ Get Contact Types
Retrieves a list of contact types available in the system.
📄️ Create Contact Type
Creates a new contact type.
📄️ Get Contact Type
Retrieves a single contact type by its identifier.
📄️ Update Contact Type
Updates an existing contact type.
📄️ Delete Contact Type
Deletes a contact type by its ID if it is not in use by any contacts.