diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 38d7da892..c05963ca3 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -4,7 +4,7 @@ swagger: '2.0'
 info:
   title: Harbor API
   description: These APIs provide services for manipulating Harbor project.
-  version: "0.1.0"
+  version: "0.1.1"
 # the domain of the service
 host: localhost
 # array of all schemes that your API supports
@@ -167,7 +167,7 @@ paths:
         - name: access_log
           in: body
           schema:
-            $ref: '#/definitions/AccessLog'
+            $ref: '#/definitions/AccessLogFilter'
           description: Search results of access logs.
       tags:
         - Products
@@ -204,7 +204,7 @@ paths:
           schema:
             type: array
             items:
-              $ref: '#/definitions/Role'
+              $ref: '#/definitions/User'
         400:
           description: Illegal format of provided ID value.
         401:
@@ -517,7 +517,7 @@ paths:
           schema:
             type: array
             items:
-              $ref: '#/definitions/Repository'
+              type: string
         400:
           description: Invalid project ID.
         403:
@@ -605,12 +605,41 @@ definitions:
         description: Search results of the projects that matched the filter keywords.
         type: array
         items:
-          $ref: '#/definitions/Project'
+          $ref: '#/definitions/SearchProject'
       repositories:
         description: Search results of the repositories that matched the filter keywords.
         type: array
         items:
-          $ref: '#/definitions/Repository'
+          $ref: '#/definitions/SearchRepository'
+  SearchProject:
+    type: object
+    properties:
+      id:
+        type: integer
+        format: int64
+        description: The ID of project
+      name:
+        type: string
+        description: The name of the project
+      public:
+        type: integer
+        format: int
+        description: The flag to indicate the publicity of the project (1 is public, 0 is non-public)
+  SearchRepository:
+    type: object
+    properties:
+      repository_name: 
+        type: string
+        description: The name of the repository
+      project_name:
+        type: string
+        description: The name of the project that the repository belongs to
+      project_id:
+        type: integer
+        description: The ID of the project that the repository belongs to
+      project_public:
+        type: integer
+        description: The flag to indicate the publicity of the project that the repository belongs to (1 is public, 0 is not)
   Project:
     type: object
     properties:
@@ -622,30 +651,39 @@ definitions:
         type: integer
         format: int32
         description: The owner ID of the project always means the creator of the project.
-      project_name:
+      name:
         type: string
         description: The name of the project.
       creation_time:
         type: string
         description: The creation time of the project.
+      update_time:
+        type: string
+        description: The update time of the project.
       deleted:
         type: integer
         format: int32
-        description: A deletion mark of the project.
+        description: A deletion mark of the project (1 means it's deleted, 0 is not)
       user_id:
         type: integer
         format: int32
         description: A relation field to the user table.
       owner_name:
         type: string
-        description: The owner name of tthe project always means the creator of the project.
+        description: The owner name of the project. 
       public:
         type: boolean
         format: boolean
         description: The public status of the project.
       togglable:
         type: boolean
-        description: Correspond to the UI about showing the public status of the project.
+        description: Correspond to the UI about whether the project's publicity is  updatable (for UI)
+      current_user_role_id:
+        type: integer
+        description: The role ID of the current user who triggered the API (for UI)
+      repo_count:
+        type: integer
+        description: The number of the repositories under this project.
   Repository:
     type: object
     properties:
@@ -680,6 +718,7 @@ definitions:
       user_id:
         type: integer
         format: int32
+        description: The ID of the user.
       username:
         type: string
       email:
@@ -702,7 +741,7 @@ definitions:
       new_password:
         type: string
         description: New password for marking as to be updated.	
-  AccessLog:
+  AccessLogFilter:
     type: object
     properties:
       username:
@@ -711,14 +750,32 @@ definitions:
       keywords:
         type: string
         description: Operation name specified when project created.
-      beginTimestamp:
+      begin_timestamp:
         type: integer
-        format: int32
+        format: int64
         description: Begin timestamp for querying access logs.
-      endTimestamp:
+      end_timestamp:
         type: integer
-        format: int32
+        format: int64
         description: End timestamp for querying accessl logs.
+  AccessLog:
+    type: object
+    properties:
+      log_id:
+        type: integer
+        description: The ID of the log entry.
+      repo_name:
+        type: string
+        description: Name of the repository in this log entry.
+      repo_tag:
+        type: string
+        description: Tag of the repository in this log entry.
+      operation:
+        type: string
+        description: The operation against the repository in this log entry.
+      op_time:
+        type: time
+        description: The time when this operation is triggered.
   Role:
     type: object
     properties:
@@ -741,6 +798,6 @@ definitions:
           type: integer  
           format: int32
         description: Role ID for updating project role member.
-      user_name:
+      username:
         type: string
         description: Username relevant to a project role member.