---
title: "Change login access"
method: PUT
path: "/v1/logins/{id}/access"
tags: ["login_access"]
---

# Change login access

`PUT /v1/logins/{id}/access`

## Request

- Base URL: `https://api.pomerado.ai`
- URL: `https://api.pomerado.ai/v1/logins/{id}/access`
- Auth: HTTP bearer

Gives one member or the whole team access to a Business team's saved login, or removes it.

- A member can get use, edit or manage; the whole team, use or edit. A level of null removes access.
- No one can change the access of the login's creator, an Owner or an Admin.
- Removing someone's last access stops their unfinished jobs on the login.
- Lowering someone below edit stops their unfinished Code editor runs on the login.
- Only the Dashboard makes the change, for someone who manages the login. Elsewhere this returns a dashboard_url to the login's Share menu.

## Path parameters

- `id` string, required

## Request body

- LoginAccessChange
  - `grantee` union, required
    - object
      - `type` 'team', required
    - object
      - `type` 'member', required
      - `user_id` string, required: a team member ID: the user_id GET /v1/team/members gives: user_ and up to 100 letters or digits
  - `level` 'use' | 'edit' | 'manage', nullable, required: Null removes their access

## Response `200`

On the Dashboard: who has access now; Elsewhere: the Share menu

- union
  - LoginAccess
    - `login_id` string, required
    - `creator` object, nullable, required: Who created it, and so manages it; null for a login saved before teams existed
      - `user_id` string, required: Their user ID
      - `name` string, nullable, required: Null when they gave none
      - `email` string, nullable, required: Null for someone no longer on the team, except to an Owner or Admin
      - `former` boolean, required: They are no longer on the team
    - `team` 'use' | 'edit', nullable, required: The whole team's level, later joiners included; null when the team has none
    - `members` object[], required: Each member's own level. Every Owner and Admin manages it whatever this lists
      - `user_id` string, required: Their user ID
      - `name` string, nullable, required: Null when they gave none
      - `email` string, nullable, required: Null for someone no longer on the team, except to an Owner or Admin
      - `former` boolean, required: They are no longer on the team
      - `level` 'use' | 'edit' | 'manage', required
  - DashboardDelivery
    - `dashboard_url` string, required: A signed-in Dashboard page where the person finishes this and sees the secret once

## Other responses

- `400`: invalid_request
- `401`: unauthorized, reauthentication_required
- `403`: forbidden, login_access_required, team_unavailable
- `404`: not_found
- `409`: access_fixed, grantee_not_member, team_level_not_allowed
- `413`: request_too_large
- `500`: internal_error
- `503`: temporarily_unavailable

---

[API](https://skmtc.dev/pomerado/apis/pomerado-api.md) · [All operations](https://skmtc.dev/pomerado/apis/pomerado-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pomerado/apis/pomerado-api/revisions/48dac2a3143e?raw)
