> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://api.docs.modulards.com/modular-ds-public-api/broken-links-checker/issues/ignore-or-restore-broken-link-issues/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api.docs.modulards.com/_mcp/server. # Ignore or restore broken link issues PATCH https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore Content-Type: application/json Mutes broken link issues you decided not to fix (`ignored: true`), so they no longer count as open issues, or brings muted ones back (`ignored: false`). The change is immediate: the answer lists the issues that changed and the ones left out, so there is nothing to follow up. Only existence is validated. Issues that cannot be changed are reported in `meta.skipped`, each with a `reason_code` and a message, and do not fail the call: `PERMISSION_DENIED` (an issue your token cannot reach, with a null `site_name`), `NOT_FOUND` (an issue already resolved: the crawler no longer finds it) and `ALREADY_APPLIED` (an issue already in the requested state). **Body** - `issues` (array of integers, required): ids of the issues to change, 1 to 50, no duplicates. - `ignored` (boolean, required): `true` ignores the issues, `false` restores them. **Errors** - **422**: an id does not exist. Reference: https://api.docs.modulards.com/modular-ds-public-api/broken-links-checker/issues/ignore-or-restore-broken-link-issues ## Authentication - `Authorization` header (bearer token, required) — Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints. ## Request ### Body (application/json) This endpoint expects an object. - `ignored` (boolean, optional) - `issues` (list of double, optional) ## Response ### 200 200 - One ignored, one skipped - `jsonapi` (ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaJsonapi, optional) - `meta` (ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaMeta, optional) ## Errors ### 422 Unprocessable Entity Error 422 - Unknown finding id - `errors` (list of ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaErrorsItems, optional) - `jsonapi` (ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaJsonapi, optional) ## Types ### ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaJsonapi - `version` (string, optional) ### ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaMeta - `skipped` (list of ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaMetaSkippedItems, optional) - `status` (enum, optional) — Outcome of the call: applied when at least one issue changed, skipped when none did. - Allowed values: `applied`, `skipped` - `updated` (list of ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaMetaUpdatedItems, optional) ### ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaErrorsItems - `detail` (string, optional) - `source` (ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaErrorsItemsSource, optional) - `status` (string, optional) - `title` (string, optional) ### ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaMetaSkippedItems - `issue_id` (integer, optional) — Id of an issue left out. - `message` (string, optional) — Human-readable explanation. - `reason_code` (enum, optional) — Why it was left out: NOT_FOUND (already resolved), ALREADY_APPLIED or PERMISSION_DENIED. - Allowed values: `NOT_FOUND`, `ALREADY_APPLIED`, `PERMISSION_DENIED` - `site_id` (integer, optional) — Id of the website of a issue left out. - `site_name` (string, optional, nullable) — Name of that website; null when the id is outside your token's reach. ### ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaMetaUpdatedItems - `issue_id` (integer, optional) — Id of an issue that changed. - `site_id` (integer, optional) — Id of the website the issue belongs to. - `site_name` (string, optional) — Name of that website. ### ApiPublicV1SiteBrokenLinkIssuesBulkIgnorePatchResponsesContentApplicationJsonSchemaErrorsItemsSource - `parameter` (string, optional) ## Examples ### 200 - One ignored, one skipped **Response** ```json { "jsonapi": { "version": "1.1" }, "meta": { "skipped": [ { "issue_id": 702, "message": "This finding is already ignored.", "reason_code": "ALREADY_APPLIED", "site_id": 12, "site_name": "Example site" } ], "status": "applied", "updated": [ { "issue_id": 701, "site_id": 12, "site_name": "Example site" } ] } } ``` **SDK Code** ```python 200 - One ignored, one skipped import requests url = "https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore" headers = {"Authorization": "Bearer "} response = requests.patch(url, headers=headers) print(response.json()) ``` ```javascript 200 - One ignored, one skipped const url = 'https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore'; const options = {method: 'PATCH', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go 200 - One ignored, one skipped package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore" req, _ := http.NewRequest("PATCH", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby 200 - One ignored, one skipped require 'uri' require 'net/http' url = URI("https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java 200 - One ignored, one skipped import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore") .header("Authorization", "Bearer ") .asString(); ``` ```php 200 - One ignored, one skipped request('PATCH', 'https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp 200 - One ignored, one skipped using RestSharp; var client = new RestClient("https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore"); var request = new RestRequest(Method.PATCH); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift 200 - One ignored, one skipped import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### Ignore or restore broken link issues **Request** ```json { "ignored": true, "issues": [ 701, 702 ] } ``` **Response** ```json { "jsonapi": { "version": "1.1" }, "meta": { "skipped": [ { "issue_id": 702, "message": "This finding is already ignored.", "reason_code": "ALREADY_APPLIED", "site_id": 12, "site_name": "Example site" } ], "status": "applied", "updated": [ { "issue_id": 701, "site_id": 12, "site_name": "Example site" } ] } } ``` **SDK Code** ```python Ignore or restore broken link issues import requests url = "https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore" payload = { "ignored": True, "issues": [701, 702] } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" } response = requests.patch(url, json=payload, headers=headers) print(response.json()) ``` ```javascript Ignore or restore broken link issues const url = 'https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore'; const options = { method: 'PATCH', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: '{"ignored":true,"issues":[701,702]}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go Ignore or restore broken link issues package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore" payload := strings.NewReader("{\n \"ignored\": true,\n \"issues\": [\n 701,\n 702\n ]\n}") req, _ := http.NewRequest("PATCH", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby Ignore or restore broken link issues require 'uri' require 'net/http' url = URI("https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n \"ignored\": true,\n \"issues\": [\n 701,\n 702\n ]\n}" response = http.request(request) puts response.read_body ``` ```java Ignore or restore broken link issues import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"ignored\": true,\n \"issues\": [\n 701,\n 702\n ]\n}") .asString(); ``` ```php Ignore or restore broken link issues request('PATCH', 'https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore', [ 'body' => '{ "ignored": true, "issues": [ 701, 702 ] }', 'headers' => [ 'Authorization' => 'Bearer ', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp Ignore or restore broken link issues using RestSharp; var client = new RestClient("https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore"); var request = new RestRequest(Method.PATCH); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"ignored\": true,\n \"issues\": [\n 701,\n 702\n ]\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift Ignore or restore broken link issues import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = [ "ignored": true, "issues": [701, 702] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.modulards.com/api/public/v1/site-broken-link-issues/bulk-ignore")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```