Unable to create Model: Invalid model specified: Validation Result: warning

0

Hey there,

I get errors importing models that work perfactly fine in swagger editor (editor.swagger.io) but won't be imported to API Gateway:

Your API was not imported due to errors in the Swagger file.
Unable to create model for 'ResponseInfo': Invalid model specified: Validation Result: warnings : [], errors : [Invalid model schema specified, Invalid model schema specified]
Unable to create model for 'Company': Invalid model specified: Validation Result: warnings : [], errors : [Invalid model schema specified]
Unable to create model for 'AccessToken': Invalid model specified: Validation Result: warnings : [], errors : [Invalid model schema specified, Invalid model schema specified, Invalid model schema specified, Invalid model schema specified]
Unable to create model for 'Booking': Invalid model specified: Validation Result: warnings : [], errors : [Invalid model schema specified]
Additionally, these warnings were found:
Unsupported security definition type 'oauth2' for 'auth'. Ignoring.
Unable to insert model 'Response' due to an unsatisfied schema reference.
Unable to insert model 'User' due to an unsatisfied schema reference.
Unable to insert model 'CardStack' due to an unsatisfied schema reference.
Unable to insert model 'Card' due to an unsatisfied schema reference.
Reference to model 'AccessToken' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'CardStack' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'CardStack' in 200 response to method 'GET /cardStacks' not found. Ignoring.
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'CardStack' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'CardStack' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Card' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Card' in 200 response to method 'GET /cards' not found. Ignoring.
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Card' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Card' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Request schema for 'POST /users' has a reference to unknown model 'Company'. Ignoring.
Reference to model 'User' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'User' in 200 response to method 'GET /users' not found. Ignoring.
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method DELETE
Request schema for 'PUT /users/{userID}' has a reference to unknown model 'Company'. Ignoring.
Reference to model 'User' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method PUT
Reference to model 'User' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method GET
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST
Reference to model 'Response' not found. Ignoring.
Invalid format for model application/json for method POST

Here is my swagger definition:

swagger: '2.0'
info:
  title: MilesMarket API
  description: This is the definition for the API Gateway of the Miles&More MilesMarket platform.
  version: 1.0.0
  contact:
    name: MilesMarket API Team
    url: 'http://www.milesandmore.com'
    email: apiteam@milesandmore.com
  license:
    name: All rights reserved.
    url: 'http://www.milesandmore.com'
host: milesmarket.milesandmore.com
basePath: /api/v1
schemes:
  - http
  - https
tags:
  - name: user
    description: All user related operations
  - name: card
    description: All card related operations
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  auth:
    type: oauth2
    tokenUrl: 'https://milesmarket.milesandmore.com/api/v1/user/login'
    flow: password
    scopes:
      user: All user related information
      admin: scope of administrative users
  api_key:
    type: apiKey
    in: header
    description: |
      The API key identifies a specific client application. It serves no security purpose. This key may only be used by the official Luerssen iOS and Android apps.
    name: x-api-key
