Chelabase
ManagementMembers

Approve a sign-up

POST
/v1/members/{member_id}/approve

A person who signed up under open sign-up is pending and can do nothing (pending_approval) until a tenant admin approves them here, with their first grants. The grants are checked exactly as an invite's are; the member becomes active, the grants are stored and one member_approved event is written in one step.

Authorization

bearer
AuthorizationBearer <token>

In: header

Path Parameters

member_id*string

Member id

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The body of approveMember: the first grants of the person who signed up.

grants?array<>

One grant per project at most; none is fine (the person starts with no access). Checked as an invite's grants are.

team_ids?array<>

Teams of the tenant the member joins (at most 50 after duplicates are dropped); empty is none. Checked with the grants on the member's union, as an invite's are.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/members/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve" \  -H "Content-Type: application/json" \  -d '{}'
{  "accepted_at": "2019-08-24T14:15:22Z",  "access": {    "level": "tenant_admin",    "projects": [      {        "platform_role": "viewer",        "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",        "via": "own"      }    ]  },  "created_at": "2019-08-24T14:15:22Z",  "display_name": "string",  "email": "string",  "has_access": true,  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "invite": {    "expires_at": "2019-08-24T14:15:22Z",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"  },  "status": "invited",  "suspended_at": "2019-08-24T14:15:22Z",  "suspended_by": "c2e368d8-db1b-4e27-8850-4fa018b3a2bc",  "tenant_admin": true}