OpenAPI Specification
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.