Modoboa Amavis API

The amavis API from Modoboa — 9 operation(s) for amavis.

Operations 11

GET /api/v2/amavis/policies/{id}/ Amavis policies retrieve #
PUT /api/v2/amavis/policies/{id}/ Amavis policies update #
PATCH /api/v2/amavis/policies/{id}/ Amavis policies partial update #
GET /api/v2/amavis/quarantine/ Amavis quarantine list #
GET /api/v2/amavis/quarantine/{id}/ Amavis quarantine retrieve #
POST /api/v2/amavis/quarantine/{id}/delete/ Amavis quarantine delete create #
GET /api/v2/amavis/quarantine/{id}/headers/ Amavis quarantine headers retrieve #
POST /api/v2/amavis/quarantine/{id}/release/ Amavis quarantine release create #
POST /api/v2/amavis/quarantine/delete_selection/ Amavis quarantine delete selection create #
POST /api/v2/amavis/quarantine/mark_selection/ Amavis quarantine mark selection create #
POST /api/v2/amavis/quarantine/release_selection/ Amavis quarantine release selection create #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/modoboa:modoboa-amavis-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

modoboa-amavis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Modoboa Amavis API
  version: v2
servers:
- url: https://demo.modoboa.org/api/schema-v2/
  description: Remote Demo server
- url: https://localhost:5000/api/schema-v2/
  description: Local server
tags:
- name: amavis
paths:
  /api/v2/amavis/policies/{id}/:
    get:
      operationId: amavis_policies_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
          description: ''
      summary: Amavis policies retrieve
      x-summary-source: derived
    put:
      operationId: amavis_policies_update
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Policy'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Policy'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Policy'
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
          description: ''
      summary: Amavis policies update
      x-summary-source: derived
    patch:
      operationId: amavis_policies_partial_update
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedPolicy'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedPolicy'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedPolicy'
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
          description: ''
      summary: Amavis policies partial update
      x-summary-source: derived
  /api/v2/amavis/quarantine/:
    get:
      operationId: amavis_quarantine_list
      parameters:
      - name: ordering
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - amavis
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaginatedMessageList'
          description: ''
      summary: Amavis quarantine list
      x-summary-source: derived
  /api/v2/amavis/quarantine/{id}/:
    get:
      operationId: amavis_quarantine_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
          description: ''
      summary: Amavis quarantine retrieve
      x-summary-source: derived
  /api/v2/amavis/quarantine/{id}/delete/:
    post:
      operationId: amavis_quarantine_delete_create
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageIdentifier'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MessageIdentifier'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MessageIdentifier'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageIdentifier'
          description: ''
      summary: Amavis quarantine delete create
      x-summary-source: derived
  /api/v2/amavis/quarantine/{id}/headers/:
    get:
      operationId: amavis_quarantine_headers_retrieve
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageHeaders'
          description: ''
      summary: Amavis quarantine headers retrieve
      x-summary-source: derived
  /api/v2/amavis/quarantine/{id}/release/:
    post:
      operationId: amavis_quarantine_release_create
      parameters:
      - in: path
        name: id
        schema:
          type: string
        required: true
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageIdentifier'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MessageIdentifier'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MessageIdentifier'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageIdentifier'
          description: ''
      summary: Amavis quarantine release create
      x-summary-source: derived
  /api/v2/amavis/quarantine/delete_selection/:
    post:
      operationId: amavis_quarantine_delete_selection_create
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageSelection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MessageSelection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MessageSelection'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageSelection'
          description: ''
      summary: Amavis quarantine delete selection create
      x-summary-source: derived
  /api/v2/amavis/quarantine/mark_selection/:
    post:
      operationId: amavis_quarantine_mark_selection_create
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MarkMessageSelection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MarkMessageSelection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MarkMessageSelection'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarkMessageSelection'
          description: ''
      summary: Amavis quarantine mark selection create
      x-summary-source: derived
  /api/v2/amavis/quarantine/release_selection/:
    post:
      operationId: amavis_quarantine_release_selection_create
      tags:
      - amavis
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageSelection'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/MessageSelection'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MessageSelection'
        required: true
      security:
      - tokenAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageSelection'
          description: ''
      summary: Amavis quarantine release selection create
      x-summary-source: derived
