{ "name": "Termsteelversionapi", "description": "API VERSION FOR TERMSTEEL", "base_url": "https://api.apibuilder.io", "info": { "contact": { "name": "Afi Dev", "email": "aconique@gmail.com", "url": "http://twitter.com/dev_afi" }, "license": { "name": "MIT", "url": "http://opensource.org/licenses/MIT" } }, "imports": [ { "uri": "https://app.apibuilder.io/apicollective/apibuilder-common/latest/service.json" }, { "uri": "https://app.apibuilder.io/apicollective/apibuilder-spec/latest/service.json" } ], "enums": { "file_flag": { "description": "Allows generator authors to flag files with special characteristics. It is up to the client (i.e. the cli) to decide how to interpret them.", "values": [ { "name": "scaffolding", "description": "Indicates files that an end user starts from but should edit. Not intended to be the final product (see: https://stackoverflow.com/questions/235018/what-is-scaffolding-is-it-a-term-for-a-particular-platform). Consider not overwriting these files when code is re-generated." } ] } }, "models": { "generator": { "description": "The generator metadata.", "fields": [ { "name": "key", "type": "string" }, { "name": "name", "type": "string" }, { "name": "language", "type": "string", "required": false, "description": "A comma separate list of the programming language(s) that this generator produces", "example": "scala" }, { "name": "description", "type": "string", "required": false }, { "name": "attributes", "type": "[string]", "default": "[]", "description": "The list of attributes that this code generator can use. You can find the full list of available attributes and their descriptions at http://apibuilder.io/doc/attributes" } ] }, "file": { "description": "Represents a source file", "fields": [ { "name": "name", "type": "string", "description": "The recommended name for the file.", "example": "ApiCollectiveApiBuilderApiClient.scala" }, { "name": "dir", "type": "string", "description": "The recommended directory path for the file where appropriate.", "example": "io/apicollective/apibuilder", "required": false }, { "name": "contents", "type": "string", "description": "The actual source code." }, { "name": "flags", "type": "[file_flag]", "required": false } ] }, "invocation": { "description": "The result of invoking a generator.", "fields": [ { "name": "source", "type": "string", "description": "The actual source code.", "deprecation": { "description": "Use files instead" } }, { "name": "files", "type": "[file]", "description": "A collection of source files" } ] }, "invocation_form": { "description": "The invocation form is the payload send to the code generators when requesting generation of client code.", "fields": [ { "name": "service", "type": "io.apibuilder.spec.v0.models.service" }, { "name": "attributes", "type": "[attribute]", "default": "[]" }, { "name": "user_agent", "type": "string", "required": false }, { "name": "imported_services", "type": "[io.apibuilder.spec.v0.models.service]", "required": false } ] }, "attribute": { "description": "An attribute represents a key/value pair that is optionally used to provide additional instructions / data to the code generator. An example could be an attribute to specify the root import path for a go client..", "fields": [ { "name": "name", "type": "string" }, { "name": "value", "type": "string" } ] }, "healthcheck": { "fields": [ { "name": "status", "type": "string", "example": "healthy" } ] }, "error": { "fields": [ { "name": "code", "type": "string", "description": "Machine readable code for this specific error message" }, { "name": "message", "type": "string", "description": "Description of the error" } ] } }, "resources": { "healthcheck": { "path": "/_internal_/healthcheck", "operations": [ { "method": "GET", "responses": { "200": { "type": "healthcheck" } } } ] }, "generator": { "operations": [ { "method": "GET", "description": "Get all available generators", "parameters": [ { "name": "key", "type": "string", "description": "Filter generators with this key", "required": false }, { "name": "limit", "type": "integer", "default": "100", "description": "The number of records to return", "minimum": 0 }, { "name": "offset", "type": "integer", "default": "0", "description": "Used to paginate. First page of results is 0.", "minimum": 0 } ], "responses": { "200": { "type": "[generator]" } } }, { "method": "GET", "path": "/:key", "description": "Get generator with this key", "responses": { "200": { "type": "generator" }, "404": { "type": "unit" } } } ] }, "invocation": { "operations": [ { "method": "POST", "path": "/:key", "description": "Invoke a generator", "body": { "type": "invocation_form" }, "responses": { "200": { "type": "invocation" }, "409": { "type": "[error]" } } } ] } } }