hzel
Reference

Programs & Invitations

API reference for programs, invitations, and permission records.

Programs are the access-control layer that governs which users can provision containers. An admin creates a program, invites users by email, and those users gain the permissions attached to the program (e.g. can_create_containers). Regular users interact with the invitation endpoints to accept or decline.

Create a program

Admin only. See ProgramRecord for the response structure.

POSThttps://api.hzel.org/api/v1/programs
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Admin role required. Accepted auth methods: PAT, OAuth app token, JWT.
Content-TypeRequiredMust be application/json.

List programs

Admin only.

GEThttps://api.hzel.org/api/v1/programs
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Admin role required. Accepted auth methods: PAT, OAuth app token, JWT.

Get a program

Admin only. Returns full program detail including the accepted member list.

GEThttps://api.hzel.org/api/v1/programs/{id}
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Admin role required. Accepted auth methods: PAT, OAuth app token, JWT.

Update program permissions

Admin only.

PATCHhttps://api.hzel.org/api/v1/programs/{id}/permissions
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Admin role required. Accepted auth methods: PAT, OAuth app token, JWT.
Content-TypeRequiredMust be application/json.

Invite a user

Admin only. The invited user must already have a hzel account with the given email address.

POSThttps://api.hzel.org/api/v1/programs/{id}/invite
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Admin role required. Accepted auth methods: PAT, OAuth app token, JWT.
Content-TypeRequiredMust be application/json.

List pending invitations

Returns all unanswered invitations for the currently authenticated user.

GEThttps://api.hzel.org/api/v1/programs/invitations/pending
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Accepted auth methods: PAT, OAuth app token, JWT.

Respond to an invitation

POSThttps://api.hzel.org/api/v1/programs/invitations/{id}/respond
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Accepted auth methods: PAT, OAuth app token, JWT.
Content-TypeRequiredMust be application/json.

Get my permissions

Returns the effective permissions for the authenticated user — the union of all permissions granted by programs the user has accepted membership in.

GEThttps://api.hzel.org/api/v1/programs/permissions/me
HeaderRequiredDescription
AuthorizationRequiredBearer <token>. Accepted auth methods: PAT, OAuth app token, JWT.