openapi: 3.1.0 info: title: Express Gateway Admin Apps Users API description: 'Administrative REST API for Express Gateway - the API gateway built on Express.js. The Admin API manages users, applications, credentials, scopes, schemas, policies, service endpoints, API endpoints, and pipelines. By default it listens on http://localhost:9876 and should NOT be exposed publicly without protection - the recommended pattern is to expose it through Express Gateway itself behind a key-auth policy (Authorization: apikey {keyId}:{keySecret}). ' version: 1.0.0 contact: name: Express Gateway url: https://www.express-gateway.io/docs/ servers: - url: http://localhost:9876 description: Default admin API host security: - {} - KeyAuth: [] tags: - name: Users paths: /users: get: summary: List users operationId: listUsers responses: '200': description: User collection tags: - Users post: summary: Create a user operationId: createUser requestBody: required: true content: application/json: schema: type: object responses: '201': description: User created tags: - Users /users/{id}: parameters: - name: id in: path required: true schema: type: string description: Username or user id get: summary: Get a user operationId: getUser responses: '200': description: User tags: - Users put: summary: Update a user operationId: updateUser requestBody: required: true content: application/json: schema: type: object responses: '204': description: Updated tags: - Users delete: summary: Delete a user operationId: deleteUser responses: '204': description: Deleted tags: - Users /users/{id}/status: put: summary: Activate or deactivate a user operationId: setUserStatus parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: status: type: string enum: - active - inactive responses: '204': description: Status updated tags: - Users components: securitySchemes: KeyAuth: type: apiKey in: header name: Authorization description: 'When the Admin API is fronted by Express Gateway with key-auth, send "Authorization: apikey {keyId}:{keySecret}". '