permify / permify-php
Permify is an open source authorization service for creating fine-grained and scalable authorization systems.
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
This package is auto-updated.
Last update: 2026-04-15 19:23:57 UTC
README
Permify is an open source authorization service for creating fine-grained and scalable authorization systems.
For more information, please visit https://github.com/Permify/permify/issues.
Installation & Usage
Requirements
PHP 7.4 and later. Should also work with PHP 8.0.
Composer
To install the bindings via Composer, add the following to composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
}
],
"require": {
"GIT_USER_ID/GIT_REPO_ID": "*@dev"
}
}
Then run composer install
Manual Installation
Download the files and include autoload.php:
<?php require_once('/path/to/permify-php/vendor/autoload.php');
Getting Started
Please follow the installation procedure and then run the following:
<?php require_once(__DIR__ . '/vendor/autoload.php'); $apiInstance = new Permify\Api\BundleApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client() ); $tenant_id = 'tenant_id_example'; // string | Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes. $body = new \Permify\Model\BundleDeleteBody(); // \Permify\Model\BundleDeleteBody try { $result = $apiInstance->bundleDelete($tenant_id, $body); print_r($result); } catch (Exception $e) { echo 'Exception when calling BundleApi->bundleDelete: ', $e->getMessage(), PHP_EOL; }
API Endpoints
All URIs are relative to http://localhost
| Class | Method | HTTP request | Description |
|---|---|---|---|
| BundleApi | bundleDelete | POST /v1/tenants/{tenant_id}/bundle/delete | delete bundle |
| BundleApi | bundleRead | POST /v1/tenants/{tenant_id}/bundle/read | read bundle |
| BundleApi | bundleWrite | POST /v1/tenants/{tenant_id}/bundle/write | write bundle |
| DataApi | bundleRun | POST /v1/tenants/{tenant_id}/data/run-bundle | run bundle |
| DataApi | dataAttributesRead | POST /v1/tenants/{tenant_id}/data/attributes/read | read attributes |
| DataApi | dataDelete | POST /v1/tenants/{tenant_id}/data/delete | delete data |
| DataApi | dataRelationshipsRead | POST /v1/tenants/{tenant_id}/data/relationships/read | read relationships |
| DataApi | dataWrite | POST /v1/tenants/{tenant_id}/data/write | write data |
| DataApi | relationshipsDelete | POST /v1/tenants/{tenant_id}/relationships/delete | delete relationships |
| DataApi | relationshipsWrite | POST /v1/tenants/{tenant_id}/relationships/write | write relationships |
| PermissionApi | permissionsBulkCheck | POST /v1/tenants/{tenant_id}/permissions/bulk-check | bulk check api |
| PermissionApi | permissionsCheck | POST /v1/tenants/{tenant_id}/permissions/check | check api |
| PermissionApi | permissionsExpand | POST /v1/tenants/{tenant_id}/permissions/expand | expand api |
| PermissionApi | permissionsLookupEntity | POST /v1/tenants/{tenant_id}/permissions/lookup-entity | lookup entity |
| PermissionApi | permissionsLookupEntityStream | POST /v1/tenants/{tenant_id}/permissions/lookup-entity-stream | lookup entity stream |
| PermissionApi | permissionsLookupSubject | POST /v1/tenants/{tenant_id}/permissions/lookup-subject | lookup-subject |
| PermissionApi | permissionsSubjectPermission | POST /v1/tenants/{tenant_id}/permissions/subject-permission | subject permission |
| SchemaApi | schemasList | POST /v1/tenants/{tenant_id}/schemas/list | list schema |
| SchemaApi | schemasPartialWrite | PATCH /v1/tenants/{tenant_id}/schemas/partial-write | partially update your authorization model |
| SchemaApi | schemasRead | POST /v1/tenants/{tenant_id}/schemas/read | read schema |
| SchemaApi | schemasWrite | POST /v1/tenants/{tenant_id}/schemas/write | write schema |
| TenancyApi | tenantsCreate | POST /v1/tenants/create | create tenant |
| TenancyApi | tenantsDelete | DELETE /v1/tenants/{id} | delete tenant |
| TenancyApi | tenantsList | POST /v1/tenants/list | list tenants |
| WatchApi | watchWatch | POST /v1/tenants/{tenant_id}/watch | watch changes |
Models
- AbstractType
- Any
- Argument
- Attribute
- AttributeDefinition
- AttributeFilter
- AttributeReadRequestMetadata
- AttributeReadResponse
- AttributeType
- BulkCheckBody
- BundleDeleteBody
- BundleDeleteResponse
- BundleReadBody
- BundleReadResponse
- BundleRunResponse
- BundleWriteBody
- BundleWriteResponse
- CheckBody
- CheckResult
- CheckedExpr
- Child
- Component
- Comprehension
- ComputedAttribute
- ComputedUserSet
- Constant
- Context
- CreateList
- CreateStruct
- DataBundle
- DataChange
- DataChangeOperation
- DataChanges
- DataDeleteBody
- DataDeleteResponse
- DataWriteBody
- DataWriteRequestMetadata
- DataWriteResponse
- DeleteRelationshipsBody
- Entity
- EntityDefinition
- EntityDefinitionReference
- EntityFilter
- Entry
- ExpandLeaf
- ExpandTreeNode
- ExpandTreeNodeOperation
- Expr
- ExprCall
- Extension
- FunctionType
- Ident
- Leaf
- ListType
- LookupEntityBody
- LookupEntityStreamBody
- LookupSubjectBody
- MapType
- PartialWriteBody
- Partials
- PermissionBulkCheckRequestItem
- PermissionBulkCheckResponse
- PermissionCheckRequestMetadata
- PermissionCheckResponse
- PermissionCheckResponseMetadata
- PermissionDefinition
- PermissionExpandBody
- PermissionExpandRequestMetadata
- PermissionExpandResponse
- PermissionLookupEntityRequestMetadata
- PermissionLookupEntityResponse
- PermissionLookupEntityStreamResponse
- PermissionLookupSubjectRequestMetadata
- PermissionLookupSubjectResponse
- PermissionSubjectPermissionRequestMetadata
- PermissionSubjectPermissionResponse
- PrimitiveType
- ReadAttributesBody
- ReadRelationshipsBody
- RelationDefinition
- RelationReference
- RelationshipDeleteResponse
- RelationshipReadRequestMetadata
- RelationshipReadResponse
- RelationshipWriteRequestMetadata
- RelationshipWriteResponse
- Rewrite
- RewriteOperation
- RuleDefinition
- RunBundleBody
- SchemaDefinition
- SchemaDefinitionReference
- SchemaList
- SchemaListBody
- SchemaListResponse
- SchemaPartialWriteRequestMetadata
- SchemaPartialWriteResponse
- SchemaReadBody
- SchemaReadRequestMetadata
- SchemaReadResponse
- SchemaWriteBody
- SchemaWriteResponse
- Select
- SourceInfo
- Status
- StreamResultOfPermissionLookupEntityStreamResponse
- StreamResultOfWatchResponse
- StringArrayValue
- Subject
- SubjectFilter
- SubjectPermissionBody
- Subjects
- Tenant
- TenantCreateRequest
- TenantCreateResponse
- TenantDeleteResponse
- TenantListRequest
- TenantListResponse
- Tuple
- TupleFilter
- TupleSet
- TupleToUserSet
- V1Call
- V1Expand
- V1Operation
- V1alpha1Reference
- V1alpha1Type
- Values
- Version
- WatchBody
- WatchResponse
- WellKnownType
- WriteRelationshipsBody
Authorization
Authentication schemes defined for the API:
ApiKeyAuth
- Type: API key
- API key parameter name: Authorization
- Location: HTTP header
Tests
To run the tests, use:
composer install vendor/bin/phpunit
Author
About this package
This PHP package is automatically generated by the OpenAPI Generator project:
- API version:
v1.5.4- Package version:
v1.5.4
- Package version:
- Build package:
org.openapitools.codegen.languages.PhpClientCodegen