## Системні функції
Кожен API хук має свій унікальний id та мінімальний рівень доступу. Рівень доступу визначає де саме ця функцiя може бути дозволенна. При перевірці доступів використовується наступний алгоритм:
1. Перевірити наявність доступу на вибраному рівні
2. Якщо доступ наданий, виконати дію
3. Якщо доступ не знайдений, то перевірити вищий рівень
Приклад:
1. Для того що б скористатися апі для отримання списку сутностей(entities) які мали розмову з воркспейсом 45, необхідно використати наступний АПІ(systemFunctionId:29, permissionLevel: workspace) виклик
```
axios.get(
'https://api.rake.ai/entities?workspaceId=45',
{ headers: { authorization: <accessToken>}}
)
```
Спочатку перевіриться наявність системної функції на рівні workspace з id 45. Якщо її там не знайдено, буде проведенна перевірка на рівні project до якого відноситься цей воркспейс. Якщо її там не знайдено, то буде проведена перевіркан а рівні organization до якого відноситься цей проект.
2. Для того що б скористатися апі для отримання інформації про проект з id 42, необхідно використати наступний АПІ(systemFunctionId:44, permissionLevel: project) виклик
```
axios.get(
'https://api.rake.ai/projects?projectId=42',
{ headers: { authorization: <accessToken>}}
)
```
Спочатку перевіриться наявність системної функції на рівні project з id 42. Якщо її там не знайдено, то буде проведена перевіркан а рівні organization до якого відноситься цей проект.
## Рівні доступу
| level | description
| ----- | -----------
| workspace | Цей рівень доступу включає в себе у системні функції які дозволяють маніпулювати данними на рівні воркспейсу
| project | Цей рівень доступу включає в себе у системні функції які дозволяють маніпулювати данними на рівні проекту і використовувати системні функції воркспейсу
| organization | Цей рівень доступу включає в себе у системні функції які дозволяють маніпулювати данними на рівні організації і використовувати системні функції проекту
Кожен наступний рівень включає в себе усі системні функції нижчих рівнів. Таким чином на рівні проекту можуть бути видані системні функції на редагування воркспейсів.