mod_http_admin_api/openapi.yaml
author Matthew Wild <mwild1@gmail.com>
Sun, 03 Mar 2024 18:06:47 +0000
changeset 5861 ff90dad75352
parent 5297 f60287bba62c
child 5891 2aa66e928aa0
permissions -rw-r--r--
mod_report_forward: Fixes for abuse contact address lookup in origin reporting
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4383
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     1
openapi: 3.0.1
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
info:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
  title: Prosody administration API
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
  description: Prosody administration API
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
  contact:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     6
    email: developers@prosody.im
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     7
  license:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     8
    name: MIT
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     9
    url: https://prosody.im/source/mit
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    10
  version: 1.0.0
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
servers:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12
- url: /admin_api
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    13
tags:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    14
- name: user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    15
  description: Manage user accounts
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    16
- name: invite
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    17
  description: Pending invitations
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    18
- name: group
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    19
  description: User groups
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    20
paths:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    21
  /users:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    22
    get:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    23
      tags:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    24
      - user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    25
      summary: List users
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    26
      description: Returns an array of users.
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    27
      operationId: listUsers
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    28
      responses:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    29
        200:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    30
          description: successful operation
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    31
          content:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    32
            application/json:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    33
              schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    34
                $ref: '#/components/schemas/UserList'
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    35
  /users/{username}:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    36
    get:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    37
      tags:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    38
      - user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    39
      summary: Get user by user name
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    40
      operationId: getUserByName
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    41
      parameters:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    42
      - name: username
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    43
        in: path
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    44
        description: The name that needs to be fetched
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    45
        required: true
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    46
        schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    47
          type: string
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    48
      responses:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    49
        200:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    50
          description: successful operation
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    51
          content:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    52
            application/json:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    53
              schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    54
                $ref: '#/components/schemas/User'
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    55
        400:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    56
          description: Invalid username supplied
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    57
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    58
        404:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    59
          description: User not found
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    60
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    61
    put:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    62
      tags:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    63
      - user
4521
d6a3201a65c0 mod_http_admin_api: support for updating user roles via the API
Jonas Schäfer <jonas@wielicki.name>
parents: 4394
diff changeset
    64
      summary: Updated user
4383
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    65
      description: Update a user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    66
      operationId: updateUser
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    67
      parameters:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    68
      - name: username
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    69
        in: path
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    70
        description: user that need to be updated
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    71
        required: true
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    72
        schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    73
          type: string
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    74
      requestBody:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    75
        description: Updated user object
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    76
        content:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    77
          '*/*':
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    78
            schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    79
              $ref: '#/components/schemas/User'
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    80
        required: true
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    81
      responses:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    82
        400:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    83
          description: Invalid user supplied
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    84
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    85
        404:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    86
          description: User not found
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    87
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    88
      x-codegen-request-body-name: body
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    89
    delete:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    90
      tags:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    91
      - user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    92
      summary: Delete user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    93
      description: Delete a user account
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    94
      operationId: deleteUser
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    95
      parameters:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    96
      - name: username
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    97
        in: path
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    98
        description: The name that needs to be deleted
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    99
        required: true
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   100
        schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   101
          type: string
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   102
      responses:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   103
        400:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   104
          description: Invalid username supplied
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   105
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   106
        404:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   107
          description: User not found
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   108
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   109
  /users/{username}/groups:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   110
    get:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   111
      tags:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   112
      - user
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   113
      summary: List groups that user is a member of
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   114
      operationId: getUserGroups
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   115
      parameters:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   116
      - name: username
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   117
        in: path
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   118
        description: The name of the user to fetch
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   119
        required: true
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   120
        schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   121
          type: string
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   122
      responses:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   123
        200:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   124
          description: Returns an array of group IDs that the user belongs to
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   125
          content:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   126
            application/json:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   127
              schema:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   128
                type: array
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   129
                description: "An array of group IDs that the user belongs to"
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   130
                items:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   131
                  type: string
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   132
                  description: "Group ID"
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   133
        400:
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   134
          description: Invalid username supplied
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   135
          content: {}
950abc6c67b8 mod_http_admin_api: Add OpenAPI spec