Projects, members and roles
Weik.io 2026.2Create projects, give people a role in them and define your own roles from the platform's verbs.
On this page
- Commands on this page
- weikio project create
- weikio get projects
- weikio describe project
- weikio project set
- weikio delete project
- weikio rename project
- weikio member add
- weikio get members
- weikio member list
- weikio member remove
- weikio get roles
- weikio describe role
- weikio role create
- weikio role set
- weikio delete role
- weikio rename role
- Exit codes
- See also
A project groups integrations, APIs and the values they share, and people work in a project through a role it grants them. Weik.io comes with the roles viewer, editor, deployer and admin, and a platform administrator creates more from the verbs read, author, operate, reveal, deploy, entity-store-policy and members.
A membership can be limited to named environments and to named integrations and APIs. A support person can then restart one integration in production and see nothing else of the project. Projects, roles and members are also YAML documents that weikio apply accepts, and the commands below are the direct form.
Commands on this page#
| Command | What it does |
|---|---|
weikio project create |
Create a project. |
weikio get projects |
List projects. |
weikio describe project |
Show a project with its members and counts. |
weikio project set |
Change a project. |
weikio delete project |
Delete a project and everything in it. |
weikio rename project |
Rename a project. |
weikio member add |
Give a user a role in a project, replacing any role they were given there. Without -- and --, the grant covers the whole project. |
weikio get members |
List the members of a project. |
weikio member list |
List the members of a project. |
weikio member remove |
Remove a user from a project. |
weikio get roles |
List the roles with their verbs. |
weikio describe role |
Show a role. |
weikio role create |
Create a role from a set of verbs. |
weikio role set |
Replace the verbs of a role. |
weikio delete role |
Delete a custom role. |
weikio rename role |
Rename a custom role. |
The flags every command accepts, such as --env, --project, -o and --context, are on the CLI reference page and are left out of the tables below.
weikio project create#
Create a project. Creating a project also creates its store for built versions, sized by --store-bytes.
weikio project create <name> [--display-name S] [--description S] [--label k=v ...] [--store-bytes SIZE]| Argument or flag | What it does |
|---|---|
<name> |
Project name. |
-- |
The project’s display name. |
-- |
Project description. |
-- |
Label in k=v form (may be repeated). |
-- |
Store size for integration versions and build output, by default 1GiB. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: PUT /api/v1/projects/{name}.
Also written as weikio create project.
$ weikio project create finance --display-name "Finance" --label team=financeTarget: https://hub.example
project finance created (revision 4102)weikio get projects#
List projects.
weikio get projects [-l k=v]| Argument or flag | What it does |
|---|---|
- |
Show only rows with every k=v label given. |
Who can run it: a grant on the project whose role has read.
API: GET /api/v1/projects.
weikio describe project#
Show a project with its members and counts.
weikio describe project <name>| Argument or flag | What it does |
|---|---|
<name> |
Project name. |
Who can run it: a grant on the project whose role has read.
API: GET /api/v1/projects/{name}, GET /api/v1/projects/{name}/members, GET /api/v1/projects/{name}/integrations.
weikio project set#
Change a project.
weikio project set <name> [--display-name S] [--description S] [--label k=v] [--unlabel k] [--store-bytes SIZE]| Argument or flag | What it does |
|---|---|
<name> |
Project name. |
-- |
The project’s display name, and “” removes it. |
-- |
Project description. |
-- |
Label in k=v form to add or replace (may be repeated). |
-- |
Label key to remove (may be repeated). |
-- |
Store size for integration versions and build output. Must be above what the store uses. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: PUT /api/v1/projects/{name}.
weikio delete project#
Delete a project and everything in it. Deleting a project deletes everything in it in every environment: its integrations and versions, its stored events and dead letters, its entity types and its values. The command asks you to type the project’s name first, and -y skips that.
weikio delete project <name> [-y]| Argument or flag | What it does |
|---|---|
<name> |
Project name. |
- |
Don’t ask for confirmation. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: DELETE /api/v1/projects/{name}.
weikio rename project#
Rename a project.
weikio rename project <name> <new-name>| Argument or flag | What it does |
|---|---|
<name> |
The project. |
<new- |
The new name. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: PATCH /api/v1/projects/{project}.
weikio member add#
Give a user a role in a project, replacing any role they were given there. Without --integrations and --apis, the grant covers the whole project. A membership is a grant: one role in one project, optionally limited to environments, integrations and APIs. Adding a member again replaces the grant they had.
weikio member add <project> <id|email> --role R [--env E,...] [--integrations N,...] [--apis A,...]| Argument or flag | What it does |
|---|---|
<project> |
Project name. |
<user> |
The user, by ID or e-mail. |
-- |
The role to grant. |
-- |
The integrations the grant covers, comma separated. |
-- |
The APIs the grant covers, comma separated. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a grant on the project whose role has members, as admin has.
API: GET /api/v1/users/_emails?email=, PUT /api/v1/projects/{project}/members/{userId}.
$ weikio member add finance anna@example.com --role deployer --env devtest,productionTarget: https://hub.example, project finance (argument), user anna@example.com
member finance/anna@example.com created (role deployer; environments devtest, production; revision 4104)$ weikio member add finance ville@example.com --role helpdesk --env production --integrations erp-invoice-export,nightly-payrollTarget: https://hub.example, project finance (argument), user ville@example.com
member finance/ville@example.com created (role helpdesk; environments production; integrations erp-invoice-export, nightly-payroll; revision 4105)weikio get members#
List the members of a project.
weikio get members <project>| Argument or flag | What it does |
|---|---|
<project> |
Project name. |
Who can run it: a grant on the project whose role has members, as admin has.
API: GET /api/v1/projects/{project}/members, GET /api/v1/users/_emails?ids=.
weikio member list#
List the members of a project.
weikio member list <project> [flags]| Argument or flag | What it does |
|---|---|
<project> |
Project name. |
weikio member remove#
Remove a user from a project.
weikio member remove <project> <id|email> [-y]| Argument or flag | What it does |
|---|---|
<project> |
Project name. |
<user> |
The user, by ID or e-mail. |
- |
Don’t ask for confirmation. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a grant on the project whose role has members, as admin has.
API: GET /api/v1/users/_emails?email=, DELETE /api/v1/projects/{project}/members/{userId}.
weikio get roles#
List the roles with their verbs.
weikio get rolesWho can run it: any valid API key.
API: GET /api/v1/roles.
$ weikio get rolesNAME VERBS SEEDED
viewer read yes
editor read, author, operate, reveal yes
deployer read, author, operate, reveal, deploy, entity-store-policy yes
admin read, author, operate, reveal, deploy, entity-store-policy, members yes
helpdesk read noweikio describe role#
Show a role.
weikio describe role <name>| Argument or flag | What it does |
|---|---|
<name> |
The role. |
Who can run it: any valid API key.
API: GET /api/v1/roles/{name}.
weikio role create#
Create a role from a set of verbs. Roles are platform-wide, so one role serves every project.
weikio role create <name> --verbs v1,v2 [--description S]| Argument or flag | What it does |
|---|---|
<name> |
The role’s name. |
-- |
The role’s verbs, comma separated. |
-- |
What the role is for. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: PUT /api/v1/roles/{name}.
Also written as weikio create role.
$ weikio apply -f platform/roles/helpdesk.yamlTarget: https://hub.example
role helpdesk createdweikio role set#
Replace the verbs of a role.
weikio role set <name> --verbs v1,v2 [--description S]| Argument or flag | What it does |
|---|---|
<name> |
The role. |
-- |
The role’s verbs, comma separated. |
-- |
What the role is for. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: PUT /api/v1/roles/{name}.
weikio delete role#
Delete a custom role.
weikio delete role <name> [-y]| Argument or flag | What it does |
|---|---|
<name> |
The role. |
- |
Don’t ask for confirmation. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: DELETE /api/v1/roles/{name}.
weikio rename role#
Rename a custom role.
weikio rename role <name> <new-name>| Argument or flag | What it does |
|---|---|
<name> |
The role. |
<new- |
The new name. |
-- |
Reason for the change, stored with the audit record. |
Who can run it: a platform administrator.
API: PATCH /api/v1/roles/{name}.
Exit codes#
The commands on this page exit with the codes in the exit code table: 0 on success, 1 when the hub refuses a change, 2 for a usage error, 3 when the key is missing or not allowed, 4 when something isn’t found, 5 for a conflicting change, 6 when the hub can’t be reached and 8 when a document isn’t valid.