These docs are for v1.0. Click to read the latest docs for v2.0.

Added a new Alerts resource for managing notification alerts about contract renewals and application transactions.

Added

Alerts

The Alerts API provides endpoints to create and manage notification alerts that notify users about important events:

Get Alerts

  • An endpoint to retrieve all alerts configured for your company.

Get Alert by ID

  • An endpoint to retrieve a specific alert by its unique identifier.

Create Alert

  • An endpoint to create new alerts for contract renewals or application transactions.
  • Supports three alert types:
    • Renewal alerts - Notify when an application's contract is approaching renewal (7-240 days in advance)
    • Transaction alerts - Notify when application transactions exceed a specified threshold
    • Contract renewal alerts - Notify when a contract is approaching renewal
  • Alerts require at least one email recipient and an owner.
  • Alert delivery method is automatically set to email.

Update Alert

  • An endpoint to modify alert properties like memo, owner, and notification settings.
  • Note: Alert type and associated application/contract cannot be changed after creation.

Delete Alert

  • An endpoint to delete an alert by its unique identifier.

Alert Fields

The following fields are available in the Alerts resource:

  • id - Unique identifier for the alert
  • type - Alert type (renewal, transaction, or contract-renewal)
  • application_id - The application this alert is associated with (for renewal and transaction alerts)
  • contract_id - The contract this alert is associated with (for contract-renewal alerts)
  • owner - Email address of the alert owner
  • method - Alert delivery method (currently email only)
  • settings - Configuration object containing recipients and alert-specific settings (notification periods, thresholds, etc.)
  • memo - Optional note about the alert
  • last_processed_date - Date and time the alert was last processed
  • zylo_created_at - Date and time the alert was created
  • zylo_modified_at - Date and time the alert was last modified

Updatable Fields

The following fields can be modified after alert creation:

  • owner - Change the alert owner
  • settings - Update recipients or alert-specific configuration
  • memo - Update the alert note

Adds a new field to the Applications resource to track when data was last processed.

Added

Applications

  • Added last_processed_date field to show when an application was last processed by its data source.

Fixed an issue in the Integrations resource where some records were not being returned.

Fixed

Integrations

  • Fixed an issue where integrations without a linked application were not being returned by the API. Suite integrations (such as Atlassian) may not have an application_id since they can be related to multiple applications.

Adds in the "Reports" resource and documentation, which allows for users to create CSV reports from the Report Builder Syntax.

Added

Reports API

The Reports API is a set of endpoint that allows for users to create reports from a builder syntax.

The builder syntax can create CSV reports that aggregate, filter and join on resources.

For example, if a user wants to see the total amount of spend per application category, they can run the below report:

{
  "builder": {
    "applications": {
      "fields": [
        {
          "name": "category",
          "as": "category"
        }
      ],
      "with": {
        "payments": {
          "fields": [
            {
              "name": "amount",
              "op": "sum",
              "as": "total_amount"
            }
          ]
        }
      }
    }
  },
  "sort": "+total_amount",
  "limit": 50
}

This will submit a job to Zylo to create a CSV, which can then be downloaded by the client via the Reports API.

Adds in the /query endpoint and documentation to the Enterprise API.

Added

Query API

The Query API is an endpoint that allows for users to aggregate and filter on resources without having to pull down all the data themselves to aggregate.

For example, if a user wants to know the total number of applications they have by category, they can run the below query:

{
  "builder": {
    "applications": {
      "fields": [
        {
          "name": "category",
          "as": "category"
        },
        {
          "name": "id",
          "op": "count",
          "as": "app_count"
        }
      ]
    }
  },
  "sort": "-app_count",
  "limit": 50
}

This results in a response like:

{
    [
        {
            "category": "Engineering",
            "app_count": 50
        },
        {
            "category": "Product Management",
            "app_count": 32
        },
        ...
    ]
}

To see more information, check out the Query API documentation in the sidebar to the left.

Adds status as a field on the "Contracts" resource.

Improved

Contracts

There is now a status field on the contracts to quickly identify the status of the contract.

Increased file upload size limit for Payment Uploads and Usage Connect Uploads.

Improved

Increased the limit for Payment and Usage Connect Uploads from 100MB to 3GB.

The ability to get activity history records for changes to applications has now been added

Added

Activity History

Get list of Activity History Records

  • An endpoint to get a list of Activity History Records from your Zylo instance. This includes the metadata for the Activity History Records.

Get an Activity History Record by Id

  • An endpoint to get a single Activity History Record from your Zylo instance by its id. This includes the metadata for the Activity History Records.

A few updates and fixes for the Applications resource.

Added

  • Added true_up as an editable property on the Applications resource.

Fixed

  • Fixed an issue where custom_field filtering (ie: ?custom_fields[boolean]=true) were not returning the expected results.
  • Fixed an issue where updating "Yes"/"No" custom fields were not showing up in the UI.

This update add a new high-performant pagination option.

Added

Custom Pagination

  • Support for cursor based pagination to improve performance with large data sets.