You're broadly right, but with a few important caveats.
TMF APIs are intentionally extensible. You are allowed to add attributes as long as you don't break the core resource semantics or mandatory fields. That's how TMF expects vendors to handle gaps and local needs.
That said, "can" and "should" are different things. Heavy extension quickly hurts reuse and interoperability. If a consumer needs to understand 50 bespoke fields, you've effectively created a private API website with a TMF wrapper.
Best practice is to keep extensions minimal, clearly namespaced, and optional. If the data is niche, consider relatedParty, characteristics, or a side API instead of bloating the core resource. If many projects need the same extension, that's a signal it belongs back with TMF.
So yes, it's designer-driven. But restraint is what keeps it useful.
------------------------------
Alia Waite
TO BE VERIFIED
------------------------------
Original Message:
Sent: Mar 16, 2023 12:17
From: Thomas O Donnell
Subject: Extending TMF APIs
Hi all,
I'm relatively new to TMF (very much a beginner) and I have a general question around extending the APIs.
After getting some help from the message boards and going through TMF630 a couple of times, there does not seem to be a limit of how often someone can extend an API. If I have a requirement that cannot be met directly using the existing structures, it seems that I can just add a new attributes to meet the requirement. Provided the API meets the minimum conformance requirements and the attributes that have been added do not invalidate the core characteristics of the API, the API can be signed off as TMF compliant.
Is it correct to say it's completly up to the designer to extend an API as they see fit by adding new attributes in order to fulfil bespoke requirements so long as they do not invalidate the API by doing so?
My concerns related to reusability. If an API is extended with 50 new attributes, it may not be especially usable by consuming systems which goes against the entire purpose of TMF. To be clear, I'm not saying I want or need to alter the documented resources massively - my only reqirement is to return limited additional information in GET requests.
Thank you in advance,
------------------------------
Thomas O Donnell
MDS Global Ltd
------------------------------