openapi: 3.1.0 info: title: DreamFactory System Admin User API description: The DreamFactory System API provides administrative management capabilities for DreamFactory instances. It allows administrators to manage services, apps, roles, users, CORS configurations, email templates, environment settings, lookups, events, scripts, and more. All system resources are accessible under the /api/v2/system/ base path. Authentication requires either an X-DreamFactory-Session-Token header (for system admins) or an X-DreamFactory-API-Key header (for users with appropriate permissions). version: 2.0.0 contact: name: DreamFactory Support url: https://www.dreamfactory.com/support license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 termsOfService: https://www.dreamfactory.com/terms-of-use servers: - url: https://{instance}/api/v2 description: DreamFactory instance variables: instance: default: example.dreamfactory.com description: Your DreamFactory instance hostname security: - sessionToken: [] - apiKey: [] tags: - name: User description: User management paths: /system/user: get: operationId: listUsers summary: DreamFactory List users description: Retrieve a list of registered users. tags: - User parameters: - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/order' - $ref: '#/components/parameters/related' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserListResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' post: operationId: createUser summary: DreamFactory Create user description: Create one or more users. tags: - User requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserRequest' responses: '201': description: User created content: application/json: schema: $ref: '#/components/schemas/UserResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' /system/user/{id}: get: operationId: getUser summary: DreamFactory Get user description: Retrieve a specific user by ID. tags: - User parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/related' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalError' patch: operationId: updateUser summary: DreamFactory Update user description: Update a specific user by ID. tags: - User parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UserRequest' responses: '200': description: User updated content: application/json: schema: $ref: '#/components/schemas/UserResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalError' delete: operationId: deleteUser summary: DreamFactory Delete user description: Delete a specific user by ID. tags: - User parameters: - $ref: '#/components/parameters/id' responses: '200': description: User deleted content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalError' components: parameters: id: name: id in: path required: true description: Resource identifier. schema: type: integer limit: name: limit in: query description: Maximum number of records to return. schema: type: integer default: 0 related: name: related in: query description: Comma-delimited list of related resources to include. schema: type: string filter: name: filter in: query description: SQL-like filter to limit results. schema: type: string fields: name: fields in: query description: Comma-delimited list of fields to return. schema: type: string order: name: order in: query description: SQL-like order containing field and direction. schema: type: string offset: name: offset in: query description: Number of records to skip for pagination. schema: type: integer default: 0 responses: NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Unauthorized - invalid or missing session token or API key content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: UserRequest: type: object properties: name: type: string description: Display name. first_name: type: string description: First name. last_name: type: string description: Last name. email: type: string format: email description: Email address (used for login). password: type: string description: Password for the user. is_active: type: boolean description: Whether the user account is active. phone: type: string description: Phone number. required: - email - name UserListResponse: type: object properties: resource: type: array items: $ref: '#/components/schemas/UserResponse' UserResponse: type: object properties: id: type: integer name: type: string first_name: type: string last_name: type: string email: type: string format: email is_active: type: boolean phone: type: string created_date: type: string format: date-time last_modified_date: type: string format: date-time ErrorResponse: type: object properties: error: type: object properties: code: type: integer description: Error code. message: type: string description: Error message. context: type: object description: Additional error context. SuccessResponse: type: object properties: success: type: boolean securitySchemes: sessionToken: type: apiKey name: X-DreamFactory-Session-Token in: header description: Session token obtained after admin login. apiKey: type: apiKey name: X-DreamFactory-API-Key in: header description: API key associated with a registered application. externalDocs: description: DreamFactory Documentation url: https://guide.dreamfactory.com/docs/