Hi,
Thanks for your interest. We need to put more docs on these topics, something we will get fixed soon.
You can use ApiRoutable to add your routes to BlueOcean API root: /blue/rest/. See BlueOrganizationContainer for reference. It adds organizations to /blue/rest/ path.
From what you have described, if your action is added to specific Job type then /blue/rest/organizations/jenkins/pipelines/mypipeline/ should list that action and the action's endpoints should be rooted at /blue/rest/organizations/jenkins/pipelines/mypipeline/actions/{yourAction.urlName}/ (you can find this link in _links object for 'actions' when GET /blue/rest/organizations/jenkins/pipelines/mypipeline/ is called).
For example:
Here is TestResultProjectAction in pipeline response. As you can see this action endpoint urlName is 'test' and so its rooted at that, that is /blue/rest/organizations/jenkins/pipelines/blueocean/branches/PR-752/test/. Please note its a multi branch project so actions are rooted in side branches, otherwise it could simply appear inside .../pipelines/.
{..."actions":[{"_class": "hudson.tasks.test.TestResultProjectAction","_links": {"self": {"_class": "io.jenkins.blueocean.rest.hal.Link","href": "/blue/rest/organizations/jenkins/pipelines/blueocean/branches/PR-752/test/"}},"urlName": "test"}]...}
You are able to use using index because actions are returned as generic Container<>, but recommended way is to access them using action's urlName.