API Reference end_point_blank_elixir v#0.11.0

Copy Markdown View Source

Modules

In-process cache of this node's access tokens, one per application environment.

ETS-backed authorization result cache with TTL expiry and a size cap.

Builds Authorization header values.

Resolves the base URL the caller used -- scheme, host and port -- from a Plug.Conn.

Sends an authorization check to the EndPointBlank API.

Registers application endpoints with the EndPointBlank API at startup.

Requests a new access token from the EndPointBlank API.

Singleton configuration store for the EndPointBlank library.

Raised when client_id or client_secret is not configured (nil or empty), so the SDK cannot authenticate to its intake (sc-1469): EndPointBlank.Authorization.header!/1 and EndPointBlank.Authorization.intake_header!/0 raise it, and EndPointBlank.Authorization.header/1 and intake_header/0 answer {:error, :missing_credentials} for the same case.

Formats the deprecation facts returned by an authorize call into the standard response headers.

Shared HTTP helper with retry logic for all EndPointBlank API calls.

A client for the EndPointBlank organization management API (/api/v1, sc-1504): your organization, API packages, clients and what they hold, applications, environments, runtime credentials and managed clients.

/api/v1/api_packages: your API packages, and what each one publishes.

/api/v1/applications/:application_id/environments: where an application is deployed, one base URL per environment. Through EndPointBlank.Management.for_managed_client/2, a managed client's.

/api/v1/applications: your applications (API services), or, through EndPointBlank.Management.for_managed_client/2, a managed client's.

/api/v1/clients/:client_id/grants: the grants a client holds from you directly (not through an API package), or is set up to get when it accepts.

/api/v1/clients/:client_id/packages: the API packages a client holds from you, or, for a client that has not accepted its invite yet, is set up to get when it does.

/api/v1/clients: your clients (the organizations you provide APIs to), pending invites and accepted ones.

/api/v1/credentials: runtime client credentials, the client_id and client_secret an application environment's SDK authenticates with. Through EndPointBlank.Management.for_managed_client/2, a managed client's.

GET /api/v1/endpoints: your applications' endpoints, to find the ids EndPointBlank.Management.ApiPackages.add_endpoint/4 takes.

/api/v1/environments: your deployment environments (production, staging, ...), or, through EndPointBlank.Management.for_managed_client/2, a managed client's.

A management API call that did not succeed (sc-1504).

Managed clients: client organizations you create (EndPointBlank.Management.Clients.create/3 with managed: true) and run for your customer until they claim them.

GET /api/v1/organization: the organization your management key belongs to, and the key's name and scope.

One page of a management API list: data, the items (decoded JSON maps with string keys), and next_cursor, to pass as after: for the next page, or nil on the last page.

Client-side masking. Applies configured rules to an outgoing payload's maskable fields for the record_type, then runs the optional user hook.

A constrained, well-defined JSONPath subset shared across intake and the client libraries. It parses a path string into tokens and transforms a value by replacing every fully-matched location with the result of a callback, rebuilding parent containers immutably.

The part of a caller's outbound URL the SDK may keep, send to intake, or log: scheme and host (both lowercased; IPv6 in brackets), port when it is not the scheme's default (:443 for https, :80 for http), and path. Userinfo, query and fragment are removed (sc-1469). An empty port (https://api.test:/x) counts as none. Refused: any scheme other than http or https, and a port that is not a number from 1 to 65535.

Introspects a Phoenix router at application startup and registers all endpoints with the EndPointBlank API.

Resolves the route pattern (e.g. /books/:id) for a live request.

Macro that adds per-action version metadata to a Phoenix controller.

Plug that enforces EndPointBlank authorization on a controller or pipeline.

Plug that tracks every request/response pair.

Per-process storage for request-scoped data.

Raised by EndPointBlank.Authorization.header!/1 when no access token could be obtained for an outbound call to a provider (sc-1469).

Raised when an authorization check fails.

Detects the API version for an incoming request.

Dispatch helper — routes payloads to the direct or delayed writer.

Background queue that batches payloads and flushes them on a timer.

Synchronously POSTs a payload batch to the EndPointBlank API.

Sends unhandled exception details to the EndPointBlank API.

Sends structured log messages to the EndPointBlank API.

Sends inbound request metadata to the EndPointBlank API.

Sends response metadata to the EndPointBlank API.