diff --git a/ee/changelogs/unreleased/9424-return-id-for-newly-created-vulnerability-issue-link.yml b/ee/changelogs/unreleased/9424-return-id-for-newly-created-vulnerability-issue-link.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1bf29327d693a5be91e44d11be570f5973396152
--- /dev/null
+++ b/ee/changelogs/unreleased/9424-return-id-for-newly-created-vulnerability-issue-link.yml
@@ -0,0 +1,5 @@
+---
+title: Return ID of newly created vulnerability issue link in API
+merge_request: 35947
+author:
+type: added
diff --git a/ee/lib/ee/api/entities/vulnerability_issue_link.rb b/ee/lib/ee/api/entities/vulnerability_issue_link.rb
index 90449e81d86fe624c81031bc4a7544744d704dfc..ad2eb7385962817259190cad2ffd840ee61b3604 100644
--- a/ee/lib/ee/api/entities/vulnerability_issue_link.rb
+++ b/ee/lib/ee/api/entities/vulnerability_issue_link.rb
@@ -4,6 +4,7 @@ module EE
   module API
     module Entities
       class VulnerabilityIssueLink < Grape::Entity
+        expose :id
         expose :vulnerability, using: ::EE::API::Entities::Vulnerability
         expose :issue, using: ::API::Entities::IssueBasic
         expose :link_type
diff --git a/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json b/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json
index 1b7a2cf4d22cc8add2ddb89fca92c3d6a2f60b12..d35ec83535c490cb7702161d2fe579b0704a18a7 100644
--- a/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json
+++ b/ee/spec/fixtures/api/schemas/public_api/v4/vulnerability_issue_link.json
@@ -2,11 +2,13 @@
   "type": "object",
   "additionalProperties": false,
   "required": [
+    "id",
     "issue",
     "vulnerability",
     "link_type"
   ],
   "properties": {
+    "id": { "type": "integer" },
     "issue": {
       "oneOf": [
         { "$ref": "../../../../../../../spec/fixtures/api/schemas/public_api/v4/issue.json" }
diff --git a/ee/spec/requests/api/vulnerability_issue_links_spec.rb b/ee/spec/requests/api/vulnerability_issue_links_spec.rb
index 14196c09398ccc27cd4ff34b4866d47938dcda02..728737bdad4778cc734eb582bd0e0966e59f940d 100644
--- a/ee/spec/requests/api/vulnerability_issue_links_spec.rb
+++ b/ee/spec/requests/api/vulnerability_issue_links_spec.rb
@@ -75,6 +75,7 @@
 
           expect(response).to have_gitlab_http_status(:created)
           expect(response).to match_response_schema('public_api/v4/vulnerability_issue_link', dir: 'ee')
+          expect(json_response['id']).to eq Vulnerabilities::IssueLink.last.id
           expect(json_response['issue']['id']).to eq issue.id
           expect(json_response['vulnerability']['id']).to eq vulnerability.id
         end
@@ -166,6 +167,7 @@
 
           expect(response).to have_gitlab_http_status(:ok)
           expect(response).to match_response_schema('public_api/v4/vulnerability_issue_link', dir: 'ee')
+          expect(json_response['id']).to eq issue_link_id
           expect(json_response['issue']['id']).to eq vulnerability_issue_link.issue.id
           expect(json_response['vulnerability']['id']).to eq vulnerability_id
         end