Timeline events endpoint deprecation

As of August 2023, Pismo has begun the deprecation of endpoints related to timeline events. The endpoints related to timeline events and account due dates have been redesigned to improve stability and performance of the platform.

Deprecated endpoints

The following table lists the deprecated endpoints and the new endpoints that replace them. The new endpoints are available now in the test environment (EXT) and in production. For information about relevant dates, see Deprecation schedule.

Deprecated endpointReplacement endpoint
GET /events/v1/timeline
GET /events/v2/timeline
GET /events/v3/timeline
GET /events/v4/timeline
GET /events/v1/accounts/{accountId}/timeline
GET /timeline/v1/timeline
POST /events/v1/timeline
POST /events/v2/timeline
POST /timeline/v1/timeline

πŸ“˜

If your services use any of the deprecated endpoints, you must switch to the new endpoints in your production environment before the deprecated endpoints are decommissioned. For more information about deprecation, see API life cycle and deprecation strategy.

Using the new endpoints

Cursor pagination

Cursor pagination addresses a database limitation where a query operation can retrieve a maximum of 1 MB of data. This limit applies before the filter expression is evaluated, which may cause incomplete query results.

When the result limit is reached with more records left to evaluate, the has_next and next_cursor fields are included in the response:

"has_next": true,  
"next_cursor": "ewogICJUZW5hbnRBY2NvdW50VGltZXN0YW1wIjogIlRFTkFOVDo6QUNDT1VOVDo6VElNRVNUQU1QIiwKICAiVGVuYW50QWNjb3VudCI6ICJURU5BTlQ6OkFDQ09VTlRfSUQiLAogICJUaW1lc3RhbXAiOiAiVElNRVNUQU1QIgp9",

The next_cursor field is not used in the first GET query. But for each subsequent query, use the value of next_cursor to continue from where the previous query left off.

GET Query parameters

  • The page and perPage fields are removed.
  • The asc field is renamed to order.
  • The other query fields are unchanged.

GET Query response body

{
  "has_next": true,
  "next_cursor": "ewogICJUZW5hbnRBY2NvdW50VGltZXN0YW1wIjogIlRFTkFOVDo6QUNDT1VOVDo6VElNRVNUQU1QIiwKICAiVGVuYW50QWNjb3VudCI6ICJURU5BTlQ6OkFDQ09VTlRfSUQiLAogICJUaW1lc3RhbXAiOiAiVElNRVNUQU1QIgp9",
  "count": 1,
  "items": [  
    //nothing changes here  
  ]
}
  • The has_next field replaces the next_page field. This value is a boolean that indicates if there are more records to evaluate.
  • The query response body includes a new field called next_cursor. When the result limit is reached but there are more records to evaluate, a cursor is returned.
  • The per_page and current_page fields have been removed.
  • The items field has not changed.