components:
  schemas:
    PatchedPolicy:
      type: object
      properties:
        bypass_virus_checks:
          title: Virus filter
          description: 'Bypass virus checks or not. Choose ''default'' to use global settings.


            * `N` - yes

            * `Y` - no

            * `` - default'
          oneOf:
          - $ref: '#/components/schemas/BypassBannedChecksEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        bypass_spam_checks:
          title: Spam filter
          description: 'Bypass spam checks or not. Choose ''default'' to use global settings.


            * `N` - yes

            * `Y` - no

            * `` - default'
          oneOf:
          - $ref: '#/components/schemas/BypassBannedChecksEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        bypass_banned_checks:
          title: Banned filter
          description: 'Bypass banned checks or not. Choose ''default'' to use global settings.


            * `N` - yes

            * `Y` - no

            * `` - default'
          oneOf:
          - $ref: '#/components/schemas/BypassBannedChecksEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        spam_tag2_level:
          type:
          - number
          - 'null'
          format: double
        spam_kill_level:
          type:
          - number
          - 'null'
          format: double
        spam_subject_tag2:
          type:
          - string
          - 'null'
          title: Spam marker
          description: Modify spam subject using the specified text. Choose 'default' to use global settings.
          maxLength: 192
    Header:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
      required:
      - name
      - value
    CompactMessage:
      type: object
      properties:
        mailid:
          type: string
        type:
          type: string
        status:
          type: string
        score:
          type: string
        to_address:
          type: string
        from_address:
          type: string
        subject:
          type: string
        datetime:
          type: string
          format: date-time
        style:
          type: string
      required:
      - datetime
      - from_address
      - mailid
      - score
      - status
      - subject
      - to_address
      - type
    MarkMessageSelection:
      type: object
      properties:
        selection:
          type: array
          items:
            $ref: '#/components/schemas/MessageIdentifier'
        type:
          type: string
        database:
          type: string
      required:
      - selection
      - type
    PaginatedMessageList:
      type: object
      properties:
        count:
          type: integer
        first_index:
          type: integer
        last_index:
          type: integer
        prev_page:
          type: integer
        next_page:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/CompactMessage'
      required:
      - count
      - first_index
      - last_index
      - next_page
      - prev_page
      - results
    Message:
      type: object
      properties:
        qtype:
          type: string
        qreason:
          type: string
        headers:
          type: array
          items:
            $ref: '#/components/schemas/Header'
        body:
          type: string
      required:
      - body
      - headers
      - qreason
      - qtype
    NullEnum:
      enum:
      - null
    MessageHeaders:
      type: object
      properties:
        headers:
          type: array
          items:
            $ref: '#/components/schemas/Header'
      required:
      - headers
    BypassBannedChecksEnum:
      enum:
      - N
      - Y
      type: string
      description: '* `N` - yes

        * `Y` - no

        * `` - default'
    MessageSelection:
      type: object
      properties:
        selection:
          type: array
          items:
            $ref: '#/components/schemas/MessageIdentifier'
      required:
      - selection
    BlankEnum:
      enum:
      - ''
    Policy:
      type: object
      properties:
        bypass_virus_checks:
          title: Virus filter
          description: 'Bypass virus checks or not. Choose ''default'' to use global settings.


            * `N` - yes

            * `Y` - no

            * `` - default'
          oneOf:
          - $ref: '#/components/schemas/BypassBannedChecksEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        bypass_spam_checks:
          title: Spam filter
          description: 'Bypass spam checks or not. Choose ''default'' to use global settings.


            * `N` - yes

            * `Y` - no

            * `` - default'
          oneOf:
          - $ref: '#/components/schemas/BypassBannedChecksEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        bypass_banned_checks:
          title: Banned filter
          description: 'Bypass banned checks or not. Choose ''default'' to use global settings.


            * `N` - yes

            * `Y` - no

            * `` - default'
          oneOf:
          - $ref: '#/components/schemas/BypassBannedChecksEnum'
          - $ref: '#/components/schemas/BlankEnum'
          - $ref: '#/components/schemas/NullEnum'
        spam_tag2_level:
          type:
          - number
          - 'null'
          format: double
        spam_kill_level:
          type:
          - number
          - 'null'
          format: double
        spam_subject_tag2:
          type:
          - string
          - 'null'
          title: Spam marker
          description: Modify spam subject using the specified text. Choose 'default' to use global settings.
          maxLength: 192
    MessageIdentifier:
      type: object
      properties:
        mailid:
          type: string
        rcpt:
          type: string
        secret_id:
          type: string
      required:
      - mailid
      - rcpt
  securitySchemes:
    oauth2:
      type: oauth2
      flows: {}
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"