1

I'm trying to Put / Patch grants, but get an Ical exception. What is wrong with this:

BEGIN:VCALENDAR

PRODID:prodid

VERSION:2.0

BEGIN:VEVENT

DTEND;TZID=Europe/Amsterdam;VALUE=DATE:30001231

DTSTAMP:20221028T151844

DTSTART;TZID=Europe/Amsterdam;VALUE=DATE:20220824

SEQUENCE:0

UID:f03cdae7-8475-40b5-8521-c902d736e508

END:VEVENT

END:VCALENDAR

Regards,

stan0611
  • 53
  • 2
  • Once in the past, it was working. Later it didn't work, after a lot of time, I figured out I suddenly needed to add a TZID to the end date. Than it worked. Now it stopped working again. I don't have the time to find out what's wrong this time. What has changed since like a week or so? Is there a way to test an ICAL object against your backend? Is there a release notes blog / webpage that states the changes made to the API to prevent this in the future? – stan0611 Nov 01 '22 at 08:13

1 Answers1

1

The problem with your ICAL is the DTEND value with a year of '3000'.

You are right, this ICAL was accepted before, even though it was not supported. We changed this recently and missed that someone had this specified, for what we apologize, of course.

The ICAL grant with such a long timespan is heavy to calculate on the lock and might lead to unexpected results, like grant not being valid after i.e. 10 years. The maximum timespan that can be specified via ICAL is 68 years with the current locks available on the market.

When not using a reccurence, but simple DTSTART/DTEND, it is recommended to use validFrom/validBefore combination instead of ICAL, that are simpler to calculate on the lock. In your case validBefore would be null, meaning "unlimited". We also recommmend you to update existing grants having 3000 year in ICAL to avoid any issues in the future.

To your question about the documentation of API changes, our current API version is always up to date and documented on developers.tapkey.io. We do not intentionally introduce breaking changes, but in this case it was a mistake. Again, we are very sorry for the inconvenience caused.

There is no specific endpoint to test the ICAL, what you can do is to try to create a test grant i.e. for yourself and remove it afterwards.

Thank you for your feedback, we will also try to improve the error message in this case.

eduard
  • 408
  • 3
  • 13