RingCentral Audit Trail API

The Audit Trail API from RingCentral — 1 operation(s) for audit trail.

OpenAPI Specification

ringcentral-audit-trail-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: RingCentral Adaptive Cards Audit Trail API
  description: RingCentral API specification
  version: 1.0.58-20240529-47eda8bd
  contact:
    name: RingCentral Developers Support
    url: https://developers.ringcentral.com/support
  termsOfService: https://www.ringcentral.com/legal/apilitos.html
  license:
    name: RingCentral API License Agreement
    url: https://www.ringcentral.com/legal/apilitos.html
servers:
- url: https://platform.ringcentral.com
  description: Production API entry point
- url: https://media.ringcentral.com
  description: Production Media entry point
- url: https://platform.devtest.ringcentral.com
  description: Developer sandbox API entry point
- url: https://platform.devtest.ringcentral.com
  description: Developer sandbox Media entry point
security:
- OAuth2: []
tags:
- name: Audit Trail
paths:
  /restapi/v1.0/account/{accountId}/audit-trail/search:
    post:
      tags:
      - Audit Trail
      summary: Search Audit Trail Data
      description: 'Returns the audit trail data with specific filters applied.

        Audit trail searching is limited to the last 10,000 records or last 180 days, whichever comes first.

        '
      operationId: auditTrailSearch
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        description: Filter
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountHistorySearchPublicRequest'
        required: false
      responses:
        '200':
          description: List of Account History Records
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountHistorySearchPublicResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceNotAvailable'
      x-throttling-group: Heavy
      x-app-permission: ReadAuditTrail
components:
  responses:
    Forbidden:
      description: 'General response with **HTTP 403 "Forbidden"** status.<br>

        Reasons: the requested operation is forbidden because of certain resource state, lack of permissions, feature unavailability, etc.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponseModel'
    NotFound:
      description: 'General response with **HTTP 404 "Not found"** status.<br>

        Reasons: the entity with given ID (typically specified in a path parameter), is not found or inaccessible

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponseModel'
    InvalidRequest:
      description: 'General response with **HTTP 400 "Bad request"** status.<br>

        Reasons: unparsable request, path, query or body parameters are invalid.

        The error description may contain reference to particular parameter(s) which haven''t passed the validation.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ParameterizedErrorResponseModel'
    InternalError:
      description: 'General response with **HTTP 500 "Internal Server Error"** status.<br>

        Reasons: general server-side error.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponseModel'
    ServiceNotAvailable:
      description: 'General response with **HTTP 503 "Service not available"** status.<br>

        Reasons: server cannot process the request because of being overloaded, misconfiguration or other issues.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponseModel'
  schemas:
    AccountHistoryRecordTarget:
      type: object
      description: Action target object (company/extension)
      properties:
        objectId:
          type: string
          description: Extension identifier of the affected entity or "0" for Company level
          example: '404611540004'
        objectType:
          type: string
          description: Type of the entity.
          example: Extension
          enum:
          - Extension
          - Account
          - Company
          - Template
        name:
          type: string
          description: Target extension name
          example: Charlie Williams
        extensionNumber:
          type: string
          description: Target extension (short) number  of the affected entity (if the objectType is EXTENSION).
          example: '103'
        siteId:
          type: string
          description: Target extension site identifier (if any)
          example: '871836004'
    AccountHistoryRecordDetailsParameters:
      required:
      - key
      - value
      type: object
      properties:
        key:
          type: string
          example: settingName
        value:
          type: string
          example: Password
    AccountHistoryPaging:
      type: object
      properties:
        page:
          type: integer
          format: int32
          minimum: 1
          maximum: 1000
          description: "The current page number. 1-indexed, so the first page is 1 by default. May be omitted if result is empty \n(because non-existent page was specified or perPage=0 was requested)\n"
        perPage:
          type: integer
          format: int32
          minimum: 1
          maximum: 1000
          description: Current page size, describes how many items are in each page. Matches "perPage" parameter from the request
          example: 50
        total:
          type: integer
          format: int32
          minimum: 0
          description: Total number of pages in a dataset. May be omitted for some resources due to performance reasons
          example: 25
        totalFound:
          type: integer
          format: int32
          minimum: 0
          description: Total number of elements in a dataset. May be omitted for some resources due to performance reasons
          example: 25
    ApiErrorResponseModel:
      type: object
      description: Standard error response model which is returned in case of any unsuccessful operation
      required:
      - errors
      properties:
        errors:
          type: array
          description: The array of errors (there will be just one in the most of the cases)
          minItems: 1
          items:
            $ref: '#/components/schemas/ApiError'
    AccountHistoryRecordPublicInitiator:
      type: object
      description: Event initiator info
      properties:
        extensionId:
          type: string
          description: Current user extension identifier
          example: '402539300008'
        extensionNumber:
          type: string
          description: Current user extension (short) number
          example: '101'
        name:
          type: string
          description: Current user full name
          example: Alice Smith
        role:
          type: string
          description: Current user role
          example: Super Admin
    AccountHistoryPublicRecord:
      type: object
      properties:
        id:
          type: string
          description: Internal record identifier
          example: 9835bead-397b-4ba8-b457-73f07ab79997
        eventTime:
          type: string
          description: Timestamp of an event (provided by a client), RFC3339 date-time format, UTC time zone.
          format: date-time
        initiator:
          $ref: '#/components/schemas/AccountHistoryRecordPublicInitiator'
        actionId:
          type: string
          description: Action type
          example: CHANGE_SECRET_INFO
        eventType:
          type: string
          description: 'Operation: "CREATE", "UPDATE", "DELETE" or custom'
          example: UPDATE
        accountId:
          type: string
          description: Account identifier which is related with the particular record.
          example: '403858014008'
        accountName:
          type: string
          description: Account (company) name
          example: Some Company
        target:
          $ref: '#/components/schemas/AccountHistoryRecordTarget'
        clientIp:
          type: string
          description: IP-address of a client.
          example: 192.168.42.6
        comment:
          type: string
          description: Custom top-level comment
        details:
          $ref: '#/components/schemas/AccountHistoryRecordPublicDetails'
    ParameterizedErrorResponseModel:
      type: object
      description: Standard error response which may include parameterized errors
      required:
      - errors
      properties:
        errors:
          type: array
          description: The array of errors (there will be just one in the most of the cases)
          minItems: 1
          items:
            $ref: '#/components/schemas/ApiErrorWithParameter'
    AccountHistoryRecordPublicDetails:
      type: object
      properties:
        parameters:
          type: array
          description: Event details (additional parameters)
          items:
            $ref: '#/components/schemas/AccountHistoryRecordDetailsParameters'
    AccountHistorySearchPublicRequest:
      type: object
      properties:
        eventTimeFrom:
          type: string
          format: date-time
          description: 'The beginning of the time range to return records in ISO 8601 format in UTC timezone, default is "eventTimeFrom"-24 hours

            '
        eventTimeTo:
          type: string
          format: date-time
          description: The end of the time range to return records in ISO 8601 format in UTC timezone, default is the current time
        initiatorIds:
          type: array
          description: List of extension IDs of change initiators.
          items:
            type: string
        page:
          type: integer
          format: int32
          example: 1
          description: Page number in the result set
        perPage:
          type: integer
          format: int32
          example: 25
          description: Number of records to be returned per page.
        targetIds:
          type: array
          example:
          - '404611540004'
          description: List of extension (user) IDs affected by this action.
          items:
            type: string
        siteId:
          type: string
          example: '871836004'
          description: Site ID to apply as a filter
        actionIds:
          type: array
          example:
          - CHANGE_SECRET_INFO
          - CHANGE_USER_INFO
          description: List of action IDs (exact keys) to search for (alternatively "excludeActionIds" option can be used).
          items:
            type: string
            enum:
            - CHANGE_SECRET_INFO
            - CHANGE_USER_INFO
        searchString:
          type: string
          example: '542617'
          description: 'The (sub)string to search, applied to the following fields:


            - initiator.name

            - initiator.role

            - initiator.extensionNumber

            - target.name

            - target.extensionNumber

            - details.parameters.value'
        excludeActionIds:
          type: array
          example:
          - CHANGE_SECRET_INFO
          - CHANGE_USER_INFO
          description: List of action IDs (exact keys) to exclude from your search (alternatively "actionIds" option can be used).
          items:
            type: string
            enum:
            - CHANGE_SECRET_INFO
            - CHANGE_USER_INFO
    ApiErrorWithParameter:
      description: 'The error model with additional attributes which can be used for HTTP 400/409

        This is a deprecated model: "ApiError" model can be used instead with arbitrary additional parameters

        '
      allOf:
      - $ref: '#/components/schemas/ApiError'
      - type: object
        properties:
          parameterName:
            type: string
            description: The name of the API parameter/attribute which caused the error
          parameterValue:
            type: string
            description: The value of the API parameter/attribute which caused the error
    AccountHistorySearchPublicResponse:
      type: object
      properties:
        records:
          type: array
          description: List of records
          items:
            $ref: '#/components/schemas/AccountHistoryPublicRecord'
        paging:
          $ref: '#/components/schemas/AccountHistoryPaging'
    ApiError:
      type: object
      description: Generalized API error structure suitable for any error type
      required:
      - errorCode
      - message
      properties:
        errorCode:
          type: string
          description: Logical error code (typically, 3 letters followed with number, dash separated)
          example: XXX-123
        message:
          type: string
          description: User-friendly error message
          example: Something went wrong
      additionalProperties: true
  parameters:
    AccountId:
      name: accountId
      in: path
      description: 'Internal identifier of the RingCentral account

        (can be set to "~" to indicate that the account associated with current authorization session should be used)

        '
      required: true
      style: simple
      explode: false
      schema:
        type: string
        default: '~'
      example: '~'
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://platform.ringcentral.com/restapi/oauth/authorize
          tokenUrl: https://platform.ringcentral.com/restapi/oauth/token
          refreshUrl: https://platform.ringcentral.com/restapi/oauth/token
          scopes: {}
x-tagGroups:
- name: Voice
  popular: true
  tags:
  - Business Hours
  - Call Blocking
  - Call Control
  - Call Forwarding
  - Call Handling Rules
  - Interaction Rules
  - State-based Rules
  - Call Flip
  - Call Log
  - Call History
  - Call Log Export
  - Call Monitoring Groups
  - Call Queues
  - Call Recordings
  - Call Recording Settings
  - Device SIP Registration
  - Greetings
  - IVR
  - RingOut
  - Verification Calls
- name: SMS and Fax
  popular: true
  tags:
  - Fax
  - Message Exports
  - Message Store
  - Pager Messages
  - SMS
  - High Volume SMS
  - SMS Log Export
  - SMS Templates
  - Voicemail Broadcasting
- name: Social Messaging
  popular: true
  tags:
  - Identities
  - Contents
- name: Team Messaging
  popular: true
  tags:
  - Adaptive Cards
  - Bots
  - Calendar Events
  - Chats
  - Conversations
  - Compliance Exports
  - Contacts
  - Incoming Webhooks
  - Notes
  - Posts
  - Profile
  - Tasks
  - Teams
- name: Video
  popular: true
  tags:
  - Bridge Management
  - Delegation Management
  - Meetings History
  - Meeting Recordings
  - RCM Meetings (Legacy)
  - RCM Webinars (Legacy)
- name: Webinar
  popular: true
  tags:
  - Webinars and Sessions
  - Invitees
  - Historical Webinars
  - Historical Recordings
  - Registration Management
  - Registrants
  - Webinar Analytics
  - Webinar Subscriptions
- name: Analytics
  popular: true
  tags:
  - Business Analytics
- name: Artificial Intelligence
  popular: true
  tags:
  - Insights
  - Audio
  - Text
  - Status
- name: Authentication
  tags:
  - OAuth 2.0 / OpenID Connect
  - Interoperability
- name: Account
  tags:
  - Company
  - Custom Fields
  - Features
  - Licenses
  - Tax Locations
  - Cost Centers
  - Multi-Site
  - Phone Numbers
  - Presence
  - Regional Settings
  - User Permissions
  - User Settings
  - Audit Trail
  - Calling Rates
  - Appearance Customization
  - Account Integrations
- name: Provisioning
  tags:
  - Automatic Location Updates
  - Devices
  - Extensions
  - Paging Only Groups
  - Park Locations
  - Phone Lines
  - SCIM
  - Shared Lines
  - Group Call Pickup
  - Delegated Lines Groups
  - Directed Call Pickup
  - IVR Apps
  - Video Configuration
  - Number Porting
  - SMB
  - Account Federation
  - Integrations
  - Enterprise Portal API
  - Push to Talk Provisioning
  - BYOC
- name: Address Book
  tags:
  - External Contacts
  - Internal Contacts
  - Hybrid Directory Contacts
  - Overlay Contacts
  - External Shared Directory
- name: Roles and Permissions
  tags:
  - Permissions
  - Role Management
  - Site Administration
  - User Groups
- name: Events & Notifications
  tags:
  - Subscriptions
- name: User Integrations
  tags:
  - Token Management
  - Calendar Management
  - Calendar Event Management
  - Calendar Presence Link
  - Cloud Personal Contacts
  - Cloud Shared Contacts
  - Cloud Directory
  - Deprecated Calendar API
- name: Rooms
  tags:
  - Rooms Client API
  - Rooms Management API
- name: App Management
  tags:
  - App Gallery
  - App Rating Review
  - Bot Provisioning
- name: Workflow Builder
  tags:
  - Flows
  - Flow Editor
  - Flow Log
  - Flow Templates
- name: Utilities
  tags:
  - API Info
  - Application Settings
  - Async Tasks
  - User Notifications
  - Client Versions
  - End-to-End Encryption