---
title: "Create default roles and filters"
method: POST
path: "/groups/{groupId}/apps/{appId}/services/{serviceId}/default_rule"
tags: ["rules"]
---

# Create default roles and filters

`POST /groups/{groupId}/apps/{appId}/services/{serviceId}/default_rule`

Create [default roles and filters](https://www.mongodb.com/docs/atlas/app-services/rules/#default-rules) for a data source.

## Request body

- DefaultRuleConstructor — A data access rule that define defines fallback user roles and query filters for collection's that don't have more specific permissions defined.
  - `roles` RoleConstructor[] — An ordered list of default user roles.
    - `document_filters` object
      - `read` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
      - `write` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
    - `name` string — The role's name.
    - `apply_when` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `read` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `write` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `insert` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `delete` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `search` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `fields` unknown
    - `additional_fields` FieldLevelPermissions — Read and write permissions for a field.
      - `read` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
      - `write` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
  - `filters` FilterConstructor[] — A list of default [query filters](https://www.mongodb.com/docs/atlas/app-services/reference/config/data_sources/#filters).
    - `name` string — The filter's name.
    - `apply_when` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `query` Query — A MongoDB query object.
    - `projection` Projection — A MongoDB projection object.

## Response `201`

Created default rule.

- DefaultRule — A data access rule that define defines fallback user roles and query filters for collection's that don't have more specific permissions defined.
  - `_id` string — The default rule's unique ObjectId identifier.
  - `roles` object[] — An ordered list of default user roles.
    - `document_filters` object
      - `read` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
      - `write` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
    - `name` string — The role's name.
    - `apply_when` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `read` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `write` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `insert` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `delete` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `search` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `fields` unknown
    - `additional_fields` FieldLevelPermissions — Read and write permissions for a field.
      - `read` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
      - `write` union, required — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
        - object
        - boolean
  - `filters` object[] — A list of default [query filters](https://www.mongodb.com/docs/atlas/app-services/reference/config/data_sources/#filters).
    - `_id` string — The filter's unique ObjectId identifier.
    - `name` string — The filter's name.
    - `apply_when` union — A [rule expression](https://mongodb.com/docs/atlas/app-services/rules/expressions/).
      - object
      - boolean
    - `query` Query — A MongoDB query object.
    - `projection` Projection — A MongoDB projection object.

## Other responses

- `400` — Default rule already exists.

## Changes

- **2024-02-20** (v3) `e2240dd053bd` — 3 breaking, 14 warning, 1 info
  - added `#/components/schemas/SyncDocumentFiltersPermissions, subschema #2` to the `roles/items/` request property `allOf` list
  - the `roles/items/` request property type changed from `object` to no type
  - the response's body type changed from `object` to no type for status `201`
  - removed the request property `_id`
  - …14 more

[Change history](https://skmtc.dev/mongodb/apis/mongodb-atlas-app-services-admin-api/changes/groups/:groupId/apps/:appId/services/:serviceId/default_rule/post.md)

---

[API](https://skmtc.dev/mongodb/apis/mongodb-atlas-app-services-admin-api.md) · [All operations](https://skmtc.dev/mongodb/apis/mongodb-atlas-app-services-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mongodb/mongodb-atlas-app-services-admin-api/revisions/1365ab72bc03/schema)
