Repository navigation
fix: rename endpoints to comply with Commonalities r4.3 (issue #235) - #236
Conversation
…project#235) - /unconditional-call-forwardings -> /check-unconditional-forwarding - operationId retrieveUnconditionalCallForwarding -> checkUnconditionalCallForwarding - scope call-forwarding-signal:unconditional-call-forwardings:read -> call-forwarding-signal:unconditional-forwarding:check - /call-forwardings -> /retrieve-forwardings - operationId retrieveCallForwarding -> retrieveCallForwardings - scope call-forwarding-signal:call-forwardings:read -> call-forwarding-signal:forwardings:retrieve - Updated prose references in info.description - Renamed and updated both Gherkin test feature files
12b7c11 to
3dc8cec
Compare
|
I did like the original suggestion by Eric to postfix the endpoint name with "-status" so you know what is being checked. So actually all operations could be focused on the forwarding-status. this would allow to drop "call" from most names to avoid duplication with the API name "call-forwarding-signal" (*). If you keep as is, I think in the above table the My above proposal could give:
Final point: one could in addition drop the word "forwarding" from all items, as it is in the API name already. (*) Side note: I never quite liked the "signal" aspect in the API name as it does not sound like a resource, so the API name could just be "call-forwarding". I included that in the above table. For the resource "CallForwardingSignal", the term "ForwardingStatus", "ForwardingIndicator" or "ForwardingFlag" could be an alternative. But that implies updating of file names and documentation as well. Don't forget updating the test files, API description, etc. ... |
|
@tanjadegroot Thanks for looking into proposal.
I also tried to take into account Guidelines for MCP and AI Agent Readiness to have meaningful but short names. There are other not urget issues raised in Release Review, so the API would be modified significantly after Sync26. |
eric-murray
left a comment
There was a problem hiding this comment.
I'm happy with the proposal. I agree that using the check verb implies that some sort of status will be returned.
Hi @rartych, I understood, I still find the API a bit awkward with its resources that are very close. But anyway you can drop my comment or look at it later as you wish. |
Yes, as operationId should be easy to transform into self-descriptive MCP tool names - API name as a prefix of MCP tool name is also possible, but we need to define respective rules in CAMARA MCP Tool Definition Guide first. |
Here is the drafted PR description:
What type of PR is this?
What this PR does / why we need it:
Renames both POST endpoints to comply with the CAMARA API Design Guide (Commonalities r4.3, §6.5), which requires that when POST is used for transferring sensitive data rather than creating a resource, the path must use a verb.
Changes applied:
POST /unconditional-call-forwardingsPOST /check-unconditional-forwardingretrieveUnconditionalCallForwardingcheckUnconditionalCallForwardingcall-forwarding-signal:unconditional-call-forwardings:readcall-forwarding-signal:unconditional-forwarding:checkPOST /call-forwardingsPOST /retrieve-forwardingsretrieveCallForwardingretrieveCallForwardingscall-forwarding-signal:call-forwardings:readcall-forwarding-signal:forwardings:retrievesummaryanddescriptionfields on the/check-unconditional-forwardingoperation to use the verb "Check".info.description.Feature:title line andGiven the pathstep accordingly.Which issue(s) this PR fixes:
Fixes #235
Special notes for reviewers:
The verb choice for the unconditional endpoint is
check(notretrieve) because it returns a simple boolean status, not a resource. The verb for the general forwarding endpoint remainsretrievesince it returns structured data. Scope strings are updated to follow the new path verb:unconditional-forwarding:checkandforwardings:retrieve.No API semantics, schema names, or response shapes were changed.
Changelog input
Additional documentation