Client libraries

One package, a few lines of config, and every call is checked and logged.

Libraries for Ruby, Python, JavaScript, Java and Elixir put EndPointBlank in front of your routes. Your code keeps its business logic; the library authorizes each caller and reports each request, response and error.

What every library does

The five libraries share one contract, so a team with services in two languages gets the same behavior from both:

  • Authorize inbound calls against your grants before your handler runs, with a short in-process cache (300 seconds by default, 0 to turn it off).
  • Report every request and response, with masking rules applied before the payload leaves your process.
  • Capture unhandled errors with a normalized stack trace, so the same fault groups as one issue.
  • Declare endpoint versions, so EndPointBlank can show who still calls a deprecated one.
  • Authorize your outbound calls to other EndPointBlank-protected services with short-lived tokens, so your own secret is never sent to them.

Configured from the environment

Every library reads the same variables, so the same deployment config works whichever language a service is written in:

ENDPOINTBLANK_CLIENT_ID=your-client-id
ENDPOINTBLANK_CLIENT_SECRET=your-client-secret
ENDPOINTBLANK_APP_NAME=orders-service
ENDPOINTBLANK_ENV=production

See SDK setup for the rest of the settings.

Ready to deprecate with confidence?

Sign up in under a minute. No credit card, no sales call.