paths:
  /auth/login:
    post:
      tags:
        - auth
      summary: Login for user that return a bearer token for further authentication
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            required:
              - email
              - password
            properties:
              email:
                description: |
                  The user name for login
                type: string
              password:
                description: |
                  The password for login in clear text
                type: string
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/AccessToken'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            User credentials provided are not valid
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  /users:
    get:
      tags:
        - user
      summary: |
        List all users and their profile data regarding the given pagination info. Maximum number of returned items is by default 250.
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              page:
                type: integer
                description: |
                  selected page to be requested from user base
                format: int32
                default: 0
              pageSize:
                type: integer
                description: |
                  amount of items per page
                format: int32
                default: 250
              orderBy:
                type: string
                description: |
                  the user entity property the collection should be ordered by
                default: id
              order:
                type: string
                description: |
                  the user entity property the collection should be ordered by
                default: DESC
                enum:
                  - ASC
                  - DESC
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            type: object
            properties:
              page:
                type: integer
                description: |
                  Current page to be delivered.
                format: int32
                example: 0
              pageSize:
                type: integer
                description: |
                  The amount of items delivered per page
                format: int32
                example: 250
              maxItemCount:
                type: integer
                description: |
                  The amount of all items that could be delivered by the current request criteria
                format: int32
                example: 1233
              items:
                type: array
                items:
                  $ref: '#/definitions/User'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    post:
      tags:
        - user
      summary: |
        Register a new user for the system. The user will be created by the user service and DOI Link will be send to the users email address. The new user needs to be activated via DOI.
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            required:
              - email
              - password
            properties:
              email:
                description: |
                  The users email that is also used to login purpos
                type: string
              password:
                description: |
                  The password for login in clear text
                type: string
              firstname:
                description: |
                  The users firstname
                type: string
              lastname:
                description: |
                  The users lastname
                type: string
              phoneCountryCode:
                description: |
                  The users phone country code
                type: string
              phone:
                description: |
                  The users phone number
                type: string
              company:
                $ref: '#/definitions/Company'
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/User'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  '/users/{userID}':
    get:
      tags:
        - user
      summary: |
        Get a users profile data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
            - user
      parameters:
        - name: userID
          description: |
            The unique identifier of the user to accept the doi for
          in: path
          type: string
          required: true
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/User'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
        '404':
          description: |
            User unknow. The requested user ressource is not valid.
          schema:
            $ref: '#/definitions/Response'
    put:
      tags:
        - user
      summary: |
        Edit users profile data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
            - user
      parameters:
        - name: userID
          description: |
            The unique identifier of the user
          in: path
          type: string
          required: true
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              firstname:
                description: |
                  The users firstname
                type: string
              lastname:
                description: |
                  The users lastname
                type: string
              phoneCountryCode:
                description: |
                  The users phone country code
                type: string
              phone:
                description: |
                  The users phone number
                type: string
              status:
                type: string
                enum:
                  - active
                  - inactive
              company:
                $ref: '#/definitions/Company'
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/User'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
        '404':
          description: |
            User unknow. The requested user ressource is not valid.
          schema:
            $ref: '#/definitions/Response'
    delete:
      tags:
        - user
      summary: |
        Delete a users profile data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
            - user
      parameters:
        - name: userID
          description: |
            The unique identifier of the user to accept the doi for
          in: path
          type: string
          required: true
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
        '404':
          description: |
            User unknow. The requested user ressource is not valid.
          schema:
            $ref: '#/definitions/Response'
  '/users/{userID}/acceptDOI':
    post:
      tags:
        - user
      summary: |
        Accept the DOI for a given user with userID and doiToken send to the user via E-Mail
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: userID
          description: |
            The unique identifier of the user to accept the doi for
          in: path
          type: string
          required: true
        - name: doiToken
          description: |
            The doi token that has been send via E-Mail to the user
          in: query
          type: string
          required: true
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
        '404':
          description: |
            User unknow. The requested user ressource is not valid.
          schema:
            $ref: '#/definitions/Response'
  '/users/{userID}/sendPWRecoveryLink':
    post:
      tags:
        - user
      summary: |
        Generate a PW recovery token and send this token to users email address.
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: userID
          description: |
            The unique identifier of the user
          in: path
          type: string
          required: true
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
        '404':
          description: |
            User unknow. The requested user ressource is not valid.
          schema:
            $ref: '#/definitions/Response'
  '/users/{userID}/resetPW':
    post:
      tags:
        - user
      summary: |
        Store newly created password to the users profile.
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: userID
          description: |
            The unique identifier of the user
          in: path
          type: string
          required: true
        - name: body
          in: body
          required: true
          schema:
            type: object
            required:
              - recoveryToken
              - password
            properties:
              recoveryToken:
                type: string
                description: |
                  The recovery token the user received via email 
              password:
                type: string
                description: |
                  The password given by the user to be stored to the users profile
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
        '404':
          description: |
            User unknow. The requested user ressource is not valid.
          schema:
            $ref: '#/definitions/Response'
  /cards:
    get:
      tags:
        - card
      summary: |
        List all cards regarding the given pagination info. Maximum number of returned items is by default 250.
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              page:
                type: integer
                description: |
                  selected page to be requested from user base
                format: int32
                default: 0
              pageSize:
                type: integer
                description: |
                  amount of items per page
                format: int32
                default: 250
              orderBy:
                type: string
                description: |
                  the user entity property the collection should be ordered by
                default: id
              order:
                type: string
                description: |
                  the user entity property the collection should be ordered by
                default: DESC
                enum:
                  - ASC
                  - DESC
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            type: object
            properties:
              page:
                type: integer
                description: |
                  Current page to be delivered.
                format: int32
                example: 0
              pageSize:
                type: integer
                description: |
                  The amount of items delivered per page
                format: int32
                example: 250
              maxItemCount:
                type: integer
                description: |
                  The amount of all items that could be delivered by the current request criteria
                format: int32
                example: 1233
              items:
                type: array
                items:
                  $ref: '#/definitions/Card'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    post:
      tags:
        - card
      summary: |
        Create a new card 
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
            - user
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              type:
                type: integer
                description: |
                  Type of card (e.g.: customer_card, info_card, feedback_card) as an integer representing the position of the type element inside the type ENUM
                format: int32
              headline:
                type: string
                description: |
                  The cards headline on the front side of the card
                example: Testaktion
              subHeadline:
                type: string
                description: |
                  The cards sub headline on the front side of the card
                example: Mehr infos wir Testaktion
              ctaText:
                type: string
                description: |
                  Call to action text shown on the front side of the card
                example: Mehr...
              ctaLink:
                type: string
                description: |
                  Call to action link 
                example: 'http://...'
              longDescription:
                type: string
                description: |
                  Long description text shown on the front side of the card
                example: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
              titleAssetURI:
                type: string
                description: |
                  URI of the asset shown on the front side of the card
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
              additionalHeadline:
                type: string
                description: |
                  An additional headline that can be shown on the back side of the card
                example: Rückseitentext
              additionalLongDescription:
                type: string
                description: |
                  An additional description text that can be shown on the back side of the card
                example: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
              additionalAssetURI:
                type: string
                description: |
                  URI of t he asset shown on the back side of the card
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
              price:
                type: string
                description: |
                  Price information that can be shown on the back side of the card
                example: 13€
              website:
                type: string
                description: |
                  Additional website that can be shown on the back side of the card
                example: 'http://www.mustermannag.de/testaktion'
              legal:
                type: string
                description: |
                  Legal information that can be shown on the back side of the card
                example: Disclaimer...
              street:
                type: string
                description: |
                  Adress information (street) to be shown on the back side of the card
                example: Teststraße
              streetNo:
                type: string
                description: |
                  Adress information (streetNo) to be shown on the back side of the card
                example: 1
              zip:
                type: string
                description: |
                  Adress information (zip) to be shown on the back side of the card
                example: 12345
              city:
                type: string
                description: |
                  Adress information (city) to be shown on the back side of the card
                example: Musterhausen
              countryCode:
                type: string
                description: |
                  Adress information (countryCode) to be shown on the back side of the card
                example: DE
              additionalAdressInfo:
                type: string
                description: |
                  Adress information (additional adress info) to be shown on the back side of the card
                example: 1. OG
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Card'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  '/cards/{cardID}':
    get:
      tags:
        - card
      summary: |
        Get card data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: cardID
          description: |
            The unique identifier of the card
          in: path
          type: string
          required: true
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Card'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    put:
      tags:
        - card
      summary: |
        Edit card data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
            - user
      parameters:
        - name: cardID
          description: |
            The unique identifier of the card
          in: path
          type: string
          required: true
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              type:
                type: integer
                description: |
                  Type of card (e.g.: customer_card, info_card, feedback_card) as an integer representing the position of the type element inside the type ENUM
                format: int32
              headline:
                type: string
                description: |
                  The cards headline on the front side of the card
                example: Testaktion
              subHeadline:
                type: string
                description: |
                  The cards sub headline on the front side of the card
                example: Mehr infos wir Testaktion
              ctaText:
                type: string
                description: |
                  Call to action text shown on the front side of the card
                example: Mehr...
              ctaLink:
                type: string
                description: |
                  Call to action link 
                example: 'http://...'
              longDescription:
                type: string
                description: |
                  Long description text shown on the front side of the card
                example: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
              titleAssetURI:
                type: string
                description: |
                  URI of the asset shown on the front side of the card
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
              additionalHeadline:
                type: string
                description: |
                  An additional headline that can be shown on the back side of the card
                example: Rückseitentext
              additionalLongDescription:
                type: string
                description: |
                  An additional description text that can be shown on the back side of the card
                example: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
              additionalAssetURI:
                type: string
                description: |
                  URI of t he asset shown on the back side of the card
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
              price:
                type: string
                description: |
                  Price information that can be shown on the back side of the card
                example: 13€
              website:
                type: string
                description: |
                  Additional website that can be shown on the back side of the card
                example: 'http://www.mustermannag.de/testaktion'
              legal:
                type: string
                description: |
                  Legal information that can be shown on the back side of the card
                example: Disclaimer...
              street:
                type: string
                description: |
                  Adress information (street) to be shown on the back side of the card
                example: Teststraße
              streetNo:
                type: string
                description: |
                  Adress information (streetNo) to be shown on the back side of the card
                example: 1
              zip:
                type: string
                description: |
                  Adress information (zip) to be shown on the back side of the card
                example: 12345
              city:
                type: string
                description: |
                  Adress information (city) to be shown on the back side of the card
                example: Musterhausen
              countryCode:
                type: string
                description: |
                  Adress information (countryCode) to be shown on the back side of the card
                example: DE
              additionalAdressInfo:
                type: string
                description: |
                  Adress information (additional adress info) to be shown on the back side of the card
                example: 1. OG
              status:
                type: integer
                format: int32
                description: |
                  Status of card (e.g.: active, inactive, published...) as an integer representing the position of the status element inside the status ENUM
                example: 0
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Card'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    delete:
      tags:
        - card
      summary: |
        Delete a card
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
            - user
      parameters:
        - name: cardID
          description: |
            The unique identifier of the card
          in: path
          type: string
          required: true
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  /cardStacks:
    get:
      tags:
        - card
      summary: |
        List all cardStacks and regarding the given pagination info. Maximum number of returned items is by default 250.
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              page:
                type: integer
                description: |
                  selected page to be requested from user base
                format: int32
                default: 0
              pageSize:
                type: integer
                description: |
                  amount of items per page
                format: int32
                default: 250
              orderBy:
                type: string
                description: |
                  the user entity property the collection should be ordered by
                default: id
              order:
                type: string
                description: |
                  the user entity property the collection should be ordered by
                default: DESC
                enum:
                  - ASC
                  - DESC
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            type: object
            properties:
              page:
                type: integer
                description: |
                  Current page to be delivered.
                format: int32
                example: 0
              pageSize:
                type: integer
                description: |
                  The amount of items delivered per page
                format: int32
                example: 250
              maxItemCount:
                type: integer
                description: |
                  The amount of all items that could be delivered by the current request criteria
                format: int32
                example: 1233
              items:
                type: array
                items:
                  $ref: '#/definitions/CardStack'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    post:
      tags:
        - card
      summary: |
        Create a new cardStack 
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              headline:
                type: string
                description: |
                  The cardStacks headline 
                example: Wien
              subHeadline:
                type: string
                description: |
                  The cardStacks sub headline
                example: Toller Sommer in Wien
              titleAssetURI:
                type: string
                description: |
                  URI of the asset shown as title of the stack
                example: D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
              introHeadline:
                type: string
                description: |
                  Headline shown on the intro card (first card) of the stack
                example: Somme in Wien
              introAssetURI:
                type: string
                description: |
                  URI of the asset shown on the intro card
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_intro.png
              introCtaText:
                type: string
                description: |
                  Call to action text shown on the intro card
                example: Mehr...
              startDate:
                type: string
                format: date
                description: |
                  Start date of the card stack
                example: '2017-08-10T00:00:00Z'
              endDate:
                type: string
                format: date
                description: |
                  End date of the card stack
                example: '2017-08-10T00:00:00Z'
              milageReward:
                type: integer
                format: int32
                description: |
                  Amount of miles that the user gets assigned if he steps through the whole stack of cards
                example: 50
              randomSort:
                type: boolean
                description: Should the cards be sorted randomly
                example: false
              segmentation:
                type: array
                description: |
                  Tagging of the advertisement to configure a unique segmentation
                items:
                  type: string
                  example: WIEN
              legal:
                type: string
                description: |
                  Legal information for the whole card stack
                example: Disclaimer...
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/CardStack'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  '/cardStacks/{cardStackID}':
    get:
      tags:
        - card
      summary: |
        Get cardStack data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
      parameters:
        - name: cardStackID
          description: |
            The unique identifier of the cardStack
          in: path
          type: string
          required: true
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/CardStack'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    put:
      tags:
        - card
      summary: |
        Edit cardStack data
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: cardStackID
          description: |
            The unique identifier of the card
          in: path
          type: string
          required: true
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              headline:
                type: string
                description: |
                  The cardStacks headline 
                example: Wien
              subHeadline:
                type: string
                description: |
                  The cardStacks sub headline
                example: Toller Sommer in Wien
              titleAssetURI:
                type: string
                description: |
                  URI of the asset shown as title of the stack
                example: D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
              introHeadline:
                type: string
                description: |
                  Headline shown on the intro card (first card) of the stack
                example: Somme in Wien
              introAssetURI:
                type: string
                description: |
                  URI of the asset shown on the intro card
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_intro.png
              introCtaText:
                type: string
                description: |
                  Call to action text shown on the intro card
                example: Mehr...
              startDate:
                type: string
                format: date
                description: |
                  Start date of the card stack
                example: '2017-08-10T00:00:00Z'
              endDate:
                type: string
                format: date
                description: |
                  End date of the card stack
                example: '2017-08-10T00:00:00Z'
              milageReward:
                type: integer
                format: int32
                description: |
                  Amount of miles that the user gets assigned if he steps through the whole stack of cards
                example: 50
              randomSort:
                type: boolean
                description: Should the cards be sorted randomly
                example: false
              segmentation:
                type: array
                description: |
                  Tagging of the advertisement to configure a unique segmentation
                items:
                  type: string
                  example: WIEN
              legal:
                type: string
                description: |
                  Legal information for the whole card stack
                example: Disclaimer...
              status:
                type: integer
                format: int32
                description: |
                  Status of cardStack (e.g.: active, inactive, published...) as an integer representing the position of the status element inside the status ENUM
                example: 0
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/CardStack'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
    delete:
      tags:
        - card
      summary: |
        Delete cardStack 
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: cardStackID
          description: |
            The unique identifier of the cardstack
          in: path
          type: string
          required: true
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  '/cardStacks/{cardStackID}/cards':
    post:
      tags:
        - card
      summary: |
        Add a card to a cardStack
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: cardStackID
          description: |
            The unique identifier of the card
          in: path
          type: string
          required: true
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              cardID:
                type: string
                description: |
                  The unique identifier of the card to add to the stack
                example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
              position:
                type: integer
                format: int32
                description: |
                  The position of the card inside the stack
                example: 2
              isBackup:
                type: boolean
                description: |
                  Wether or not the added card is a backup card
                example: false
      responses:
        '201':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
  '/cardStacks/{cardStackID}/cards/{cardID}':
    delete:
      tags:
        - card
      summary: |
        Remove a card from a cardStack 
      consumes:
        - application/json
      produces:
        - application/json
      security:
        - api_key: []
        - auth:
            - admin
      parameters:
        - name: cardStackID
          description: |
            The unique identifier of the cardstack
          in: path
          type: string
          required: true
        - name: cardID
          description: |
            The unique identifier of the card
          in: path
          type: string
          required: true
      responses:
        '200':
          description: |
            successful operation
          headers:
            Etag:
              description: Unique document identifier
              type: string
          schema:
            $ref: '#/definitions/Response'
        '400':
          description: |
            Bad Request. The request could not be fulfilled due to the incorrect syntax of the request.
          schema:
            $ref: '#/definitions/Response'
        '401':
          description: |
            Unauthorized. The request could not be fulfilled due to incorrect authentication.
          schema:
            $ref: '#/definitions/Response'
        '403':
          description: |
            Forbidden. The client is not authorized to access the requested ressource.
          schema:
            $ref: '#/definitions/Response'
