{"id":19510005,"url":"https://github.com/permify/permify-java","last_synced_at":"2025-10-07T23:38:01.372Z","repository":{"id":249427334,"uuid":"831473179","full_name":"Permify/permify-java","owner":"Permify","description":"Permify Java Client","archived":false,"fork":false,"pushed_at":"2025-08-15T14:22:14.000Z","size":696,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-15T16:24:45.888Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Permify.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-20T16:47:56.000Z","updated_at":"2025-08-15T14:22:19.000Z","dependencies_parsed_at":"2025-01-10T05:50:25.941Z","dependency_job_id":null,"html_url":"https://github.com/Permify/permify-java","commit_stats":null,"previous_names":["permify/permify-java"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Permify/permify-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Permify","download_url":"https://codeload.github.com/Permify/permify-java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278865940,"owners_count":26059666,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T23:14:09.646Z","updated_at":"2025-10-07T23:38:01.357Z","avatar_url":"https://github.com/Permify.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Permify Java\n\nPermify API\n\n- Latest API version: 1.4.2\n\nPermify is an open source authorization service for creating fine-grained and scalable authorization systems.\n\n  For more information, please visit [https://github.com/Permify/permify/issues](https://github.com/Permify/permify/issues)\n\n## Requirements\n\nBuilding the API client library requires:\n\n1. Java 11+\n2. Maven/Gradle\n\n### Maven users\n\nAdd this dependency to your project's POM:\n\n```xml\n\u003c!-- https://mvnrepository.com/artifact/co.permify/permify-java --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003eco.permify\u003c/groupId\u003e\n    \u003cartifactId\u003epermify-java\u003c/artifactId\u003e\n    \u003cversion\u003e${permify-java-version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle users\n\nAdd this dependency to your project's build file:\n\n```groovy\n// https://mvnrepository.com/artifact/co.permify/permify-java\nimplementation 'co.permify:permify-java:${permify-java-version}'\n```\n\n## Getting Started\n\nPlease follow the [installation](#installation) instruction and execute the following Java code:\n\n```java\n\nimport co.permify.sdk.client.*;\nimport co.permify.sdk.model.*;\nimport co.permify.sdk.api.BundleApi;\n\npublic class BundleApiExample {\n\n    public static void main(String[] args) {\n        ApiClient defaultClient = Configuration.getDefaultApiClient();\n        // Configure clients using the `defaultClient` object, such as\n        // overriding the host and port, timeout, etc.\n        BundleApi apiInstance = new BundleApi(defaultClient);\n        String tenantId = \"tenantId_example\"; // String | Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant \u003ccode\u003et1\u003c/code\u003e for this field. Required, and must match the pattern \\\\“[a-zA-Z0-9-,]+\\\\“, max 64 bytes.\n        BundleDeleteBody body = new BundleDeleteBody(); // BundleDeleteBody | \n        try {\n            BundleDeleteResponse result = apiInstance.bundleDelete(tenantId, body);\n            System.out.println(result);\n        } catch (ApiException e) {\n            System.err.println(\"Exception when calling BundleApi#bundleDelete\");\n            System.err.println(\"Status code: \" + e.getCode());\n            System.err.println(\"Reason: \" + e.getResponseBody());\n            System.err.println(\"Response headers: \" + e.getResponseHeaders());\n            e.printStackTrace();\n        }\n    }\n}\n\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *http://localhost*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*BundleApi* | [**bundleDelete**](docs/BundleApi.md#bundleDelete) | **POST** /v1/tenants/{tenant_id}/bundle/delete | delete bundle\n*BundleApi* | [**bundleDeleteWithHttpInfo**](docs/BundleApi.md#bundleDeleteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/bundle/delete | delete bundle\n*BundleApi* | [**bundleRead**](docs/BundleApi.md#bundleRead) | **POST** /v1/tenants/{tenant_id}/bundle/read | read bundle\n*BundleApi* | [**bundleReadWithHttpInfo**](docs/BundleApi.md#bundleReadWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/bundle/read | read bundle\n*BundleApi* | [**bundleWrite**](docs/BundleApi.md#bundleWrite) | **POST** /v1/tenants/{tenant_id}/bundle/write | write bundle\n*BundleApi* | [**bundleWriteWithHttpInfo**](docs/BundleApi.md#bundleWriteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/bundle/write | write bundle\n*DataApi* | [**bundleRun**](docs/DataApi.md#bundleRun) | **POST** /v1/tenants/{tenant_id}/data/run-bundle | run bundle\n*DataApi* | [**bundleRunWithHttpInfo**](docs/DataApi.md#bundleRunWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/data/run-bundle | run bundle\n*DataApi* | [**dataAttributesRead**](docs/DataApi.md#dataAttributesRead) | **POST** /v1/tenants/{tenant_id}/data/attributes/read | read attributes\n*DataApi* | [**dataAttributesReadWithHttpInfo**](docs/DataApi.md#dataAttributesReadWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/data/attributes/read | read attributes\n*DataApi* | [**dataDelete**](docs/DataApi.md#dataDelete) | **POST** /v1/tenants/{tenant_id}/data/delete | delete data\n*DataApi* | [**dataDeleteWithHttpInfo**](docs/DataApi.md#dataDeleteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/data/delete | delete data\n*DataApi* | [**dataRelationshipsRead**](docs/DataApi.md#dataRelationshipsRead) | **POST** /v1/tenants/{tenant_id}/data/relationships/read | read relationships\n*DataApi* | [**dataRelationshipsReadWithHttpInfo**](docs/DataApi.md#dataRelationshipsReadWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/data/relationships/read | read relationships\n*DataApi* | [**dataWrite**](docs/DataApi.md#dataWrite) | **POST** /v1/tenants/{tenant_id}/data/write | write data\n*DataApi* | [**dataWriteWithHttpInfo**](docs/DataApi.md#dataWriteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/data/write | write data\n*DataApi* | [**relationshipsDelete**](docs/DataApi.md#relationshipsDelete) | **POST** /v1/tenants/{tenant_id}/relationships/delete | delete relationships\n*DataApi* | [**relationshipsDeleteWithHttpInfo**](docs/DataApi.md#relationshipsDeleteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/relationships/delete | delete relationships\n*DataApi* | [**relationshipsWrite**](docs/DataApi.md#relationshipsWrite) | **POST** /v1/tenants/{tenant_id}/relationships/write | write relationships\n*DataApi* | [**relationshipsWriteWithHttpInfo**](docs/DataApi.md#relationshipsWriteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/relationships/write | write relationships\n*PermissionApi* | [**permissionsCheck**](docs/PermissionApi.md#permissionsCheck) | **POST** /v1/tenants/{tenant_id}/permissions/check | check api\n*PermissionApi* | [**permissionsCheckWithHttpInfo**](docs/PermissionApi.md#permissionsCheckWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/permissions/check | check api\n*PermissionApi* | [**permissionsExpand**](docs/PermissionApi.md#permissionsExpand) | **POST** /v1/tenants/{tenant_id}/permissions/expand | expand api\n*PermissionApi* | [**permissionsExpandWithHttpInfo**](docs/PermissionApi.md#permissionsExpandWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/permissions/expand | expand api\n*PermissionApi* | [**permissionsLookupEntity**](docs/PermissionApi.md#permissionsLookupEntity) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-entity | lookup entity\n*PermissionApi* | [**permissionsLookupEntityWithHttpInfo**](docs/PermissionApi.md#permissionsLookupEntityWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-entity | lookup entity\n*PermissionApi* | [**permissionsLookupEntityStream**](docs/PermissionApi.md#permissionsLookupEntityStream) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-entity-stream | lookup entity stream\n*PermissionApi* | [**permissionsLookupEntityStreamWithHttpInfo**](docs/PermissionApi.md#permissionsLookupEntityStreamWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-entity-stream | lookup entity stream\n*PermissionApi* | [**permissionsLookupSubject**](docs/PermissionApi.md#permissionsLookupSubject) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-subject | lookup-subject\n*PermissionApi* | [**permissionsLookupSubjectWithHttpInfo**](docs/PermissionApi.md#permissionsLookupSubjectWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-subject | lookup-subject\n*PermissionApi* | [**permissionsSubjectPermission**](docs/PermissionApi.md#permissionsSubjectPermission) | **POST** /v1/tenants/{tenant_id}/permissions/subject-permission | subject permission\n*PermissionApi* | [**permissionsSubjectPermissionWithHttpInfo**](docs/PermissionApi.md#permissionsSubjectPermissionWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/permissions/subject-permission | subject permission\n*SchemaApi* | [**schemasList**](docs/SchemaApi.md#schemasList) | **POST** /v1/tenants/{tenant_id}/schemas/list | list schema\n*SchemaApi* | [**schemasListWithHttpInfo**](docs/SchemaApi.md#schemasListWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/schemas/list | list schema\n*SchemaApi* | [**schemasPartialWrite**](docs/SchemaApi.md#schemasPartialWrite) | **PATCH** /v1/tenants/{tenant_id}/schemas/partial-write | partially update your authorization model\n*SchemaApi* | [**schemasPartialWriteWithHttpInfo**](docs/SchemaApi.md#schemasPartialWriteWithHttpInfo) | **PATCH** /v1/tenants/{tenant_id}/schemas/partial-write | partially update your authorization model\n*SchemaApi* | [**schemasRead**](docs/SchemaApi.md#schemasRead) | **POST** /v1/tenants/{tenant_id}/schemas/read | read schema\n*SchemaApi* | [**schemasReadWithHttpInfo**](docs/SchemaApi.md#schemasReadWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/schemas/read | read schema\n*SchemaApi* | [**schemasWrite**](docs/SchemaApi.md#schemasWrite) | **POST** /v1/tenants/{tenant_id}/schemas/write | write schema\n*SchemaApi* | [**schemasWriteWithHttpInfo**](docs/SchemaApi.md#schemasWriteWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/schemas/write | write schema\n*TenancyApi* | [**tenantsCreate**](docs/TenancyApi.md#tenantsCreate) | **POST** /v1/tenants/create | create tenant\n*TenancyApi* | [**tenantsCreateWithHttpInfo**](docs/TenancyApi.md#tenantsCreateWithHttpInfo) | **POST** /v1/tenants/create | create tenant\n*TenancyApi* | [**tenantsDelete**](docs/TenancyApi.md#tenantsDelete) | **DELETE** /v1/tenants/{id} | delete tenant\n*TenancyApi* | [**tenantsDeleteWithHttpInfo**](docs/TenancyApi.md#tenantsDeleteWithHttpInfo) | **DELETE** /v1/tenants/{id} | delete tenant\n*TenancyApi* | [**tenantsList**](docs/TenancyApi.md#tenantsList) | **POST** /v1/tenants/list | list tenants\n*TenancyApi* | [**tenantsListWithHttpInfo**](docs/TenancyApi.md#tenantsListWithHttpInfo) | **POST** /v1/tenants/list | list tenants\n*WatchApi* | [**watchWatch**](docs/WatchApi.md#watchWatch) | **POST** /v1/tenants/{tenant_id}/watch | watch changes\n*WatchApi* | [**watchWatchWithHttpInfo**](docs/WatchApi.md#watchWatchWithHttpInfo) | **POST** /v1/tenants/{tenant_id}/watch | watch changes\n\n\n## Documentation for Models\n\n - [AbstractType](docs/AbstractType.md)\n - [Any](docs/Any.md)\n - [Argument](docs/Argument.md)\n - [Attribute](docs/Attribute.md)\n - [AttributeDefinition](docs/AttributeDefinition.md)\n - [AttributeFilter](docs/AttributeFilter.md)\n - [AttributeReadRequestMetadata](docs/AttributeReadRequestMetadata.md)\n - [AttributeReadResponse](docs/AttributeReadResponse.md)\n - [AttributeType](docs/AttributeType.md)\n - [BundleDeleteBody](docs/BundleDeleteBody.md)\n - [BundleDeleteResponse](docs/BundleDeleteResponse.md)\n - [BundleReadBody](docs/BundleReadBody.md)\n - [BundleReadResponse](docs/BundleReadResponse.md)\n - [BundleRunResponse](docs/BundleRunResponse.md)\n - [BundleWriteBody](docs/BundleWriteBody.md)\n - [BundleWriteResponse](docs/BundleWriteResponse.md)\n - [CheckBody](docs/CheckBody.md)\n - [CheckResult](docs/CheckResult.md)\n - [CheckedExpr](docs/CheckedExpr.md)\n - [Child](docs/Child.md)\n - [Comprehension](docs/Comprehension.md)\n - [ComputedAttribute](docs/ComputedAttribute.md)\n - [ComputedUserSet](docs/ComputedUserSet.md)\n - [Constant](docs/Constant.md)\n - [Context](docs/Context.md)\n - [CreateList](docs/CreateList.md)\n - [CreateStruct](docs/CreateStruct.md)\n - [DataBundle](docs/DataBundle.md)\n - [DataChange](docs/DataChange.md)\n - [DataChangeOperation](docs/DataChangeOperation.md)\n - [DataChanges](docs/DataChanges.md)\n - [DataDeleteBody](docs/DataDeleteBody.md)\n - [DataDeleteResponse](docs/DataDeleteResponse.md)\n - [DataWriteBody](docs/DataWriteBody.md)\n - [DataWriteRequestMetadata](docs/DataWriteRequestMetadata.md)\n - [DataWriteResponse](docs/DataWriteResponse.md)\n - [DeleteRelationshipsBody](docs/DeleteRelationshipsBody.md)\n - [Entity](docs/Entity.md)\n - [EntityDefinition](docs/EntityDefinition.md)\n - [EntityDefinitionReference](docs/EntityDefinitionReference.md)\n - [EntityFilter](docs/EntityFilter.md)\n - [Entry](docs/Entry.md)\n - [ExpandLeaf](docs/ExpandLeaf.md)\n - [ExpandTreeNode](docs/ExpandTreeNode.md)\n - [ExpandTreeNodeOperation](docs/ExpandTreeNodeOperation.md)\n - [Expr](docs/Expr.md)\n - [ExprCall](docs/ExprCall.md)\n - [FunctionType](docs/FunctionType.md)\n - [Ident](docs/Ident.md)\n - [Leaf](docs/Leaf.md)\n - [ListType](docs/ListType.md)\n - [LookupEntityBody](docs/LookupEntityBody.md)\n - [LookupEntityStreamBody](docs/LookupEntityStreamBody.md)\n - [LookupSubjectBody](docs/LookupSubjectBody.md)\n - [MapType](docs/MapType.md)\n - [PartialWriteBody](docs/PartialWriteBody.md)\n - [Partials](docs/Partials.md)\n - [PermissionCheckRequestMetadata](docs/PermissionCheckRequestMetadata.md)\n - [PermissionCheckResponse](docs/PermissionCheckResponse.md)\n - [PermissionCheckResponseMetadata](docs/PermissionCheckResponseMetadata.md)\n - [PermissionDefinition](docs/PermissionDefinition.md)\n - [PermissionExpandBody](docs/PermissionExpandBody.md)\n - [PermissionExpandRequestMetadata](docs/PermissionExpandRequestMetadata.md)\n - [PermissionExpandResponse](docs/PermissionExpandResponse.md)\n - [PermissionLookupEntityRequestMetadata](docs/PermissionLookupEntityRequestMetadata.md)\n - [PermissionLookupEntityResponse](docs/PermissionLookupEntityResponse.md)\n - [PermissionLookupEntityStreamResponse](docs/PermissionLookupEntityStreamResponse.md)\n - [PermissionLookupSubjectRequestMetadata](docs/PermissionLookupSubjectRequestMetadata.md)\n - [PermissionLookupSubjectResponse](docs/PermissionLookupSubjectResponse.md)\n - [PermissionSubjectPermissionRequestMetadata](docs/PermissionSubjectPermissionRequestMetadata.md)\n - [PermissionSubjectPermissionResponse](docs/PermissionSubjectPermissionResponse.md)\n - [PrimitiveType](docs/PrimitiveType.md)\n - [ReadAttributesBody](docs/ReadAttributesBody.md)\n - [ReadRelationshipsBody](docs/ReadRelationshipsBody.md)\n - [RelationDefinition](docs/RelationDefinition.md)\n - [RelationReference](docs/RelationReference.md)\n - [RelationshipDeleteResponse](docs/RelationshipDeleteResponse.md)\n - [RelationshipReadRequestMetadata](docs/RelationshipReadRequestMetadata.md)\n - [RelationshipReadResponse](docs/RelationshipReadResponse.md)\n - [RelationshipWriteRequestMetadata](docs/RelationshipWriteRequestMetadata.md)\n - [RelationshipWriteResponse](docs/RelationshipWriteResponse.md)\n - [Rewrite](docs/Rewrite.md)\n - [RewriteOperation](docs/RewriteOperation.md)\n - [RuleDefinition](docs/RuleDefinition.md)\n - [RunBundleBody](docs/RunBundleBody.md)\n - [SchemaDefinition](docs/SchemaDefinition.md)\n - [SchemaDefinitionReference](docs/SchemaDefinitionReference.md)\n - [SchemaList](docs/SchemaList.md)\n - [SchemaListBody](docs/SchemaListBody.md)\n - [SchemaListResponse](docs/SchemaListResponse.md)\n - [SchemaPartialWriteRequestMetadata](docs/SchemaPartialWriteRequestMetadata.md)\n - [SchemaPartialWriteResponse](docs/SchemaPartialWriteResponse.md)\n - [SchemaReadBody](docs/SchemaReadBody.md)\n - [SchemaReadRequestMetadata](docs/SchemaReadRequestMetadata.md)\n - [SchemaReadResponse](docs/SchemaReadResponse.md)\n - [SchemaWriteBody](docs/SchemaWriteBody.md)\n - [SchemaWriteResponse](docs/SchemaWriteResponse.md)\n - [Select](docs/Select.md)\n - [SourceInfo](docs/SourceInfo.md)\n - [Status](docs/Status.md)\n - [StreamResultOfPermissionLookupEntityStreamResponse](docs/StreamResultOfPermissionLookupEntityStreamResponse.md)\n - [StreamResultOfWatchResponse](docs/StreamResultOfWatchResponse.md)\n - [StringArrayValue](docs/StringArrayValue.md)\n - [Subject](docs/Subject.md)\n - [SubjectFilter](docs/SubjectFilter.md)\n - [SubjectPermissionBody](docs/SubjectPermissionBody.md)\n - [Subjects](docs/Subjects.md)\n - [Tenant](docs/Tenant.md)\n - [TenantCreateRequest](docs/TenantCreateRequest.md)\n - [TenantCreateResponse](docs/TenantCreateResponse.md)\n - [TenantDeleteResponse](docs/TenantDeleteResponse.md)\n - [TenantListRequest](docs/TenantListRequest.md)\n - [TenantListResponse](docs/TenantListResponse.md)\n - [Tuple](docs/Tuple.md)\n - [TupleFilter](docs/TupleFilter.md)\n - [TupleSet](docs/TupleSet.md)\n - [TupleToUserSet](docs/TupleToUserSet.md)\n - [V1Call](docs/V1Call.md)\n - [V1Expand](docs/V1Expand.md)\n - [V1Operation](docs/V1Operation.md)\n - [V1alpha1Reference](docs/V1alpha1Reference.md)\n - [V1alpha1Type](docs/V1alpha1Type.md)\n - [Values](docs/Values.md)\n - [WatchBody](docs/WatchBody.md)\n - [WatchResponse](docs/WatchResponse.md)\n - [WellKnownType](docs/WellKnownType.md)\n - [WriteRelationshipsBody](docs/WriteRelationshipsBody.md)\n\n\n\u003ca id=\"documentation-for-authorization\"\u003e\u003c/a\u003e\n## Documentation for Authorization\n\n\nAuthentication schemes defined for the API:\n\u003ca id=\"ApiKeyAuth\"\u003e\u003c/a\u003e\n### ApiKeyAuth\n\n\n- **Type**: API key\n- **API key parameter name**: Authorization\n- **Location**: HTTP header\n\n\n## Recommendation\n\nIt's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.\nHowever, the instances of the api clients created from the `ApiClient` are thread-safe and can be re-used.\n\n## Author\n\nhello@permify.co\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermify%2Fpermify-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpermify%2Fpermify-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermify%2Fpermify-java/lists"}