> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create or replace a report row restriction for a user.

> Applies a row restriction to a report for a target user in the caller's organisation. A successful normal
response envelope is returned after the restriction is changed. The restriction affects future accessible
report rows and does not modify an existing report run. Target user, report definition, report type, and
organisation context are server-managed.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/ReportRestriction/Create
openapi: 3.0.4
info:
  title: Derivitec Api 1.0
  version: '1.0'
servers:
  - url: https://api.riskportal.activeviam.com
security:
  - oauth2: []
  - apikey: []
tags:
  - name: AdminUser
  - name: AtotiReport
  - name: AtotiSession
  - name: BloombergOAuth
  - name: Bond
  - name: BondYieldCurvePage
  - name: BookAccess
  - name: Books
  - name: Commodity
  - name: Counterparties
  - name: Currencies
  - name: Equity
  - name: EquityDividend
  - name: EquityPage
  - name: FeatureFlag
  - name: Fx
  - name: FxPage
  - name: GroupAccess
  - name: Home
  - name: LegacyPosition
  - name: MarketData
  - name: MarketDataProvider
  - name: MarketDataProviderAccess
  - name: Meta
  - name: Notification
  - name: Organisation
  - name: PnLReport
  - name: PortfolioAccess
  - name: Portfolios
  - name: Position
  - name: PositionFilter
  - name: PricingEnvironment
  - name: PricingEnvironmentAccess
  - name: RateAsset
  - name: RateAssetPage
  - name: Report
  - name: ReportDefinition
  - name: ReportHistoryLauncherQuery
  - name: ReportLauncher
  - name: ReportQuery
  - name: ReportQueryViewUser
  - name: ReportRestriction
  - name: ReportView
  - name: RiskReport
  - name: Tradable
  - name: TradeBooking
  - name: User
  - name: VarReport
  - name: VarReportQuery
  - name: YieldCurvePage
paths:
  /api/ReportRestriction/Create:
    post:
      tags:
        - ReportRestriction
      summary: Create or replace a report row restriction for a user.
      description: >-
        Applies a row restriction to a report for a target user in the caller's
        organisation. A successful normal

        response envelope is returned after the restriction is changed. The
        restriction affects future accessible

        report rows and does not modify an existing report run. Target user,
        report definition, report type, and

        organisation context are server-managed.
      operationId: Create
      requestBody:
        description: >-
          The body containing required target `ProxyUserEmail` and accessible
          `ReportName`, plus optional `RowFilter`. A string filter requires
          non-empty field, operator, and value. An advanced filter requires an
          operator and at least one condition, with the same validation applied
          recursively.
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiReportRestrictionSaveRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiReportRestrictionSaveRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiReportRestrictionSaveRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiReportRestrictionSaveRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiReportRestrictionCreateResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiReportRestrictionSaveRequest:
      required:
        - $type
      type: object
      properties:
        report_name:
          type: string
          description: >-
            Organisation-scoped report-definition name whose user restriction is
            being changed.
          nullable: true
          example: Daily risk overview
        proxy_user_email:
          type: string
          description: >-
            Email address of the organisation user targeted by the report
            action.
          nullable: true
          example: user@example.com
        row_filter:
          $ref: '#/components/schemas/FilterBase'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.ReportRestriction.ApiReportRestrictionSaveRequest,
              Derivitec.Web.Core
      additionalProperties: false
      description: Row filter to save as a reusable report restriction.
    ApiReportRestrictionCreateResponse:
      required:
        - $type
      type: object
      additionalProperties: false
      description: Response envelope for an attempt to save a report-row restriction.
      properties:
        is_success:
          type: boolean
          description: >-
            Whether the operation completed successfully. The default is `true`;
            error outcomes set it to `false`.
          example: true
        error_messages:
          type: array
          items:
            type: string
          description: >-
            Messages explaining operation-level failures. The collection is
            empty by default.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.ReportRestriction.ApiReportRestrictionCreateResponse,
              Derivitec.Web.Core
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: false
    FilterBase:
      description: Base selection criterion for a named report-data field.
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.Filters.Filter, Derivitec.Web.Core: '#/components/schemas/FilterMintlifyShape'
          Derivitec.Web.Core.Filters.FilterBase, Derivitec.Web.Core: '#/components/schemas/FilterBaseMintlifyShape'
          Derivitec.Web.Core.Filters.MultiFilter, Derivitec.Web.Core: '#/components/schemas/MultiFilter'
          Derivitec.Web.Core.Filters.StringFilter, Derivitec.Web.Core: '#/components/schemas/StringFilter'
      oneOf:
        - $ref: '#/components/schemas/FilterMintlifyShape'
        - $ref: '#/components/schemas/FilterBaseMintlifyShape'
        - $ref: '#/components/schemas/MultiFilter'
        - $ref: '#/components/schemas/StringFilter'
    FilterMintlifyShape:
      required:
        - $type
      type: object
      properties:
        field:
          type: string
          description: Name of the report-data field evaluated by this criterion.
          nullable: true
        type:
          type: string
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Filters.Filter, Derivitec.Web.Core
      additionalProperties: false
    FilterBaseMintlifyShape:
      required:
        - $type
      type: object
      properties:
        field:
          type: string
          description: Name of the report-data field evaluated by this criterion.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Filters.FilterBase, Derivitec.Web.Core
      additionalProperties: false
      description: Base selection criterion for a named report-data field.
    MultiFilter:
      required:
        - $type
      type: object
      properties:
        field:
          type: string
          description: Name of the report-data field evaluated by this criterion.
          nullable: true
        operator:
          enum:
            - not_set
            - and
            - or
          type: string
          description: Logical rule used to combine the child criteria.
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/FilterBase'
          description: >-
            Child criteria evaluated by the selected logical operator; nested
            groups are permitted.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Filters.MultiFilter, Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Nested filter group that combines child criteria with a logical
        operator.
    StringFilter:
      required:
        - $type
      type: object
      properties:
        field:
          type: string
          description: Name of the report-data field evaluated by this criterion.
          nullable: true
        type:
          type: string
          nullable: true
        filter:
          type: string
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.Filters.StringFilter, Derivitec.Web.Core
      additionalProperties: false
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth2 access-token requested from AWS Cognito and provided as a Auth
        Bearer header
      flows:
        implicit:
          authorizationUrl: https://auth.riskportal.derivitec.com/oauth2/authorize
          scopes: {}
    apikey:
      type: apiKey
      description: API-Key requested via the site and provided as a header
      name: x-api-key
      in: header

````