Skip to content

Endpoint names are not compliant with Commonalities r4.3 #235

Description

@eric-murray

Problem description
The two endpoints use POST because they are transferring sensitive data, not because they are creating any resource.

The Commonalities Design Guide states:

When the POST method is used:

  • the resource in the path MUST be a verb (e.g. retrieve-location and not location) to differentiate from an actual resource creation

The current paths POST /unconditional-call-forwardings and POST /call-forwardings do not include the verb retrieve to indicate that the are retrieving information only and not creating any resource

Expected behaviour
The endpoint paths need to be renamed by prefixing them with retrieve-. In addition, as POST /unconditional-call-forwardings is retrieving a boolean status value, consider appending -status.

e.g.:
POST /retrieve-unconditional-call-forwardings-status
POST /retrieve-call-forwardings

Alternative solution
None

Additional context
None

Activity

  1. rartych commented on Sep 2, 2026

    @rartych
    Collaborator

    This is a compliance gap against §6.5.
    Proposal: trimming the redundant call- noun since it's already implied by the API name (like in SimSwap API: POST /retrieve-date, not retrieve-sim-swap-date):

    • POST /unconditional-call-forwardings → POST /retrieve-unconditional-forwarding
    • POST /call-forwardings → POST /retrieve-forwardings

    operationIds should follow the same verb and be more explicit for MCP compatibility (verb + compound noun) : retrieveUnconditionalCallForwarding / retrieveCallForwardings.

    Scopes: per §6.6.1, a single-operation POST-verb path takes the scope api-name:[resource:]action. So:

    • call-forwarding-signal:unconditional-call-forwardings:read → call-forwarding-signal:unconditional-forwarding:retrieve
    • call-forwarding-signal:call-forwardings:read → call-forwarding-signal:forwardings:retrieve

    Other artifacts to update in the same PR, to avoid drift between spec and test suite:

    • .feature files — update all Given/When steps referencing the old paths, operation names, and scopes,
    • documentation in 'info' object.

    Happy to put together the PR if there's agreement on the naming direction.

  2. bigludo7 commented on Sep 2, 2026

    @bigludo7
    Collaborator

    Hello,
    I support @rartych proposal in order to be compliant with CAMARA-API-Design-Guide for the name as stated by @eric-murray but also for scope name & the other stuff.

    As @FabrizioMoggio was very active for this API hoping also to have his green light.

  3. rartych commented on Sep 3, 2026

    @rartych
    Collaborator

    The alternative solution to indicate that for unconditional CF the response is boolean is to use different action verb instead of retrieve for example check :
    POST /unconditional-call-forwardings → POST /check-unconditional-forwarding
    and so on.

  4. added 2 commits that reference this issue on Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions