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

# List authors (Enterprise)

> Get a paginated list of authors with their activity metrics and reputation



## OpenAPI

````yaml get /authors
openapi: 3.1.0
info:
  title: Moderation API
  description: API for automated content moderation
  version: 1.1.0
servers:
  - url: https://api.moderationapi.com/v1
security: []
tags:
  - name: Actions
  - name: Queues
  - name: Webhooks
  - name: Wordlist
  - name: UserReports
  - name: Voice
    description: Real-time voice moderation over WebSocket.
externalDocs:
  url: https://docs.moderationapi.com
paths:
  /authors:
    get:
      tags:
        - author
      summary: List authors
      description: >-
        Get a paginated list of authors with their activity metrics and
        reputation
      operationId: author-openListAuthors
      parameters:
        - in: query
          name: pageSize
          schema:
            default: 20
            description: Number of authors per page
            type: number
        - in: query
          name: pageNumber
          schema:
            default: 1
            description: Page number to fetch
            type: number
        - in: query
          name: sortBy
          schema:
            type: string
            enum:
              - trustLevel
              - violationCount
              - reportCount
              - memberSince
              - lastActive
              - contentCount
              - flaggedContentRatio
              - averageSentiment
        - in: query
          name: sortDirection
          schema:
            default: desc
            description: Sort direction
            type: string
            enum:
              - asc
              - desc
        - in: query
          name: memberSinceDate
          schema:
            type: string
        - in: query
          name: lastActiveDate
          schema:
            type: string
        - in: query
          name: contentTypes
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  authors:
                    type: array
                    items:
                      $ref: '#/components/schemas/PublicAuthor'
                  pagination:
                    type: object
                    properties:
                      total:
                        type: number
                      pageSize:
                        type: number
                      pageNumber:
                        type: number
                      hasNextPage:
                        type: boolean
                      hasPreviousPage:
                        type: boolean
                    required:
                      - total
                      - pageSize
                      - pageNumber
                      - hasNextPage
                      - hasPreviousPage
                    additionalProperties: false
                required:
                  - authors
                  - pagination
                additionalProperties: false
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '401':
          description: Authorization not provided
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.UNAUTHORIZED'
        '403':
          description: Insufficient access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.FORBIDDEN'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
      security:
        - Authorization: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ModerationAPI from '@moderation-api/sdk';

            const client = new ModerationAPI({
              secretKey: process.env['MODAPI_SECRET_KEY'], // This is the default and can be omitted
            });

            const authors = await client.authors.list();

            console.log(authors.authors);
        - lang: Python
          source: |-
            import os
            from moderation_api import ModerationAPI

            client = ModerationAPI(
                secret_key=os.environ.get("MODAPI_SECRET_KEY"),  # This is the default and can be omitted
            )
            authors = client.authors.list()
            print(authors.authors)
        - lang: Ruby
          source: >-
            require "moderation_api"


            moderation_api = ModerationAPI::Client.new(secret_key: "My Secret
            Key")


            authors = moderation_api.authors.list


            puts(authors)
        - lang: PHP
          source: >-
            <?php


            require_once dirname(__DIR__) . '/vendor/autoload.php';


            use ModerationAPI\Client;

            use ModerationAPI\Core\Exceptions\APIException;


            $client = new Client(secretKey: getenv('MODAPI_SECRET_KEY') ?: 'My
            Secret Key');


            try {
              $authors = $client->authors->list(
                contentTypes: 'contentTypes',
                lastActiveDate: 'lastActiveDate',
                memberSinceDate: 'memberSinceDate',
                pageNumber: 0,
                pageSize: 0,
                sortBy: 'trustLevel',
                sortDirection: 'asc',
              );

              var_dump($authors);
            } catch (APIException $e) {
              echo $e->getMessage();
            }
        - lang: C#
          source: |-
            using System;
            using ModerationApi;
            using ModerationApi.Models.Authors;

            ModerationApiClient client = new();

            AuthorListParams parameters = new();

            var authors = await client.Authors.List(parameters);

            Console.WriteLine(authors);
components:
  schemas:
    PublicAuthor:
      type: object
      properties:
        id:
          type: string
          description: Author ID in Moderation API
        external_id:
          description: The author's ID from your system
          anyOf:
            - type: string
            - type: 'null'
        profile_picture:
          description: URL of the author's profile picture
          anyOf:
            - type: string
              format: uri
            - type: 'null'
        external_link:
          description: URL of the author's external profile
          anyOf:
            - type: string
              format: uri
            - type: 'null'
        name:
          description: Author name or identifier
          anyOf:
            - type: string
            - type: 'null'
        email:
          description: Author email address
          anyOf:
            - type: string
              format: email
              pattern: >-
                ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
            - type: 'null'
        company:
          description: The author's company or organization
          anyOf:
            - type: string
            - type: 'null'
        first_seen:
          type: number
          description: Timestamp when author first appeared
        last_seen:
          type: number
          description: Timestamp of last activity
        last_incident:
          description: Timestamp of last incident
          anyOf:
            - type: number
            - type: 'null'
        status:
          type: string
          enum:
            - enabled
            - suspended
            - blocked
          description: Current author status
        trust_level:
          type: object
          properties:
            level:
              type: number
              description: Author trust level (-1, 0, 1, 2, 3, or 4)
            manual:
              type: boolean
              description: True if the trust level was set manually by a moderator
          required:
            - level
            - manual
          additionalProperties: false
        block:
          anyOf:
            - type: object
              properties:
                until:
                  description: >-
                    The timestamp until which they are blocked if the author is
                    suspended.
                  anyOf:
                    - type: number
                    - type: 'null'
                reason:
                  description: >-
                    The moderators reason why the author was blocked or
                    suspended.
                  anyOf:
                    - type: string
                    - type: 'null'
              additionalProperties: false
            - type: 'null'
          description: >-
            Block or suspension details, if applicable. Null if the author is
            enabled.
        risk_evaluation:
          anyOf:
            - type: object
              properties:
                risk_level:
                  description: >-
                    Calculated risk level based on more than 10 behavioral
                    signals.
                  anyOf:
                    - type: number
                      minimum: 0
                      maximum: 100
                    - type: 'null'
              additionalProperties: false
            - type: 'null'
          description: Risk assessment details, if available.
        metrics:
          type: object
          properties:
            total_content:
              type: number
              description: Total pieces of content
            flagged_content:
              type: number
              description: Number of flagged content pieces
            average_sentiment:
              description: >-
                Average sentiment score of content (-1 to 1). Requires a
                sentiment model in your project.
              anyOf:
                - type: number
                - type: 'null'
          required:
            - total_content
            - flagged_content
          additionalProperties: false
        metadata:
          type: object
          properties:
            email_verified:
              description: Whether the author's email is verified
              anyOf:
                - type: boolean
                - type: 'null'
            phone_verified:
              description: Whether the author's phone number is verified
              anyOf:
                - type: boolean
                - type: 'null'
            identity_verified:
              description: Whether the author's identity is verified
              anyOf:
                - type: boolean
                - type: 'null'
            is_paying_customer:
              description: Whether the author is a paying customer
              anyOf:
                - type: boolean
                - type: 'null'
          additionalProperties: {}
          description: >-
            Additional metadata provided by your system. We recommend including
            any relevant information that may assist in the moderation process.
      required:
        - id
        - first_seen
        - last_seen
        - status
        - trust_level
        - block
        - risk_evaluation
        - metrics
        - metadata
      additionalProperties: false
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Invalid input data error (400)
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.UNAUTHORIZED:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Authorization not provided
        code:
          type: string
          description: The error code
          example: UNAUTHORIZED
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Authorization not provided error (401)
      description: The error information
      example:
        code: UNAUTHORIZED
        message: Authorization not provided
        issues: []
    error.FORBIDDEN:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Insufficient access
        code:
          type: string
          description: The error code
          example: FORBIDDEN
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Insufficient access error (403)
      description: The error information
      example:
        code: FORBIDDEN
        message: Insufficient access
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Not found error (404)
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          description: An array of issues that were responsible for the error
          example: []
          type: array
          items:
            type: object
            properties:
              message:
                type: string
            required:
              - message
            additionalProperties: false
      required:
        - message
        - code
      additionalProperties: false
      title: Internal server error error (500)
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````