Skip to content
English
  • There are no suggestions because the search field is empty.

What Are The Supported API File Types And Formats?

To test APIs, we recommend that you provide API documentation associated in a machine readable format. This will allow Edgescan to know what the good and bad look like when it comes to requests.

Version Number: v1.0.0

Published Date: 17 Oct 2025

____________________________________________________________________________

Requirements

Users can upload API files in order to populate the API Descriptors on their assets. In order for Edgescan to correctly read these files and extract the required information they must meet the following minimum requirements.

1. UTF8 Encoded

The files must be UTF8 encoded, only containing valid UTF8 characters.

While we make some effort to try and convert files to UTF8 format, we cannot guarantee that this will always be successful.

2. Supported file type

The files must be either valid JSON, YAML or HAR files. Please ensure that the files are correctly formatted as such, and are named with the appropriate extension accordingly (e.g. .json, .yml, or .yaml etc)

Supported file Types

  • Swagger v2.0 (in .json or .yaml format)
  • OpenAPI v3.0 (in .json or .yaml format)
  • Postman Collection v2.0+ (in .json format)
  • Insomnia Export (in .har format)

Conform to correct swagger specification (Swagger V2.0 or OpenAPI 3.0)

The requirements are slightly different depending on the Swagger/OpenAPI version of the file. At the time of writing this document we only validate certain fields for each version (specified below), however it can be helpful to debug your files using a description validation tool before uploading to ensure it meets the standards according to the specification. 

OpenAPI provide a detailed list recommending such tools. We like the swagger-cli tool which, at the time of writing, is open source and free to use under the MIT licence.

Detailed here are the required fields and their supported types. This validation is run to ensure the info we need is present in the swagger file, and in the correct format.

Swagger/OpenAPI v3.0 files

Top-level field Nested field Required Field Required data type
openapi   Yes String
info   Yes Hash
info title Yes String
info version Yes String
paths   No Hash
servers   No Array[Hash, Hash, etc.]
servers url Yes (if servers present) String
security   No Hash
components   No Hash
components securitySchemes No Hash
tags   No Array[Hash, Hash, etc.]
tags name Yes (if tags present) String
tags description No String
api_location   No null or String

Swagger v2.0 files

Top-level field Nested field Required Field? Required data type (if present)
swagger   Yes String
info   Yes Hash
info version Yes String
paths   Yes Hash
host   No String
securityDefinitions   No Hash
tags   No Array[Hash, Hash, etc.]
tags name Yes (if tags present) String
tags description No String
schemes   No Array[String, String, etc.]
api_location   no null or String

Postman Collections v2.0+

To conform to the Postman Collection standard (v2.1), files must meet a minimum schema and field definition requirement. Validation ensures that all key metadata, collection structure, and request details are correctly defined and conform to the expected Postman JSON schema.

Postman collections can be validated against the Postman Collection Schema v2.1. Postman also provides a command-line validator via newman and several open-source JSON schema validation tools.

Top-level field Required Field Required Data Type
info Yes Object
info.name Yes String
info.schema Yes String (must reference Postman v2.1 schema)
item Yes Array (of Objects)
item[].name Yes String
item[].request Yes Object
item[].request.method Yes String (e.g. GET, POST, PUT, DELETE)
item[].request.header No Array[Object]
item[].request.url Yes Object or String (depending on structure)
item[].response No Array[Object]
variable No Array[Object]
event No Array[Object] (for pre-request or test scripts)
auth No Object (defines collection-level authentication)
_postman_id No String (UUID)

Insomnia Export

To conform to the Insomnia Collection (Export) Schema, files must contain all mandatory metadata and object definitions used by Insomnia to represent requests, environments, and workspaces.
The Insomnia format is a JSON document that contains one or more resource objects, each defined by a type, parentId, and data structure.

Validation should confirm the presence and correct typing of all required fields in each object.
Schema validation can be performed using the Insomnia Export Schema or general-purpose JSON validation tools.

Top-level field
Required Field Required Data Type
_type Yes String (must match known Insomnia entity type, e.g. workspace, request, request_group, environment)
_id Yes String (unique identifier)
parentId Yes (except for workspace root) String or null
name Yes String
modified No Integer (timestamp)
created No Integer (timestamp)
data No Object (depends on _type)
url Yes (for _type: request) String
method Yes (for _type: request) String (e.g. GET, POST, PUT, DELETE)
body No Object
parameters No Array[Object]
headers No Array[Object]
_environment No Object (defines variable values for environment contexts)
resources Yes (in full export) Array[Object] containing workspace, request, and related entities