As a developper I can browse the API specs

Q1. What is the problem that you are trying to solve?
There is no help section that details the API endpoint. As a developer I cannot contribute to passbolt or integrate passbolt with my other systems without it.

Q2 - Who is impacted?
Developers

Q3 - Why is it important and/or urgent?
Integration is key for system adoption. It will also help new developers to join the project.

Q4 - What is your proposed solution? (optional)
Use swagger or something similar to generate an API doc. In v1 we started working on documenting the API with Swagger. So if you navigate to https://yourdomain/api/swagger.json you’ll see that the models are “done”. We still need to go through the controllers, and then we’ll be able to generate live docs like http://petstore.swagger.io/ .


ref. https://github.com/passbolt/passbolt_api/issues/23

Any eta on the api documentation?

We are currently working on the launch of passbolt pro, which will contain tags, import, export and some other goodies. The API documentation will come after. Thanks for your patience, we’ll update the roadmap to reflect these new timelines.

@remy I am also keen to utilize the API. I appreciate that your efforts are on the Pro release at the moment but I wonder if there are any pointers that you can give with regards to getting started with using the API. For example what the endpoint URL is and how to authenticate the API request.

Thanks

hi @rjkowalewski,

The authentication mechanism is described here:
https://help.passbolt.com/tech/auth

There are examples on how to authenticate (and browser the data) in javascript and python:


Concerning the other api endpoints they are pretty much one endpoint per controller:

Urls are following the same patterns, like:

  • Index: GET /users.json returns all the users
  • View: GET /resources/.json view a given resource
  • Create: POST /groups.json create a group
  • Edit: PUT /resources/.json edit a resource
  • Delete: DELETE /comments/.json delete a comment

It seems that GET /resources.json returns all secrets that the user can access. Is there a way to search by keyword and return only the resources whose name matches the keyword?

@estrehle, no, this filter doesn’t exist currently.

The documentation is now available here: http://github.com/passbolt/passbolt_openapi_specs