> ## 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.

# Get author details

> Get detailed information about a specific author including historical data and analysis



## OpenAPI

````yaml get /authors/{id}
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
externalDocs:
  url: https://docs.moderationapi.com
paths:
  /authors/{id}:
    get:
      tags:
        - author
      summary: Get author details
      description: >-
        Get detailed information about a specific author including historical
        data and analysis
      operationId: author-openGetAuthorDetails
      parameters:
        - in: path
          name: id
          schema:
            type: string
            description: Either external ID or the ID assigned by moderation API.
          required: true
          description: Either external ID or the ID assigned by moderation API.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicAuthor'
        '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 author = await client.authors.retrieve('id');

            console.log(author.id);
        - 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
            )
            author = client.authors.retrieve(
                "id",
            )
            print(author.id)
        - lang: Ruby
          source: >-
            require "moderation_api"


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


            author = moderation_api.authors.retrieve("id")


            puts(author)
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

````