The openAPI object allows you to describe information specific to the API and to associate services to this description for the generation of the OpenAPI description.

This approach allows to

  • dissociate the description of the services from the information specifically linked to the API (contact, version, license...)
  • Share the service description between the OpenAPI and AsyncAPI descriptions

example of description of an OpenAPI object :

openAPI Person{
    services:[Person]
    servers:[AppServer]
    outputFileName:"person-openAPI.yaml"
    info{
        title"Title API Person",
        description"Description API Person",
        termsOfService"https://myCompany.com/terms",
        version:"1.3.4"
        contact{       
            name"contactName",
            url"https://myCompany.com",
            email"contactName@myMail.com"
        }    
        license{
            name"MyLicenceName",
            url"https://url/mylicenceName"
        }
    }
}

Standard openAPI properties :

  • servers (List of String)
    • List of server object names, a server object provide connectivity information to a target server
  • outputFileName (String)
    • Akwatype specific property, it defines the name that will be given to the openAPI file generated for this API
  • Info
    • title (String) - Title of the API
    • description (String) - Short description of the API
    • termesOfService (String) - URL to the Terms of Service for the API
    • version (String) - Version of the OpenAPI document
    • contact
      • name (String) - Identifying name of the contact person/organization
      • url (String) - URL pointing to the contact information
      • email (String) - Email address of the contact person/organization
    • licence
      • name (String) - License name used for the API
      • url (String) - URL to the license used for the API