Added

Lifecycle Manager API – Agreements, Deliverable Schedules, Assessment Reporting, Software & SaaS Assets, Planning & Account Administration


Summary

This release substantially expands the Lifecycle Manager API, adding 165 new endpoints across several new areas: Agreements (agreements, agreement items, agreement templates, and products, with CSV/PDF/XLSX exports), Deliverable Schedules (scheduling, previews, recipients, delivery controls, and run history), Assessment reporting (summary, full, comparison, and item-detail reports) plus assessment criteria, tagging, duplication, and PSA initiative/ticket linking, Software and SaaS assets (listings, products, devices, and portfolio summaries), Hardware custom fields, exports, and lifecycle reporting, Planning dashboards and exports, Account administration (settings, logo, account team members and roles), and reusable Tags, Segments, and Verticals.

The API major version remains v1. Most changes are additive and backward compatible — but this release also includes a set of backward-incompatible changes you must review before upgrading. Four endpoints have been removed without a deprecation period, three response contracts renamed or dropped fields, and three export endpoints added a required request field. Seven /contracts endpoints are now deprecated with a fixed shutoff date. See Changed and Deprecated below.


Changes

New endpoints

Account

  • GET /lifecycle-manager/v1/account/settings

    • N/A → Available
    • Type: addition
    • Notes: Retrieve your account's name, type, region, website, and brand colour.
  • PATCH /lifecycle-manager/v1/account/settings

    • N/A → Available
    • Type: addition
    • Notes: Update account settings. Only the fields you send are changed.
  • GET /lifecycle-manager/v1/account/logo

    • N/A → Available
    • Type: addition
    • Notes: Download your account's current logo image.
  • POST /lifecycle-manager/v1/account/logo

    • N/A → Available
    • Type: addition
    • Notes: Upload a replacement account logo as a multipart file.
  • DELETE /lifecycle-manager/v1/account/logo

    • N/A → Available
    • Type: addition
    • Notes: Remove the account logo and fall back to the default.

Account Team

  • GET /lifecycle-manager/v1/account-team/members

    • N/A → Available
    • Type: addition
    • Notes: List the people on your account team, for assignment to clients.
  • GET /lifecycle-manager/v1/account-team/roles

    • N/A → Available
    • Type: addition
    • Notes: List the account-team roles available when assigning members.

