{
  "openapi": "3.0.4",
  "info": {
    "title": "Randommer API",
    "version": "v1"
  },
  "paths": {
    "/api/Card": {
      "get": {
        "tags": [
          "Card"
        ],
        "summary": "Get Card",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Card/Types": {
      "get": {
        "tags": [
          "Card"
        ],
        "summary": "Get available card types",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Finance/CryptoAddress/Types": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get available crypto types",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Finance/CryptoAddress": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get crypto address",
        "parameters": [
          {
            "name": "cryptoType",
            "in": "query",
            "description": "",
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Finance/Iban/{countryCode}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get IBAN by countryCode",
        "parameters": [
          {
            "name": "countryCode",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 2,
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Finance/Countries": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get available countries",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Finance/Vat/Validator": {
      "post": {
        "tags": [
          "Finance"
        ],
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vat",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Misc/Cultures": {
      "get": {
        "tags": [
          "Misc"
        ],
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Misc/Random-Address": {
      "get": {
        "tags": [
          "Misc"
        ],
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "required": true,
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "culture",
            "in": "query",
            "schema": {
              "maxLength": 100,
              "type": "string",
              "default": "en"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Name": {
      "get": {
        "tags": [
          "Name"
        ],
        "summary": "Get name",
        "parameters": [
          {
            "name": "nameType",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/NameType"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 5000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Name/Suggestions": {
      "get": {
        "tags": [
          "Name"
        ],
        "summary": "Get business name suggestions",
        "parameters": [
          {
            "name": "startingWords",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Name/Cultures": {
      "get": {
        "tags": [
          "Name"
        ],
        "summary": "Get available cultures",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Name/BusinessName": {
      "post": {
        "tags": [
          "Name"
        ],
        "summary": "Get business names for a specific culture",
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "cultureCode",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string",
              "default": "en_US"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Name/BrandName": {
      "post": {
        "tags": [
          "Name"
        ],
        "summary": "Generate brand name suggestions",
        "parameters": [
          {
            "name": "startingWords",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 100,
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Phone/Generate": {
      "get": {
        "tags": [
          "Phone"
        ],
        "summary": "Get bulk telephone numbers for a country",
        "parameters": [
          {
            "name": "CountryCode",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 2,
              "type": "string"
            }
          },
          {
            "name": "Quantity",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Phone/IMEI": {
      "get": {
        "tags": [
          "Phone"
        ],
        "summary": "Get bulk imeis",
        "parameters": [
          {
            "name": "Quantity",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 1000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Phone/Validate": {
      "get": {
        "tags": [
          "Phone"
        ],
        "summary": "Validate a phone number",
        "parameters": [
          {
            "name": "telephone",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 25,
              "type": "string"
            }
          },
          {
            "name": "CountryCode",
            "in": "query",
            "description": "",
            "schema": {
              "maxLength": 2,
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Phone/Countries": {
      "get": {
        "tags": [
          "Phone"
        ],
        "summary": "Get available countries",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/SocialNumber": {
      "get": {
        "tags": [
          "SocialNumber"
        ],
        "summary": "Generate a social security number",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "post": {
        "tags": [
          "SocialNumber"
        ],
        "summary": "Validate VAT/identity numbers",
        "parameters": [
          {
            "name": "idType",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/IdType"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/NumberValidation"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NumberValidation"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/NumberValidation"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/NumberValidation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Text/LoremIpsum": {
      "get": {
        "tags": [
          "Text"
        ],
        "summary": "Generate lorem ipsum",
        "parameters": [
          {
            "name": "loremType",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/LoremType"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TextType"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Text/Password": {
      "get": {
        "tags": [
          "Text"
        ],
        "summary": "Generate password",
        "parameters": [
          {
            "name": "length",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 250,
              "minimum": 3,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "hasDigits",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "hasUppercase",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "hasSpecial",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Text/Humanize": {
      "post": {
        "tags": [
          "Text"
        ],
        "summary": "Humanize text",
        "parameters": [
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Text/Transform": {
      "post": {
        "tags": [
          "Text"
        ],
        "summary": "Transform text",
        "parameters": [
          {
            "name": "textActionType",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TextActionType"
            }
          },
          {
            "name": "caseType",
            "in": "query",
            "description": "",
            "schema": {
              "$ref": "#/components/schemas/CaseType"
            }
          },
          {
            "name": "find",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "replace",
            "in": "query",
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TextDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/Text/Review": {
      "post": {
        "tags": [
          "Text"
        ],
        "summary": "Get reviews (max quantity=500)",
        "parameters": [
          {
            "name": "product",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maxLength": 50,
              "type": "string"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-Api-Key",
            "in": "header",
            "description": "Enter your key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CaseType": {
        "enum": [
          "LowerCase",
          "UpperCase",
          "SentenceCase",
          "TitleCase"
        ],
        "type": "string"
      },
      "IdType": {
        "enum": [
          "VAT",
          "SSN"
        ],
        "type": "string"
      },
      "LoremType": {
        "enum": [
          "normal",
          "business"
        ],
        "type": "string"
      },
      "NameType": {
        "enum": [
          "firstname",
          "surname",
          "fullname"
        ],
        "type": "string"
      },
      "NumberValidation": {
        "required": [
          "country",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "maxLength": 2,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "TextActionType": {
        "enum": [
          "Transform",
          "Replace"
        ],
        "type": "string"
      },
      "TextDto": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TextType": {
        "enum": [
          "paragraphs",
          "words"
        ],
        "type": "string"
      }
    }
  },
  "tags": [
    {
      "name": "Card"
    },
    {
      "name": "Finance"
    },
    {
      "name": "Misc"
    },
    {
      "name": "Name"
    },
    {
      "name": "Phone"
    },
    {
      "name": "SocialNumber"
    },
    {
      "name": "Text"
    }
  ]
}