diff --git a/routers/api/v1/admin/org.go b/routers/api/v1/admin/org.go
index d247b51c72..406cbb9a31 100644
--- a/routers/api/v1/admin/org.go
+++ b/routers/api/v1/admin/org.go
@@ -28,6 +28,10 @@ func CreateOrg(ctx *context.APIContext, form api.CreateOrgOption) {
 	//   description: username of the user that will own the created organization
 	//   type: string
 	//   required: true
+	// - name: organization
+	//   in: body
+	//   required: true
+	//   schema: { "$ref": "#/definitions/CreateOrgOption" }
 	// responses:
 	//   "201":
 	//     "$ref": "#/responses/Organization"
diff --git a/routers/api/v1/admin/repo.go b/routers/api/v1/admin/repo.go
index 70765557fb..d883e2cbd0 100644
--- a/routers/api/v1/admin/repo.go
+++ b/routers/api/v1/admin/repo.go
@@ -27,6 +27,10 @@ func CreateRepo(ctx *context.APIContext, form api.CreateRepoOption) {
 	//   description: username of the user. This user will own the created repository
 	//   type: string
 	//   required: true
+	// - name: repository
+	//   in: body
+	//   required: true
+	//   schema: { "$ref": "#/definitions/CreateRepoOption" }
 	// responses:
 	//   "201":
 	//     "$ref": "#/responses/Repository"
diff --git a/routers/api/v1/admin/user.go b/routers/api/v1/admin/user.go
index 958c083fb6..cff8ae4850 100644
--- a/routers/api/v1/admin/user.go
+++ b/routers/api/v1/admin/user.go
@@ -228,6 +228,10 @@ func CreatePublicKey(ctx *context.APIContext, form api.CreateKeyOption) {
 	//   description: username of the user
 	//   type: string
 	//   required: true
+	// - name: key
+	//   in: body
+	//   schema:
+	//     "$ref": "#/definitions/CreateKeyOption"
 	// responses:
 	//   "201":
 	//     "$ref": "#/responses/PublicKey"
@@ -259,6 +263,7 @@ func DeleteUserPublicKey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the key to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/org/hook.go b/routers/api/v1/org/hook.go
index 83d2a5e5ba..84559a958e 100644
--- a/routers/api/v1/org/hook.go
+++ b/routers/api/v1/org/hook.go
@@ -59,6 +59,7 @@ func GetHook(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the hook to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -87,6 +88,11 @@ func CreateHook(ctx *context.APIContext, form api.CreateHookOption) {
 	//   description: name of the organization
 	//   type: string
 	//   required: true
+	// - name: body
+	//   in: body
+	//   required: true
+	//   schema:
+	//     "$ref": "#/definitions/CreateHookOption"
 	// responses:
 	//   "201":
 	//     "$ref": "#/responses/Hook"
@@ -117,7 +123,12 @@ func EditHook(ctx *context.APIContext, form api.EditHookOption) {
 	//   in: path
 	//   description: id of the hook to update
 	//   type: integer
+	//   format: int64
 	//   required: true
+	// - name: body
+	//   in: body
+	//   schema:
+	//     "$ref": "#/definitions/EditHookOption"
 	// responses:
 	//   "200":
 	//     "$ref": "#/responses/Hook"
@@ -144,6 +155,7 @@ func DeleteHook(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the hook to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/org/member.go b/routers/api/v1/org/member.go
index 65754b88ec..b66d86c660 100644
--- a/routers/api/v1/org/member.go
+++ b/routers/api/v1/org/member.go
@@ -117,12 +117,8 @@ func IsMember(ctx *context.APIContext) {
 	// responses:
 	//   "204":
 	//     description: user is a member
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	//   "404":
 	//     description: user is not a member
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	userToCheck := user.GetUserByParams(ctx)
 	if ctx.Written() {
 		return
@@ -172,12 +168,8 @@ func IsPublicMember(ctx *context.APIContext) {
 	// responses:
 	//   "204":
 	//     description: user is a public member
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	//   "404":
 	//     description: user is not a public member
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	userToCheck := user.GetUserByParams(ctx)
 	if ctx.Written() {
 		return
@@ -210,8 +202,6 @@ func PublicizeMember(ctx *context.APIContext) {
 	// responses:
 	//   "204":
 	//     description: membership publicized
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	userToPublicize := user.GetUserByParams(ctx)
 	if ctx.Written() {
 		return
@@ -286,8 +276,6 @@ func DeleteMember(ctx *context.APIContext) {
 	// responses:
 	//   "204":
 	//     description: member removed
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	member := user.GetUserByParams(ctx)
 	if ctx.Written() {
 		return
diff --git a/routers/api/v1/org/team.go b/routers/api/v1/org/team.go
index b8dd026bf3..2e319a1831 100644
--- a/routers/api/v1/org/team.go
+++ b/routers/api/v1/org/team.go
@@ -54,6 +54,7 @@ func GetTeam(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -144,12 +145,11 @@ func DeleteTeam(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
 	//     description: team deleted
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	if err := models.DeleteTeam(ctx.Org.Team); err != nil {
 		ctx.Error(500, "DeleteTeam", err)
 		return
@@ -169,6 +169,7 @@ func GetTeamMembers(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -205,6 +206,7 @@ func AddTeamMember(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: username
 	//   in: path
@@ -237,6 +239,7 @@ func RemoveTeamMember(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: username
 	//   in: path
@@ -270,6 +273,7 @@ func GetTeamRepos(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -316,6 +320,7 @@ func AddTeamRepository(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: org
 	//   in: path
@@ -362,6 +367,7 @@ func RemoveTeamRepository(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the team
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: org
 	//   in: path
diff --git a/routers/api/v1/repo/hook.go b/routers/api/v1/repo/hook.go
index 1f121dfc38..369603694f 100644
--- a/routers/api/v1/repo/hook.go
+++ b/routers/api/v1/repo/hook.go
@@ -69,6 +69,7 @@ func GetHook(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the hook to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -104,6 +105,7 @@ func TestHook(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the hook to test
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
@@ -193,6 +195,7 @@ func EditHook(ctx *context.APIContext, form api.EditHookOption) {
 	//   in: path
 	//   description: index of the hook
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -227,6 +230,7 @@ func DeleteHook(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the hook to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go
index 4b634c9ca6..cd78135a62 100644
--- a/routers/api/v1/repo/issue.go
+++ b/routers/api/v1/repo/issue.go
@@ -123,6 +123,7 @@ func GetIssue(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the issue to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -254,6 +255,7 @@ func EditIssue(ctx *context.APIContext, form api.EditIssueOption) {
 	//   in: path
 	//   description: index of the issue to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -377,6 +379,7 @@ func UpdateIssueDeadline(ctx *context.APIContext, form api.EditDeadlineOption) {
 	//   in: path
 	//   description: index of the issue to create or update a deadline on
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -387,12 +390,8 @@ func UpdateIssueDeadline(ctx *context.APIContext, form api.EditDeadlineOption) {
 	//     "$ref": "#/responses/IssueDeadline"
 	//   "403":
 	//     description: Not repo writer
-	//     schema:
-	//       "$ref": "#/responses/forbidden"
 	//   "404":
 	//     description: Issue not found
-	//     schema:
-	//       "$ref": "#/responses/empty"
 
 	issue, err := models.GetIssueByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
 	if err != nil {
diff --git a/routers/api/v1/repo/issue_comment.go b/routers/api/v1/repo/issue_comment.go
index f958922914..3af0290585 100644
--- a/routers/api/v1/repo/issue_comment.go
+++ b/routers/api/v1/repo/issue_comment.go
@@ -36,6 +36,7 @@ func ListIssueComments(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: since
 	//   in: query
@@ -144,6 +145,7 @@ func CreateIssueComment(ctx *context.APIContext, form api.CreateIssueCommentOpti
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -193,6 +195,7 @@ func EditIssueComment(ctx *context.APIContext, form api.EditIssueCommentOption)
 	//   in: path
 	//   description: id of the comment to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -234,6 +237,7 @@ func EditIssueCommentDeprecated(ctx *context.APIContext, form api.EditIssueComme
 	//   in: path
 	//   description: id of the comment to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -293,6 +297,7 @@ func DeleteIssueComment(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of comment to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
@@ -326,6 +331,7 @@ func DeleteIssueCommentDeprecated(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of comment to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/issue_label.go b/routers/api/v1/repo/issue_label.go
index 3657f02c65..35defa25b5 100644
--- a/routers/api/v1/repo/issue_label.go
+++ b/routers/api/v1/repo/issue_label.go
@@ -33,6 +33,7 @@ func ListIssueLabels(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -80,6 +81,7 @@ func AddIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -149,11 +151,13 @@ func DeleteIssueLabel(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: id
 	//   in: path
 	//   description: id of the label to remove
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
@@ -215,6 +219,7 @@ func ReplaceIssueLabels(ctx *context.APIContext, form api.IssueLabelsOption) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -284,6 +289,7 @@ func ClearIssueLabels(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/issue_tracked_time.go b/routers/api/v1/repo/issue_tracked_time.go
index 9be9fee91a..6c29b11b4b 100644
--- a/routers/api/v1/repo/issue_tracked_time.go
+++ b/routers/api/v1/repo/issue_tracked_time.go
@@ -41,6 +41,7 @@ func ListTrackedTimes(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the issue
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -92,6 +93,7 @@ func AddTime(ctx *context.APIContext, form api.AddTimeOption) {
 	//   in: path
 	//   description: index of the issue to add tracked time to
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
diff --git a/routers/api/v1/repo/key.go b/routers/api/v1/repo/key.go
index 1e3666ed42..89a550cfd3 100644
--- a/routers/api/v1/repo/key.go
+++ b/routers/api/v1/repo/key.go
@@ -81,6 +81,7 @@ func GetDeployKey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the key to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -191,6 +192,7 @@ func DeleteDeploykey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the key to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/label.go b/routers/api/v1/repo/label.go
index 77392787ef..359ccf0e41 100644
--- a/routers/api/v1/repo/label.go
+++ b/routers/api/v1/repo/label.go
@@ -69,6 +69,7 @@ func GetLabel(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the label to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -163,6 +164,7 @@ func EditLabel(ctx *context.APIContext, form api.EditLabelOption) {
 	//   in: path
 	//   description: id of the label to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -219,6 +221,7 @@ func DeleteLabel(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the label to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/milestone.go b/routers/api/v1/repo/milestone.go
index a138cb7a69..c621536ad7 100644
--- a/routers/api/v1/repo/milestone.go
+++ b/routers/api/v1/repo/milestone.go
@@ -70,6 +70,7 @@ func GetMilestone(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the milestone
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -156,6 +157,7 @@ func EditMilestone(ctx *context.APIContext, form api.EditMilestoneOption) {
 	//   in: path
 	//   description: id of the milestone
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -211,6 +213,7 @@ func DeleteMilestone(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the milestone to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/pull.go b/routers/api/v1/repo/pull.go
index 0ec2d36871..5ce6f868bc 100644
--- a/routers/api/v1/repo/pull.go
+++ b/routers/api/v1/repo/pull.go
@@ -38,6 +38,33 @@ func ListPullRequests(ctx *context.APIContext, form api.ListPullRequestsOptions)
 	//   description: name of the repo
 	//   type: string
 	//   required: true
+	// - name: page
+	//   in: query
+	//   description: Page number
+	//   type: integer
+	// - name: state
+	//   in: query
+	//   description: "State of pull request: open or closed (optional)"
+	//   type: string
+	//   enum: [closed, open, all]
+	// - name: sort
+	//   in: query
+	//   description: "Type of sort"
+	//   type: string
+	//   enum: [oldest, recentupdate, leastupdate, mostcomment, leastcomment, priority]
+	// - name: milestone
+	//   in: query
+	//   description: "ID of the milestone"
+	//   type: integer
+	//   format: int64
+	// - name: labels
+	//   in: query
+	//   description: "Label IDs"
+	//   type: array
+	//   collectionFormat: multi
+	//   items:
+	//     type: integer
+	//     format: int64
 	// responses:
 	//   "200":
 	//     "$ref": "#/responses/PullRequestList"
@@ -101,6 +128,7 @@ func GetPullRequest(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the pull request to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -301,6 +329,7 @@ func EditPullRequest(ctx *context.APIContext, form api.EditPullRequestOption) {
 	//   in: path
 	//   description: index of the pull request to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -430,16 +459,13 @@ func IsPullRequestMerged(ctx *context.APIContext) {
 	//   in: path
 	//   description: index of the pull request
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
 	//     description: pull request has been merged
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	//   "404":
 	//     description: pull request has not been merged
-	//     schema:
-	//       "$ref": "#/responses/empty"
 	pr, err := models.GetPullRequestByIndex(ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
 	if err != nil {
 		if models.IsErrPullRequestNotExist(err) {
@@ -478,6 +504,7 @@ func MergePullRequest(ctx *context.APIContext, form auth.MergePullRequestForm) {
 	//   in: path
 	//   description: index of the pull request to merge
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
diff --git a/routers/api/v1/repo/release.go b/routers/api/v1/repo/release.go
index 7c3de3581b..282ff582c5 100644
--- a/routers/api/v1/repo/release.go
+++ b/routers/api/v1/repo/release.go
@@ -33,6 +33,7 @@ func GetRelease(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the release to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -199,6 +200,7 @@ func EditRelease(ctx *context.APIContext, form api.EditReleaseOption) {
 	//   in: path
 	//   description: id of the release to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -278,6 +280,7 @@ func DeleteRelease(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the release to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/release_attachment.go b/routers/api/v1/repo/release_attachment.go
index f11fac1629..ea2be719f3 100644
--- a/routers/api/v1/repo/release_attachment.go
+++ b/routers/api/v1/repo/release_attachment.go
@@ -38,11 +38,13 @@ func GetReleaseAttachment(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the release
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: attachment_id
 	//   in: path
 	//   description: id of the attachment to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -84,6 +86,7 @@ func ListReleaseAttachments(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the release
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -129,6 +132,7 @@ func CreateReleaseAttachment(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the release
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: name
 	//   in: query
@@ -233,11 +237,13 @@ func EditReleaseAttachment(ctx *context.APIContext, form api.EditAttachmentOptio
 	//   in: path
 	//   description: id of the release
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: attachment_id
 	//   in: path
 	//   description: id of the attachment to edit
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: body
 	//   in: body
@@ -292,11 +298,13 @@ func DeleteReleaseAttachment(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the release
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// - name: attachment_id
 	//   in: path
 	//   description: id of the attachment to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index e48b100af6..bf6346eebd 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -53,6 +53,7 @@ func Search(ctx *context.APIContext) {
 	//   in: query
 	//   description: search only for repos that the user with the given id owns or contributes to
 	//   type: integer
+	//   format: int64
 	// - name: page
 	//   in: query
 	//   description: page number of results to return (1-based)
@@ -453,6 +454,7 @@ func GetByID(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of the repo to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
diff --git a/routers/api/v1/user/app.go b/routers/api/v1/user/app.go
index 216190b0f0..f4870431c2 100644
--- a/routers/api/v1/user/app.go
+++ b/routers/api/v1/user/app.go
@@ -60,6 +60,15 @@ func CreateAccessToken(ctx *context.APIContext, form api.CreateAccessTokenOption
 	//   description: username of user
 	//   type: string
 	//   required: true
+	// - name: accessToken
+	//   in: body
+	//   schema:
+	//     type: object
+	//     required:
+	//       - name
+	//     properties:
+	//       name:
+	//         type: string
 	// responses:
 	//   "200":
 	//     "$ref": "#/responses/AccessToken"
@@ -95,6 +104,7 @@ func DeleteAccessToken(ctx *context.APIContext) {
 	//   in: path
 	//   description: token to be deleted
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/user/gpg_key.go b/routers/api/v1/user/gpg_key.go
index a955f3ff14..5301a0f2db 100644
--- a/routers/api/v1/user/gpg_key.go
+++ b/routers/api/v1/user/gpg_key.go
@@ -80,6 +80,7 @@ func GetGPGKey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of key to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -143,6 +144,7 @@ func DeleteGPGKey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of key to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/user/key.go b/routers/api/v1/user/key.go
index 41a514af5e..e5d1b08f0d 100644
--- a/routers/api/v1/user/key.go
+++ b/routers/api/v1/user/key.go
@@ -101,6 +101,7 @@ func GetPublicKey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of key to get
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "200":
@@ -172,6 +173,7 @@ func DeletePublicKey(ctx *context.APIContext) {
 	//   in: path
 	//   description: id of key to delete
 	//   type: integer
+	//   format: int64
 	//   required: true
 	// responses:
 	//   "204":
diff --git a/routers/api/v1/user/user.go b/routers/api/v1/user/user.go
index 38576a7337..51d69aa2c3 100644
--- a/routers/api/v1/user/user.go
+++ b/routers/api/v1/user/user.go
@@ -31,6 +31,7 @@ func Search(ctx *context.APIContext) {
 	//   in: query
 	//   description: ID of the user to search for
 	//   type: integer
+	//   format: int64
 	// - name: limit
 	//   in: query
 	//   description: maximum number of users to return
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index e6cdfc0270..193579f6be 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -150,6 +150,13 @@
             "name": "username",
             "in": "path",
             "required": true
+          },
+          {
+            "name": "key",
+            "in": "body",
+            "schema": {
+              "$ref": "#/definitions/CreateKeyOption"
+            }
           }
         ],
         "responses": {
@@ -185,6 +192,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the key to delete",
             "name": "id",
             "in": "path",
@@ -224,6 +232,14 @@
             "name": "username",
             "in": "path",
             "required": true
+          },
+          {
+            "name": "organization",
+            "in": "body",
+            "required": true,
+            "schema": {
+              "$ref": "#/definitions/CreateOrgOption"
+            }
           }
         ],
         "responses": {
@@ -259,6 +275,14 @@
             "name": "username",
             "in": "path",
             "required": true
+          },
+          {
+            "name": "repository",
+            "in": "body",
+            "required": true,
+            "schema": {
+              "$ref": "#/definitions/CreateRepoOption"
+            }
           }
         ],
         "responses": {
@@ -488,6 +512,14 @@
             "name": "org",
             "in": "path",
             "required": true
+          },
+          {
+            "name": "body",
+            "in": "body",
+            "required": true,
+            "schema": {
+              "$ref": "#/definitions/CreateHookOption"
+            }
           }
         ],
         "responses": {
@@ -517,6 +549,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the hook to get",
             "name": "id",
             "in": "path",
@@ -548,6 +581,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the hook to delete",
             "name": "id",
             "in": "path",
@@ -582,10 +616,18 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the hook to update",
             "name": "id",
             "in": "path",
             "required": true
+          },
+          {
+            "name": "body",
+            "in": "body",
+            "schema": {
+              "$ref": "#/definitions/EditHookOption"
+            }
           }
         ],
         "responses": {
@@ -646,16 +688,10 @@
         ],
         "responses": {
           "204": {
-            "description": "user is a member",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "user is a member"
           },
           "404": {
-            "description": "user is not a member",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "user is not a member"
           }
         }
       },
@@ -686,10 +722,7 @@
         ],
         "responses": {
           "204": {
-            "description": "member removed",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "member removed"
           }
         }
       }
@@ -745,16 +778,10 @@
         ],
         "responses": {
           "204": {
-            "description": "user is a public member",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "user is a public member"
           },
           "404": {
-            "description": "user is not a public member",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "user is not a public member"
           }
         }
       },
@@ -785,10 +812,7 @@
         ],
         "responses": {
           "204": {
-            "description": "membership publicized",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "membership publicized"
           }
         }
       },
@@ -958,6 +982,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "search only for repos that the user with the given id owns or contributes to",
             "name": "uid",
             "in": "query"
@@ -1600,6 +1625,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the hook to get",
             "name": "id",
             "in": "path",
@@ -1638,6 +1664,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the hook to delete",
             "name": "id",
             "in": "path",
@@ -1679,6 +1706,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the hook",
             "name": "id",
             "in": "path",
@@ -1726,6 +1754,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the hook to test",
             "name": "id",
             "in": "path",
@@ -1894,6 +1923,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of comment to delete",
             "name": "id",
             "in": "path",
@@ -1935,6 +1965,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the comment to edit",
             "name": "id",
             "in": "path",
@@ -1982,6 +2013,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "id",
             "in": "path",
@@ -2023,6 +2055,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue to add tracked time to",
             "name": "id",
             "in": "path",
@@ -2076,6 +2109,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue to get",
             "name": "index",
             "in": "path",
@@ -2117,6 +2151,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue to edit",
             "name": "index",
             "in": "path",
@@ -2164,6 +2199,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2211,6 +2247,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2263,6 +2300,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of comment to delete",
             "name": "id",
             "in": "path",
@@ -2312,6 +2350,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the comment to edit",
             "name": "id",
             "in": "path",
@@ -2362,6 +2401,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue to create or update a deadline on",
             "name": "index",
             "in": "path",
@@ -2380,16 +2420,10 @@
             "$ref": "#/responses/IssueDeadline"
           },
           "403": {
-            "description": "Not repo writer",
-            "schema": {
-              "$ref": "#/responses/forbidden"
-            }
+            "description": "Not repo writer"
           },
           "404": {
-            "description": "Issue not found",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "Issue not found"
           }
         }
       }
@@ -2421,6 +2455,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2465,6 +2500,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2513,6 +2549,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2558,6 +2595,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2598,6 +2636,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the issue",
             "name": "index",
             "in": "path",
@@ -2605,6 +2644,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the label to remove",
             "name": "id",
             "in": "path",
@@ -2719,6 +2759,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the key to get",
             "name": "id",
             "in": "path",
@@ -2754,6 +2795,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the key to delete",
             "name": "id",
             "in": "path",
@@ -2868,6 +2910,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the label to get",
             "name": "id",
             "in": "path",
@@ -2903,6 +2946,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the label to delete",
             "name": "id",
             "in": "path",
@@ -2944,6 +2988,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the label to edit",
             "name": "id",
             "in": "path",
@@ -3065,6 +3110,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the milestone",
             "name": "id",
             "in": "path",
@@ -3100,6 +3146,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the milestone to delete",
             "name": "id",
             "in": "path",
@@ -3141,6 +3188,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the milestone",
             "name": "id",
             "in": "path",
@@ -3218,6 +3266,55 @@
             "name": "repo",
             "in": "path",
             "required": true
+          },
+          {
+            "type": "integer",
+            "description": "Page number",
+            "name": "page",
+            "in": "query"
+          },
+          {
+            "enum": [
+              "closed",
+              "open",
+              "all"
+            ],
+            "type": "string",
+            "description": "State of pull request: open or closed (optional)",
+            "name": "state",
+            "in": "query"
+          },
+          {
+            "enum": [
+              "oldest",
+              "recentupdate",
+              "leastupdate",
+              "mostcomment",
+              "leastcomment",
+              "priority"
+            ],
+            "type": "string",
+            "description": "Type of sort",
+            "name": "sort",
+            "in": "query"
+          },
+          {
+            "type": "integer",
+            "format": "int64",
+            "description": "ID of the milestone",
+            "name": "milestone",
+            "in": "query"
+          },
+          {
+            "type": "array",
+            "items": {
+              "type": "integer",
+              "format": "int64"
+            },
+            "collectionFormat": "multi",
+            "description": "Label IDs",
+            "name": "labels",
+            "in": "query"
           }
         ],
         "responses": {
@@ -3295,6 +3392,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the pull request to get",
             "name": "index",
             "in": "path",
@@ -3336,6 +3434,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the pull request to edit",
             "name": "index",
             "in": "path",
@@ -3383,6 +3482,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the pull request",
             "name": "index",
             "in": "path",
@@ -3391,16 +3491,10 @@
         ],
         "responses": {
           "204": {
-            "description": "pull request has been merged",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "pull request has been merged"
           },
           "404": {
-            "description": "pull request has not been merged",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "pull request has not been merged"
           }
         }
       },
@@ -3430,6 +3524,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "index of the pull request to merge",
             "name": "index",
             "in": "path",
@@ -3587,6 +3682,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release to get",
             "name": "id",
             "in": "path",
@@ -3622,6 +3718,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release to delete",
             "name": "id",
             "in": "path",
@@ -3663,6 +3760,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release to edit",
             "name": "id",
             "in": "path",
@@ -3710,6 +3808,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release",
             "name": "id",
             "in": "path",
@@ -3751,6 +3850,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release",
             "name": "id",
             "in": "path",
@@ -3804,6 +3904,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release",
             "name": "id",
             "in": "path",
@@ -3811,6 +3912,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the attachment to get",
             "name": "attachment_id",
             "in": "path",
@@ -3849,6 +3951,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release",
             "name": "id",
             "in": "path",
@@ -3856,6 +3959,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the attachment to delete",
             "name": "attachment_id",
             "in": "path",
@@ -3897,6 +4001,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the release",
             "name": "id",
             "in": "path",
@@ -3904,6 +4009,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the attachment to edit",
             "name": "attachment_id",
             "in": "path",
@@ -4247,6 +4353,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the repo to get",
             "name": "id",
             "in": "path",
@@ -4273,6 +4380,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team to get",
             "name": "id",
             "in": "path",
@@ -4294,6 +4402,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team to delete",
             "name": "id",
             "in": "path",
@@ -4302,10 +4411,7 @@
         ],
         "responses": {
           "204": {
-            "description": "team deleted",
-            "schema": {
-              "$ref": "#/responses/empty"
-            }
+            "description": "team deleted"
           }
         }
       },
@@ -4357,6 +4463,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team",
             "name": "id",
             "in": "path",
@@ -4383,6 +4490,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team",
             "name": "id",
             "in": "path",
@@ -4414,6 +4522,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team",
             "name": "id",
             "in": "path",
@@ -4447,6 +4556,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team",
             "name": "id",
             "in": "path",
@@ -4473,6 +4583,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team",
             "name": "id",
             "in": "path",
@@ -4512,6 +4623,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of the team",
             "name": "id",
             "in": "path",
@@ -4809,6 +4921,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of key to get",
             "name": "id",
             "in": "path",
@@ -4836,6 +4949,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of key to delete",
             "name": "id",
             "in": "path",
@@ -4912,6 +5026,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of key to get",
             "name": "id",
             "in": "path",
@@ -4939,6 +5054,7 @@
         "parameters": [
           {
             "type": "integer",
+            "format": "int64",
             "description": "id of key to delete",
             "name": "id",
             "in": "path",
@@ -5205,6 +5321,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "ID of the user to search for",
             "name": "uid",
             "in": "query"
@@ -5526,6 +5643,21 @@
             "name": "username",
             "in": "path",
             "required": true
+          },
+          {
+            "name": "accessToken",
+            "in": "body",
+            "schema": {
+              "type": "object",
+              "required": [
+                "name"
+              ],
+              "properties": {
+                "name": {
+                  "type": "string"
+                }
+              }
+            }
           }
         ],
         "responses": {
@@ -5555,6 +5687,7 @@
           },
           {
             "type": "integer",
+            "format": "int64",
             "description": "token to be deleted",
             "name": "token",
             "in": "path",