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

> Search your enterprise audit-log events. Filter by actor, group, folder, event type, request, or date window, and paginate with page or cursor.

# Search enterprise audit-log events



## OpenAPI

````yaml get /v1/analytics/audit-logs/events
openapi: 3.0.0
info:
  description: >-
    The Magnific API is your gateway to a vast collection of high-quality
    digital resources for your applications and projects. As a leading platform,
    it offers a wide range of graphics, including vectors, photos,
    illustrations, icons, PSD templates, and more, all curated by talented
    designers from around the world.
  title: Magnific API
  version: 1.0.0
servers:
  - description: B2B API Production V1
    url: https://api.magnific.com
security:
  - magnificApiKey: []
paths:
  /v1/analytics/audit-logs/events:
    get:
      tags:
        - Analytics
      summary: Search enterprise audit-log events
      description: >
        Returns the audit-log events of the caller's enterprise team: who did
        what,

        to which resource, and how access changed.


        Authenticates via API key (`X-Magnific-API-Key` header). The caller's
        enterprise

        team and identity are resolved automatically from the API key.


        Available exclusively for Enterprise plans with audit logs enabled, and
        only to team

        **admins/owners**. Rate limit: 500 RPD.


        Retention & paging:

        - The audit index retains at most **15 days**; the query window cannot
        exceed 15
          days and defaults to the last 15 days when no dates are given.
        - `per_page` is capped at **100**. In page mode, `page * per_page`
        cannot exceed
          **10000** (`400` otherwise) — use `cursor` for deep iteration.
        - When `cursor` is provided, `page` is ignored and there is no depth
        limit. Follow
          `meta.next_cursor` until it is `null` to walk the whole history.

        Reading your own audit trail costs no credits.
      parameters:
        - description: Page number (1-based). Ignored when `cursor` is set.
          in: query
          name: page
          required: false
          schema:
            default: 1
            minimum: 1
            type: integer
        - description: Items per page (max 100).
          in: query
          name: per_page
          required: false
          schema:
            default: 20
            maximum: 100
            minimum: 1
            type: integer
        - description: >-
            Start of the query window (YYYY-MM-DD). Defaults to 15 days ago.
            Window max 15 days.
          in: query
          name: date_from
          required: false
          schema:
            example: '2026-07-16T00:00:00.000Z'
            format: date
            type: string
        - description: End of the query window (YYYY-MM-DD). Defaults to today.
          in: query
          name: date_to
          required: false
          schema:
            example: '2026-07-31T00:00:00.000Z'
            format: date
            type: string
        - description: >
            Filter by actor user ID(s). Accepts a single value, a
            comma-separated list

            (`member_id=1,2`) or repeated params
            (`member_id[]=1&member_id[]=2`).
          example:
            - 10499812
          explode: false
          in: query
          name: member_id
          required: false
          schema:
            items:
              minimum: 1
              type: integer
            type: array
          style: form
        - description: Filter by team group ID(s). Same multi-value syntax as `member_id`.
          example:
            - 10
            - 20
          explode: false
          in: query
          name: group_id
          required: false
          schema:
            items:
              minimum: 1
              type: integer
            type: array
          style: form
        - description: >-
            Filter by folder reference(s). Same multi-value syntax as
            `member_id`.
          example:
            - a1b2c3d4-1111-4000-8000-000000000001
          explode: false
          in: query
          name: folder_id
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: Filter by event type(s). Same multi-value syntax as `member_id`.
          example:
            - team.member.role_changed
          explode: false
          in: query
          name: event_type
          required: false
          schema:
            items:
              type: string
            type: array
          style: form
        - description: >-
            Exact `request_id` lookup — returns all events emitted by one
            request.
          example: req-7f3a9c1e
          in: query
          name: request_id
          required: false
          schema:
            type: string
        - description: >
            Opaque cursor for deep iteration. When set, `page` is ignored and
            there is no

            depth limit. Take the value from `meta.next_cursor` of the previous
            response.
          in: query
          name: cursor
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                success:
                  $ref: '#/components/examples/200-analytics-audit-logs-events'
              schema:
                $ref: >-
                  #/components/schemas/_v1_analytics_audit_logs_events_get_200_response
          description: OK
        '400':
          content:
            application/json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Parameter 'page' must be greater than 0
                invalid_query:
                  summary: Parameter 'query' is not valid
                  value:
                    message: Parameter 'query' must not be empty
                invalid_filter:
                  summary: Parameter 'filter' is not valid
                  value:
                    message: Parameter 'filter' is not valid
                generic_bad_request:
                  summary: Bad Request
                  value:
                    message: Parameter ':attribute' is not valid
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
            application/problem+json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Validation error
                    invalid_params:
                      - field: page
                        reason: Parameter 'page' must be greater than 0
                      - field: per_page
                        reason: Parameter 'per_page' must be greater than 0
              schema:
                $ref: >-
                  #/components/schemas/get_all_style_transfer_tasks_400_response_1
          description: >-
            Bad Request - The server could not understand the request due to
            invalid syntax.
        '403':
          content:
            application/json:
              examples:
                user_not_authorized:
                  summary: User has not privileges to access some resource
                  value:
                    message: User is not authorized to access this resource
                user_not_owner:
                  summary: Collection author id is different from current user's id
                  value:
                    message: User is not owner of requested collection
                item_is_premium:
                  summary: The user cannot download this item because it is premium
                  value:
                    message: The user cannot download this item because it is premium
                creator_not_authorized:
                  summary: Creator has not privileges to access some resource
                  value:
                    message: Creator is not authorized to access this resource
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: >-
            Forbidden - The client does not have permission to access the
            requested resource.
        '404':
          content:
            application/json:
              examples:
                ai_resource_not_found:
                  summary: AI resource with provided id does not exist
                  value:
                    message: AI resource not found
                collection_not_found:
                  summary: Collection with provided id does not exist
                  value:
                    message: Collection not found
                resource_not_found:
                  summary: Resource with provided id does not exist
                  value:
                    message: Resource not found
                resources_not_found:
                  summary: Resources not found
                  value:
                    message: Resources not found
                user_not_found:
                  summary: User with provided id does not exist
                  value:
                    message: User not found
                video_not_found:
                  summary: Video with provided id does not exist
                  value:
                    message: Video not found
                video_assets_not_found:
                  summary: Video with provided id has not associated assets
                  value:
                    message: Video not found
                icon_not_found:
                  summary: Icon with provided id does not exist
                  value:
                    message: Icon not found
                author_not_found:
                  summary: Author with provided id does not exist
                  value:
                    message: Author not found
                developer_not_found:
                  summary: Developer with provided email does not exist
                  value:
                    message: Developer not found
                country_not_found:
                  summary: Country with provided code does not exist
                  value:
                    message: Country not found
                generic_not_found:
                  summary: Not Found
                  value:
                    message: Not found
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: Not Found - The server can not find the requested resource.
        '429':
          content:
            application/json:
              examples:
                generic:
                  summary: Generic message for 429 errors
                  value:
                    message: Too many requests
                download_limit_reached:
                  summary: The download limits has been reached.
                  value:
                    message: >-
                      The user can't download more items because the download
                      limits has been reached.
                edit_limit_reached:
                  summary: Free user icon edit limits has been reached.
                  value:
                    message: Limit for free users reached.
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: >-
            Too Many Requests - The client has sent too many requests in a given
            amount of time.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_500_response'
          description: >-
            Internal Server Error - The server has encountered a situation it
            doesn't know how to handle.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_503_response'
          description: Service Unavailable
