openapi: 3.2.0 info: title: authentik Endpoints API version: 2026.11.0-rc1 description: Making authentication simple. contact: email: hello@goauthentik.io license: name: MIT url: https://github.com/goauthentik/authentik/blob/main/LICENSE x-source-url: https://api.goauthentik.io/schema.yml x-last-validated: '2026-09-04' servers: - url: /api/v3 tags: - name: endpoints paths: /endpoints/agents/connectors/: get: operationId: endpoints_agents_connectors_list description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: query name: enabled schema: type: boolean - $ref: '#/components/parameters/QueryName' - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAgentConnectorList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_agents_connectors_create description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/AgentConnectorRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/AgentConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/{connector_uuid}/: get: operationId: endpoints_agents_connectors_retrieve description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Agent Connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_agents_connectors_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Agent Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/AgentConnectorRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_agents_connectors_partial_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Agent Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAgentConnectorRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_agents_connectors_destroy description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Agent Connector. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/{connector_uuid}/mdm_config/: post: operationId: endpoints_agents_connectors_mdm_config_create description: Generate configuration for MDM systems to deploy authentik Agent parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Agent Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/MDMConfigRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/MDMConfigResponse' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/{connector_uuid}/used_by/: get: operationId: endpoints_agents_connectors_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Agent Connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/agent_config/: get: operationId: endpoints_agents_connectors_agent_config_retrieve description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints security: - authentik_device_auth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentConfig' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/auth_fed/: post: operationId: endpoints_agents_connectors_auth_fed_create description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: query name: device schema: type: string required: true tags: - endpoints security: - authentik_device_federation: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentTokenResponse' description: '' '404': description: Device not found '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/auth_ia/: post: operationId: endpoints_agents_connectors_auth_ia_create description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: query name: login_hint schema: type: string tags: - endpoints security: - authentik_device_auth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentAuthenticationResponse' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/check_in/: post: operationId: endpoints_agents_connectors_check_in_create description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceFactsRequest' security: - authentik_device_auth: [] responses: '204': description: Successfully checked in '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/connectors/enroll/: post: operationId: endpoints_agents_connectors_enroll_create description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EnrollRequest' required: true security: - authentik_device_enroll: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentTokenResponse' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/enrollment_tokens/: get: operationId: endpoints_agents_enrollment_tokens_list description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: query name: connector schema: type: string format: uuid - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' - in: query name: token_uuid schema: type: string format: uuid tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEnrollmentTokenList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_agents_enrollment_tokens_create description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EnrollmentTokenRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/EnrollmentToken' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/enrollment_tokens/{token_uuid}/: get: operationId: endpoints_agents_enrollment_tokens_retrieve description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: token_uuid schema: type: string format: uuid description: A UUID string identifying this Enrollment Token. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnrollmentToken' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_agents_enrollment_tokens_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: token_uuid schema: type: string format: uuid description: A UUID string identifying this Enrollment Token. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EnrollmentTokenRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnrollmentToken' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_agents_enrollment_tokens_partial_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: token_uuid schema: type: string format: uuid description: A UUID string identifying this Enrollment Token. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEnrollmentTokenRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EnrollmentToken' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_agents_enrollment_tokens_destroy description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: token_uuid schema: type: string format: uuid description: A UUID string identifying this Enrollment Token. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/enrollment_tokens/{token_uuid}/used_by/: get: operationId: endpoints_agents_enrollment_tokens_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: token_uuid schema: type: string format: uuid description: A UUID string identifying this Enrollment Token. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/enrollment_tokens/{token_uuid}/view_key/: get: operationId: endpoints_agents_enrollment_tokens_view_key_retrieve description: Return token key and log access parameters: - in: path name: token_uuid schema: type: string format: uuid description: A UUID string identifying this Enrollment Token. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/TokenView' description: '' '404': description: Token not found or expired '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/psso/ise/: get: operationId: endpoints_agents_psso_ise_list description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: query name: apple_enclave_key_id schema: type: string - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' - in: query name: user schema: type: integer tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAppleIndependentSecureEnclaveList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_agents_psso_ise_create description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/AppleIndependentSecureEnclaveRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/AppleIndependentSecureEnclave' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/psso/ise/{uuid}/: get: operationId: endpoints_agents_psso_ise_retrieve description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: uuid schema: type: string format: uuid description: A UUID string identifying this Apple Independent Secure Enclave. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppleIndependentSecureEnclave' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_agents_psso_ise_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: uuid schema: type: string format: uuid description: A UUID string identifying this Apple Independent Secure Enclave. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/AppleIndependentSecureEnclaveRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppleIndependentSecureEnclave' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_agents_psso_ise_partial_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: uuid schema: type: string format: uuid description: A UUID string identifying this Apple Independent Secure Enclave. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAppleIndependentSecureEnclaveRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AppleIndependentSecureEnclave' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_agents_psso_ise_destroy description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: uuid schema: type: string format: uuid description: A UUID string identifying this Apple Independent Secure Enclave. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/psso/ise/{uuid}/used_by/: get: operationId: endpoints_agents_psso_ise_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: uuid schema: type: string format: uuid description: A UUID string identifying this Apple Independent Secure Enclave. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/psso/register/device/: post: operationId: endpoints_agents_psso_register_device_create tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/AgentPSSODeviceRegistrationRequest' required: true security: - authentik_device_auth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/AgentPSSODeviceRegistrationResponse' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/agents/psso/register/user/: post: operationId: endpoints_agents_psso_register_user_create tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/AgentPSSOUserRegistrationRequest' required: true security: - authentik_device_auth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/UserSelf' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/connectors/: get: operationId: endpoints_connectors_list description: Connector Viewset parameters: - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedConnectorList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/connectors/{connector_uuid}/: get: operationId: endpoints_connectors_retrieve description: Connector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/Connector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_connectors_destroy description: Connector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this connector. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/connectors/{connector_uuid}/used_by/: get: operationId: endpoints_connectors_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/connectors/types/: get: operationId: endpoints_connectors_types_list description: Get all creatable types tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/TypeCreate' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/device_access_groups/: get: operationId: endpoints_device_access_groups_list description: DeviceAccessGroup Viewset parameters: - $ref: '#/components/parameters/QueryName' - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - in: query name: pbm_uuid schema: type: string format: uuid - $ref: '#/components/parameters/QuerySearch' tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDeviceAccessGroupList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_device_access_groups_create description: DeviceAccessGroup Viewset tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceAccessGroupRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeviceAccessGroup' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/device_access_groups/{pbm_uuid}/: get: operationId: endpoints_device_access_groups_retrieve description: DeviceAccessGroup Viewset parameters: - in: path name: pbm_uuid schema: type: string format: uuid description: A UUID string identifying this Device access group. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceAccessGroup' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_device_access_groups_update description: DeviceAccessGroup Viewset parameters: - in: path name: pbm_uuid schema: type: string format: uuid description: A UUID string identifying this Device access group. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceAccessGroupRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceAccessGroup' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_device_access_groups_partial_update description: DeviceAccessGroup Viewset parameters: - in: path name: pbm_uuid schema: type: string format: uuid description: A UUID string identifying this Device access group. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDeviceAccessGroupRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceAccessGroup' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_device_access_groups_destroy description: DeviceAccessGroup Viewset parameters: - in: path name: pbm_uuid schema: type: string format: uuid description: A UUID string identifying this Device access group. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/device_access_groups/{pbm_uuid}/used_by/: get: operationId: endpoints_device_access_groups_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: pbm_uuid schema: type: string format: uuid description: A UUID string identifying this Device access group. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/device_bindings/: get: operationId: endpoints_device_bindings_list description: PolicyBinding Viewset parameters: - in: query name: enabled schema: type: boolean - in: query name: order schema: type: integer - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - in: query name: policy schema: type: string format: uuid - in: query name: policy__isnull schema: type: boolean - $ref: '#/components/parameters/QuerySearch' - in: query name: target schema: type: string format: uuid - in: query name: target_in schema: type: array items: type: string format: uuid explode: true style: form - in: query name: timeout schema: type: integer tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedDeviceUserBindingList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_device_bindings_create description: PolicyBinding Viewset tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceUserBindingRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/DeviceUserBinding' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/device_bindings/{policy_binding_uuid}/: get: operationId: endpoints_device_bindings_retrieve description: PolicyBinding Viewset parameters: - in: path name: policy_binding_uuid schema: type: string format: uuid description: A UUID string identifying this Device User binding. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceUserBinding' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_device_bindings_update description: PolicyBinding Viewset parameters: - in: path name: policy_binding_uuid schema: type: string format: uuid description: A UUID string identifying this Device User binding. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/DeviceUserBindingRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceUserBinding' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_device_bindings_partial_update description: PolicyBinding Viewset parameters: - in: path name: policy_binding_uuid schema: type: string format: uuid description: A UUID string identifying this Device User binding. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDeviceUserBindingRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceUserBinding' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_device_bindings_destroy description: PolicyBinding Viewset parameters: - in: path name: policy_binding_uuid schema: type: string format: uuid description: A UUID string identifying this Device User binding. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/device_bindings/{policy_binding_uuid}/used_by/: get: operationId: endpoints_device_bindings_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: policy_binding_uuid schema: type: string format: uuid description: A UUID string identifying this Device User binding. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/devices/: get: operationId: endpoints_devices_list description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: query name: identifier schema: type: string - $ref: '#/components/parameters/QueryName' - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedEndpointDeviceList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/devices/{device_uuid}/: get: operationId: endpoints_devices_retrieve description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: device_uuid schema: type: string format: uuid description: A UUID string identifying this Device. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointDeviceDetails' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_devices_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: device_uuid schema: type: string format: uuid description: A UUID string identifying this Device. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/EndpointDeviceRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointDevice' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_devices_partial_update description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: device_uuid schema: type: string format: uuid description: A UUID string identifying this Device. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEndpointDeviceRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/EndpointDevice' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_devices_destroy description: Mixin to add a used_by endpoint to return a list of all objects using this object parameters: - in: path name: device_uuid schema: type: string format: uuid description: A UUID string identifying this Device. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/devices/{device_uuid}/used_by/: get: operationId: endpoints_devices_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: device_uuid schema: type: string format: uuid description: A UUID string identifying this Device. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/devices/summary/: get: operationId: endpoints_devices_summary_retrieve description: Mixin to add a used_by endpoint to return a list of all objects using this object tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/DeviceSummary' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/fleet/connectors/: get: operationId: endpoints_fleet_connectors_list description: FleetConnector Viewset parameters: - $ref: '#/components/parameters/QueryName' - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedFleetConnectorList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_fleet_connectors_create description: FleetConnector Viewset tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/FleetConnectorRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/FleetConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/fleet/connectors/{connector_uuid}/: get: operationId: endpoints_fleet_connectors_retrieve description: FleetConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Fleet Connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FleetConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_fleet_connectors_update description: FleetConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Fleet Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/FleetConnectorRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FleetConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_fleet_connectors_partial_update description: FleetConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Fleet Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedFleetConnectorRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/FleetConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_fleet_connectors_destroy description: FleetConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Fleet Connector. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/fleet/connectors/{connector_uuid}/used_by/: get: operationId: endpoints_fleet_connectors_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Fleet Connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/google_chrome/connectors/: get: operationId: endpoints_google_chrome_connectors_list description: GoogleChromeConnector Viewset parameters: - $ref: '#/components/parameters/QueryName' - $ref: '#/components/parameters/QueryPaginationOrdering' - $ref: '#/components/parameters/QueryPaginationPage' - $ref: '#/components/parameters/QueryPaginationPageSize' - $ref: '#/components/parameters/QuerySearch' tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedGoogleChromeConnectorList' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' post: operationId: endpoints_google_chrome_connectors_create description: GoogleChromeConnector Viewset tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/GoogleChromeConnectorRequest' required: true security: - authentik: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/GoogleChromeConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/google_chrome/connectors/{connector_uuid}/: get: operationId: endpoints_google_chrome_connectors_retrieve description: GoogleChromeConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Google Device Trust Connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/GoogleChromeConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' put: operationId: endpoints_google_chrome_connectors_update description: GoogleChromeConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Google Device Trust Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/GoogleChromeConnectorRequest' required: true security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/GoogleChromeConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' patch: operationId: endpoints_google_chrome_connectors_partial_update description: GoogleChromeConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Google Device Trust Connector. required: true tags: - endpoints requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedGoogleChromeConnectorRequest' security: - authentik: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/GoogleChromeConnector' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' delete: operationId: endpoints_google_chrome_connectors_destroy description: GoogleChromeConnector Viewset parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Google Device Trust Connector. required: true tags: - endpoints security: - authentik: [] responses: '204': description: No response body '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' /endpoints/google_chrome/connectors/{connector_uuid}/used_by/: get: operationId: endpoints_google_chrome_connectors_used_by_list description: Get a list of all objects that use this object parameters: - in: path name: connector_uuid schema: type: string format: uuid description: A UUID string identifying this Google Device Trust Connector. required: true tags: - endpoints security: - authentik: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/UsedBy' description: '' '400': $ref: '#/components/responses/ValidationErrorResponse' '403': $ref: '#/components/responses/GenericErrorResponse' components: schemas: LicenseStatusEnum: enum: - unlicensed - valid - expired - expiry_soon - limit_exceeded_admin - limit_exceeded_user - read_only type: string PaginatedDeviceAccessGroupList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/DeviceAccessGroup' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results FleetConnector: type: object description: FleetConnector Serializer properties: connector_uuid: type: string format: uuid name: type: string enabled: type: boolean component: type: string description: Get object component so that we know how to edit the object readOnly: true verbose_name: type: string description: Return object's verbose_name readOnly: true verbose_name_plural: type: string description: Return object's plural verbose_name readOnly: true meta_model_name: type: string description: Return internal model name readOnly: true url: type: string format: uri maxLength: 200 headers_mapping: type: - string - 'null' format: uuid description: Configure additional headers to be sent. Mapping should return a dictionary of key-value pairs map_users: type: boolean map_teams_access_group: type: boolean required: - component - meta_model_name - name - url - verbose_name - verbose_name_plural EndpointDevice: type: object properties: device_uuid: type: string format: uuid pbm_uuid: type: string format: uuid readOnly: true name: type: string access_group: type: - string - 'null' format: uuid access_group_obj: $ref: '#/components/schemas/DeviceAccessGroup' expiring: type: boolean expires: type: - string - 'null' format: date-time facts: allOf: - $ref: '#/components/schemas/DeviceFactSnapshot' readOnly: true attributes: type: object additionalProperties: {} required: - facts - name - pbm_uuid Config: type: object description: Serialize authentik Config into DRF Object properties: error_reporting: $ref: '#/components/schemas/ErrorReportingConfig' capabilities: type: array items: $ref: '#/components/schemas/CapabilitiesEnum' cache_timeout: type: integer cache_timeout_flows: type: integer cache_timeout_policies: type: integer required: - cache_timeout - cache_timeout_flows - cache_timeout_policies - capabilities - error_reporting Network: type: object properties: hostname: type: string firewall_enabled: type: boolean interfaces: type: array items: $ref: '#/components/schemas/NetworkInterface' gateway: type: string required: - hostname - interfaces PatchedDeviceUserBindingRequest: type: object description: PolicyBinding Serializer properties: policy: type: - string - 'null' format: uuid group: type: - string - 'null' format: uuid user: type: - integer - 'null' target: type: string format: uuid negate: type: boolean description: Negates the outcome of the policy. Messages are unaffected. enabled: type: boolean order: type: integer maximum: 2147483647 minimum: -2147483648 timeout: type: integer maximum: 2147483647 minimum: 0 description: Timeout after which Policy execution is terminated. failure_result: type: boolean description: Result if the Policy execution fails. is_primary: type: boolean AgentConfig: type: object description: Base serializer class which doesn't implement create/update methods properties: device_id: type: string readOnly: true refresh_interval: type: integer readOnly: true authorization_flow: type: - string - 'null' readOnly: true jwks_auth: type: object additionalProperties: {} readOnly: true jwks_challenge: type: - object - 'null' additionalProperties: {} readOnly: true nss_uid_offset: type: integer nss_gid_offset: type: integer auth_terminate_session_on_expiry: type: boolean system_config: allOf: - $ref: '#/components/schemas/Config' readOnly: true license_status: allOf: - $ref: '#/components/schemas/LicenseStatusEnum' readOnly: true required: - auth_terminate_session_on_expiry - authorization_flow - device_id - jwks_auth - jwks_challenge - license_status - nss_gid_offset - nss_uid_offset - refresh_interval - system_config EnrollRequest: type: object description: Base serializer class which doesn't implement create/update methods properties: device_serial: type: string minLength: 1 device_name: type: string minLength: 1 required: - device_name - device_serial DeviceUserBinding: type: object description: PolicyBinding Serializer properties: pk: type: string format: uuid readOnly: true title: Policy binding uuid policy: type: - string - 'null' format: uuid group: type: - string - 'null' format: uuid user: type: - integer - 'null' policy_obj: allOf: - $ref: '#/components/schemas/Policy' readOnly: true group_obj: allOf: - $ref: '#/components/schemas/PartialGroup' readOnly: true user_obj: allOf: - $ref: '#/components/schemas/PartialUser' readOnly: true target: type: string format: uuid negate: type: boolean description: Negates the outcome of the policy. Messages are unaffected. enabled: type: boolean order: type: integer maximum: 2147483647 minimum: -2147483648 timeout: type: integer maximum: 2147483647 minimum: 0 description: Timeout after which Policy execution is terminated. failure_result: type: boolean description: Result if the Policy execution fails. expires: type: - string - 'null' format: date-time readOnly: true expiring: type: boolean readOnly: true is_primary: type: boolean connector: type: - string - 'null' format: uuid readOnly: true connector_obj: allOf: - $ref: '#/components/schemas/Connector' readOnly: true required: - connector - connector_obj - expires - expiring - group_obj - order - pk - policy_obj - target - user_obj DeviceGroup: type: object properties: id: type: string name: type: string required: - id Autocomplete: type: object additionalProperties: {} PaginatedAppleIndependentSecureEnclaveList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/AppleIndependentSecureEnclave' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results MDMConfigRequest: type: object description: Base serializer class which doesn't implement create/update methods properties: platform: $ref: '#/components/schemas/DeviceFactsOSFamily' enrollment_token: type: string format: uuid required: - enrollment_token - platform AgentPSSOUserRegistrationRequest: type: object description: Register Apple device user via Platform SSO properties: user_auth: type: string minLength: 1 user_secure_enclave_key: type: string minLength: 1 enclave_key_id: type: string minLength: 1 required: - enclave_key_id - user_auth - user_secure_enclave_key DeviceUserRequest: type: object properties: id: type: string minLength: 1 username: type: string minLength: 1 name: type: string minLength: 1 home: type: string minLength: 1 required: - id EnrollmentTokenRequest: type: object properties: device_group: type: - string - 'null' format: uuid connector: type: string format: uuid name: type: string minLength: 1 expiring: type: boolean expires: type: - string - 'null' format: date-time required: - connector - name NetworkRequest: type: object properties: hostname: type: string minLength: 1 firewall_enabled: type: boolean interfaces: type: array items: $ref: '#/components/schemas/NetworkInterfaceRequest' gateway: type: string minLength: 1 required: - hostname - interfaces OperatingSystem: type: object description: 'For example: {"family":"linux","name":"Ubuntu","version":"24.04.3 LTS (Noble Numbat)","arch":"amd64"} {"family": "windows","name":"Server 2022 Datacenter","version":"10.0.20348.4405","arch":"amd64"} {"family": "windows","name":"Server 2022 Datacenter","version":"10.0.20348.4405","arch":"amd64"} {"family": "mac_os", "name": "", "version": "26.2", "arch": "arm64"}' properties: family: $ref: '#/components/schemas/DeviceFactsOSFamily' name: type: string description: Operating System name, such as 'Server 2022' or 'Ubuntu' version: type: string description: Operating System version, must always be the version number but may contain build name arch: type: string required: - family PaginatedGoogleChromeConnectorList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/GoogleChromeConnector' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results VendorEnum: enum: - goauthentik.io/@merged - goauthentik.io/platform - fleetdm.com - chrome.google.com type: string Disk: type: object properties: name: type: string mountpoint: type: string label: type: string capacity_total_bytes: type: integer format: int64 capacity_used_bytes: type: integer format: int64 encryption_enabled: type: boolean default: false required: - mountpoint - name Software: type: object properties: name: type: string version: type: string source: type: string path: type: string required: - name - source UserSelfRoles: type: object properties: name: type: string readOnly: true pk: type: string readOnly: true required: - name - pk SoftwareRequest: type: object properties: name: type: string minLength: 1 version: type: string source: type: string minLength: 1 path: type: string minLength: 1 required: - name - source Hardware: type: object properties: model: type: string manufacturer: type: string serial: type: string cpu_name: type: string cpu_count: type: integer memory_bytes: type: integer format: int64 required: - serial ProcessRequest: type: object properties: id: type: integer name: type: string minLength: 1 user: type: string minLength: 1 required: - id - name Pagination: type: object properties: next: type: number previous: type: number count: type: number current: type: number total_pages: type: number start_index: type: number end_index: type: number required: - count - current - end_index - next - previous - start_index - total_pages DeviceFactSnapshot: type: object properties: data: $ref: '#/components/schemas/DeviceFacts' connection: type: string format: uuid created: type: string format: date-time readOnly: true expires: type: - string - 'null' format: date-time readOnly: true vendor: allOf: - $ref: '#/components/schemas/VendorEnum' readOnly: true required: - connection - created - data - expires - vendor DeviceFactsRequest: type: object properties: os: allOf: - $ref: '#/components/schemas/OperatingSystemRequest' disks: type: - array - 'null' items: $ref: '#/components/schemas/DiskRequest' network: allOf: - $ref: '#/components/schemas/NetworkRequest' hardware: allOf: - $ref: '#/components/schemas/HardwareRequest' software: type: - array - 'null' items: $ref: '#/components/schemas/SoftwareRequest' processes: type: - array - 'null' items: $ref: '#/components/schemas/ProcessRequest' users: type: - array - 'null' items: $ref: '#/components/schemas/DeviceUserRequest' groups: type: - array - 'null' items: $ref: '#/components/schemas/DeviceGroupRequest' vendor: type: object additionalProperties: {} HardwareRequest: type: object properties: model: type: string minLength: 1 manufacturer: type: string minLength: 1 serial: type: string minLength: 1 cpu_name: type: string minLength: 1 cpu_count: type: integer memory_bytes: type: integer format: int64 required: - serial AppleIndependentSecureEnclave: type: object properties: uuid: type: string format: uuid user: type: integer description: The user that this device belongs to. apple_secure_enclave_key: type: string apple_enclave_key_id: type: string device_type: type: string required: - apple_enclave_key_id - apple_secure_enclave_key - device_type - user UserTypeEnum: enum: - internal - external - service_account - internal_service_account type: string PatchedEndpointDeviceRequest: type: object properties: device_uuid: type: string format: uuid name: type: string minLength: 1 access_group: type: - string - 'null' format: uuid access_group_obj: $ref: '#/components/schemas/DeviceAccessGroupRequest' expiring: type: boolean expires: type: - string - 'null' format: date-time attributes: type: object additionalProperties: {} AgentTokenResponse: type: object description: Base serializer class which doesn't implement create/update methods properties: token: type: string expires_in: type: integer required: - token AppleIndependentSecureEnclaveRequest: type: object properties: uuid: type: string format: uuid user: type: integer description: The user that this device belongs to. apple_secure_enclave_key: type: string minLength: 1 apple_enclave_key_id: type: string minLength: 1 device_type: type: string minLength: 1 required: - apple_enclave_key_id - apple_secure_enclave_key - device_type - user PatchedFleetConnectorRequest: type: object description: FleetConnector Serializer properties: connector_uuid: type: string format: uuid name: type: string minLength: 1 enabled: type: boolean url: type: string format: uri minLength: 1 maxLength: 200 token: type: string writeOnly: true minLength: 1 headers_mapping: type: - string - 'null' format: uuid description: Configure additional headers to be sent. Mapping should return a dictionary of key-value pairs map_users: type: boolean map_teams_access_group: type: boolean TypeCreate: type: object description: Types of an object that can be created properties: name: type: string description: type: string component: type: string model_name: type: string icon_url: type: string requires_enterprise: type: boolean default: false deprecated: type: boolean default: false required: - component - description - model_name - name AgentPSSODeviceRegistrationResponse: type: object description: authentik settings for Platform SSO tokens properties: client_id: type: string issuer: type: string token_endpoint: type: string jwks_endpoint: type: string audience: type: string nonce_endpoint: type: string required: - audience - client_id - issuer - jwks_endpoint - nonce_endpoint - token_endpoint PartialUser: type: object description: Partial User Serializer, does not include child relations. properties: pk: type: integer readOnly: true title: ID username: type: string description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. pattern: ^[\w.@+-]+$ maxLength: 150 name: type: string description: User's display name. is_active: type: boolean title: Active description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts. last_login: type: - string - 'null' format: date-time email: type: string format: email title: Email address maxLength: 254 attributes: type: object additionalProperties: {} uid: type: string readOnly: true required: - name - pk - uid - username PaginatedConnectorList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/Connector' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results PartialGroup: type: object description: Partial Group Serializer, does not include child relations. properties: pk: type: string format: uuid readOnly: true title: Group uuid num_pk: type: integer description: Get a numerical, int32 ID for the group readOnly: true name: type: string is_superuser: type: boolean description: Users added to this group will be superusers. attributes: type: object additionalProperties: {} required: - name - num_pk - pk DeviceFacts: type: object properties: os: allOf: - $ref: '#/components/schemas/OperatingSystem' disks: type: - array - 'null' items: $ref: '#/components/schemas/Disk' network: allOf: - $ref: '#/components/schemas/Network' hardware: allOf: - $ref: '#/components/schemas/Hardware' software: type: - array - 'null' items: $ref: '#/components/schemas/Software' processes: type: - array - 'null' items: $ref: '#/components/schemas/Process' users: type: - array - 'null' items: $ref: '#/components/schemas/DeviceUser' groups: type: - array - 'null' items: $ref: '#/components/schemas/DeviceGroup' vendor: type: object additionalProperties: {} DeviceAccessGroup: type: object properties: pbm_uuid: type: string format: uuid readOnly: true name: type: string attributes: type: object additionalProperties: {} required: - name - pbm_uuid EndpointDeviceRequest: type: object properties: device_uuid: type: string format: uuid name: type: string minLength: 1 access_group: type: - string - 'null' format: uuid access_group_obj: $ref: '#/components/schemas/DeviceAccessGroupRequest' expiring: type: boolean expires: type: - string - 'null' format: date-time attributes: type: object additionalProperties: {} required: - name CapabilitiesEnum: enum: - can_save_media - can_save_reports - can_geo_ip - can_asn - can_impersonate - can_debug - is_enterprise - can_request - can_agent_self_service type: string TokenView: type: object description: Show token's current key properties: key: type: string readOnly: true required: - key AgentConnectorRequest: type: object properties: connector_uuid: type: string format: uuid name: type: string minLength: 1 enabled: type: boolean snapshot_expiry: type: string minLength: 1 auth_session_duration: type: string minLength: 1 auth_terminate_session_on_expiry: type: boolean refresh_interval: type: string minLength: 1 authorization_flow: type: - string - 'null' format: uuid nss_uid_offset: type: integer maximum: 2147483647 minimum: 0 nss_gid_offset: type: integer maximum: 2147483647 minimum: 0 challenge_key: type: - string - 'null' format: uuid challenge_idle_timeout: type: string minLength: 1 challenge_trigger_check_in: type: boolean jwt_federation_providers: type: array items: type: integer required: - name DeviceSummary: type: object description: Summary of registered devices properties: total_count: type: integer unreachable_count: type: integer outdated_agent_count: type: integer required: - outdated_agent_count - total_count - unreachable_count EnrollmentToken: type: object properties: token_uuid: type: string format: uuid readOnly: true device_group: type: - string - 'null' format: uuid device_group_obj: allOf: - $ref: '#/components/schemas/DeviceAccessGroup' readOnly: true connector: type: string format: uuid name: type: string expiring: type: boolean expires: type: - string - 'null' format: date-time required: - connector - device_group_obj - name - token_uuid PatchedEnrollmentTokenRequest: type: object properties: device_group: type: - string - 'null' format: uuid connector: type: string format: uuid name: type: string minLength: 1 expiring: type: boolean expires: type: - string - 'null' format: date-time AgentConnector: type: object properties: connector_uuid: type: string format: uuid name: type: string enabled: type: boolean component: type: string description: Get object component so that we know how to edit the object readOnly: true verbose_name: type: string description: Return object's verbose_name readOnly: true verbose_name_plural: type: string description: Return object's plural verbose_name readOnly: true meta_model_name: type: string description: Return internal model name readOnly: true snapshot_expiry: type: string auth_session_duration: type: string auth_terminate_session_on_expiry: type: boolean refresh_interval: type: string authorization_flow: type: - string - 'null' format: uuid nss_uid_offset: type: integer maximum: 2147483647 minimum: 0 nss_gid_offset: type: integer maximum: 2147483647 minimum: 0 challenge_key: type: - string - 'null' format: uuid challenge_idle_timeout: type: string challenge_trigger_check_in: type: boolean jwt_federation_providers: type: array items: type: integer required: - component - meta_model_name - name - verbose_name - verbose_name_plural UsedByActionEnum: enum: - cascade - cascade_many - set_null - set_default - left_dangling type: string DeviceConnection: type: object properties: device: type: string format: uuid connector: type: string format: uuid connector_obj: allOf: - $ref: '#/components/schemas/Connector' readOnly: true latest_snapshot: allOf: - $ref: '#/components/schemas/DeviceFactSnapshot' readOnly: true required: - connector - connector_obj - device - latest_snapshot DeviceUserBindingRequest: type: object description: PolicyBinding Serializer properties: policy: type: - string - 'null' format: uuid group: type: - string - 'null' format: uuid user: type: - integer - 'null' target: type: string format: uuid negate: type: boolean description: Negates the outcome of the policy. Messages are unaffected. enabled: type: boolean order: type: integer maximum: 2147483647 minimum: -2147483648 timeout: type: integer maximum: 2147483647 minimum: 0 description: Timeout after which Policy execution is terminated. failure_result: type: boolean description: Result if the Policy execution fails. is_primary: type: boolean required: - order - target DeviceGroupRequest: type: object properties: id: type: string minLength: 1 name: type: string minLength: 1 required: - id DeviceAccessGroupRequest: type: object properties: name: type: string minLength: 1 attributes: type: object additionalProperties: {} required: - name PatchedDeviceAccessGroupRequest: type: object properties: name: type: string minLength: 1 attributes: type: object additionalProperties: {} Process: type: object properties: id: type: integer name: type: string user: type: string required: - id - name NetworkInterface: type: object properties: name: type: string hardware_address: type: string ip_addresses: type: array items: type: string dns_servers: type: array items: type: string required: - hardware_address - name PatchedGoogleChromeConnectorRequest: type: object description: GoogleChromeConnector Serializer properties: connector_uuid: type: string format: uuid name: type: string minLength: 1 enabled: type: boolean credentials: type: object additionalProperties: {} PaginatedDeviceUserBindingList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/DeviceUserBinding' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results ErrorReportingConfig: type: object description: Config for error reporting properties: enabled: type: boolean readOnly: true sentry_dsn: type: string readOnly: true environment: type: string readOnly: true send_pii: type: boolean readOnly: true traces_sample_rate: type: number format: double readOnly: true required: - enabled - environment - send_pii - sentry_dsn - traces_sample_rate UsedBy: type: object description: A list of all objects referencing the queried object properties: app: type: string model_name: type: string pk: type: string name: type: string action: $ref: '#/components/schemas/UsedByActionEnum' required: - action - app - model_name - name - pk DeviceUser: type: object properties: id: type: string username: type: string name: type: string home: type: string required: - id PaginatedAgentConnectorList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/AgentConnector' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results AgentPSSODeviceRegistrationRequest: type: object description: Register Apple device via Platform SSO properties: device_signing_key: type: string minLength: 1 device_encryption_key: type: string minLength: 1 sign_key_id: type: string minLength: 1 enc_key_id: type: string minLength: 1 required: - device_encryption_key - device_signing_key - enc_key_id - sign_key_id NetworkInterfaceRequest: type: object properties: name: type: string minLength: 1 hardware_address: type: string minLength: 1 ip_addresses: type: array items: type: string minLength: 1 dns_servers: type: array items: type: string minLength: 1 required: - hardware_address - name Connector: type: object properties: connector_uuid: type: string format: uuid name: type: string enabled: type: boolean component: type: string description: Get object component so that we know how to edit the object readOnly: true verbose_name: type: string description: Return object's verbose_name readOnly: true verbose_name_plural: type: string description: Return object's plural verbose_name readOnly: true meta_model_name: type: string description: Return internal model name readOnly: true required: - component - meta_model_name - name - verbose_name - verbose_name_plural GoogleChromeConnectorRequest: type: object description: GoogleChromeConnector Serializer properties: connector_uuid: type: string format: uuid name: type: string minLength: 1 enabled: type: boolean credentials: type: object additionalProperties: {} required: - credentials - name FleetConnectorRequest: type: object description: FleetConnector Serializer properties: connector_uuid: type: string format: uuid name: type: string minLength: 1 enabled: type: boolean url: type: string format: uri minLength: 1 maxLength: 200 token: type: string writeOnly: true minLength: 1 headers_mapping: type: - string - 'null' format: uuid description: Configure additional headers to be sent. Mapping should return a dictionary of key-value pairs map_users: type: boolean map_teams_access_group: type: boolean required: - name - token - url EndpointDeviceDetails: type: object properties: device_uuid: type: string format: uuid pbm_uuid: type: string format: uuid readOnly: true name: type: string access_group: type: - string - 'null' format: uuid access_group_obj: $ref: '#/components/schemas/DeviceAccessGroup' expiring: type: boolean expires: type: - string - 'null' format: date-time facts: allOf: - $ref: '#/components/schemas/DeviceFactSnapshot' readOnly: true attributes: type: object additionalProperties: {} connections_obj: type: array items: $ref: '#/components/schemas/DeviceConnection' policies: type: array items: type: string format: uuid readOnly: true connections: type: array items: type: string format: uuid readOnly: true required: - connections - connections_obj - facts - name - pbm_uuid - policies AgentAuthenticationResponse: type: object description: Base serializer class which doesn't implement create/update methods properties: url: type: string required: - url ValidationError: type: object description: Validation Error properties: non_field_errors: type: array items: type: string code: type: string additionalProperties: {} UserSelfGroups: type: object properties: name: type: string readOnly: true pk: type: string readOnly: true required: - name - pk DeviceFactsOSFamily: enum: - linux - unix - bsd - windows - mac_os - android - i_os - other type: string OperatingSystemRequest: type: object description: 'For example: {"family":"linux","name":"Ubuntu","version":"24.04.3 LTS (Noble Numbat)","arch":"amd64"} {"family": "windows","name":"Server 2022 Datacenter","version":"10.0.20348.4405","arch":"amd64"} {"family": "windows","name":"Server 2022 Datacenter","version":"10.0.20348.4405","arch":"amd64"} {"family": "mac_os", "name": "", "version": "26.2", "arch": "arm64"}' properties: family: $ref: '#/components/schemas/DeviceFactsOSFamily' name: type: string minLength: 1 description: Operating System name, such as 'Server 2022' or 'Ubuntu' version: type: string minLength: 1 description: Operating System version, must always be the version number but may contain build name arch: type: string minLength: 1 required: - family MDMConfigResponse: type: object description: Base serializer class which doesn't implement create/update methods properties: config: type: string mime_type: type: string filename: type: string required: - config - filename - mime_type DiskRequest: type: object properties: name: type: string minLength: 1 mountpoint: type: string minLength: 1 label: type: string capacity_total_bytes: type: integer format: int64 capacity_used_bytes: type: integer format: int64 encryption_enabled: type: boolean default: false required: - mountpoint - name PaginatedEnrollmentTokenList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/EnrollmentToken' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results GoogleChromeConnector: type: object description: GoogleChromeConnector Serializer properties: connector_uuid: type: string format: uuid name: type: string enabled: type: boolean component: type: string description: Get object component so that we know how to edit the object readOnly: true verbose_name: type: string description: Return object's verbose_name readOnly: true verbose_name_plural: type: string description: Return object's plural verbose_name readOnly: true meta_model_name: type: string description: Return internal model name readOnly: true credentials: type: object additionalProperties: {} chrome_url: type: - string - 'null' description: Full URL to be used in Google Workspace configuration readOnly: true required: - chrome_url - component - credentials - meta_model_name - name - verbose_name - verbose_name_plural PaginatedEndpointDeviceList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/EndpointDevice' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results UserSelf: type: object description: User Serializer for information a user can retrieve about themselves properties: pk: type: integer readOnly: true title: ID username: type: string description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. pattern: ^[\w.@+-]+$ maxLength: 150 name: type: string description: User's display name. is_active: type: boolean readOnly: true title: Active description: Designates whether this user should be treated as active. Unselect this instead of deleting accounts. is_superuser: type: boolean readOnly: true is_current: type: boolean description: Return whether this user owns the current browser session. readOnly: true groups: type: array items: $ref: '#/components/schemas/UserSelfGroups' readOnly: true roles: type: array items: $ref: '#/components/schemas/UserSelfRoles' readOnly: true email: type: string format: email title: Email address maxLength: 254 avatar: type: string description: User's avatar, either a http/https URL or a data URI readOnly: true uid: type: string readOnly: true settings: type: object additionalProperties: {} description: Get user settings with brand and group settings applied readOnly: true type: $ref: '#/components/schemas/UserTypeEnum' system_permissions: type: array items: type: string description: Get all system permissions assigned to the user readOnly: true required: - avatar - groups - is_active - is_current - is_superuser - name - pk - roles - settings - system_permissions - uid - username PatchedAgentConnectorRequest: type: object properties: connector_uuid: type: string format: uuid name: type: string minLength: 1 enabled: type: boolean snapshot_expiry: type: string minLength: 1 auth_session_duration: type: string minLength: 1 auth_terminate_session_on_expiry: type: boolean refresh_interval: type: string minLength: 1 authorization_flow: type: - string - 'null' format: uuid nss_uid_offset: type: integer maximum: 2147483647 minimum: 0 nss_gid_offset: type: integer maximum: 2147483647 minimum: 0 challenge_key: type: - string - 'null' format: uuid challenge_idle_timeout: type: string minLength: 1 challenge_trigger_check_in: type: boolean jwt_federation_providers: type: array items: type: integer Policy: type: object description: Policy Serializer properties: pk: type: string format: uuid readOnly: true title: Policy uuid name: type: string execution_logging: type: boolean description: When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. component: type: string description: Get object component so that we know how to edit the object readOnly: true verbose_name: type: string description: Return object's verbose_name readOnly: true verbose_name_plural: type: string description: Return object's plural verbose_name readOnly: true meta_model_name: type: string description: Return internal model name readOnly: true bound_to: type: integer description: Return objects policy is bound to readOnly: true required: - bound_to - component - meta_model_name - name - pk - verbose_name - verbose_name_plural PatchedAppleIndependentSecureEnclaveRequest: type: object properties: uuid: type: string format: uuid user: type: integer description: The user that this device belongs to. apple_secure_enclave_key: type: string minLength: 1 apple_enclave_key_id: type: string minLength: 1 device_type: type: string minLength: 1 GenericError: type: object description: Generic API Error properties: detail: type: string code: type: string required: - detail PaginatedFleetConnectorList: type: object properties: pagination: $ref: '#/components/schemas/Pagination' results: type: array items: $ref: '#/components/schemas/FleetConnector' autocomplete: $ref: '#/components/schemas/Autocomplete' required: - autocomplete - pagination - results responses: GenericErrorResponse: content: application/json: schema: $ref: '#/components/schemas/GenericError' description: '' ValidationErrorResponse: content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: '' parameters: QueryPaginationPage: in: query name: page schema: type: integer description: A page number within the paginated result set. QueryPaginationPageSize: in: query name: page_size schema: type: integer description: Number of results to return per page. QueryPaginationOrdering: in: query name: ordering schema: type: string description: Which field to use when ordering the results. QuerySearch: in: query name: search schema: type: string description: A search term. QueryName: in: query name: name schema: type: string securitySchemes: authentik: type: http scheme: bearer authentik_device_auth: type: http scheme: bearer+agent authentik_device_enroll: type: http scheme: bearer authentik_device_federation: type: http scheme: bearer