openapi: 3.0.1
info:
  title: Documentation ExposeService
  description: >-
    The Expose namespace has Entities and Operations common to all namespaces or
    things that does not fit under any other namespace. 
  version: '1.1'
servers:
  - url: https://demo.storm.io/api/1.1
paths:
  /ExposeService.svc/rest/ListErrorMessages:
    get:
      tags:
        - ErrorMessages
      summary: List error messages
      description: >-
        Lists error messages available in the API. These gets raised as bad
        requests.
      operationId: ListErrorMessages
      parameters:
        - name: cultureCode
          in: query
          description: >-
            Specifies in which language to display culture specific information.
            If none is supplied, value is resolved from Application.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NameValue'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NameValue'
        '500':
          description: Internal Server Error
          content: {}
  /ExposeService.svc/rest/Ping:
    get:
      tags:
        - Ping
      summary: Ping
      description: Check to see if API is up and running.
      operationId: Ping
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
        '500':
          description: Internal Server Error
          content: {}
  /ExposeService.svc/rest/Process:
    post:
      tags:
        - Process
      summary: Process a batch of requests
      description: >-
        Processes a batch of requests. Requests are derived from all methods
        where the method name and 'Request' make up the request type. The same
        applies for the responses. Request properties are taken from the
        parameters of the method. Ex: GetApplication(cultureCode) will have a
        Request of type GetApplicationRequest with a property CultureCode. Add
        "__type":"[TheMethod]Request:Enferno.Services.Contracts.Expose" to
        specify Request type and then the requests properties.
      operationId: Process
      requestBody:
        description: Specifies the requests to process.
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Request'
          application/xml:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Request'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
            application/xml:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response'
        '500':
          description: Internal Server Error
          content: {}
      x-codegen-request-body-name: requestList
components:
  schemas:
    File:
      type: object
      properties:
        Id:
          type: integer
          description: The internal id of the File.
          format: int32
        Type:
          type: integer
          description: >-
            The type id of the File. Depending on context and Client. Can be
            used by Applications to differentiate files for different usages.
          format: int32
        Name:
          type: string
          description: 'The Name of the File. MaxLength: 50.'
        Description:
          type: string
          description: 'The Description of the File. MaxLength: max.'
        Key:
          type: string
          description: >-
            A unique id for the File at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
      format: File
    IdNameDescription:
      type: object
      properties:
        Id:
          type: integer
          description: The internal Id of the Entity.
          format: int32
        Name:
          type: string
          description: 'The Name of the Entity. MaxLength: 50.'
        Description:
          type: string
          description: 'The Description of the Entity. MaxLength: 500.'
        ImageKey:
          type: string
          description: >-
            A unique id for the image at our image server. Url for images are
            formed like http://[client specific CDN]/{ImageKey}. Preset, height
            and width can be sent as parameters.
          format: guid
          nullable: true
        Code:
          type: string
          description: 'The Code of the Entity. MaxLength: 50.'
      format: IdNameDescription
    IdValue:
      type: object
      properties:
        Id:
          type: integer
          description: >-
            The internal Id of the Entity. This Id might be different in
            different tiers such as Stage and Production. Use Code if hard
            coding is required.
          format: int32
        Value:
          type: string
          description: 'The Value of the Entity. MaxLength: max.'
        Code:
          type: string
          description: >-
            The Code of the Entity, if existing. Use this value when hard coding
            is required. MaxLength: 255.
      format: IdValue
    NameValue:
      type: object
      properties:
        Name:
          type: string
          description: 'The Name of the Entity. MaxLength: 50.'
        Value:
          type: string
          description: 'The Value of the Entity. MaxLength: max.'
      format: NameValue
    Request:
      required:
        - __type
      type: object
      properties:
        __type:
          type: string
      format: Request
      discriminator:
        propertyName: __type
    Response:
      required:
        - __type
      type: object
      properties:
        __type:
          type: string
      format: Response
      discriminator:
        propertyName: __type
x-original-swagger-version: '2.0'
