{ "openapi": "3.0.0", "info": { "title": "REST4i - QSYS Services", "description": "QSYS Services provide APIs for accessing QSYS objects.", "version": "1.0.7-rest4i", "contact": { "name": "API Support", "url": "https://github.com/rest4i" }, "license": { "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" } }, "servers": [ { "url": "/rest4i/api" } ], "tags": [ { "name": "QSYS Services", "description": "QSYS Services provide APIs for accessing QSYS objects." } ], "paths": { "/v1/qsys/search/{objectName}": { "get": { "tags": ["QSYS Services"], "summary": "Returns a list of QSYS.LIB objects that match the search criteria.", "description": "Returns a list of QSYS.LIB objects that match the search criteria. The filter is the object name, and may be a value of *ALL, in which case all objects that match the search criteria is returned, or a generic name. A generic name is a character string that contains one or more characters followed by an asterisk (*). If a generic name is specified, all objects that have names with the same prefix as the generic name are returned.", "operationId": "qsysGetQsysObjects", "parameters": [ { "name": "Authorization", "in": "header", "description": "The authorization HTTP header.", "schema": { "type": "string" } }, { "name": "objectLibrary", "in": "query", "description": "The library or set of libraries that are searched for objects. Valid values are a specific name, or one of the following special values: *ALL - All libraries are searched. *ALLUSR - All user libraries are searched. *CURLIB - The current library is searched. *LIBL - The library list is searched. *USRLIBL - The user portion of the library list is searched.", "schema": { "type": "string", "default": "*USRLIBL" } }, { "name": "objectType", "in": "query", "description": "The type of object to search. Valid values include: *FILE, *PGM, *LIB, etc., or *ALL.", "schema": { "type": "string", "default": "*ALL" } }, { "name": "objectSubtype", "in": "query", "description": "Object subtype. For example, PF-SRC, PF-DTA, SAVF, etc., or *ALL. Note that not all objects have subtypes.", "schema": { "type": "string", "default": "*ALL" } }, { "name": "memberName", "in": "query", "description": "The member name to match for objects of type PF-SRC or PF-DTA. Valid values are a specific name, or an extended generic name where the asterisk (*) may be placed in any part of the name, or *ALL.", "schema": { "type": "string", "default": "" } }, { "name": "memberType", "in": "query", "description": "The member type to match for members of objects of type PF-SRC or PF-DTA. Valid values are a specific name, such as C, CBLLE, RPGLE, SQLRPGLE, etc., or *ALL.", "schema": { "type": "string", "default": "*ALL" } }, { "name": "objectName", "in": "path", "description": "The object name. Valid values are a specific name, a generic name (for example, AM*), or one of the following special values: *ALL - All object names are searched. *ALLUSR - All objects that are libraries in QSYS or the library list are searched.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful request.", "content": { "application/json": { "example": { "objects": [ { "path": "/QSYS.LIB/USER1.LIB/AXISLIBS.FILE", "description": "", "isDir": false, "subType": "SAVF" }, { "path": "/QSYS.LIB/USER1.LIB/DEALER.FILE", "description": "", "isDir": true, "subType": "PF-DTA" }, { "path": "/QSYS.LIB/USER1.LIB/QCLSRC.FILE", "description": "\"test\"", "isDir": true, "subType": "PF-SRC" } ] } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "401": { "description": "Unauthorized request was made.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "403": { "description": "The request is forbidden.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "404": { "description": "The specified resource was not found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } }, "500": { "description": "Unable to process the request due to an internal server error.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Problem" } } } } }, "security": [ { "bearerHttpAuthentication": [] }, { "basicHttpAuthentication": [] } ] } } }, "components": { "schemas": { "Problem": { "type": "object", "properties": { "error": { "type": "string" }, "message": { "type": "string" }, "code": { "type": "integer", "format": "int32" }, "details": { "type": "object" } } } }, "securitySchemes": { "bearerHttpAuthentication": { "type": "http", "description": "Bearer token authentication.", "scheme": "bearer", "bearerFormat": "Bearer [token]" }, "basicHttpAuthentication": { "type": "http", "description": "Basic authentication.", "scheme": "basic" } } } }