awlpi/docs/swagger.json
Sam Therapy b370be3bbc
Initial commit
Signed-off-by: Sam Therapy <sam@samtherapy.net>
2022-09-15 13:08:02 +02:00

167 lines
No EOL
5.3 KiB
JSON

{
"swagger": "2.0",
"info": {
"contact": {}
},
"paths": {
"/api/v1/placeholder": {
"post": {
"produces": [
"application/json"
],
"summary": "Create (and execute) a DNS query",
"operationId": "make-query",
"parameters": [
{
"description": "query params",
"name": "request",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/util.Request"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/util.Response"
}
}
}
}
}
},
"definitions": {
"dns.Msg": {
"type": "object",
"properties": {
"answer": {
"description": "Holds the RR(s) of the answer section.",
"type": "array",
"items": {}
},
"authenticatedData": {
"type": "boolean"
},
"authoritative": {
"type": "boolean"
},
"checkingDisabled": {
"type": "boolean"
},
"extra": {
"description": "Holds the RR(s) of the additional section.",
"type": "array",
"items": {}
},
"id": {
"type": "integer"
},
"ns": {
"description": "Holds the RR(s) of the authority section.",
"type": "array",
"items": {}
},
"opcode": {
"type": "integer"
},
"question": {
"description": "Holds the RR(s) of the question section.",
"type": "array",
"items": {
"$ref": "#/definitions/dns.Question"
}
},
"rcode": {
"type": "integer"
},
"recursionAvailable": {
"type": "boolean"
},
"recursionDesired": {
"type": "boolean"
},
"response": {
"type": "boolean"
},
"truncated": {
"type": "boolean"
},
"zero": {
"type": "boolean"
}
}
},
"dns.Question": {
"type": "object",
"properties": {
"name": {
"description": "\"cdomain-name\" specifies encoding (and may be compressed)",
"type": "string"
},
"qclass": {
"type": "integer"
},
"qtype": {
"type": "integer"
}
}
},
"util.Request": {
"type": "object",
"properties": {
"class": {
"description": "Request class, eg. IN",
"type": "integer",
"example": 1
},
"name": {
"description": "Domain to query",
"type": "string",
"example": "example.com"
},
"port": {
"description": "Port to make DNS request on",
"type": "integer",
"example": 53
},
"retries": {
"description": "Number of failures to make before giving up",
"type": "integer",
"example": 2
},
"server": {
"description": "Server to query",
"type": "string",
"example": "1.0.0.1"
},
"timeout": {
"description": "Duration to wait until marking request as failed",
"type": "integer",
"example": 2000000000
},
"type": {
"description": "Request type, eg. A, AAAA, NAPTR",
"type": "integer",
"example": 1
}
}
},
"util.Response": {
"type": "object",
"properties": {
"response": {
"description": "The full DNS response",
"$ref": "#/definitions/dns.Msg"
},
"rtt": {
"description": "The time it took to make the DNS query",
"type": "integer",
"example": 2000000000
}
}
}
}
}