# Rasa Enterprise HTTP API Documentation

## Overview
This is the documentation for the Rasa Enterprise HTTP APIs.

## API Paths

### /health
#### GET
- **Tags**: Status
- **Summary**: Fetch status of Rasa services
- **Responses**:
  - **200**: Status of services  
    - *Content*: application/json  
      - schema:  
        - type: object  
          - properties:
            - production:
                - type: object  
                  - properties:
                    - version: string  
                    - minimum_compatible_version: string  
                    - status: number
            - worker:
                - type: object  
                  - properties:
                    - version: string  
                    - minimum_compatible_version: string  
                    - status: number

### /version
#### GET
- **Tags**: Status
- **Summary**: Fetch versions of services.
- **Responses**:
  - **200**: Versions of services
    - *Content*: application/json
      - schema:  
        - type: object  
          - properties:  
            - rasa:
                - type: object  
                  - properties:
                    - production: string  
                    - worker: string  
                    - rasa-x: string  
                    - enterprise: boolean  
                    - local_mode: boolean  
                    - development_mode: boolean
                    - updates:
                        - type: object  
                          - properties:
                            - rasa-x:
                                - type: object  
                                  - properties:
                                    - version: string
                                    - changelog_url: string
                            - keys:
                                - type: array
                                  - items:
                                      - type: object  
                                        - required: [key, alg]
                                        - properties:
                                          - key: string
                                          - alg: string

### /license
#### POST
- **Tags**: Licensing
- **Summary**: Activate Rasa Enterprise using a license
- **Request Body**:
  - required: true
  - *Content*: application/json
    - schema:
      - type: object
        - required: [license]
        - properties:
          - license:
              - type: string  
                - description: Rasa Enterprise license string
- **Responses**:
  - **200**: Rasa Enterprise successfully activated  
    - *Content*: application/json  
      - schema:  
        - type: object  
          - properties:  
            - jti: string
            - iat: integer
            - nbf: integer
            - exp: integer
            - version: integer
            - email: string

### /auth
#### POST
- **Tags**: Authentication
- **Summary**: Perform authentication using a username and password.
- **Request Body**:
  - required: true
  - *Content*: application/json
    - schema:  
      - type: object  
        - required: [username, password]
        - properties:
          - username:
              - type: string
          - password:
              - type: string
- **Responses**:
  - **200**: Success status
    - *Content*: application/json  
      - schema:  
        - type: object  
          - properties:
            - access_token: string

### /projects/{project_id}/models
#### POST
- **Tags**: Models
- **Summary**: Upload a zipped Rasa model
- **Parameters**:
  - in: path
    - name: project_id
      - example: default
      - description: Project ID
      - schema:
          - type: string
            - required: true
- **Request Body**:
  - *Content*: multipart/form-data
    - schema:
      - type: object
- **Responses**:
  - **201**: The created model.
    - *Content*: application/json
      - schema:
        - type: object
          - properties:
            - project: string
            - model: string
            - path: string
            - hash: string
            - tags:
                - type: array
                  - items:
                    - type: string
            - trained_at: number
            - version: string
            - type: string

### /data-tags
#### GET
- **Tags**: DataTags
- **Summary**: Return all existing data tags
- **Responses**:
  - **200**: All data tags were successfully retrieved (including empty result)
    - *Content*: application/json
      - schema:
        - type: array
          - items:
              - type: object
                - description: Describes data tag
                - required: [id, value, color]
                - properties:
                  - id: integer
                  - value: string
                  - color: string

### /insights/nlu
#### GET
- **Tags**: Insights
- **Summary**: Gets NLU insight reports
- **Parameters**:
  - in: query
    - name: limit
      - schema:
          - type: number
  - in: query
    - name: offset
      - schema:
          - type: number
  - in: query
    - name: status
      - description: Filter by the report status
      - schema:
          - type: string
          - nullable: true
          - enum: [in_progress, success, failure]
- **Responses**:
  - **200**: List of NLU insight reports
    - *Content*: application/json
      - schema:
        - type: array
          - items:
              - type: object
                - description: Rasa NLU insight
                - properties:
                  - id: number
                  - started_at: number
                  - finished_at: number
                  - status: string

## Components
### Security Schemes
- **bearerAuth**:  
  - type: http
  - scheme: bearer
  - description: JWT token
- **apiToken**:  
  - type: apiKey
  - in: query
  - description: API token
- **rasaXToken**:
  - type: apiKey
  - in: query
  - description: Configurable secret token

## Tags
- **Models**: Your combined NLU and Core models
- **Conversations**: Conversations between your assistant and end users
- **Messages**: Individual user messages with NLU predictions
- **Status**: API status information
- **Authentication**: Authentication endpoints
- **Insights**: Intent insights endpoints
- **Git**: Information about connected Git repositories
- **Licensing**: Rasa Enterprise license management
