{
	"components": {
		"securitySchemes": {
			"adminToken": {
				"scheme": "bearer",
				"type": "http"
			},
			"apiKey": {
				"in": "header",
				"name": "X-API-Key",
				"type": "apiKey"
			}
		}
	},
	"info": {
		"title": "vornamencheck.de API",
		"version": "1.14.0"
	},
	"openapi": "3.1.0",
	"paths": {
		"/admin/backup-database": {
			"post": {
				"responses": {
					"200": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"backup_filename": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"backup_filename"
									]
								}
							}
						},
						"description": "OK"
					},
					"401": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "Admin-Token fehlt oder ist ungültig"
					}
				},
				"security": [
					{
						"adminToken": []
					}
				],
				"summary": "Datenbank-Backup anlegen"
			}
		},
		"/health": {
			"get": {
				"responses": {
					"200": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "string"
										},
										"timestamp": {
											"type": "string",
											"format": "date-time"
										},
										"version": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"timestamp",
										"version"
									]
								}
							}
						},
						"description": "OK"
					},
					"401": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "API-Key ist ungültig"
					}
				},
				"security": [
					{},
					{
						"apiKey": []
					}
				],
				"summary": "Erreichbarkeit und Version"
			}
		},
		"/names/gender": {
			"get": {
				"parameters": [
					{
						"description": "Vorname, mindestens 2 Zeichen",
						"in": "query",
						"name": "name",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"description": "Vermutetes Geschlecht, die Antwort enthält dann check",
						"in": "query",
						"name": "guess",
						"required": false,
						"schema": {
							"enum": [
								"male",
								"female"
							],
							"type": "string"
						}
					},
					{
						"description": "Land nach ISO 3166-1 alpha-2, Standard DE",
						"in": "query",
						"name": "culture",
						"required": false,
						"schema": {
							"enum": [
								"AD",
								"AE",
								"AF",
								"AG",
								"AI",
								"AL",
								"AM",
								"AO",
								"AQ",
								"AR",
								"AS",
								"AT",
								"AU",
								"AW",
								"AX",
								"AZ",
								"BA",
								"BB",
								"BD",
								"BE",
								"BF",
								"BG",
								"BH",
								"BI",
								"BJ",
								"BL",
								"BM",
								"BN",
								"BO",
								"BQ",
								"BR",
								"BS",
								"BT",
								"BV",
								"BW",
								"BY",
								"BZ",
								"CA",
								"CC",
								"CD",
								"CF",
								"CG",
								"CH",
								"CI",
								"CK",
								"CL",
								"CM",
								"CN",
								"CO",
								"CR",
								"CU",
								"CV",
								"CW",
								"CX",
								"CY",
								"CZ",
								"DE",
								"DJ",
								"DK",
								"DM",
								"DO",
								"DZ",
								"EC",
								"EE",
								"EG",
								"EH",
								"ER",
								"ES",
								"ET",
								"FI",
								"FJ",
								"FK",
								"FM",
								"FO",
								"FR",
								"GA",
								"GB",
								"GD",
								"GE",
								"GF",
								"GG",
								"GH",
								"GI",
								"GL",
								"GM",
								"GN",
								"GP",
								"GQ",
								"GR",
								"GS",
								"GT",
								"GU",
								"GW",
								"GY",
								"HK",
								"HM",
								"HN",
								"HR",
								"HT",
								"HU",
								"ID",
								"IE",
								"IL",
								"IM",
								"IN",
								"IO",
								"IQ",
								"IR",
								"IS",
								"IT",
								"JE",
								"JM",
								"JO",
								"JP",
								"KE",
								"KG",
								"KH",
								"KI",
								"KM",
								"KN",
								"KP",
								"KR",
								"KW",
								"KY",
								"KZ",
								"LA",
								"LB",
								"LC",
								"LI",
								"LK",
								"LR",
								"LS",
								"LT",
								"LU",
								"LV",
								"LY",
								"MA",
								"MC",
								"MD",
								"ME",
								"MF",
								"MG",
								"MH",
								"MK",
								"ML",
								"MM",
								"MN",
								"MO",
								"MP",
								"MQ",
								"MR",
								"MS",
								"MT",
								"MU",
								"MV",
								"MW",
								"MX",
								"MY",
								"MZ",
								"NA",
								"NC",
								"NE",
								"NF",
								"NG",
								"NI",
								"NL",
								"NO",
								"NP",
								"NR",
								"NU",
								"NZ",
								"OM",
								"PA",
								"PE",
								"PF",
								"PG",
								"PH",
								"PK",
								"PL",
								"PM",
								"PN",
								"PR",
								"PS",
								"PT",
								"PW",
								"PY",
								"QA",
								"RE",
								"RO",
								"RS",
								"RU",
								"RW",
								"SA",
								"SB",
								"SC",
								"SD",
								"SE",
								"SG",
								"SH",
								"SI",
								"SJ",
								"SK",
								"SL",
								"SM",
								"SN",
								"SO",
								"SR",
								"SS",
								"ST",
								"SV",
								"SX",
								"SY",
								"SZ",
								"TC",
								"TD",
								"TF",
								"TG",
								"TH",
								"TJ",
								"TK",
								"TL",
								"TM",
								"TN",
								"TO",
								"TR",
								"TT",
								"TV",
								"TW",
								"TZ",
								"UA",
								"UG",
								"UM",
								"US",
								"UY",
								"UZ",
								"VA",
								"VC",
								"VE",
								"VG",
								"VI",
								"VN",
								"VU",
								"WF",
								"WS",
								"YE",
								"YT",
								"ZA",
								"ZM",
								"ZW"
							],
							"type": "string"
						}
					},
					{
						"description": "Beliebiger Wert, wird unverändert zurückgegeben",
						"in": "query",
						"name": "id",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"name": {
											"type": "string"
										},
										"gender": {
											"type": "string"
										},
										"culture": {
											"type": "string"
										},
										"guess": {
											"type": "string"
										},
										"check": {
											"type": "boolean"
										},
										"statistics": {
											"properties": {
												"maleProbability": {
													"type": "integer"
												},
												"femaleProbability": {
													"type": "integer"
												}
											},
											"additionalProperties": false,
											"type": "object",
											"required": [
												"maleProbability",
												"femaleProbability"
											]
										},
										"id": {
											"type": "string"
										},
										"infoMessage": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"name",
										"gender",
										"culture",
										"statistics",
										"infoMessage"
									]
								}
							}
						},
						"description": "OK"
					},
					"400": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "Ungültige Parameter"
					},
					"401": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "API-Key ist ungültig"
					}
				},
				"security": [
					{},
					{
						"apiKey": []
					}
				],
				"summary": "Geschlechts-Wahrscheinlichkeit eines Vornamens (Name als Query-Parameter)"
			}
		},
		"/names/{name}/gender": {
			"get": {
				"parameters": [
					{
						"in": "path",
						"name": "name",
						"required": true,
						"schema": {
							"type": "string"
						}
					},
					{
						"description": "Vermutetes Geschlecht, die Antwort enthält dann check",
						"in": "query",
						"name": "guess",
						"required": false,
						"schema": {
							"enum": [
								"male",
								"female"
							],
							"type": "string"
						}
					},
					{
						"description": "Land nach ISO 3166-1 alpha-2, Standard DE",
						"in": "query",
						"name": "culture",
						"required": false,
						"schema": {
							"enum": [
								"AD",
								"AE",
								"AF",
								"AG",
								"AI",
								"AL",
								"AM",
								"AO",
								"AQ",
								"AR",
								"AS",
								"AT",
								"AU",
								"AW",
								"AX",
								"AZ",
								"BA",
								"BB",
								"BD",
								"BE",
								"BF",
								"BG",
								"BH",
								"BI",
								"BJ",
								"BL",
								"BM",
								"BN",
								"BO",
								"BQ",
								"BR",
								"BS",
								"BT",
								"BV",
								"BW",
								"BY",
								"BZ",
								"CA",
								"CC",
								"CD",
								"CF",
								"CG",
								"CH",
								"CI",
								"CK",
								"CL",
								"CM",
								"CN",
								"CO",
								"CR",
								"CU",
								"CV",
								"CW",
								"CX",
								"CY",
								"CZ",
								"DE",
								"DJ",
								"DK",
								"DM",
								"DO",
								"DZ",
								"EC",
								"EE",
								"EG",
								"EH",
								"ER",
								"ES",
								"ET",
								"FI",
								"FJ",
								"FK",
								"FM",
								"FO",
								"FR",
								"GA",
								"GB",
								"GD",
								"GE",
								"GF",
								"GG",
								"GH",
								"GI",
								"GL",
								"GM",
								"GN",
								"GP",
								"GQ",
								"GR",
								"GS",
								"GT",
								"GU",
								"GW",
								"GY",
								"HK",
								"HM",
								"HN",
								"HR",
								"HT",
								"HU",
								"ID",
								"IE",
								"IL",
								"IM",
								"IN",
								"IO",
								"IQ",
								"IR",
								"IS",
								"IT",
								"JE",
								"JM",
								"JO",
								"JP",
								"KE",
								"KG",
								"KH",
								"KI",
								"KM",
								"KN",
								"KP",
								"KR",
								"KW",
								"KY",
								"KZ",
								"LA",
								"LB",
								"LC",
								"LI",
								"LK",
								"LR",
								"LS",
								"LT",
								"LU",
								"LV",
								"LY",
								"MA",
								"MC",
								"MD",
								"ME",
								"MF",
								"MG",
								"MH",
								"MK",
								"ML",
								"MM",
								"MN",
								"MO",
								"MP",
								"MQ",
								"MR",
								"MS",
								"MT",
								"MU",
								"MV",
								"MW",
								"MX",
								"MY",
								"MZ",
								"NA",
								"NC",
								"NE",
								"NF",
								"NG",
								"NI",
								"NL",
								"NO",
								"NP",
								"NR",
								"NU",
								"NZ",
								"OM",
								"PA",
								"PE",
								"PF",
								"PG",
								"PH",
								"PK",
								"PL",
								"PM",
								"PN",
								"PR",
								"PS",
								"PT",
								"PW",
								"PY",
								"QA",
								"RE",
								"RO",
								"RS",
								"RU",
								"RW",
								"SA",
								"SB",
								"SC",
								"SD",
								"SE",
								"SG",
								"SH",
								"SI",
								"SJ",
								"SK",
								"SL",
								"SM",
								"SN",
								"SO",
								"SR",
								"SS",
								"ST",
								"SV",
								"SX",
								"SY",
								"SZ",
								"TC",
								"TD",
								"TF",
								"TG",
								"TH",
								"TJ",
								"TK",
								"TL",
								"TM",
								"TN",
								"TO",
								"TR",
								"TT",
								"TV",
								"TW",
								"TZ",
								"UA",
								"UG",
								"UM",
								"US",
								"UY",
								"UZ",
								"VA",
								"VC",
								"VE",
								"VG",
								"VI",
								"VN",
								"VU",
								"WF",
								"WS",
								"YE",
								"YT",
								"ZA",
								"ZM",
								"ZW"
							],
							"type": "string"
						}
					},
					{
						"description": "Beliebiger Wert, wird unverändert zurückgegeben",
						"in": "query",
						"name": "id",
						"required": false,
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"name": {
											"type": "string"
										},
										"gender": {
											"type": "string"
										},
										"culture": {
											"type": "string"
										},
										"guess": {
											"type": "string"
										},
										"check": {
											"type": "boolean"
										},
										"statistics": {
											"properties": {
												"maleProbability": {
													"type": "integer"
												},
												"femaleProbability": {
													"type": "integer"
												}
											},
											"additionalProperties": false,
											"type": "object",
											"required": [
												"maleProbability",
												"femaleProbability"
											]
										},
										"id": {
											"type": "string"
										},
										"infoMessage": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"name",
										"gender",
										"culture",
										"statistics",
										"infoMessage"
									]
								}
							}
						},
						"description": "OK"
					},
					"400": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "Ungültige Parameter"
					},
					"401": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "API-Key ist ungültig"
					}
				},
				"security": [
					{},
					{
						"apiKey": []
					}
				],
				"summary": "Geschlechts-Wahrscheinlichkeit eines Vornamens"
			}
		},
		"/status": {
			"get": {
				"responses": {
					"200": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"version": {
											"type": "string"
										},
										"requests_total": {
											"type": "integer"
										},
										"name_count": {
											"type": "integer"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"version",
										"requests_total",
										"name_count"
									]
								}
							}
						},
						"description": "OK"
					},
					"401": {
						"content": {
							"application/json": {
								"schema": {
									"properties": {
										"status": {
											"type": "integer"
										},
										"message": {
											"type": "string"
										},
										"details": {
											"type": "string"
										}
									},
									"additionalProperties": false,
									"type": "object",
									"required": [
										"status",
										"message"
									]
								}
							}
						},
						"description": "Admin-Token fehlt oder ist ungültig"
					}
				},
				"security": [
					{
						"adminToken": []
					}
				],
				"summary": "Request-Zähler und Größe der Namensdatenbank"
			}
		}
	},
	"servers": [
		{
			"url": "https://vornamencheck.de/api/v1"
		}
	]
}