{"id":19350915,"url":"https://github.com/strmprivacy/api-definitions","last_synced_at":"2025-04-23T07:30:58.812Z","repository":{"id":37753450,"uuid":"481610421","full_name":"strmprivacy/api-definitions","owner":"strmprivacy","description":"Our small contribution to your next API: these are the gRPC/Proto definitions STRM Privacy uses for our internal management APIs. It is a *push-only mirror* of our api-definitions repo we keep in GitLab, but we hope this serves as inspiration and/or a quick way for you to get started with gRPC yourself!","archived":false,"fork":false,"pushed_at":"2023-12-17T03:14:40.000Z","size":1884,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-02T09:44:36.855Z","etag":null,"topics":["golang","grpc","grpc-go","grpc-java","grpc-kotlin","grpc-python","grpc-web","kotlin","protobuf","protocol-buffers","python3","typescript"],"latest_commit_sha":null,"homepage":"https://strmprivacy.io","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strmprivacy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-04-14T13:14:21.000Z","updated_at":"2025-03-07T12:53:56.000Z","dependencies_parsed_at":"2023-10-17T07:58:50.768Z","dependency_job_id":"0d523514-c5ed-4d36-9765-bb069e1dd3d8","html_url":"https://github.com/strmprivacy/api-definitions","commit_stats":null,"previous_names":[],"tags_count":172,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fapi-definitions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fapi-definitions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fapi-definitions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strmprivacy%2Fapi-definitions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strmprivacy","download_url":"https://codeload.github.com/strmprivacy/api-definitions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250391075,"owners_count":21422840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","grpc","grpc-go","grpc-java","grpc-kotlin","grpc-python","grpc-web","kotlin","protobuf","protocol-buffers","python3","typescript"],"created_at":"2024-11-10T04:34:21.453Z","updated_at":"2025-04-23T07:30:57.696Z","avatar_url":"https://github.com/strmprivacy.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# STRM Privacy API definitions\n\nThis project contains all `proto` file definitions for the STRM Privacy APIs.\n\n## Starting with STRM Privacy\n\nCurious what we're building at STRM Privacy? See our [homepage](https://strmprivacy.io) or dive right into\nour [documentation](https://docs.strmprivacy.io) to get started.\n\n## Developing API Definitions\n\nFor more developer information, see the `docs` directory.\n\n### gRPC Guidelines\n\nWe try to adhere to the Google gRPC guidelines (the so\ncalled `API Improvement Proposals`), which can be\nfound [here](https://google.aip.dev). Our idea is to use\nthe [Google API Linter](https://github.com/googleapis/api-linter) for checking\nthe adherence to the Google AIPs.\n\n### IntelliJ and Protobuf plugin configuration\n\nRun `./setup-ide-protobuf-plugins.sh` to configure the following Protobuf\nplugins:\n\n- [Protocol Buffers (official)](https://plugins.jetbrains.com/plugin/14004-protocol-buffers):\n  works fine for basic usage.\n- [Protobuf (non official)](https://plugins.jetbrains.com/plugin/16422-protobuf):\n  has more functionality than the official plugin.\n\n### Install\n\nMake sure [buf](https://buf.build) is installed. The `Makefile` is the\nentrypoint\nof this repository and should be used to generate code and build artifacts for\nvarious languages.\n\n## Proto validations\n\nThis repository\nuses [bufbuild/protoc-gen-validate](https://github.com/bufbuild/protoc-gen-validate)\nto validate Protobuf messages.\n\n**Important!** \u003cbr\u003e\nIf validations are created for messages in `A.proto` and file `B.proto` contains\nmessages that use messages from `A.proto`, but `B.proto` does not\nimport `validate.proto`, no validators are generated for `B.proto`, and thus no\nvalidations happen that are defined in `A.proto`, even though `B.proto` might\nuse messages from `A.proto` in its own messages.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrmprivacy%2Fapi-definitions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrmprivacy%2Fapi-definitions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrmprivacy%2Fapi-definitions/lists"}