definitions:
  Response:
    type: object
    required:
      - code
      - message
    properties:
      code:
        description: |
          status code uniquely identifying a specific problem.
        type: string
        example: 100
        readOnly: true
      message:
        description: |
          human readable description of the status, providing reasonable insight into why we error occured - if any.
        type: string
        example: success
        readOnly: true
      fields:
        description: |
          affected fields, if any
        type: array
        readOnly: true
        items:
          $ref: '#/definitions/ResponseInfo'
  ResponseInfo:
    type: object
    required:
      - name
      - description
    properties:
      name:
        description: |
          name of the field which produced the error
        type: string
        readOnly: true
      description:
        description: |
          human readable description about the nature of the error (e.g. expected value type vs. actual value)
        type: string
        readOnly: true
  AccessToken:
    type: object
    properties:
      accessToken:
        description: |
          Access Token (JWT)
        type: string
        example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
        readOnly: true
      expires:
        description: |
          UTC date and time when the token expires
        type: string
        format: date
        example: '1426420800'
        readOnly: true
      tokenType:
        description: |
          bearer
        type: string
        example: bearer
        readOnly: true
      scope:
        description: |
          Scope of the access token
        type: string
        example: admin
        readOnly: true
  User:
    type: object
    properties:
      id:
        type: string
        description: |
          A unique identifier for the company record
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
        readOnly: true
      email:
        description: |
          The users email that is also used to login purpos
        type: string
        example: test@mustermann.de
      firstname:
        description: |
          The users firstname
        type: string
        example: Test
      lastname:
        description: |
          The users lastname
        type: string
        example: Mustermann
      phoneCountryCode:
        description: |
          The users phone country code
        type: string
        example: '+49'
      phone:
        description: |
          The users phone number
        type: string
        example: 0123 4532345
      status:
        description: |
          Status of user (e.g.: active, inactive...) as an integer representing the position of the status element inside the status ENUM
        type: integer
        format: int32
        example: 0
      company:
        $ref: '#/definitions/Company'
  Company:
    type: object
    properties:
      id:
        type: string
        description: |
          A unique identifier for the company record
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
        readOnly: true
      name:
        type: string
        description: |
          The companys name
        example: Mustermann AG
      email:
        type: string
        description: |
          The companys email adress
        example: info@mustermannag.de
      website:
        type: string
        description: |
          The companys website
        example: www.mustermannag.de
      phoneCountryCode:
        type: string
        description: |
          The country dial code of the companys phone number
        example: '+49'
      phone:
        type: string
        description: |
          The companys phone number
        example: 0123 4532345
      street:
        type: string
        description: |
          Adress information (street) for the company
        example: Teststraße
      streetNo:
        type: string
        description: |
          Adress information (streetNo) for the company
        example: '1'
      zip:
        type: string
        description: |
          Adress information (zip) for the company
        example: 12345'
      city:
        type: string
        description: |
          Adress information (city) for the company
        example: Musterhausen
      countryCode:
        type: string
        description: |
          Adress information (country code) for the company
        example: DE
      additionalAdressInfo:
        type: string
        description: |
          Aditional adress information stored for the company
        example: 1. OG
      status:
        description: |
          Status of the company (e.g.: active, inactive...) as an integer representing the position of the status element inside the status ENUM
        type: integer
        format: int32
        example: 0
  Card:
    type: object
    properties:
      id:
        type: string
        description: |
          unique identifier of the cards
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
        readOnly: true
      type:
        type: integer
        description: |
          Type of card (e.g.: customer_card, info_card, feedback_card) as an integer representing the position of the type element inside the type ENUM
        format: int32
        example: 0
      headline:
        type: string
        description: |
          The cards headline on the front side of the card
        example: Testaktion
      subHeadline:
        type: string
        description: |
          The cards sub headline on the front side of the card
        example: Mehr infos wir Testaktion
      ctaText:
        type: string
        description: |
          Call to action text shown on the front side of the card
        example: Mehr...
      ctaLink:
        type: string
        description: |
          Call to action link 
        example: 'http://...'
      longDescription:
        type: string
        description: |
          Long description text shown on the front side of the card
        example: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
      titleAssetURI:
        type: string
        description: |
          URI of the asset shown on the front side of the card
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
      additionalHeadline:
        type: string
        description: |
          An additional headline that can be shown on the back side of the card
        example: Rückseitentext
      additionalLongDescription:
        type: string
        description: |
          An additional description text that can be shown on the back side of the card
        example: 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
      additionalAssetURI:
        type: string
        description: |
          URI of t he asset shown on the back side of the card
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
      price:
        type: string
        description: |
          Price information that can be shown on the back side of the card
        example: 13€
      website:
        type: string
        description: |
          Additional website that can be shown on the back side of the card
        example: 'http://www.mustermannag.de/testaktion'
      legal:
        type: string
        description: |
          Legal information that can be shown on the back side of the card
        example: Disclaimer...
      street:
        type: string
        description: |
          Adress information (street) to be shown on the back side of the card
        example: Teststraße
      streetNo:
        type: string
        description: |
          Adress information (streetNo) to be shown on the back side of the card
        example: 1
      zip:
        type: string
        description: |
          Adress information (zip) to be shown on the back side of the card
        example: 12345
      city:
        type: string
        description: |
          Adress information (city) to be shown on the back side of the card
        example: Musterhausen
      countryCode:
        type: string
        description: |
          Adress information (countryCode) to be shown on the back side of the card
        example: DE
      additionalAdressInfo:
        type: string
        description: |
          Adress information (additional adress info) to be shown on the back side of the card
        example: 1. OG
      status:
        type: integer
        format: int32
        description: |
          Status of card (e.g.: active, inactive, published...) as an integer representing the position of the status element inside the status ENUM
        example: 0
      booking:
        $ref: '#/definitions/Booking'
      statistics:
        $ref: '#/definitions/Statistics'
  Booking:
    type: object
    properties:
      id:
        type: string
        description: |
          unique identifier of a booking
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
        readOnly: true
      startDate:
        type: string
        format: date
        description: |
          The start date for the advertisment periode
        example: '2017-08-20T00:00:00Z'
      endDate:
        type: string
        format: date
        description: |
          The end date for the advertisment periode
        example: '2017-08-30T00:00:00Z'
      segmentation:
        type: array
        description: |
          Tagging of the advertisement to configure a unique segmentation
        items:
          type: string
          example: WIEN
      impressionsPerDay:
        type: integer
        format: int32
        description: |
          Amount of impressions per day, the user booked for his advertisement
      paymentID:
        type: string
        description: |
          Unique identifier of the corresponding payment if exists
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA2
  Statistics:
    type: object
    properties:
      id:
        type: string
        description: |
          unique identifier of the statistic object
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
      impressions:
        type: integer
        format: int32
        description: |
          Amount of impressions the advertisement gained
  CardStack:
    type: object
    properties:
      id:
        type: string
        description: |
          unique identifier of the cardStack object
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1
        readOnly: true
      headline:
        type: string
        description: |
          The cardStacks headline 
        example: Wien
      subHeadline:
        type: string
        description: |
          The cardStacks sub headline
        example: Toller Sommer in Wien
      titleAssetURI:
        type: string
        description: |
          URI of the asset shown as title of the stack
        example: D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_title.png
      introHeadline:
        type: string
        description: |
          Headline shown on the intro card (first card) of the stack
        example: Somme in Wien
      introAssetURI:
        type: string
        description: |
          URI of the asset shown on the intro card
        example: 2D56CEA4-8BA8-4B4E-81B7-6417E5D14AA1_intro.png
      introCtaText:
        type: string
        description: |
          Call to action text shown on the intro card
        example: Mehr...
      startDate:
        type: string
        format: date
        description: |
          Start date of the card stack
        example: '2017-08-10T00:00:00Z'
      endDate:
        type: string
        format: date
        description: |
          End date of the card stack
        example: '2017-08-20T00:00:00Z'
      milageReward:
        type: integer
        format: int32
        description: |
          Amount of miles that the user gets assigned if he steps through the whole stack of cards
        example: 50
      randomSort:
        type: boolean
        description: Should the cards be sorted randomly
        example: false
      segmentation:
        type: array
        description: |
          Tagging of the advertisement to configure a unique segmentation
        items:
          type: string
          example: WIEN
      legal:
        type: string
        description: |
          Legal information for the whole card stack
        example: Disclaimer...
      status:
        type: integer
        format: int32
        description: |
          Status of cardStack (e.g.: active, inactive, published...) as an integer representing the position of the status element inside the status ENUM
        example: 0
      cards:
        type: array
        items:
          $ref: '#/definitions/Card'
      backupCards:
        type: array
        items:
          $ref: '#/definitions/Card'

Any ideas?

1 Answer
1

Hello:

Unfortunately there are number of swagger features that may not be natively supported in API Gateway. My best recommendation would be to try to par down your API to only the models that are failing to identify the failing portion of your model.

Regards,
Bob

EXPERT
answered 6 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions