API الخاص بـ واجهة برمجة ملف security.txt للتواصل الأمني
تحقق من جهات الاتصال وتاريخ الانتهاء وحقول RFC 9116 في security.txt. استخدم هذا المرجع لاختيار عملية ودمج عقد الاستجابة الموثق.
العمليات
GET /v1/security-txt
GET
/v1/security-txt
الرصيد: 1
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| domain | string | اختياري |
| url | string | اختياري |
حقول الرد
| الحقل | النوع |
|---|---|
classification |
object |
classification.status |
string |
classification.reason |
string |
classification.evidence |
object |
classification.evidence.source |
string |
classification.evidence.method |
string |
classification.evidence.observed_at |
string |
classification.evidence.detail |
string |
classification.checked_at |
string |
domain |
string |
status |
string |
location |
string | null |
checked_at |
string |
fetch[] |
object[] |
fetch[] |
object |
fetch[].location |
string |
fetch[].checked_url |
string |
fetch[].http_status |
integer | null |
fetch[].final_url |
string | null |
fetch[].via_proxy |
boolean | null |
fetch[].content_type |
string | null |
fetch[].bytes |
integer | null |
fetch[].truncated |
boolean |
fetch[].outcome |
string |
fetch[].error |
string | null |
fields |
object |
fields.contact[] |
string[] |
fields.expires |
string | null |
fields.expires_in_days |
integer | null |
fields.encryption[] |
string[] |
fields.acknowledgments[] |
string[] |
fields.preferred_languages[] |
string[] |
fields.canonical[] |
string[] |
fields.policy[] |
string[] |
fields.hiring[] |
string[] |
fields.csaf[] |
string[] |
fields.other_fields[] |
object[] |
fields.other_fields[] |
object |
fields.other_fields[].name |
string |
fields.other_fields[].value |
string |
signed |
boolean |
issues[] |
object[] |
issues[] |
object |
issues[].code |
string |
issues[].severity |
string |
issues[].field |
string | null |
caveats[] |
string[] |
طلب مثال
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.com"const response = await fetch("https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.com", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.com",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.com", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.com")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))مثال الرد
{
"domain": "example.com",
"status": "valid",
"location": "well_known",
"checked_at": "2026-10-09T10:00:00.000Z",
"fetch": [
{
"location": "well_known",
"checked_url": "https://example.com/.well-known/security.txt",
"http_status": 200,
"final_url": "https://example.com/.well-known/security.txt",
"via_proxy": true,
"content_type": "text/plain; charset=utf-8",
"bytes": 279,
"truncated": false,
"outcome": "found",
"error": null
}
],
"fields": {
"contact": [
"mailto:[email protected]",
"https://example.com/report"
],
"expires": "2027-01-01T00:00:00.000Z",
"expires_in_days": 83,
"encryption": [
"https://example.com/pgp-key.txt"
],
"acknowledgments": [],
"preferred_languages": [
"en",
"es"
],
"canonical": [
"https://example.com/.well-known/security.txt"
],
"policy": [
"https://example.com/security-policy"
],
"hiring": [],
"csaf": [],
"other_fields": []
},
"signed": false,
"issues": [],
"caveats": []
}
رموز حالة HTTP
200OK400طلب غير صالح401غير مصرح402الدفع مطلوب429طلبات كثيرة جداً502بوابة غير صالحة