Skip to content

Swagger

Full Swagger YAML version of all routes. The markdown version is at REST Documentation

yaml
swagger: "2.0"
info:
  title: aeppic HTTP Api
  description: List of all aeppic api endpoints. The api is versioned using the
    url path and is generated during the build process by fastify
  version: 3.203.6
paths:
  /:
    get:
      description: The root of the api
      tags:
        - Status
      responses:
        "200":
          description: Default Response
          schema:
            type: object
            properties:
              version:
                type: string
                description: The current version of the api.
              loaded:
                type: string
                description: The UTC date and time when the api was loaded.
                format: date-time
  /_ping:
    get:
      description: Check the server status with a ping request.
      tags:
        - Status
      responses:
        "200":
          description: Default Response
          schema:
            type: object
            properties:
              pong:
                type: string
                description: The current date and time in ISO 8601 format.
                format: date-time
  /auth/access:
    post:
      summary: JWT Issuance for Authenticated User
      description: Issue a JWT based on provided scopes for an already authenticated user
      tags:
        - authentication
      parameters:
        - name: body
          in: body
          schema:
            $schema: http://json-schema.org/draft-07/schema#
            type: object
            description: Request body containing the required scopes for the JWT
            properties:
              scopes:
                type: array
                items:
                  type: string
                  enum:
                    - content.read
                    - content.write
                    - content.*
                description: Scopes for the JWT, possible values are content.download,
                  content.upload, content.*
            required:
              - scopes
      responses:
        "200":
          description: Default Response
          schema:
            type: object
            properties:
              token:
                description: JWT Token valid for a limited time. Usually less than 1 hour. Use
                  the Authorization header to send the token.
                type: string
        "400":
          description: Invalid request body
          schema:
            type: string
            description: Invalid request body
            enum:
              - Bad Request
        "401":
          description: User not authenticated or invalid scopes
          schema:
            type: string
            description: User not authenticated or invalid scopes
            enum:
              - Unauthorized
        "500":
          description: JWT issuance failed
          schema:
            type: string
            description: JWT issuance failed
            enum:
              - Internal Server Error
  "/packages/{packageIdentifier}/_list":
    get:
      summary: Returns a plain text of newline seperated file paths inside the package.
      description: Lists the files inside a package
      tags:
        - packages
      produces:
        - text/plain
      parameters:
        - type: string
          examples:
            - 945a852b-1573-4783-963a-3f638081c48e@initial
          description: The full **package identifier** based on the `id` of the package
            document and it's `version` seperated by `@`. Example
            `945a852b-1573-4783-963a-3f638081c48e@initial`
          required: true
          in: path
          name: packageIdentifier
      responses:
        "200":
          description: A list of files inside the package, seperated by newlines (\n)
          schema:
            type: string
            description: A list of files inside the package, seperated by newlines (\n)
            examples:
              - |
                aeppic.json
                aeppic-currency-input.umd.js
        "304":
          description: The package has not changed since the last request. The client can
            use the cached version of the package.
          schema:
            type: string
            description: The package has not changed since the last request. The client can
              use the cached version of the package.
            enum:
              - Not Modified
  /statics/_list:
    get:
      summary: Returns a json object with a list of all static files and their hashes.
      description: All static files served by the server for the web app can be listed
        with this endpoint. It can be used by a service worker to precache all
        static files.
      tags:
        - static
      produces:
        - application/json
      responses:
        "200":
          description: A json object with a list of all static files and their hashes.
          schema:
            type: string
            description: A json object with a list of all static files and their hashes.
            examples:
              - path: /
                hash: dac9630aec642a428cd73f4be0a03569
        "304":
          description: The list has not changed since the last request. The client can use
            the cached version of the list.
          schema:
            type: string
            description: The list has not changed since the last request. The client can use
              the cached version of the list.
            enum:
              - Not Modified
  /features/:
    get:
      summary: Returns a json object for all configured features
      description: All available and configured features
      tags:
        - features
      produces:
        - application/json
      responses:
        "200":
          description: A list of features namespaces and their configuration
          schema:
            type: object
            description: A list of features namespaces and their configuration
            examples:
              - aeppic:
                  my-feature:
                    enabled: true
                    deprecated: true
                    deprecationNotice: Will go away in 2333.
            additionalProperties:
              type: object
              description: A namespace of features
              additionalProperties:
                type: object
                description: A feature
                properties:
                  enabled:
                    type: boolean
                    description: Whether the feature is enabled or not.
                  deprecated:
                    type: boolean
                    description: Whether the feature is deprecated or not.
                  deprecationNotice:
                    type: string
                    description: A notice about the deprecation of the feature.
                  options:
                    examples:
                      - enabled: true
                        deprecated: true
                        deprecationNotice: Will go away in 2333.
                    type: object
                    description: The custom options for the feature
              examples:
                - my-feature:
                    enabled: true
                    deprecated: true
                    deprecationNotice: Will go away in 2333.
        "304":
          description: The list has not changed since the last request. The client can use
            the cached version of the list.
          schema:
            type: string
            description: The list has not changed since the last request. The client can use
              the cached version of the list.
            enum:
              - Not Modified
  "/features/namespaces/{namespace}":
    get:
      summary: Returns a json object for all configured features
      description: All available and configured features in a namespace
      tags:
        - features
      produces:
        - application/json
      parameters:
        - type: string
          examples:
            - aeppic
          description: The full **namespace** of the features to read
          required: true
          in: path
          name: namespace
      responses:
        "200":
          description: A list of features namespaces and their configuration
          schema:
            type: object
            description: A list of features namespaces and their configuration
            examples:
              - aeppic:
                  my-feature:
                    enabled: true
                    deprecated: true
                    deprecationNotice: Will go away in 2333.
            additionalProperties:
              type: object
              description: A namespace of features
              additionalProperties:
                type: object
                description: A feature
                properties:
                  enabled:
                    type: boolean
                    description: Whether the feature is enabled or not.
                  deprecated:
                    type: boolean
                    description: Whether the feature is deprecated or not.
                  deprecationNotice:
                    type: string
                    description: A notice about the deprecation of the feature.
                  options:
                    examples:
                      - enabled: true
                        deprecated: true
                        deprecationNotice: Will go away in 2333.
                    type: object
                    description: The custom options for the feature
              examples:
                - my-feature:
                    enabled: true
                    deprecated: true
                    deprecationNotice: Will go away in 2333.
        "304":
          description: The list has not changed since the last request. The client can use
            the cached version of the list.
          schema:
            type: string
            description: The list has not changed since the last request. The client can use
              the cached version of the list.
            enum:
              - Not Modified
schemes:
  - https
  - http
basePath: /api/v4
consumes:
  - application/json
produces:
  - application/json
tags: []