Agreements

  • GET /lifecycle-manager/v1/agreements

    • N/A → Available
    • Type: addition
    • Notes: List agreements with filtering, search, sorting, and pagination.
  • POST /lifecycle-manager/v1/agreements

    • N/A → Available
    • Type: addition
    • Notes: Create an agreement for a client.
  • GET /lifecycle-manager/v1/agreements/summary

    • N/A → Available
    • Type: addition
    • Notes: Account or client-scoped agreement totals, including expiring-soon and expired counts and recurring-spend totals.
  • GET /lifecycle-manager/v1/agreements/{agreement_id}

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a single agreement.
  • PUT /lifecycle-manager/v1/agreements/{agreement_id}

    • N/A → Available
    • Type: addition
    • Notes: Update an agreement.
  • DELETE /lifecycle-manager/v1/agreements/{agreement_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a single agreement.
  • POST /lifecycle-manager/v1/agreements/delete

    • N/A → Available
    • Type: addition
    • Notes: Delete several agreements in one request.
  • PUT /lifecycle-manager/v1/agreements/{agreement_id}/hidden-status

    • N/A → Available
    • Type: addition
    • Notes: Hide or unhide an agreement from standard agreement views.
  • PUT /lifecycle-manager/v1/agreements/{agreement_id}/assets

    • N/A → Available
    • Type: addition
    • Notes: Attach one or more hardware assets to an agreement.
  • POST /lifecycle-manager/v1/agreements/{agreement_id}/assets/delete

    • N/A → Available
    • Type: addition
    • Notes: Detach hardware assets from an agreement without deleting either entity.
  • POST /lifecycle-manager/v1/agreements/{agreement_id}/items

    • N/A → Available
    • Type: addition
    • Notes: Add a line item to an agreement, with optional start and end timestamps.
  • PUT /lifecycle-manager/v1/agreements/{agreement_id}/items/{agreement_item_id}

    • N/A → Available
    • Type: addition
    • Notes: Update an agreement line item.
  • DELETE /lifecycle-manager/v1/agreements/{agreement_id}/items/{agreement_item_id}

    • N/A → Available
    • Type: addition
    • Notes: Remove a line item from an agreement.
  • DELETE /lifecycle-manager/v1/agreements/{agreement_id}/overrides

    • N/A → Available
    • Type: addition
    • Notes: Clear all field overrides on an agreement, restoring inherited values.
  • DELETE /lifecycle-manager/v1/agreements/{agreement_id}/overrides/{field_name}

    • N/A → Available
    • Type: addition
    • Notes: Clear a single field override on an agreement.
  • POST /lifecycle-manager/v1/agreements/export/csv

    • N/A → Available
    • Type: addition
    • Notes: Export the filtered agreement list as CSV.
  • POST /lifecycle-manager/v1/agreements/export/pdf

    • N/A → Available
    • Type: addition
    • Notes: Export the filtered agreement list as PDF.
  • POST /lifecycle-manager/v1/agreements/export/xlsx

    • N/A → Available
    • Type: addition
    • Notes: Export the filtered agreement list as an XLSX spreadsheet.

Agreement Items

  • GET /lifecycle-manager/v1/agreement-items
    • N/A → Available
    • Type: addition
    • Notes: List agreement line items across agreements, with filtering and pagination.

Agreement Templates

  • GET /lifecycle-manager/v1/agreement-templates

    • N/A → Available
    • Type: addition
    • Notes: List reusable agreement templates.
  • POST /lifecycle-manager/v1/agreement-templates

    • N/A → Available
    • Type: addition
    • Notes: Create an agreement template.
  • GET /lifecycle-manager/v1/agreement-templates/{agreement_template_id}

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a single agreement template.
  • PUT /lifecycle-manager/v1/agreement-templates/{agreement_template_id}

    • N/A → Available
    • Type: addition
    • Notes: Update an agreement template.
  • DELETE /lifecycle-manager/v1/agreement-templates/{agreement_template_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete an agreement template.

Products

  • GET /lifecycle-manager/v1/products

    • N/A → Available
    • Type: addition
    • Notes: List the products available for agreement line items.
  • GET /lifecycle-manager/v1/products/{id}

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a single product.

Assessments

  • POST /lifecycle-manager/v1/assessments/{assessment_id}/duplicate

    • N/A → Available
    • Type: addition
    • Notes: Copy an existing assessment, including its questions and answers.
  • GET /lifecycle-manager/v1/assessments/{assessment_id}/reports/summary

    • N/A → Available
    • Type: addition
    • Notes: Retrieve the assessment summary report.
  • GET /lifecycle-manager/v1/assessments/{assessment_id}/reports/full

    • N/A → Available
    • Type: addition
    • Notes: Retrieve the full assessment report, including every question and answer.
  • GET /lifecycle-manager/v1/assessments/{assessment_id}/reports/comparison

    • N/A → Available
    • Type: addition
    • Notes: Compare an assessment against an earlier one that uses the same template and client.
  • GET /lifecycle-manager/v1/assessments/{assessment_id}/reports/item-detail

    • N/A → Available
    • Type: addition
    • Notes: Download the per-item detail report for an assessment.
  • GET /lifecycle-manager/v1/assessments/criteria/labels

    • N/A → Available
    • Type: addition
    • Notes: List the criterion label types available when scoring assessment questions.
  • POST /lifecycle-manager/v1/assessments/{assessment_id}/questions/{question_id}/criteria

    • N/A → Available
    • Type: addition
    • Notes: Add an additional custom answer to an assessment question.
  • DELETE /lifecycle-manager/v1/assessments/{assessment_id}/questions/{question_id}/criteria/{assessment_criterion_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a custom answer from an assessment question.
  • DELETE /lifecycle-manager/v1/assessments/{assessment_id}/questions/{assessment_evaluation_question_id}/answer

    • N/A → Available
    • Type: addition
    • Notes: Clear the recorded answer on an assessment question.
  • POST /lifecycle-manager/v1/assessments/{assessment_id}/questions/initiative-link

    • N/A → Available
    • Type: addition
    • Notes: Link several assessment items to one initiative in a single request.
  • POST /lifecycle-manager/v1/assessments/{assessment_id}/questions/{assessment_evaluation_question_id}/initiative

    • N/A → Available
    • Type: addition
    • Notes: Link an initiative to a single assessment question.
  • DELETE /lifecycle-manager/v1/assessments/{assessment_id}/questions/{assessment_evaluation_question_id}/initiative

    • N/A → Available
    • Type: addition
    • Notes: Unlink an initiative from an assessment question.
  • POST /lifecycle-manager/v1/assessments/{assessment_id}/questions/{assessment_evaluation_question_id}/ticket

    • N/A → Available
    • Type: addition
    • Notes: Create a PSA ticket and link it to an assessment question.
  • DELETE /lifecycle-manager/v1/assessments/{assessment_id}/questions/{assessment_evaluation_question_id}/ticket

    • N/A → Available
    • Type: addition
    • Notes: Unlink a PSA ticket from an assessment question.
  • PUT /lifecycle-manager/v1/assessments/{assessment_id}/questions/{assessment_evaluation_question_id}/tags

    • N/A → Available
    • Type: addition
    • Notes: Replace the tags on an assessment question.
  • PUT /lifecycle-manager/v1/assessments/templates/questions/{assessment_template_question_id}/tags

    • N/A → Available
    • Type: addition
    • Notes: Replace the tags on an assessment template question.

Assessment Templates

  • GET /lifecycle-manager/v1/assessment-templates/{assessment_template_id}/questions/{assessment_template_question_id}/responses

    • N/A → Available
    • Type: addition
    • Notes: List the predefined responses configured for a template question.
  • POST /lifecycle-manager/v1/assessment-templates/{assessment_template_id}/restore

    • N/A → Available
    • Type: addition
    • Notes: Restore a previously deleted assessment template. Takes no request body.

Hardware Assets

  • GET /lifecycle-manager/v1/assets/hardware/custom-fields

    • N/A → Available
    • Type: addition
    • Notes: List your account's hardware custom field definitions.
  • POST /lifecycle-manager/v1/assets/hardware/custom-fields

    • N/A → Available
    • Type: addition
    • Notes: Create a hardware custom field definition.
  • PUT /lifecycle-manager/v1/assets/hardware/custom-fields/{hardware_custom_field_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a hardware custom field definition.
  • DELETE /lifecycle-manager/v1/assets/hardware/custom-fields/{hardware_custom_field_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a hardware custom field definition.
  • GET /lifecycle-manager/v1/assets/hardware/report-asset-types

    • N/A → Available
    • Type: addition
    • Notes: List the report asset types used to group hardware in reports and budgets.
  • PUT /lifecycle-manager/v1/assets/hardware/report-asset-type

    • N/A → Available
    • Type: addition
    • Notes: Reassign the report asset type on one or more hardware assets.
  • PUT /lifecycle-manager/v1/assets/hardware/visibility

    • N/A → Available
    • Type: addition
    • Notes: Show or hide one or more hardware assets.
  • POST /lifecycle-manager/v1/assets/hardware/export/csv

    • N/A → Available
    • Type: addition
    • Notes: Download the filtered hardware list as CSV.
  • POST /lifecycle-manager/v1/assets/hardware/export/xlsx

    • N/A → Available
    • Type: addition
    • Notes: Download the filtered hardware list as an XLSX spreadsheet.
  • POST /lifecycle-manager/v1/assets/hardware/export/legacy/xlsx

    • N/A → Available
    • Type: addition
    • Notes: Download the hardware list in the previous spreadsheet layout.
  • POST /lifecycle-manager/v1/assets/hardware/export/pdf

    • N/A → Available
    • Type: addition
    • Notes: Download the filtered hardware list as PDF.
  • POST /lifecycle-manager/v1/assets/hardware/lifecycle-report/pdf

    • N/A → Available
    • Type: addition
    • Notes: Download the hardware lifecycle report as PDF.

Software Assets

  • GET /lifecycle-manager/v1/assets/software

    • N/A → Available
    • Type: addition
    • Notes: List software assets with filtering, search, sorting, and pagination.
  • GET /lifecycle-manager/v1/assets/software/{software_asset_id}

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a single software asset.
  • GET /lifecycle-manager/v1/assets/software/summary

    • N/A → Available
    • Type: addition
    • Notes: Software portfolio totals, broken out by category.
  • GET /lifecycle-manager/v1/assets/software/products

    • N/A → Available
    • Type: addition
    • Notes: List software products aggregated across your clients' devices.
  • GET /lifecycle-manager/v1/assets/software/products/{software_product_id}/summary

    • N/A → Available
    • Type: addition
    • Notes: Totals for one software product, broken out by version. Supports an optional filter[client.id]=eq:<client_id> scope.
  • GET /lifecycle-manager/v1/assets/software/products/{software_product_id}/devices

    • N/A → Available
    • Type: addition
    • Notes: List the devices a software product is installed on.

SaaS Assets

  • GET /lifecycle-manager/v1/assets/saas

    • N/A → Available
    • Type: addition
    • Notes: List SaaS assets with filtering, search, sorting, and pagination.
  • GET /lifecycle-manager/v1/assets/saas/summary

    • N/A → Available
    • Type: addition
    • Notes: SaaS portfolio totals for the account or a single client.

Contact Assets

  • GET /lifecycle-manager/v1/assets/contacts/export

    • N/A → Available
    • Type: addition
    • Notes: Export the filtered contact-asset list.
  • GET /lifecycle-manager/v1/assets/contacts/report/pdf

    • N/A → Available
    • Type: addition
    • Notes: Generate the contact assets report as PDF, with selectable columns and a custom report title.

Contacts

  • POST /lifecycle-manager/v1/contacts

    • N/A → Available
    • Type: addition
    • Notes: Create a contact for a client.
  • GET /lifecycle-manager/v1/contacts/summary

    • N/A → Available
    • Type: addition
    • Notes: Contact totals for the account or a single client.
  • POST /lifecycle-manager/v1/contacts/bulk

    • N/A → Available
    • Type: addition
    • Notes: Hide or unhide several contacts in one request. Per-contact outcomes are returned under data.

Clients

  • GET /lifecycle-manager/v1/clients/{client_id}

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a single client.
  • PUT /lifecycle-manager/v1/clients/{client_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a client.
  • POST /lifecycle-manager/v1/clients/bulk

    • N/A → Available
    • Type: addition
    • Notes: Update several clients in one request.
  • GET /lifecycle-manager/v1/clients/{client_id}/settings

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a client's regional and display settings.
  • PUT /lifecycle-manager/v1/clients/access-group

    • N/A → Available
    • Type: addition
    • Notes: Update which access group a set of clients belongs to.
  • POST /lifecycle-manager/v1/clients/account-team

    • N/A → Available
    • Type: addition
    • Notes: Assign account-team members to clients.
  • DELETE /lifecycle-manager/v1/clients/account-team

    • N/A → Available
    • Type: addition
    • Notes: Unassign account-team members from clients.
  • PUT /lifecycle-manager/v1/clients/{client_id}/key-contacts

    • N/A → Available
    • Type: addition
    • Notes: Assign a client's key contacts.
  • DELETE /lifecycle-manager/v1/clients/{client_id}/key-contacts/{client_key_contact_id}

    • N/A → Available
    • Type: addition
    • Notes: Remove a key contact from a client.
  • GET /lifecycle-manager/v1/clients/{client_id}/client-iq

    • N/A → Available
    • Type: addition
    • Notes: Retrieve the generated ClientIQ narrative for a client.
  • POST /lifecycle-manager/v1/clients/{client_id}/client-iq/generate

    • N/A → Available
    • Type: addition
    • Notes: Generate fresh ClientIQ content for a client.
  • GET /lifecycle-manager/v1/clients/{client_id}/dmi/score

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a client's current Digital Maturity Index score.
  • GET /lifecycle-manager/v1/clients/{client_id}/dmi/trend

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a client's Digital Maturity Index score over time.
  • POST /lifecycle-manager/v1/clients/{client_id}/agreements/import-draft

    • N/A → Available
    • Type: addition
    • Notes: Create a draft agreement import for a client.

Client Groups

  • POST /lifecycle-manager/v1/client-groups

    • N/A → Available
    • Type: addition
    • Notes: Create a client group.
  • PUT /lifecycle-manager/v1/client-groups/{client_group_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a client group.
  • DELETE /lifecycle-manager/v1/client-groups/{client_group_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a client group.

Deliverable Schedules

  • GET /lifecycle-manager/v1/deliverables/schedules

    • N/A → Available
    • Type: addition
    • Notes: List recurring deliverable schedules.
  • POST /lifecycle-manager/v1/deliverables/templates/{template_id}/schedules

    • N/A → Available
    • Type: addition
    • Notes: Create a recurring schedule from a deliverable template.
  • GET /lifecycle-manager/v1/deliverables/schedules/{schedule_id}

    • N/A → Available
    • Type: addition
    • Notes: Retrieve a single schedule.
  • PATCH /lifecycle-manager/v1/deliverables/schedules/{schedule_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a schedule. Only the fields you send are changed.
  • DELETE /lifecycle-manager/v1/deliverables/schedules/{schedule_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a schedule.
  • POST /lifecycle-manager/v1/deliverables/schedules/{schedule_id}/pause

    • N/A → Available
    • Type: addition
    • Notes: Pause a schedule so it stops sending.
  • POST /lifecycle-manager/v1/deliverables/schedules/{schedule_id}/resume

    • N/A → Available
    • Type: addition
    • Notes: Resume a paused schedule.
  • POST /lifecycle-manager/v1/deliverables/schedules/{schedule_id}/send-now

    • N/A → Available
    • Type: addition
    • Notes: Send a schedule's deliverable immediately, outside its normal cadence.
  • GET /lifecycle-manager/v1/deliverables/schedules/{schedule_id}/runs

    • N/A → Available
    • Type: addition
    • Notes: List a schedule's past runs and their outcomes.
  • POST /lifecycle-manager/v1/deliverables/schedules/{schedule_id}/recipients

    • N/A → Available
    • Type: addition
    • Notes: Add a recipient to a schedule.
  • DELETE /lifecycle-manager/v1/deliverables/schedules/{schedule_id}/recipients/{recipient_id}

    • N/A → Available
    • Type: addition
    • Notes: Remove a recipient from a schedule.
  • POST /lifecycle-manager/v1/deliverables/schedules/preview

    • N/A → Available
    • Type: addition
    • Notes: Preview the rendered message a schedule would send.
  • POST /lifecycle-manager/v1/deliverables/schedules/next-occurrence

    • N/A → Available
    • Type: addition
    • Notes: Preview when a schedule would next fire for a given recurrence.
  • POST /lifecycle-manager/v1/deliverables/schedules/send-test

    • N/A → Available
    • Type: addition
    • Notes: Send a one-off test message to an address you choose.
  • GET /lifecycle-manager/v1/deliverables/schedules/template-variables

    • N/A → Available
    • Type: addition
    • Notes: List the variables you can use in schedule message templates.

Deliverables

  • GET /lifecycle-manager/v1/deliverables/{deliverable-id}/components/{component-id}/file

    • N/A → Available
    • Type: addition
    • Notes: Download a file attached to a deliverable component.
  • POST /lifecycle-manager/v1/deliverables/{deliverable_id}/assessment

    • N/A → Available
    • Type: addition
    • Notes: Append an assessment report to a deliverable.
  • GET /lifecycle-manager/v1/clients/{client-id}/deliverables/catalog/components/service-delivery/board-options

    • N/A → Available
    • Type: addition
    • Notes: List the PSA board options available to a service-delivery deliverable component.

Initiatives

  • GET /lifecycle-manager/v2/initiatives/summary

    • N/A → Available
    • Type: addition
    • Notes: Initiative totals, including per-currency totals.
  • GET /lifecycle-manager/v1/initiatives/{initiative_id}/assets

    • N/A → Available
    • Type: addition
    • Notes: List the assets attached to an initiative.
  • GET /lifecycle-manager/v1/initiatives/{initiative_id}/assessment-questions

    • N/A → Available
    • Type: addition
    • Notes: List the assessment questions linked to an initiative.
  • PUT /lifecycle-manager/v1/initiatives/{initiative_id}/tags/assign

    • N/A → Available
    • Type: addition
    • Notes: Assign reusable tags to an initiative.
  • PUT /lifecycle-manager/v1/initiatives/{initiative_id}/tags/unassign

    • N/A → Available
    • Type: addition
    • Notes: Remove reusable tags from an initiative.
  • GET /lifecycle-manager/v1/initiatives/statuses/labels

    • N/A → Available
    • Type: addition
    • Notes: List the initiative status labels configured for your account.
  • PUT /lifecycle-manager/v1/initiatives/statuses/{initiative_status_id}/label

    • N/A → Available
    • Type: addition
    • Notes: Rename an initiative status label.
  • POST /lifecycle-manager/v1/initiatives/statuses/custom

    • N/A → Available
    • Type: addition
    • Notes: Create a custom initiative status.
  • DELETE /lifecycle-manager/v1/initiatives/statuses/custom/{custom_status_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a custom initiative status.

Goals

  • GET /lifecycle-manager/v2/goals/summary
    • N/A → Available
    • Type: addition
    • Notes: Goal totals, including the clients contributing to each.

Plan

  • GET /lifecycle-manager/v1/plan/dashboard

    • N/A → Available
    • Type: addition
    • Notes: Portfolio-level planning totals across initiatives and goals.
  • GET /lifecycle-manager/v1/plan/dashboard/layout

    • N/A → Available
    • Type: addition
    • Notes: Retrieve your saved planning dashboard layout.
  • PUT /lifecycle-manager/v1/plan/dashboard/layout

    • N/A → Available
    • Type: addition
    • Notes: Save your planning dashboard layout.
  • GET /lifecycle-manager/v1/plan/export/csv

    • N/A → Available
    • Type: addition
    • Notes: Export the planning portfolio as CSV.
  • GET /lifecycle-manager/v1/plan/export/pdf

    • N/A → Available
    • Type: addition
    • Notes: Export the planning portfolio as PDF.

Meetings

  • GET /lifecycle-manager/v1/meetings/{meeting_id}/attachments

    • N/A → Available
    • Type: addition
    • Notes: List a meeting's attachments.
  • POST /lifecycle-manager/v1/meetings/{meeting_id}/attachments

    • N/A → Available
    • Type: addition
    • Notes: Upload an attachment to a meeting as a multipart file.
  • GET /lifecycle-manager/v1/meetings/{meeting_id}/attachments/{attachment_id}/content

    • N/A → Available
    • Type: addition
    • Notes: Download an attachment's contents.
  • DELETE /lifecycle-manager/v1/meetings/{meeting_id}/attachments/{attachment_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a meeting attachment.
  • GET /lifecycle-manager/v1/meetings/{meeting_id}/notes

    • N/A → Available
    • Type: addition
    • Notes: List the notes attached to a meeting.
  • POST /lifecycle-manager/v1/meetings/{meeting_id}/notes/{note_id}

    • N/A → Available
    • Type: addition
    • Notes: Attach an existing note to a meeting.
  • DELETE /lifecycle-manager/v1/meetings/{meeting_id}/notes/{note_id}

    • N/A → Available
    • Type: addition
    • Notes: Detach a note from a meeting.
  • GET /lifecycle-manager/v1/meetings/{meeting_id}/deliverables

    • N/A → Available
    • Type: addition
    • Notes: List the deliverables attached to a meeting.
  • PUT /lifecycle-manager/v1/meetings/{meeting_id}/deliverables/attach

    • N/A → Available
    • Type: addition
    • Notes: Attach a deliverable to a meeting.
  • PUT /lifecycle-manager/v1/meetings/{meeting_id}/deliverables/detach

    • N/A → Available
    • Type: addition
    • Notes: Detach a deliverable from a meeting.

Meeting Templates

  • GET /lifecycle-manager/v1/meeting-templates

    • N/A → Available
    • Type: addition
    • Notes: List reusable meeting templates.
  • POST /lifecycle-manager/v1/meeting-templates

    • N/A → Available
    • Type: addition
    • Notes: Create a meeting template.
  • PUT /lifecycle-manager/v1/meeting-templates/{meeting_template_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a meeting template.
  • DELETE /lifecycle-manager/v1/meeting-templates/{meeting_template_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a meeting template.
  • POST /lifecycle-manager/v1/meeting-templates/{meeting_template_id}/attendees/users/assign

    • N/A → Available
    • Type: addition
    • Notes: Add users as default attendees on a meeting template.
  • POST /lifecycle-manager/v1/meeting-templates/{meeting_template_id}/attendees/users/unassign

    • N/A → Available
    • Type: addition
    • Notes: Remove default attendees from a meeting template.

Calendar

  • GET /lifecycle-manager/v1/calendar/events
    • N/A → Available
    • Type: addition
    • Notes: List calendar events across meetings and scheduled deliverables.

Tags

  • GET /lifecycle-manager/v1/tags

    • N/A → Available
    • Type: addition
    • Notes: List your account's reusable tags and the resource domains each applies to.
  • POST /lifecycle-manager/v1/tags

    • N/A → Available
    • Type: addition
    • Notes: Create a reusable tag.
  • PUT /lifecycle-manager/v1/tags/{tag_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a reusable tag.
  • DELETE /lifecycle-manager/v1/tags/{tag_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a reusable tag.

Segments

  • GET /lifecycle-manager/v1/segments
    • N/A → Available
    • Type: addition
    • Notes: List the client segments configured for your account.

Verticals

  • GET /lifecycle-manager/v1/verticals

    • N/A → Available
    • Type: addition
    • Notes: List the industry verticals configured for your account.
  • POST /lifecycle-manager/v1/verticals

    • N/A → Available
    • Type: addition
    • Notes: Create a vertical.
  • PUT /lifecycle-manager/v1/verticals/{vertical_id}

    • N/A → Available
    • Type: addition
    • Notes: Update a vertical.
  • DELETE /lifecycle-manager/v1/verticals/{vertical_id}

    • N/A → Available
    • Type: addition
    • Notes: Delete a vertical.

Licenses

  • GET /lifecycle-manager/v1/licenses/summary

    • N/A → Available
    • Type: addition
    • Notes: Retrieve assigned and available license counts for your account.
  • PUT /lifecycle-manager/v1/licenses/assign

    • N/A → Available
    • Type: addition
    • Notes: Assign or unassign licenses across clients.

Users

  • GET /lifecycle-manager/v1/users

    • N/A → Available
    • Type: addition
    • Notes: List your account's users. Active users are returned by default; set include_disabled=true to include disabled users. Replaces GET /active-users.
  • GET /lifecycle-manager/v1/user/USER_ID

    • N/A → Available
    • Type: addition
    • Notes: Retrieve one account user with their feature access and permissions. Replaces GET /user/identity.
  • GET /lifecycle-manager/v1/users/manage

    • N/A → Available
    • Type: addition
    • Notes: List the users you can administer.
  • PUT /lifecycle-manager/v1/users/manage/revoke

    • N/A → Available
    • Type: addition
    • Notes: Revoke Lifecycle Manager access from one or more users.

Analytics

  • GET /lifecycle-manager/v1/analytics/display-settings

    • N/A → Available
    • Type: addition
    • Notes: Retrieve your saved analytics display configuration.
  • PUT /lifecycle-manager/v1/analytics/display-settings

    • N/A → Available
    • Type: addition
    • Notes: Save your analytics display configuration.

Budget

  • GET /lifecycle-manager/v1/budget/summary
    • N/A → Available
    • Type: addition
    • Notes: Account-wide budget totals across clients.

Insights

  • GET /lifecycle-manager/v1/insights/{insight_id}/assets
    • N/A → Available
    • Type: addition
    • Notes: List the assets an insight applies to.

Quotes

  • GET /lifecycle-manager/v1/quotes
    • N/A → Available
    • Type: addition
    • Notes: List quotes associated with your account.

Rich Text

  • POST /lifecycle-manager/v1/rich-text/files

    • N/A → Available
    • Type: addition
    • Notes: Upload an image for use in rich-text content.
  • GET /lifecycle-manager/v1/rich-text/files/{rich_text_file_id}

    • N/A → Available
    • Type: addition
    • Notes: Download an image used in rich-text content.

Added

New query capabilities

  • GET /lifecycle-manager/v1/assessments/{id}

    • N/A → include=children
    • Type: addition
    • Notes: New optional include=children parameter expands an assessment's child questions in the response. Omit it and the response is unchanged.
  • GET /lifecycle-manager/v1/assessments

    • eqeq, in
    • Type: addition
    • Notes: filter[assessment_template_id] now also accepts in: for matching several templates in one request.
  • GET /lifecycle-manager/v1/contracts

    • eqeq, in
    • Type: addition
    • Notes: filter[client.id] now also accepts in: for matching several clients in one request.

Changed

Removed endpoints

  • GET /lifecycle-manager/v1/active-users

    • Available → Removed
    • Type: breaking change
    • Notes: Use GET /lifecycle-manager/v1/users. Active users are returned by default; set include_disabled=true to include disabled users. Calls to the old path now return 404.
  • GET /lifecycle-manager/v1/user/identity

    • Available → Removed
    • Type: breaking change
    • Notes: Use GET /lifecycle-manager/v1/user/USER_ID, which returns the requested account user with feature access and permissions. The replacement requires a user ID in the path, so callers that relied on the API key alone to identify the current user must now resolve that ID first. There is no /users/me operation.
  • GET /lifecycle-manager/v1/clients/{client_id}/contacts/lookup

    • Available → Removed
    • Type: breaking change
    • Notes: Use GET /lifecycle-manager/v1/contacts with filter[client_id]=eq:<client_id>, and the search parameter to match contact first name, last name, or email address.
  • POST /lifecycle-manager/v1/clients/client-groups/lookup

    • Available → Removed
    • Type: breaking change
    • Notes: GET /lifecycle-manager/v1/client-groups lists your account's client groups, but it is account-scoped and is not a like-for-like replacement for the client-scoped relationship lookup. Callers that resolved the groups for one specific client must now filter client-side.

Response contract changes

  • GET /lifecycle-manager/v1/clients

    • client_info, has_lmx_license, segment_info, account_team_member_list, dmi_score_infoclient, license, segment, account_team_members, dmi_score
    • Type: breaking change
    • Notes: Five fields on each list item were renamed. Update your response deserializers: client_infoclient, has_lmx_licenselicense, segment_infosegment, account_team_member_listaccount_team_members, dmi_score_infodmi_score. license is omitted when the client has no assigned license.
  • GET /lifecycle-manager/v1/initiative-templates

    • initiative_tag_idtag_id
    • Type: breaking change
    • Notes: Tags in the response now use the shared account-level tag contract. initiative_tag_id becomes tag_id, created_at and updated_at are no longer returned, and a new domains array identifies which resource types the tag applies to. name and color are unchanged.
  • GET /lifecycle-manager/v1/initiative-templates/{initiative_template_id}

    • initiative_tag_idtag_id
    • Type: breaking change
    • Notes: Same tag contract change as the list endpoint above.
  • GET /lifecycle-manager/v1/opportunities/create-fields

    • field_optionsdata
    • Type: breaking change
    • Notes: Two changes. The field_options array is now returned as data. Separately, each field's input_type is now a single object carrying only type — the per-type detail that used to accompany it is no longer returned, specifically validation.min_length, validation.max_length, options[].value, options[].label, data_type, and max_fraction_digits. Clients that rendered opportunity form fields from this response must source validation rules and select options elsewhere.

Request contract changes

  • POST /lifecycle-manager/v1/roadmap/pdf

    • included_initiative_tag_ids optional → required
    • Type: breaking change
    • Notes: roadmap_download_payload now requires included_initiative_tag_ids. Send an empty array to include all initiatives, a list of tag IDs to restrict the export to initiatives carrying at least one of them, or __no_tag__ for untagged initiatives. Requests that omit the field are rejected with 400 Bad Request.
  • POST /lifecycle-manager/v1/roadmap/csv

    • included_initiative_tag_ids optional → required
    • Type: breaking change
    • Notes: Same new required field as /roadmap/pdf above.
  • POST /lifecycle-manager/v1/roadmap/spreadsheet

    • included_initiative_tag_ids optional → required
    • Type: breaking change
    • Notes: Same new required field as /roadmap/pdf above.

Filter and field changes

  • GET /lifecycle-manager/v1/assets/hardware

    • Permissive filter schemas → implemented operators documented
    • Type: improvement
    • Notes: The filter schemas now enumerate the operators already implemented by the console-backed endpoint: option filters accept eq and in, while range filters accept eq, gt, gte, lt, and lte. This does not remove functional operator behavior. Prefixes such as in on range filters, range operators on the discrete filter[initiativecount] filter, and cont on discrete option filters were not implemented by the endpoint. Legacy raw comma-separated option values and one- or two-value numeric ranges remain accepted for compatibility.
  • GET /lifecycle-manager/v1/assets/hardware

    • has_scalepad_coverage, renewal_available: always present → optional and nullable
    • Type: change
    • Notes: Both response keys may now be omitted from an item, and either value may be returned as null when its state is unknown. Consumers that assumed the keys are always present must handle a missing key as well as true, false, and null.

Deprecated

The /contracts family is superseded by /agreements. All seven operations continue to work for now and become unavailable on June 1, 2027. Migrate to the corresponding /lifecycle-manager/v1/agreements operations documented under New endpoints above.

  • GET /lifecycle-manager/v1/contracts

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use GET /lifecycle-manager/v1/agreements.
  • POST /lifecycle-manager/v1/contracts

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use POST /lifecycle-manager/v1/agreements.
  • GET /lifecycle-manager/v1/contracts/{id}

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use GET /lifecycle-manager/v1/agreements/{agreement_id}.
  • PUT /lifecycle-manager/v1/contracts/{id}

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use PUT /lifecycle-manager/v1/agreements/{agreement_id}.
  • DELETE /lifecycle-manager/v1/contracts/{id}

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use DELETE /lifecycle-manager/v1/agreements/{agreement_id}.
  • PUT /lifecycle-manager/v1/contracts/{contract_id}/assets

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use PUT /lifecycle-manager/v1/agreements/{agreement_id}/assets.
  • POST /lifecycle-manager/v1/contracts/{contract_id}/assets/delete

    • Available → Deprecated
    • Type: deprecation
    • Notes: Use POST /lifecycle-manager/v1/agreements/{agreement_id}/assets/delete.

Dates

  • Effective: [2026-08-05]