components:
  examples:
    200-analytics-audit-logs-events:
      summary: Success - Enterprise audit-log events.
      value:
        data:
          - event_id: b3d1f0a2-9c4e-4a1b-8f2d-1a2b3c4d5e6f
            date: '2026-07-30T09:14:52.000Z'
            action:
              event_type: team.member.role_changed
              verb: update
              status: success
              resource_id: '18422'
              request_id: req-7f3a9c1e
              correlation_id: corr-2b8e
              old_state:
                role: member
              new_state:
                role: admin
              duration_ms: 42
              data:
                target_user_id: 10511077
                role: admin
                operation: grant
              context: {}
              project_name: null
              folder_name: null
            member:
              type: user
              user_id: 10499812
              email: admin@company.com
            category: member
            source:
              project: magnific
              platform: web
              referer: null
          - event_id: c4e2a1b3-0d5f-4b2c-9a3e-2b3c4d5e6f70
            date: '2026-07-30T08:02:11.000Z'
            action:
              event_type: project.folder.shared
              verb: create
              status: success
              resource_id: a1b2c3d4-1111-4000-8000-000000000001
              request_id: req-5a1b2c3d
              correlation_id: null
              old_state: null
              new_state: null
              duration_ms: 18
              data:
                folder_reference: a1b2c3d4-1111-4000-8000-000000000001
                share_type: group
                group_id: 10
                permission: editor
                outcome: shared
              context: {}
              project_name: Marketing Campaign Q4
              folder_name: Q4 assets
            member:
              type: user
              user_id: 10499812
              email: admin@company.com
            category: folder
            source:
              project: magnific
              platform: web
              referer: null
        meta:
          pagination:
            current_page: 1
            per_page: 20
            last_page: 5
            total: 92
          next_cursor: eyJzIjpbMTcyMjMyOF19
  schemas:
    _v1_analytics_audit_logs_events_get_200_response:
      example:
        data:
          - event_id: b3d1f0a2-9c4e-4a1b-8f2d-1a2b3c4d5e6f
            date: '2026-07-30T09:14:52.000Z'
            action:
              event_type: team.member.role_changed
              verb: update
              status: success
              resource_id: '18422'
              request_id: req-7f3a9c1e
              correlation_id: corr-2b8e
              old_state:
                role: member
              new_state:
                role: admin
              duration_ms: 42
              data:
                target_user_id: 10511077
                role: admin
                operation: grant
              context: {}
              project_name: Marketing Campaign Q4
              folder_name: Q4 assets
            member:
              type: user
              user_id: 10499812
              email: admin@company.com
            category: member
            source:
              project: magnific
              platform: web
              referer: referer
          - event_id: b3d1f0a2-9c4e-4a1b-8f2d-1a2b3c4d5e6f
            date: '2026-07-30T09:14:52.000Z'
            action:
              event_type: team.member.role_changed
              verb: update
              status: success
              resource_id: '18422'
              request_id: req-7f3a9c1e
              correlation_id: corr-2b8e
              old_state:
                role: member
              new_state:
                role: admin
              duration_ms: 42
              data:
                target_user_id: 10511077
                role: admin
                operation: grant
              context: {}
              project_name: Marketing Campaign Q4
              folder_name: Q4 assets
            member:
              type: user
              user_id: 10499812
              email: admin@company.com
            category: member
            source:
              project: magnific
              platform: web
              referer: referer
        meta:
          pagination:
            current_page: 1
            per_page: 1
            last_page: 1
            total: 1
          next_cursor: eyJzIjpbMTcyMjMyOF19
      properties:
        data:
          items:
            $ref: '#/components/schemas/audit-log-event'
          type: array
        meta:
          $ref: >-
            #/components/schemas/_v1_analytics_audit_logs_events_get_200_response_meta
      type: object
    get_all_style_transfer_tasks_400_response:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    get_all_style_transfer_tasks_400_response_1:
      properties:
        problem:
          $ref: >-
            #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem
      type: object
    get_all_style_transfer_tasks_500_response:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    get_all_style_transfer_tasks_503_response:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    audit-log-event:
      description: >
        A single enterprise audit-log event. On the public API the free-form
        objects

        (`action.data`, `action.old_state`, `action.new_state`) are narrowed to
        a vetted

        allow-list of keys; provider/inference internals, cross-system
        identifiers, internal

        billing state and content-moderation flags are stripped and never
        returned here.
      example:
        event_id: b3d1f0a2-9c4e-4a1b-8f2d-1a2b3c4d5e6f
        date: '2026-07-30T09:14:52.000Z'
        action:
          event_type: team.member.role_changed
          verb: update
          status: success
          resource_id: '18422'
          request_id: req-7f3a9c1e
          correlation_id: corr-2b8e
          old_state:
            role: member
          new_state:
            role: admin
          duration_ms: 42
          data:
            target_user_id: 10511077
            role: admin
            operation: grant
          context: {}
          project_name: Marketing Campaign Q4
          folder_name: Q4 assets
        member:
          type: user
          user_id: 10499812
          email: admin@company.com
        category: member
        source:
          project: magnific
          platform: web
          referer: referer
      properties:
        event_id:
          description: Unique identifier of the event.
          example: b3d1f0a2-9c4e-4a1b-8f2d-1a2b3c4d5e6f
          type: string
        date:
          description: When the event occurred (UTC, ISO-8601).
          example: '2026-07-30T09:14:52.000Z'
          format: date-time
          type: string
        action:
          $ref: '#/components/schemas/audit_log_event_action'
        member:
          $ref: '#/components/schemas/audit_log_event_member'
        category:
          description: Resource category the event belongs to.
          example: member
          nullable: true
          type: string
        source:
          $ref: '#/components/schemas/audit_log_event_source'
      type: object
    _v1_analytics_audit_logs_events_get_200_response_meta:
      example:
        pagination:
          current_page: 1
          per_page: 1
          last_page: 1
          total: 1
        next_cursor: eyJzIjpbMTcyMjMyOF19
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
        next_cursor:
          description: Cursor for the next page, or `null` when there are no more pages.
          example: eyJzIjpbMTcyMjMyOF19
          nullable: true
          type: string
      type: object
    get_all_style_transfer_tasks_400_response_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: >-
              #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner
          type: array
      required:
        - invalid_params
        - message
      type: object
    audit_log_event_action:
      example:
        event_type: team.member.role_changed
        verb: update
        status: success
        resource_id: '18422'
        request_id: req-7f3a9c1e
        correlation_id: corr-2b8e
        old_state:
          role: member
        new_state:
          role: admin
        duration_ms: 42
        data:
          target_user_id: 10511077
          role: admin
          operation: grant
        context: {}
        project_name: Marketing Campaign Q4
        folder_name: Q4 assets
      properties:
        event_type:
          description: Canonical event type.
          example: team.member.role_changed
          type: string
        verb:
          description: The action performed.
          example: update
          type: string
        status:
          description: Outcome status of the action.
          example: success
          type: string
        resource_id:
          description: Identifier of the resource the action happened to.
          example: '18422'
          nullable: true
          type: string
        request_id:
          description: >-
            Request identifier. Use the `request_id` filter to fetch all events
            of one request.
          example: req-7f3a9c1e
          nullable: true
          type: string
        correlation_id:
          description: Correlation identifier linking related events.
          example: corr-2b8e
          nullable: true
          type: string
        old_state:
          additionalProperties: true
          description: Vetted subset of the resource state before the action.
          example:
            role: member
          nullable: true
          type: object
        new_state:
          additionalProperties: true
          description: Vetted subset of the resource state after the action.
          example:
            role: admin
          nullable: true
          type: object
        duration_ms:
          description: Action duration in milliseconds, when measured.
          example: 42
          nullable: true
          type: integer
        data:
          additionalProperties: true
          description: >
            Free-form event payload, narrowed to the public allow-list. Keys
            vary by

            `event_type` (e.g. `target_user_id`, `role`, `group_id`,
            `operation`,

            `project_reference`, `permission`, `outcome`).
          example:
            target_user_id: 10511077
            role: admin
            operation: grant
          type: object
        context:
          additionalProperties: true
          description: Additional contextual metadata for the event.
          example: {}
          nullable: true
          type: object
        project_name:
          description: >-
            Human-readable project name, resolved server-side from the event's
            project reference.
          example: Marketing Campaign Q4
          nullable: true
          type: string
        folder_name:
          description: >-
            Human-readable folder name, resolved server-side from the event's
            folder reference.
          example: Q4 assets
          nullable: true
          type: string
      type: object
    audit_log_event_member:
      description: The actor that performed the action.
      example:
        type: user
        user_id: 10499812
        email: admin@company.com
      properties:
        type:
          description: Actor type.
          example: user
          type: string
        user_id:
          description: Actor user ID.
          example: 10499812
          nullable: true
          type: integer
        email:
          description: Actor email address.
          example: admin@company.com
          nullable: true
          type: string
      type: object
    audit_log_event_source:
      description: Where the action originated.
      example:
        project: magnific
        platform: web
        referer: referer
      properties:
        project:
          description: Originating product/project.
          example: magnific
          nullable: true
          type: string
        platform:
          description: Originating platform.
          example: web
          nullable: true
          type: string
        referer:
          description: Referer, when available.
          nullable: true
          type: string
          example: null
      type: object
    pagination:
      description: Metainformation about pagination
      example:
        current_page: 1
        per_page: 1
        last_page: 1
        total: 1
      properties:
        current_page:
          description: The current page.
          example: 1
          type: integer
        per_page:
          description: The limit of resources per page.
          example: 1
          type: integer
        last_page:
          description: The total number of pages.
          example: 1
          type: integer
        total:
          description: The total number of resources.
          example: 1
          type: integer
      type: object
    get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
        - field
        - name
        - reason
      type: object
  securitySchemes:
    magnificApiKey:
      description: >
        Your Magnific API key. Required for authentication. [Learn how to obtain
        an API key](https://docs.magnific.com/quickstart)
      in: header
      name: x-magnific-api-key
      type: apiKey

````