https://github.com/owncloud/libre-graph-api
:cloud: Libre Graph Cloud Collaboration API
https://github.com/owncloud/libre-graph-api
api graph ocis
Last synced: 12 months ago
JSON representation
:cloud: Libre Graph Cloud Collaboration API
- Host: GitHub
- URL: https://github.com/owncloud/libre-graph-api
- Owner: owncloud
- License: apache-2.0
- Created: 2021-04-23T08:13:32.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-17T09:31:59.000Z (over 1 year ago)
- Last Synced: 2025-06-28T18:13:13.688Z (12 months ago)
- Topics: api, graph, ocis
- Language: Mustache
- Homepage: https://owncloud.dev/libre-graph-api/
- Size: 8.02 MB
- Stars: 3
- Watchers: 11
- Forks: 3
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Libre Graph Api
An API for open Cloud Collaboration. See the [Libre Graph Home](https://libregraph.github.io/) for more details.
This API is inspired by [Microsoft Graph API](https://developer.microsoft.com/en-us/graph).
## Goal
The project goal is to provide an open source standard for open Cloud Collaboration.
Libre Graph is open source and open to any open source project that implements endpoints of the API.
## Influence and differences from Microsoft Graph API
Libre Graph API draws significant inspiration from the Microsoft Graph API,
particularly in its approach to providing a unified endpoint for accessing various services and data.
We believe that the model provided by Microsoft Graph API is a robust and efficient way
to facilitate integration and collaboration across different services.
However, Libre Graph API is not identical to Microsoft Graph API.
We have made specific extensions and modifications to better suit our needs and goals:
1. **Extended Functionality**: We have added specific endpoints and features unique to our implementation, designed to enhance collaboration and integration within the open source ecosystem.
2. **Custom Extensions**: Certain functionalities have been extended to provide additional features that are not present in the Microsoft Graph API.
3. **Beta Features**: Some endpoints are currently in beta, allowing us to continuously innovate and adapt to user needs before finalizing them.
## Specification
The API specification uses the OpenAPI Specification (OAS) standard.
The [OpenAPI Specification (OAS)](https://swagger.io/specification/) defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined, a consumer can understand and interact with the remote service with a minimal amount of implementation logic.
An OpenAPI definition can then be used by documentation generation tools to display the API, code generation tools to generate servers and clients in various programming languages, testing tools, and many other use cases.
## Documentation
You can find a rendered version of the [API documentation](https://owncloud.dev/libre-graph-api/) in our dev docs.
## Clients
Client code can be generated from the API spec.
For example, to run the generator for the C++ bindings locally, run the following docker-based command:
```bash
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate --enable-post-process-file -t local/templates/cpp-qt-client -i local/api/openapi-spec/v1.0.yaml -g cpp-qt-client -o /local/out/cpp
```
That generates the output in out/cpp.
### Available client libraries
- [C++/Qt](https://github.com/owncloud/libre-graph-api-cpp-qt-client)
- [go](https://github.com/owncloud/libre-graph-api-go)
- [php](https://github.com/owncloud/libre-graph-api-php)
- [typescript-axios](https://github.com/owncloud/libre-graph-api-typescript-axios)