Aura.Model.HexAPIKey (Aura v1.0.1)

View Source

A struct describing an API key record coming from a Hex-compliant API.

Examples

%Aura.Model.HexAPIKey{
 authing_key: false,
 secret: "3321e19a16017725ced9fe56a0071aa6",
 inserted_at: ~U[2025-06-02 04:26:33.915977Z],
 name: "veniam.ut",
 permissions: [
   %{domain: "api", resource: "read"},
   %{domain: "api", resource: "write"}
 ],
 revoked_at: nil,
 updated_at: ~U[2025-06-02 04:26:33.915977Z],
 url: "http://localhost:4000/api/keys/veniam.ut"
}

Resources

See Also

Summary

Types

A permission realm belonging to this API key

Whether this key is the one currently being used to make authenticated requests

A domain for which this API key is valid

What kind of operations this API key can do within its domain

DateTime when this key became invalid

The API key payload - it is only provided once, upon creation; always nil after.

t()

Type describing an API key coming from a Hex-compliant API.

Functions

Builds a HexAPIKey from a map

Types

api_permission()

@type api_permission() :: %{domain: String.t(), resource: String.t()}

A permission realm belonging to this API key

Keys

Examples

  %{domain: "api", resource: "read"}
  %{domain: "api", resource: "write"}

See Also

authing_key()

@type authing_key() :: boolean()

Whether this key is the one currently being used to make authenticated requests

See Also

domain()

@type domain() :: String.t()

A domain for which this API key is valid

resource()

@type resource() :: String.t()

What kind of operations this API key can do within its domain

revoked_date_time()

@type revoked_date_time() :: DateTime.t() | nil

DateTime when this key became invalid

Examples

~U[2025-05-29 18:15:18.244790Z]

See Also

secret()

@type secret() :: String.t() | nil

The API key payload - it is only provided once, upon creation; always nil after.

🔒 Security

Guard this secret payload with your life - never keep it as plain text in your code.

Examples

"3321e19a16017725ced9fe56a0071aa6"

See Also

t()

@type t() :: %Aura.Model.HexAPIKey{
  authing_key: authing_key(),
  inserted_at: Aura.Model.Common.inserted_at(),
  name: Aura.Common.api_key_name(),
  permissions: [api_permission()],
  revoked_at: revoked_date_time(),
  secret: secret(),
  updated_at: Aura.Model.Common.updated_at(),
  url: Aura.Model.Common.url()
}

Type describing an API key coming from a Hex-compliant API.

Keys

Examples

 %Aura.Model.HexAPIKey{
   authing_key: false,
   secret: "3321e19a16017725ced9fe56a0071aa6",
   inserted_at: ~U[2025-06-02 04:26:33.915977Z],
   name: "veniam.ut",
   permissions: [
     %{domain: "api", resource: "read"},
     %{domain: "api", resource: "write"}
   ],
   revoked_at: nil,
   updated_at: ~U[2025-06-02 04:26:33.915977Z],
   url: "http://localhost:4000/api/keys/veniam.ut"
}

See Also

Functions

build(m)

@spec build(m :: map()) :: t()

Builds a HexAPIKey from a map

Parameters

ParameterDescription
mA map to build into a Aura.Model.HexAPIKey.t/0