---
title: "Get space permissions"
method: GET
path: "/spaces/{space_id}/permissions/"
tags: ["space"]
---

# Get space permissions

`GET /spaces/{space_id}/permissions/`

## Request

- Base URL: `https://api.angelcam.com/v1`
- URL: `https://api.angelcam.com/v1/spaces/{space_id}/permissions/`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://my.angelcam.com/oauth/authorize/`, token URL `https://my.angelcam.com/oauth/token/`
    - Password, token URL `https://api.angelcam.com/oauth/token/`
    - Scopes: `space_permissions_access`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/angelcam/apis/angelcam-api/docs/spaces/:space_id/permissions/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns all permissions the authenticated user has within the given space. The user must be a member of that space. Includes both permissions assigned directly to the user and those inherited through group membership.
Each permission entry may be scoped to the whole space, a specific location, or a specific camera. See the [Spaces section](#tag/space) for the full list of permission slugs and scoping rules.

## Path parameters

- `space_id` integer, required

## Response `200`

Permissions for the given space.

- SpacePermissionsObject
  - `assignments` AccessAssignmentObject[], required: All permissions effective for the authenticated user in the active space. Includes both directly assigned permissions and those inherited through group membership.
    - `permission` 'space.admin' | 'space.limited_client' | 'space.billing' | 'camera.notifications.status' | 'location.notifications.incident' | 'location.notifications.other' | 'location.access' | 'location.view' | 'location.arming' | 'location.manage' | 'camera.view' | 'camera.manage' | 'camera.recording.view' | 'camera.recording.manage' | 'camera.clip.view' | 'camera.clip.manage' | 'camera.clip.create' | 'camera.broadcasting.manage' | 'camera.timelapse.manage', required: Permission slug.
    - `location_id` integer, nullable: When set, the permission is scoped to this location. Always present for `location.*` and `camera.*` slugs.
    - `camera_id` integer, nullable: When set, the permission is scoped to this camera. Always present for `camera.*` slugs, together with `location_id`.

## Other responses

- `401`: Missing or invalid authorization.
- `403`: Missing permission.
- `404`: Space not found or the user is not a member.

---

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