openapi: 3.1.0 info: title: Budibase Public Applications Users API description: 'The Budibase Public API provides programmatic access to Budibase applications, tables, rows, users, and queries. Authentication is via an API key in the `x-budibase-api-key` header generated from the Budibase portal user dropdown menu. Data endpoints (tables and rows) additionally require the `x-budibase-app-id` header identifying the target application. ' version: '1.0' contact: name: Budibase url: https://docs.budibase.com/docs/public-api license: name: GPL-3.0 url: https://github.com/Budibase/budibase/blob/master/LICENSE servers: - url: https://budibase.app/api/public/v1 description: Budibase Cloud Public API - url: https://{selfhosted}/api/public/v1 description: Self-hosted Budibase variables: selfhosted: default: budibase.example.com description: Hostname of the self-hosted Budibase instance security: - apiKeyAuth: [] tags: - name: Users description: Manage Budibase users. paths: /users: get: tags: - Users summary: Search for users operationId: searchUsers requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/NameSearch' responses: '200': description: Search results content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/User' post: tags: - Users summary: Create a user operationId: createUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserInput' responses: '200': description: Created user content: application/json: schema: $ref: '#/components/schemas/User' /users/{id}: parameters: - $ref: '#/components/parameters/IdPath' get: tags: - Users summary: Retrieve a user operationId: getUser responses: '200': description: User content: application/json: schema: $ref: '#/components/schemas/User' put: tags: - Users summary: Update a user operationId: updateUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserInput' responses: '200': description: Updated content: application/json: schema: $ref: '#/components/schemas/User' delete: tags: - Users summary: Delete a user operationId: deleteUser responses: '200': description: Deleted components: schemas: UserInput: type: object required: - email properties: email: type: string password: type: string roles: type: object additionalProperties: type: string builder: type: object properties: global: type: boolean admin: type: object properties: global: type: boolean User: allOf: - $ref: '#/components/schemas/UserInput' - type: object properties: _id: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time NameSearch: type: object properties: name: type: string paginate: type: boolean bookmark: type: string sort: type: object properties: order: type: string enum: - ascending - descending type: type: string enum: - string - number parameters: IdPath: name: id in: path required: true schema: type: string securitySchemes: apiKeyAuth: type: apiKey in: header name: x-budibase-api-key description: API key generated from the Budibase portal user dropdown menu.