Permify API provides various functionalities around authorization such as performing access checks, reading and writing relation tuples, expanding your permissions (schema actions), and more.
We structured Permify API in 4 core parts:
Permify exposes its APIs via both gRPC and REST.
Our software does not include built-in support for service meshes (eg. Istio).
However, since it communicates using standard protocols like gRPC and HTTP, it is compatible with Istio and similar service meshes. Users will need to configure their service mesh setup manually to manage traffic for our software within their deployment environment.
You can secure APIs with our authentication methods; Open ID Connect or Pre Shared Keys. They can be configurable with flags or using configuration yaml file. See more details how to enable authentication from Configuration Options
To access the endpoints after enabling authentication, it’s necessary to provide a Bearer Token for identification. If your using golang or nodeJs client library, an authentication token can be provided via interceptors. You can find details in the clients’ documentation.
With the right architecture we expect 7-12 ms latency. Depending on your load, cache usage and architecture you can get up to 30ms.
Permify implements several cache mechanisms in order to achieve low latency in scaled distributed systems. See more on the section Cache Mechanisims
For our dedicated instance service we do have 99.9% level of availability and to assure this level of availability, we employ several strategies:
In case of availability failures, Permify’s Service Level Agreement (SLA) provides for Service Credits which are applied as a discount on your future bills:
These credits are your sole remedy for any availability failures under our SLA.
Default rate limit is set to 100 requests per second. However, users can adjust this based on their specific needs following our documentation. We used Token bucket algorithm for rate limiting.
Our team is happy to help you get started with Permify. If you’d like to learn more about using Permify in your app or have any questions about this example, schedule a consultation call with one of our account executives.