openapi: 3.1.0 info: title: DreamFactory System Admin 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: Admin description: System administrator management paths: /system/admin: get: operationId: listAdmins summary: DreamFactory List administrators description: Retrieve a list of system administrators. tags: - Admin 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/AdminListResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' post: operationId: createAdmin summary: DreamFactory Create administrator description: Create one or more system administrators. tags: - Admin requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AdminRequest' responses: '201': description: Admin created content: application/json: schema: $ref: '#/components/schemas/AdminResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' /system/admin/{id}: get: operationId: getAdmin summary: DreamFactory Get administrator description: Retrieve a specific administrator by ID. tags: - Admin parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/related' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdminResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalError' patch: operationId: updateAdmin summary: DreamFactory Update administrator description: Update a specific administrator by ID. tags: - Admin parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AdminRequest' responses: '200': description: Admin updated content: application/json: schema: $ref: '#/components/schemas/AdminResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalError' delete: operationId: deleteAdmin summary: DreamFactory Delete administrator description: Delete a specific administrator by ID. tags: - Admin parameters: - $ref: '#/components/parameters/id' responses: '200': description: Admin 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 related: name: related in: query description: Comma-delimited list of related resources to include. schema: type: string limit: name: limit in: query description: Maximum number of records to return. schema: type: integer default: 0 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: AdminListResponse: type: object properties: resource: type: array items: $ref: '#/components/schemas/AdminResponse' AdminRequest: type: object properties: name: type: string description: Display name of the administrator. 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 administrator. is_active: type: boolean description: Whether the admin account is active. required: - email - name AdminResponse: 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 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/